From 9f0f9f2dd6958962640b733bea1d1b1de3eb9327 Mon Sep 17 00:00:00 2001 From: Vaggelis Papoutsis <vaggelisp@gmail.com> Date: Thu, 21 Dec 2023 19:02:54 +0200 Subject: [PATCH 001/231] TUT: changes in optimisation tutorials - shape optimisation: SQP failed due to wrong divScheme for the adjoint equations - shape optimisation: tutorials designed to show the impact of different flow conditions were actually using the same U - topology optimisation: tutorials designed to show the impact of the flow rate distribution were actually using the same target fractions - topology optimisation: updated old fvSolution syntax --- .../sbend/laminar/opt/constrained/SQP/system/fvSchemes | 3 +-- .../sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/U | 4 ++-- .../losses-mass-30-70/system/controlDict | 4 ++-- .../losses-mass-30-70/system/optimisationDict | 2 +- .../losses-mass-70-30/system/optimisationDict | 2 +- .../losses-mass-uniformity-SQP/system/decomposeParDict | 9 +++++++-- .../3DBox/losses-mass-uniformity-SQP/system/fvSolution | 3 ++- .../3DBox/losses-mass-uniformity/system/decomposeParDict | 9 +++++++-- .../3DBox/losses-mass-uniformity/system/fvSolution | 3 ++- .../laminar/3DBox/losses-mass/system/decomposeParDict | 9 +++++++-- .../laminar/3DBox/losses-mass/system/fvSolution | 3 ++- .../laminar/3DBox/losses/system/decomposeParDict | 9 +++++++-- .../monoFluidAero/laminar/3DBox/losses/system/fvSolution | 3 ++- .../porosityBased/BP/uniformity-losses/Allrun | 2 +- 14 files changed, 44 insertions(+), 21 deletions(-) diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/laminar/opt/constrained/SQP/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/laminar/opt/constrained/SQP/system/fvSchemes index bbc103fae1c..f4e8abf4f86 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/laminar/opt/constrained/SQP/system/fvSchemes +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/laminar/opt/constrained/SQP/system/fvSchemes @@ -29,8 +29,7 @@ divSchemes default Gauss linear; div(phi,U) bounded Gauss linearUpwind gradUConv; - div(-phi,Uaas1) bounded Gauss linearUpwind gradUaConv; - div(-phi,Uavol) bounded Gauss linearUpwind gradUaConv; + div(-phi,Ua) bounded Gauss linearUpwind gradUaConv; div((nuEff*dev(grad(U).T()))) Gauss linear; div((nuEff*dev(grad(Ua).T()))) Gauss linear; diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/U b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/U index dfc08523511..c7ea16d728b 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/U +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/U @@ -16,7 +16,7 @@ FoamFile dimensions [ 0 1 -1 0 0 0 0 ]; -internalField uniform ( 0.3 0 0 ); +internalField uniform ( 4.95 0 0 ); boundaryField { @@ -46,7 +46,7 @@ boundaryField Inlet { type fixedValue; - value uniform ( 0.3 0 0 ); + value uniform ( 4.95 0 0 ); } Outlet diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/controlDict index 270bf9a938f..309ff1f11f3 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/controlDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/controlDict @@ -22,13 +22,13 @@ startTime 0; stopAt endTime; -endTime 70; +endTime 100; deltaT 1; writeControl timeStep; -writeInterval 70; +writeInterval 100; purgeWrite 0; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/optimisationDict index 705c13994ea..814ce76eb3b 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/optimisationDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/optimisationDict @@ -108,7 +108,7 @@ adjointManagers type flowRatePartition; inletPatches (inlet); outletPatches (outlet outlet-right); - targetFractions (0.5 0.5); + targetFractions (0.3 0.7); target 1.e-05; normalize true; } diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/optimisationDict index 705c13994ea..5cd30bfe170 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/optimisationDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/optimisationDict @@ -108,7 +108,7 @@ adjointManagers type flowRatePartition; inletPatches (inlet); outletPatches (outlet outlet-right); - targetFractions (0.5 0.5); + targetFractions (0.7 0.3); target 1.e-05; normalize true; } diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity-SQP/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity-SQP/system/decomposeParDict index 6bd2827eeb5..f4bf6b87389 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity-SQP/system/decomposeParDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity-SQP/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2306 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -15,6 +15,11 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 60; -method scotch; +method hierarchical; +coeffs +{ + n (5 4 3); +} + // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity-SQP/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity-SQP/system/fvSolution index 4725c0f892b..7cb8612359c 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity-SQP/system/fvSolution +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity-SQP/system/fvSolution @@ -29,8 +29,9 @@ solvers relTol 0.01; } - "U|Ua.*" smoothSolver + "U|Ua.*" { + solver smoothSolver; smoother GaussSeidel; tolerance 1e-12; relTol 0.1; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/decomposeParDict index 6bd2827eeb5..f4bf6b87389 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/decomposeParDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2306 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -15,6 +15,11 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 60; -method scotch; +method hierarchical; +coeffs +{ + n (5 4 3); +} + // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSolution index 4725c0f892b..7cb8612359c 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSolution +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSolution @@ -29,8 +29,9 @@ solvers relTol 0.01; } - "U|Ua.*" smoothSolver + "U|Ua.*" { + solver smoothSolver; smoother GaussSeidel; tolerance 1e-12; relTol 0.1; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/decomposeParDict index 6bd2827eeb5..f4bf6b87389 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/decomposeParDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2306 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -15,6 +15,11 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 60; -method scotch; +method hierarchical; +coeffs +{ + n (5 4 3); +} + // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSolution index 4725c0f892b..7cb8612359c 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSolution +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSolution @@ -29,8 +29,9 @@ solvers relTol 0.01; } - "U|Ua.*" smoothSolver + "U|Ua.*" { + solver smoothSolver; smoother GaussSeidel; tolerance 1e-12; relTol 0.1; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/decomposeParDict index 6bd2827eeb5..f4bf6b87389 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/decomposeParDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2306 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -15,6 +15,11 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 60; -method scotch; +method hierarchical; +coeffs +{ + n (5 4 3); +} + // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSolution index 4725c0f892b..7cb8612359c 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSolution +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSolution @@ -29,8 +29,9 @@ solvers relTol 0.01; } - "U|Ua.*" smoothSolver + "U|Ua.*" { + solver smoothSolver; smoother GaussSeidel; tolerance 1e-12; relTol 0.1; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/Allrun index fe1918a0d72..bf75d4e00c8 100755 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/Allrun +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/Allrun @@ -12,7 +12,7 @@ runParallel $(getApplication) if [[ ! -z $(which cartesian2DMesh) ]] then cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi -- GitLab From 793231b4aa99be4e016146d77787757368a58925 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 4 Jan 2024 08:33:39 +0000 Subject: [PATCH 002/231] COMP: g++11: suppress optimisation. See #3024 --- src/OpenFOAM/primitives/Tensor/TensorI.H | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/OpenFOAM/primitives/Tensor/TensorI.H b/src/OpenFOAM/primitives/Tensor/TensorI.H index a2b47628e6c..89352d73b25 100644 --- a/src/OpenFOAM/primitives/Tensor/TensorI.H +++ b/src/OpenFOAM/primitives/Tensor/TensorI.H @@ -538,6 +538,10 @@ inline Foam::Tensor<Cmpt> Foam::Tensor<Cmpt>::inv2D template<class Cmpt> +#if defined(__GNUC__) && !defined(__clang__) +// Workaround for gcc (11+) that fails to handle tensor dot vector +__attribute__((optimize("no-tree-vectorize"))) +#endif inline Foam::Tensor<Cmpt> Foam::Tensor<Cmpt>::inner(const Tensor<Cmpt>& t2) const { @@ -561,6 +565,10 @@ Foam::Tensor<Cmpt>::inner(const Tensor<Cmpt>& t2) const template<class Cmpt> +#if defined(__GNUC__) && !defined(__clang__) +// Workaround for gcc (11+) that fails to handle tensor dot vector +__attribute__((optimize("no-tree-vectorize"))) +#endif inline Foam::Tensor<Cmpt> Foam::Tensor<Cmpt>::schur(const Tensor<Cmpt>& t2) const { @@ -1103,6 +1111,10 @@ operator&(const Tensor<Cmpt>& t1, const Tensor<Cmpt>& t2) //- Inner-product of a SphericalTensor and a Tensor template<class Cmpt> +#if defined(__GNUC__) && !defined(__clang__) +// Workaround for gcc (11+) that fails to handle tensor dot vector +__attribute__((optimize("no-tree-vectorize"))) +#endif inline Tensor<Cmpt> operator&(const SphericalTensor<Cmpt>& st1, const Tensor<Cmpt>& t2) { @@ -1117,6 +1129,10 @@ operator&(const SphericalTensor<Cmpt>& st1, const Tensor<Cmpt>& t2) //- Inner-product of a Tensor and a SphericalTensor template<class Cmpt> +#if defined(__GNUC__) && !defined(__clang__) +// Workaround for gcc (11+) that fails to handle tensor dot vector +__attribute__((optimize("no-tree-vectorize"))) +#endif inline Tensor<Cmpt> operator&(const Tensor<Cmpt>& t1, const SphericalTensor<Cmpt>& st2) { @@ -1131,6 +1147,10 @@ operator&(const Tensor<Cmpt>& t1, const SphericalTensor<Cmpt>& st2) //- Inner-product of a SymmTensor and a Tensor template<class Cmpt> +#if defined(__GNUC__) && !defined(__clang__) +// Workaround for gcc (11+) that fails to handle tensor dot vector +__attribute__((optimize("no-tree-vectorize"))) +#endif inline Tensor<Cmpt> operator&(const SymmTensor<Cmpt>& st1, const Tensor<Cmpt>& t2) { @@ -1153,6 +1173,10 @@ operator&(const SymmTensor<Cmpt>& st1, const Tensor<Cmpt>& t2) //- Inner-product of a Tensor and a SymmTensor template<class Cmpt> +#if defined(__GNUC__) && !defined(__clang__) +// Workaround for gcc (11+) that fails to handle tensor dot vector +__attribute__((optimize("no-tree-vectorize"))) +#endif inline Tensor<Cmpt> operator&(const Tensor<Cmpt>& t1, const SymmTensor<Cmpt>& st2) { @@ -1193,6 +1217,10 @@ operator&(const Tensor<Cmpt>& t, const Vector<Cmpt>& v) //- Inner-product of a Vector and a Tensor template<class Cmpt> +#if defined(__GNUC__) && !defined(__clang__) +// Workaround for gcc (11+) that fails to handle tensor dot vector +__attribute__((optimize("no-tree-vectorize"))) +#endif inline Vector<Cmpt> operator&(const Vector<Cmpt>& v, const Tensor<Cmpt>& t) { -- GitLab From 8394e45c13fcfbcae610685f79af08cfa7f98d83 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 8 Jan 2024 15:42:59 +0000 Subject: [PATCH 003/231] BUG: snappyHexMesh: ignore blockSize. See #3068 --- .../meshRefinement/wallPointsI.H | 70 ++++++++++++++----- 1 file changed, 54 insertions(+), 16 deletions(-) diff --git a/src/mesh/snappyHexMesh/meshRefinement/wallPointsI.H b/src/mesh/snappyHexMesh/meshRefinement/wallPointsI.H index 4b2035131d7..61d01998b88 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/wallPointsI.H +++ b/src/mesh/snappyHexMesh/meshRefinement/wallPointsI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -207,13 +207,25 @@ inline bool Foam::wallPoints::updateCell { const FixedList<label, 3>& nbrSurface = neighbourInfo.surface_[i]; - // Check distance from nbr origin to cc against max walking distance - const scalar blockSize = - td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]]; - const scalar d2 = magSqr(cc-neighbourInfo.origin_[i]); - if (d2 < Foam::sqr(3*blockSize)) + // Optionally check against surface-based block size + bool propagate = false; + if (nbrSurface[0] == labelMax) + { + // nbrSurface has special value to ignore regionToBlockSize + propagate = true; + } + else + { + // Check distance from nbr origin to cc against max walking distance + const scalar blockSize = + td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]]; + + propagate = (d2 < Foam::sqr(3*blockSize)); + } + + if (propagate) { // Real distance less than max gap distance. Note that it should // be at least 2 * blockSize (since gap is two cells across). @@ -280,13 +292,26 @@ inline bool Foam::wallPoints::updateFace { const FixedList<label, 3>& nbrSurface = neighbourInfo.surface_[i]; - // Check distance from nbr origin to cc against max walking distance - const scalar blockSize = - td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]]; - const scalar d2 = magSqr(fc-neighbourInfo.origin_[i]); - if (d2 < Foam::sqr(3*blockSize)) + // Optionally check against surface-based block size + bool propagate = false; + if (nbrSurface[0] == labelMax) + { + // nbrSurface has special value to ignore regionToBlockSize + propagate = true; + } + else + { + // Check distance from nbr origin to cc against max walking + // distance + const scalar blockSize = + td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]]; + + propagate = (d2 < Foam::sqr(3*blockSize)); + } + + if (propagate) { // Real distance less than max gap distance @@ -348,13 +373,26 @@ inline bool Foam::wallPoints::updateFace { const FixedList<label, 3>& nbrSurface = neighbourInfo.surface_[i]; - // Check distance from nbr origin to cc against max walking distance - const scalar blockSize = - td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]]; - const scalar d2 = magSqr(fc-neighbourInfo.origin_[i]); - if (d2 < Foam::sqr(3*blockSize)) + // Optionally check against surface-based block size + bool propagate = false; + if (nbrSurface[0] == labelMax) + { + // nbrSurface has special value to ignore regionToBlockSize + propagate = true; + } + else + { + // Check distance from nbr origin to cc against max walking + // distance + const scalar blockSize = + td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]]; + + propagate = (d2 < Foam::sqr(3*blockSize)); + } + + if (propagate) { // Real distance less than max gap distance -- GitLab From 1a1322a2b09c6ac808cc6ed51edca4d53c49b7dc Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 27 Jun 2023 09:14:35 +0200 Subject: [PATCH 004/231] COMP: avoid operator= masking (gcc-13) --- .../basicSymmetryPointPatchField.H | 19 +++++++++++-------- .../basicSymmetry/basicSymmetryFaPatchField.H | 8 +++++++- .../basicSymmetry/basicSymmetryFvPatchField.H | 8 +++++++- ...haContactAngleTwoPhaseFvPatchScalarField.C | 8 ++++---- ...haContactAngleTwoPhaseFvPatchScalarField.H | 8 +++++++- 5 files changed, 36 insertions(+), 15 deletions(-) diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H index 9377eb2e070..c94efce3dd7 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H @@ -119,16 +119,19 @@ public: } - // Member functions + // Member Functions - // Evaluation functions + //- Update the patch field + virtual void evaluate + ( + const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + ); - //- Update the patch field - virtual void evaluate - ( - const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking - ); + + // Member Operators + + //- Inherit assignment operators + using pointPatchField<Type>::operator=; }; diff --git a/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H index 8e29f1b3bf9..6e6ae1696c6 100644 --- a/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H @@ -124,7 +124,7 @@ public: } - // Member functions + // Member Functions // Evaluation functions @@ -141,6 +141,12 @@ public: //- Return face-gradient transform diagonal virtual tmp<Field<Type>> snGradTransformDiag() const; + + + // Member Operators + + //- Inherit assignment operators + using transformFaPatchField<Type>::operator=; }; diff --git a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H index 8ffea2a4381..bb730b23f5d 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H @@ -122,7 +122,7 @@ public: } - // Member functions + // Member Functions //- Return gradient at boundary virtual tmp<Field<Type>> snGrad() const; @@ -135,6 +135,12 @@ public: //- Return face-gradient transform diagonal virtual tmp<Field<Type>> snGradTransformDiag() const; + + + // Member Operators + + //- Inherit assignment operators + using transformFvPatchField<Type>::operator=; }; diff --git a/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.C b/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.C index 5a13143fb01..798ca756ec2 100644 --- a/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.C +++ b/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.C @@ -55,7 +55,7 @@ alphaContactAngleTwoPhaseFvPatchScalarField ) : fixedGradientFvPatchScalarField(p, iF), - limit_(lcZeroGradient) + limit_(limitControls::lcZeroGradient) {} @@ -128,7 +128,7 @@ void Foam::alphaContactAngleTwoPhaseFvPatchScalarField::evaluate const Pstream::commsTypes ) { - if (limit_ == lcGradient) + if (limit_ == limitControls::lcGradient) { gradient() = patch().deltaCoeffs() @@ -137,14 +137,14 @@ void Foam::alphaContactAngleTwoPhaseFvPatchScalarField::evaluate - *this ); } - else if (limit_ == lcZeroGradient) + else if (limit_ == limitControls::lcZeroGradient) { gradient() = Zero; } fixedGradientFvPatchScalarField::evaluate(); - if (limit_ == lcAlpha) + if (limit_ == limitControls::lcAlpha) { scalarField::operator=(clamp(*this, zero_one{})); } diff --git a/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.H b/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.H index 0f960070581..12cff614f1a 100644 --- a/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.H +++ b/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.H @@ -136,7 +136,7 @@ public: ); - // Member functions + // Member Functions //- Return the contact angle virtual tmp<scalarField> theta @@ -153,6 +153,12 @@ public: //- Write virtual void write(Ostream& os) const; + + + // Member Operators + + //- Inherit assignment operators + using fvPatchField<scalar>::operator=; }; -- GitLab From dde4b1268718677b0a58d80bbe604128ef6bea82 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 27 Jun 2023 09:16:04 +0200 Subject: [PATCH 005/231] ENH: add pointPatchField::patchInternalField with three-parameters - allows extraction without constructing a tmp. The definition is similar to {faPatch,fvPatch} handling. --- .../basic/value/valuePointPatchField.C | 6 +- .../processorCyclicPointPatchField.C | 9 +- .../pointPatchField/pointPatchField.C | 91 +++++++++++-------- .../pointPatchField/pointPatchField.H | 31 +++++-- 4 files changed, 87 insertions(+), 50 deletions(-) diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C index 9718da72b3a..d623500b873 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C @@ -237,7 +237,8 @@ void Foam::valuePointPatchField<Type>::operator= const pointPatchField<Type>& ptf ) { - Field<Type>::operator=(this->patchInternalField()); + // pointPatchField has no values to copy, assign internal values + this->extrapolateInternal(); } @@ -277,7 +278,8 @@ void Foam::valuePointPatchField<Type>::operator== const pointPatchField<Type>& ptf ) { - Field<Type>::operator=(this->patchInternalField()); + // pointPatchField has no values to copy, assign internal values + this->extrapolateInternal(); } diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.C index 0554b28a9c2..2d0e1bd140e 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.C @@ -93,15 +93,16 @@ void Foam::processorCyclicPointPatchField<Type>::initSwapAddSeparated Field<Type>& pField ) const { - if (Pstream::parRun()) + if (UPstream::parRun()) { // Get internal field into correct order for opposite side. Note use // of member data buffer since using non-blocking. Could be optimised // out if not using non-blocking... - sendBuf_ = this->patchInternalField + this->patchInternalField ( pField, - procPatch_.reverseMeshPoints() + procPatch_.reverseMeshPoints(), + sendBuf_ ); if (commsType == Pstream::commsTypes::nonBlocking) @@ -138,7 +139,7 @@ void Foam::processorCyclicPointPatchField<Type>::swapAddSeparated Field<Type>& pField ) const { - if (Pstream::parRun()) + if (UPstream::parRun()) { // If nonblocking, data is already in receive buffer diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C index f2f775ccc4b..cf5fc3fbcde 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -109,10 +109,31 @@ void Foam::pointPatchField<Type>::write(Ostream& os) const template<class Type> -Foam::tmp<Foam::Field<Type>> -Foam::pointPatchField<Type>::patchInternalField() const +template<class Type1> +void Foam::pointPatchField<Type>::patchInternalField +( + const UList<Type1>& internalData, + const labelUList& addressing, + Field<Type1>& pfld +) const { - return patchInternalField(primitiveField()); + // Check size + if (internalData.size() != primitiveField().size()) + { + FatalErrorInFunction + << "Internal field size: " << internalData.size() + << " != mesh size: " << primitiveField().size() << nl + << abort(FatalError); + } + + const label len = this->size(); + + pfld.resize_nocopy(len); + + for (label i = 0; i < len; ++i) + { + pfld[i] = internalData[addressing[i]]; + } } @@ -121,21 +142,13 @@ template<class Type1> Foam::tmp<Foam::Field<Type1>> Foam::pointPatchField<Type>::patchInternalField ( - const Field<Type1>& iF, - const labelUList& meshPoints + const UList<Type1>& internalData, + const labelUList& addressing ) const { - // Check size - if (iF.size() != primitiveField().size()) - { - FatalErrorInFunction - << "given internal field does not correspond to the mesh. " - << "Field size: " << iF.size() - << " mesh size: " << primitiveField().size() - << abort(FatalError); - } - - return tmp<Field<Type1>>::New(iF, meshPoints); + auto tpfld = tmp<Field<Type1>>::New(); + this->patchInternalField(internalData, addressing, tpfld.ref()); + return tpfld; } @@ -144,10 +157,20 @@ template<class Type1> Foam::tmp<Foam::Field<Type1>> Foam::pointPatchField<Type>::patchInternalField ( - const Field<Type1>& iF + const UList<Type1>& internalData ) const { - return patchInternalField(iF, patch().meshPoints()); + auto tpfld = tmp<Field<Type1>>::New(); + this->patchInternalField(internalData, patch().meshPoints(), tpfld.ref()); + return tpfld; +} + + +template<class Type> +Foam::tmp<Foam::Field<Type>> +Foam::pointPatchField<Type>::patchInternalField() const +{ + return patchInternalField(primitiveField()); } @@ -163,18 +186,16 @@ void Foam::pointPatchField<Type>::addToInternalField if (iF.size() != primitiveField().size()) { FatalErrorInFunction - << "given internal field does not correspond to the mesh. " - << "Field size: " << iF.size() - << " mesh size: " << primitiveField().size() + << "Internal field size: " << iF.size() + << " != mesh size: " << primitiveField().size() << nl << abort(FatalError); } if (pF.size() != size()) { FatalErrorInFunction - << "given patch field does not correspond to the mesh. " - << "Field size: " << pF.size() - << " mesh size: " << size() + << "Patch field size: " << pF.size() + << " != patch size: " << size() << nl << abort(FatalError); } @@ -201,18 +222,16 @@ void Foam::pointPatchField<Type>::addToInternalField if (iF.size() != primitiveField().size()) { FatalErrorInFunction - << "given internal field does not correspond to the mesh. " - << "Field size: " << iF.size() - << " mesh size: " << primitiveField().size() + << "Internal field size: " << iF.size() + << " != mesh size: " << primitiveField().size() << nl << abort(FatalError); } if (pF.size() != size()) { FatalErrorInFunction - << "given patch field does not correspond to the mesh. " - << "Field size: " << pF.size() - << " mesh size: " << size() + << "Patch field size: " << pF.size() + << " != patch size: " << size() << nl << abort(FatalError); } @@ -240,18 +259,16 @@ void Foam::pointPatchField<Type>::setInInternalField if (iF.size() != primitiveField().size()) { FatalErrorInFunction - << "given internal field does not correspond to the mesh. " - << "Field size: " << iF.size() - << " mesh size: " << primitiveField().size() + << "Internal field size: " << iF.size() + << " != mesh size: " << primitiveField().size() << nl << abort(FatalError); } if (pF.size() != meshPoints.size()) { FatalErrorInFunction - << "given patch field does not correspond to the meshPoints. " - << "Field size: " << pF.size() - << " meshPoints size: " << size() + << "Patch field size: " << pF.size() + << " != meshPoints size: " << meshPoints.size() << nl << abort(FatalError); } diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H index b6b7210d8b3..d66463a46d9 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H @@ -431,26 +431,43 @@ public: // Evaluation Functions - //- Return field created from appropriate internal field values - tmp<Field<Type>> patchInternalField() const; + //- Extract field using specified addressing + // \param internalData The internal field to extract from + // \param addressing Addressing (mesh-points) into internal field + // \param [out] pfld The extracted patch field. + // It is always resized according to the patch size(), + // which can be smaller than the addressing size + template<class Type1> + void patchInternalField + ( + const UList<Type1>& internalData, + const labelUList& addressing, + Field<Type1>& pfld + ) const; - //- Return field created from appropriate internal field values + //- Return field created from selected internal field values //- given internal field reference + // \param internalData The internal field to extract from + // \param addressing Addressing (mesh-points) into internal field template<class Type1> tmp<Field<Type1>> patchInternalField ( - const Field<Type1>& iF + const UList<Type1>& internalData, + const labelUList& addressing ) const; - //- Return field created from selected internal field values + //- Return field created from appropriate internal field values //- given internal field reference template<class Type1> tmp<Field<Type1>> patchInternalField ( - const Field<Type1>& iF, - const labelUList& meshPoints + const UList<Type1>& internalData ) const; + //- Return field created from appropriate internal field values + tmp<Field<Type>> patchInternalField() const; + + //- Given the internal field and a patch field, //- add the patch field to the internal field template<class Type1> -- GitLab From ad85b684bbad80f7f43aea604cdcdfee3fd6cc26 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 2 Jan 2024 18:20:33 +0100 Subject: [PATCH 006/231] STYLE: remove unused/stray methods, fix stray deprecated usages STYLE: use separate value/dimensions for GeometricField - simplifies calling parameters COMP: limit enumeration range when reporting chemkin error --- .../Test-mapDistributePolyMesh.C | 2 +- applications/test/volField/Test-volField.C | 3 +- .../setExprFields/setExprFields.C | 3 +- .../CrankNicolsonDdtScheme.C | 39 +++++++------------ .../CrankNicolsonDdtScheme.H | 28 ++++++------- .../steadyStateDdtScheme.C | 24 ++++-------- .../advectionDiffusionPatchDistMethod.C | 7 ++-- src/functionObjects/field/age/age.C | 25 ------------ src/functionObjects/field/age/age.H | 8 ---- .../binField/binModels/binModel/binModelNew.C | 10 ++--- src/functionObjects/field/momentum/momentum.C | 11 +++--- .../meshRefinement/meshRefinement.C | 2 +- .../cyclicACMIGAMGInterface.C | 2 +- .../cyclicAMIGAMGInterface.C | 2 +- .../writers/common/coordSetWriterTemplates.C | 4 +- .../processorColour.C | 6 +-- ...displacementMethodpLaplacianMotionSolver.C | 6 +-- .../elasticityMotionSolver.C | 5 ++- .../objectiveManager/objectiveManager.C | 12 +++--- .../adjoint/objectives/objective/objective.C | 6 +-- .../adjointEikonalSolver.C | 7 ++-- .../designVariables/designVariables.C | 14 +++---- .../designVariables/designVariablesI.H | 2 +- .../levelSet/levelSetDesignVariables.C | 10 ++--- .../shape/Bezier/BezierDesignVariables.C | 2 +- .../shapeDesignVariables.C | 10 ++--- .../morphingBoxConstraint.C | 7 ++-- .../volumetricBSplinesDesignVariables.C | 2 +- .../betaMax/Darcy/betaMaxDarcy.C | 12 +++--- .../betaMax/betaMax/betaMax.C | 12 +++--- .../topOInterpolationFunction.C | 6 +-- .../regularisation/fieldRegularisation.C | 3 +- .../regularisationPDE/regularisationPDE.C | 6 +-- .../regularisationRadius.C | 6 +-- .../designVariablesUpdate.C | 7 ++-- .../adjointSolver/adjointSolver.C | 4 +- .../variablesSet/variablesSetTemplates.C | 2 +- .../adjointInletNuaTildaFvPatchScalarField.H | 1 - .../nucleateFluxModel/nucleateFluxModel.C | 6 +-- src/surfMesh/writers/common/surfaceWriter.C | 2 +- .../chemkinReader/chemkinReader.C | 23 +++++------ 41 files changed, 148 insertions(+), 201 deletions(-) diff --git a/applications/test/mapDistributePolyMesh/Test-mapDistributePolyMesh.C b/applications/test/mapDistributePolyMesh/Test-mapDistributePolyMesh.C index ea17c1a878a..315b14d1d03 100644 --- a/applications/test/mapDistributePolyMesh/Test-mapDistributePolyMesh.C +++ b/applications/test/mapDistributePolyMesh/Test-mapDistributePolyMesh.C @@ -59,7 +59,7 @@ int main(int argc, char *argv[]) ( "procAddressing", instance, - fvMesh::meshSubDir, + polyMesh::meshSubDir, mesh, IOobject::MUST_READ, IOobject::NO_WRITE, diff --git a/applications/test/volField/Test-volField.C b/applications/test/volField/Test-volField.C index 8979532bbdf..813a8b58e1f 100644 --- a/applications/test/volField/Test-volField.C +++ b/applications/test/volField/Test-volField.C @@ -118,7 +118,8 @@ PtrList<GeoField> create ( word("cmpt." + name(i)), mesh, - dimensioned<typename GeoField::value_type>(Zero) + Foam::zero{}, // value + dimless ).ptr() ); } diff --git a/applications/utilities/preProcessing/setExprFields/setExprFields.C b/applications/utilities/preProcessing/setExprFields/setExprFields.C index 59c180c5519..2904f42d8ee 100644 --- a/applications/utilities/preProcessing/setExprFields/setExprFields.C +++ b/applications/utilities/preProcessing/setExprFields/setExprFields.C @@ -148,7 +148,8 @@ bool setField ( fieldName, mesh, - dimensioned<typename GeoField::value_type>(dims) + Foam::zero{}, // value + dims ); } else diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C index 3c395b5ae0f..8cf8c12438e 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2018 OpenFOAM Foundation - Copyright (C) 2020-2021,2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -68,22 +68,15 @@ CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>::DDt0Field ( const IOobject& io, const fvMesh& mesh, - const dimensioned<typename GeoField::value_type>& dimType + const typename GeoField::value_type& value, + const dimensionSet& dims ) : - GeoField(io, mesh, dimType), + GeoField(io, mesh, value, dims), startTimeIndex_(mesh.time().timeIndex()) {} -template<class Type> -template<class GeoField> -label CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>::startTimeIndex() const -{ - return startTimeIndex_; -} - - template<class Type> template<class GeoField> GeoField& CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>::operator()() @@ -127,7 +120,7 @@ CrankNicolsonDdtScheme<Type>::ddt0_ ( name, startTimeName, - mesh() + mesh().thisDb() ).template typeHeaderOk<DDt0Field<GeoField>>(true) ) { @@ -139,9 +132,10 @@ CrankNicolsonDdtScheme<Type>::ddt0_ ( name, startTimeName, - mesh(), + mesh().thisDb(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh() ) @@ -159,25 +153,21 @@ CrankNicolsonDdtScheme<Type>::ddt0_ mesh().time().timeName(), mesh().thisDb(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh(), - dimensioned<typename GeoField::value_type> - ( - dims/dimTime, - Zero - ) + Foam::zero{}, // value + dims/dimTime ) ); } } - DDt0Field<GeoField>& ddt0 = static_cast<DDt0Field<GeoField>&> + return static_cast<DDt0Field<GeoField>&> ( mesh().objectRegistry::template lookupObjectRef<GeoField>(name) ); - - return ddt0; } @@ -369,7 +359,8 @@ CrankNicolsonDdtScheme<Type>::fvcDdt ( ddtIOobject, mesh(), - dimensioned<Type>(dt.dimensions()/dimTime, Zero) + Foam::zero{}, // value + (dt.dimensions()/dimTime) ) ); diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.H b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.H index 55ac242e560..6f6f79550c3 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.H +++ b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.H @@ -53,10 +53,10 @@ Description default CrankNicolson ocCoeff { - type scale; - scale linearRamp; - duration 0.01; - value 0.9; + type scale; + scale linearRamp; + duration 0.01; + value 0.9; }; } \endverbatim @@ -93,8 +93,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef CrankNicolsonDdtScheme_H -#define CrankNicolsonDdtScheme_H +#ifndef Foam_CrankNicolsonDdtScheme_H +#define Foam_CrankNicolsonDdtScheme_H #include "ddtScheme.H" #include "Function1.H" @@ -120,9 +120,9 @@ class CrankNicolsonDdtScheme { // Private Data - //- Class to store the ddt0 fields on the objectRegistry for use in the - // next time-step. The start-time index of the CN scheme is also - // stored to help handle the transition from Euler to CN + //- Store ddt0 fields on the registry for use in the next time-step. + // The start-time index of the CN scheme is also stored + // to help handle the transition from Euler to CrankNicolson template<class GeoField> class DDt0Field : @@ -132,24 +132,24 @@ class CrankNicolsonDdtScheme public: - //- Constructor from file for restart. + //- Read construct from file (for restart) DDt0Field ( const IOobject& io, const fvMesh& mesh ); - //- Constructor from components, initisalised to zero with given - // dimensions. + //- Construct value-initialised with given dimensions DDt0Field ( const IOobject& io, const fvMesh& mesh, - const dimensioned<typename GeoField::value_type>& dimType + const typename GeoField::value_type& value, + const dimensionSet& dims ); //- Return the start-time index - label startTimeIndex() const; + label startTimeIndex() const noexcept { return startTimeIndex_; } //- Cast to the underlying GeoField GeoField& operator()(); diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C index 849852f7544..0712b59fd0c 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C @@ -254,10 +254,8 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr mesh().thisDb() ), mesh(), - dimensioned<typename flux<Type>::type> - ( - Uf.dimensions()*dimArea/dimTime, Zero - ) + Foam::zero{}, // value + Uf.dimensions()*dimArea/dimTime ) ); @@ -286,10 +284,8 @@ steadyStateDdtScheme<Type>::fvcDdtPhiCorr mesh().thisDb() ), mesh(), - dimensioned<typename flux<Type>::type> - ( - phi.dimensions()/dimTime, Zero - ) + Foam::zero{}, // value + phi.dimensions()/dimTime ) ); @@ -321,10 +317,8 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr mesh().thisDb() ), mesh(), - dimensioned<typename flux<Type>::type> - ( - Uf.dimensions()*dimArea/dimTime, Zero - ) + Foam::zero{}, // value + Uf.dimensions()*dimArea/dimTime ) ); @@ -356,10 +350,8 @@ steadyStateDdtScheme<Type>::fvcDdtPhiCorr mesh().thisDb() ), mesh(), - dimensioned<typename flux<Type>::type> - ( - phi.dimensions()/dimTime, Zero - ) + Foam::zero{}, // value + phi.dimensions()/dimTime ) ); diff --git a/src/finiteVolume/fvMesh/wallDist/patchDistMethods/advectionDiffusion/advectionDiffusionPatchDistMethod.C b/src/finiteVolume/fvMesh/wallDist/patchDistMethods/advectionDiffusion/advectionDiffusionPatchDistMethod.C index 915b62d003f..dece6229b77 100644 --- a/src/finiteVolume/fvMesh/wallDist/patchDistMethods/advectionDiffusion/advectionDiffusionPatchDistMethod.C +++ b/src/finiteVolume/fvMesh/wallDist/patchDistMethods/advectionDiffusion/advectionDiffusionPatchDistMethod.C @@ -79,8 +79,7 @@ Foam::patchDistMethods::advectionDiffusion::advectionDiffusion tolerance_(coeffs_.getOrDefault<scalar>("tolerance", 1e-3)), maxIter_(coeffs_.getOrDefault<int>("maxIter", 10)), predicted_(false), - checkAndWriteMesh_ - (coeffs_.lookupOrDefault<bool>("checkAndWriteMesh", true)) + checkAndWriteMesh_(coeffs_.getOrDefault("checkAndWriteMesh", true)) {} @@ -119,11 +118,11 @@ bool Foam::patchDistMethods::advectionDiffusion::correct ( "points", mesh_.pointsInstance(), - mesh_.meshSubDir, + polyMesh::meshSubDir, mesh_, IOobject::NO_READ, IOobject::NO_WRITE, - false + IOobject::NO_REGISTER ), mesh_.points() ); diff --git a/src/functionObjects/field/age/age.C b/src/functionObjects/field/age/age.C index 72cf677d2ff..d63e452b9c1 100644 --- a/src/functionObjects/field/age/age.C +++ b/src/functionObjects/field/age/age.C @@ -90,31 +90,6 @@ bool Foam::functionObjects::age::converged } -template<class GeoField> -Foam::autoPtr<GeoField> -Foam::functionObjects::age::newField -( - const word& baseName, - const wordList patches -) const -{ - return autoPtr<GeoField>::New - ( - IOobject - ( - scopedName(baseName), - time_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensioned<typename GeoField::value_type>(dimTime, Zero), - patches - ); -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::functionObjects::age::age diff --git a/src/functionObjects/field/age/age.H b/src/functionObjects/field/age/age.H index 1abb2ae7776..daba0c401d9 100644 --- a/src/functionObjects/field/age/age.H +++ b/src/functionObjects/field/age/age.H @@ -141,14 +141,6 @@ class age //- Return true if convergence is reached bool converged(const int nCorr, const scalar initialResidual) const; - //- Create and allocate a new zero geometric field - template<class GeoField> - autoPtr<GeoField> newField - ( - const word& baseName, - const wordList - ) const; - public: diff --git a/src/functionObjects/field/binField/binModels/binModel/binModelNew.C b/src/functionObjects/field/binField/binModels/binModel/binModelNew.C index 9d09a4ebf8d..6839389730c 100644 --- a/src/functionObjects/field/binField/binModels/binModel/binModelNew.C +++ b/src/functionObjects/field/binField/binModels/binModel/binModelNew.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,11 +37,11 @@ Foam::autoPtr<Foam::binModel> Foam::binModel::New const word& outputPrefix ) { - word modelType(dict.get<word>("binModel")); + const word modelType(dict.get<word>("binModel")); - auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType); + auto* ctorPtr = dictionaryConstructorTable(modelType); - if (!cstrIter.good()) + if (!ctorPtr) { FatalIOErrorInLookup ( @@ -52,7 +52,7 @@ Foam::autoPtr<Foam::binModel> Foam::binModel::New ) << exit(FatalIOError); } - return autoPtr<binModel>(cstrIter()(dict, mesh, outputPrefix)); + return autoPtr<binModel>(ctorPtr(dict, mesh, outputPrefix)); } diff --git a/src/functionObjects/field/momentum/momentum.C b/src/functionObjects/field/momentum/momentum.C index 0162732793b..04a3f131aea 100644 --- a/src/functionObjects/field/momentum/momentum.C +++ b/src/functionObjects/field/momentum/momentum.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,13 +71,14 @@ Foam::functionObjects::momentum::newField ( scopedName(baseName), time_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, + mesh_.thisDb(), + IOobjectOption::NO_READ, + IOobjectOption::NO_WRITE, registerObject ), mesh_, - dimensioned<typename GeoField::value_type>(dims, Zero) + Foam::zero{}, // value + dims ); } diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C index 88b9ad42da3..8dad26141a9 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C @@ -1714,7 +1714,7 @@ Foam::meshRefinement::meshRefinement ( "surfaceIndex", mesh_.facesInstance(), - fvMesh::meshSubDir, + polyMesh::meshSubDir, mesh_, IOobject::NO_READ, IOobject::NO_WRITE, diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.C b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.C index faacd652ec2..0400a813eb2 100644 --- a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.C +++ b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.C @@ -724,7 +724,7 @@ void Foam::cyclicACMIGAMGInterface::write(Ostream& os) const { GAMGInterface::write(os); - const bool hasAMI = amiPtr_.valid(); + const bool hasAMI = bool(amiPtr_); os << token::SPACE << neighbPatchID_ << token::SPACE << owner_ diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.C b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.C index bcb6146bfdb..69dd64b6380 100644 --- a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.C +++ b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.C @@ -964,7 +964,7 @@ void Foam::cyclicAMIGAMGInterface::write(Ostream& os) const { GAMGInterface::write(os); - const bool hasAMI = amiPtr_.valid(); + const bool hasAMI = bool(amiPtr_); os << token::SPACE << neighbPatchID_ << token::SPACE << owner_ diff --git a/src/meshTools/coordSet/writers/common/coordSetWriterTemplates.C b/src/meshTools/coordSet/writers/common/coordSetWriterTemplates.C index 28e8f08de59..d1ea1d8564e 100644 --- a/src/meshTools/coordSet/writers/common/coordSetWriterTemplates.C +++ b/src/meshTools/coordSet/writers/common/coordSetWriterTemplates.C @@ -105,8 +105,8 @@ Foam::tmp<Foam::Field<Type>> Foam::coordSetWriter::adjustFieldTemplate // Rotate fields (vector and non-spherical tensors) if ( - (pTraits<Type>::rank != 0 && pTraits<Type>::nComponents > 1) - && geometryTransform_.valid() + (is_vectorspace<Type>::value && pTraits<Type>::nComponents > 1) + && geometryTransform_.good() && !geometryTransform_.R().is_identity() ) { diff --git a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C index b852dd5c103..92298e20913 100644 --- a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C +++ b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C @@ -149,12 +149,12 @@ Foam::label Foam::processorColour::colour // mesh.time().timeName(), // mesh, // IOobject::NO_READ, - // IOobject::AUTO_WRITE, - // false + // IOobject::NO_WRITE, + // IOobject::NO_REGISTER // ), // mesh, // dimensionedScalar(dimless, procColour[Pstream::myProcNo()]), - // zeroGradientFvPatchScalarField::typeName + // fvPatchFieldBase::zeroGradientType() // ); // volColour.write(); //} diff --git a/src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethodpLaplacianMotionSolver/displacementMethodpLaplacianMotionSolver.C b/src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethodpLaplacianMotionSolver/displacementMethodpLaplacianMotionSolver.C index d73d0d270b3..7e33bac17d9 100644 --- a/src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethodpLaplacianMotionSolver/displacementMethodpLaplacianMotionSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethodpLaplacianMotionSolver/displacementMethodpLaplacianMotionSolver.C @@ -65,9 +65,9 @@ displacementMethodpLaplacianMotionSolver "dynamicMeshDict", mesh.time().constant(), mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::AUTO_WRITE, - false + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER ) ).subDict("pLaplacianMotionSolverCoeffs").getOrDefault<bool> ( diff --git a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C index 3778a5cce99..5b562382f79 100644 --- a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C @@ -264,10 +264,11 @@ void Foam::elasticityMotionSolver::solve() ( "points", mesh().pointsInstance(), - mesh().meshSubDir, + polyMesh::meshSubDir, mesh(), IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ), mesh().points() ); diff --git a/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager.C b/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager.C index 39b36884316..937bcb4587f 100644 --- a/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager.C +++ b/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager.C @@ -254,19 +254,21 @@ bool objectiveManager::writeObjectives const bool valid ) { - if (weightedObjectiveFile_.valid()) + if (weightedObjectiveFile_) { + auto& os = weightedObjectiveFile_(); + unsigned int width = IOstream::defaultPrecision() + 5; - weightedObjectiveFile_() + + os << setw(4) << mesh_.time().timeName() << " " << setw(width) << weightedObjective << " "; for (objective& objI : objectives_) { - weightedObjectiveFile_() - << setw(width) << objI.JCycle() << " "; + os << setw(width) << objI.JCycle() << " "; } - weightedObjectiveFile_() << endl; + os << endl; } return writeObjectives(); diff --git a/src/optimisation/adjointOptimisation/adjoint/objectives/objective/objective.C b/src/optimisation/adjointOptimisation/adjoint/objectives/objective/objective.C index eca940fdf7a..6045ec353ba 100644 --- a/src/optimisation/adjointOptimisation/adjoint/objectives/objective/objective.C +++ b/src/optimisation/adjointOptimisation/adjoint/objectives/objective/objective.C @@ -275,7 +275,7 @@ scalar objective::JCycle(bool negate) const } // Subtract target, in case the objective is used as a constraint - if (target_.valid()) + if (target_) { if (negate) { @@ -541,12 +541,12 @@ bool objective::write(const bool valid) const ios_base::fmtflags flags = file.flags(); flags |= std::cout.left; file.flags(flags); - if (target_.valid()) + if (target_) { file<< setw(width_) << "#target" << " " << setw(width_) << target_() << endl; } - if (targetLeft_.valid()) + if (targetLeft_) { file<< setw(width_) << "#targetLeft" << " " << setw(width_) << targetLeft_() << endl; diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/adjointEikonalSolver/adjointEikonalSolver.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/adjointEikonalSolver/adjointEikonalSolver.C index 782f4c1e783..64735b50804 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/adjointEikonalSolver/adjointEikonalSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/adjointEikonalSolver/adjointEikonalSolver.C @@ -48,6 +48,7 @@ namespace Foam defineTypeNameAndDebug(adjointEikonalSolver, 0); + // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // wordList adjointEikonalSolver::patchTypes() const @@ -60,7 +61,7 @@ wordList adjointEikonalSolver::patchTypes() const for (const label patchi : wallPatchIDs_) { - daTypes[patchi] = zeroGradientFvPatchScalarField::typeName; + daTypes[patchi] = fvPatchFieldBase::zeroGradientType(); } return daTypes; @@ -212,7 +213,7 @@ void adjointEikonalSolver::solve() mesh_, IOobject::NO_READ, IOobject::NO_WRITE, - false + IOobject::NO_REGISTER ), mesh_, dimensionedScalar("scaleDims", dimTime/dimLength, scalar(1)) @@ -329,7 +330,7 @@ tmp<volTensorField> adjointEikonalSolver::getFISensitivityTerm() const ), mesh_, dimensionedTensor(da_.dimensions(), Zero), - zeroGradientFvPatchField<tensor>::typeName + fvPatchFieldBase::zeroGradientType() ) ); volTensorField& distanceSens = tdistanceSens.ref(); diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C index 459b4ed2d66..bd0b171d589 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C @@ -66,9 +66,9 @@ void Foam::designVariables::readBounds scalar lowerBound(dict_.get<scalar>("lowerBound")); lowerBounds_.reset(new scalarField(getVars().size(), lowerBound)); } - else if (lowerBoundPtr.valid()) + else if (lowerBoundPtr) { - lowerBounds_.reset(new scalarField(getVars().size(), lowerBoundPtr())); + lowerBounds_.reset(new scalarField(getVars().size(), *lowerBoundPtr)); } // Read upper bounds for the design variables, if present @@ -91,9 +91,9 @@ void Foam::designVariables::readBounds scalar upperBound(dict_.get<scalar>("upperBound")); upperBounds_.reset(new scalarField(getVars().size(), upperBound)); } - else if (upperBoundPtr.valid()) + else if (upperBoundPtr) { - upperBounds_.reset(new scalarField(getVars().size(), upperBoundPtr())); + upperBounds_.reset(new scalarField(getVars().size(), *upperBoundPtr)); } } @@ -164,9 +164,9 @@ Foam::autoPtr<Foam::designVariables> Foam::designVariables::New Info<< "designVariables type : " << modelType << endl; - auto cstrIter = designVariablesConstructorTablePtr_->cfind(modelType); + auto* ctorPtr = designVariablesConstructorTable(modelType); - if (!cstrIter.found()) + if (!ctorPtr) { FatalErrorInLookup ( @@ -176,7 +176,7 @@ Foam::autoPtr<Foam::designVariables> Foam::designVariables::New ) << exit(FatalError); } - return autoPtr<designVariables>(cstrIter()(mesh, dict)); + return autoPtr<designVariables>(ctorPtr(mesh, dict)); } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariablesI.H b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariablesI.H index 28c7f05bbe8..025cf5dc57a 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariablesI.H +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariablesI.H @@ -37,7 +37,7 @@ Foam::designVariables::activeDesignVariables() const bool Foam::designVariables::isMaxInitChangeSet() const { - return maxInitChange_.valid(); + return bool(maxInitChange_); } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/levelSet/levelSetDesignVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/levelSet/levelSetDesignVariables.C index e28b90547c4..3d9d41c561f 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/levelSet/levelSetDesignVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/levelSet/levelSetDesignVariables.C @@ -227,11 +227,7 @@ void Foam::levelSetDesignVariables::updateSignedDistances() ), mesh_, dimensionedScalar(dimLength, Zero), - wordList - ( - mesh_.boundary().size(), - zeroGradientFvPatchField<scalar>::typeName - ) + fvPatchFieldBase::zeroGradientType() ); y.primitiveFieldRef() = aTilda_.primitiveFieldRef(); y.correctBoundaryConditions(); @@ -297,7 +293,7 @@ levelSetDesignVariables::levelSetDesignVariables ), mesh_, dimensionedScalar(dimless, Zero), - zeroGradientFvPatchField<scalar>::typeName + fvPatchFieldBase::zeroGradientType() ), signedDistances_ ( @@ -311,7 +307,7 @@ levelSetDesignVariables::levelSetDesignVariables ), mesh_, dimensionedScalar(dimless, Zero), - zeroGradientFvPatchField<scalar>::typeName + fvPatchFieldBase::zeroGradientType() ), interpolation_ ( diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/Bezier/BezierDesignVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/Bezier/BezierDesignVariables.C index 05e11c76142..af96e7c30e8 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/Bezier/BezierDesignVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/Bezier/BezierDesignVariables.C @@ -159,7 +159,7 @@ Foam::BezierDesignVariables::BezierDesignVariables mesh, IOobject::MUST_READ, IOobject::NO_WRITE, - false + IOobject::NO_REGISTER ) ) ), diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/shapeDesignVariables/shapeDesignVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/shapeDesignVariables/shapeDesignVariables.C index c1eca2034bc..388b1dc77b1 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/shapeDesignVariables/shapeDesignVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/shapeDesignVariables/shapeDesignVariables.C @@ -211,9 +211,9 @@ Foam::autoPtr<Foam::shapeDesignVariables> Foam::shapeDesignVariables::New Info<< "shapeDesignVariables type : " << modelType << endl; - auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType); + auto* ctorPtr = dictionaryConstructorTable(modelType); - if (!cstrIter.found()) + if (!ctorPtr) { FatalErrorInLookup ( @@ -223,7 +223,7 @@ Foam::autoPtr<Foam::shapeDesignVariables> Foam::shapeDesignVariables::New ) << exit(FatalError); } - return autoPtr<shapeDesignVariables>(cstrIter()(mesh, dict)); + return autoPtr<shapeDesignVariables>(ctorPtr(mesh, dict)); } @@ -281,11 +281,11 @@ void Foam::shapeDesignVariables::moveMesh() ( "points", mesh_.pointsInstance(), - mesh_.meshSubDir, + polyMesh::meshSubDir, mesh_, IOobject::NO_READ, IOobject::NO_WRITE, - false + IOobject::NO_REGISTER ), mesh_.points() ); diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/volumetricBSplines/morphingBoxConstraints/morphingBoxConstaint/morphingBoxConstraint.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/volumetricBSplines/morphingBoxConstraints/morphingBoxConstaint/morphingBoxConstraint.C index 377230d2424..334c05f5b60 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/volumetricBSplines/morphingBoxConstraints/morphingBoxConstaint/morphingBoxConstraint.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/volumetricBSplines/morphingBoxConstraints/morphingBoxConstaint/morphingBoxConstraint.C @@ -121,9 +121,9 @@ Foam::autoPtr<Foam::morphingBoxConstraint> Foam::morphingBoxConstraint::New Info<< "morphingBoxConstraint type : " << modelType << endl; - auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType); + auto* ctorPtr = dictionaryConstructorTable(modelType); - if (!cstrIter.found()) + if (!ctorPtr) { FatalErrorInLookup ( @@ -135,10 +135,11 @@ Foam::autoPtr<Foam::morphingBoxConstraint> Foam::morphingBoxConstraint::New return autoPtr<morphingBoxConstraint> ( - cstrIter()(mesh, dict, designVariables) + ctorPtr(mesh, dict, designVariables) ); } + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * // void Foam::morphingBoxConstraint::computeBounds diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/volumetricBSplines/volumetricBSplinesDesignVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/volumetricBSplines/volumetricBSplinesDesignVariables.C index d20d3e08b7d..3c22b4327d5 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/volumetricBSplines/volumetricBSplinesDesignVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/shape/volumetricBSplines/volumetricBSplinesDesignVariables.C @@ -307,7 +307,7 @@ void Foam::volumetricBSplinesDesignVariables::setDisplacement mesh_, IOobject::NO_READ, IOobject::NO_WRITE, - false + IOobject::NO_REGISTER ), pointMesh::New(mesh_), dimensionedVector(dimless, Zero) diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/betaMax/Darcy/betaMaxDarcy.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/betaMax/Darcy/betaMaxDarcy.C index 69c9c47001a..787a92789c7 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/betaMax/Darcy/betaMaxDarcy.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/betaMax/Darcy/betaMaxDarcy.C @@ -58,12 +58,12 @@ Foam::betaMaxDarcy::betaMaxDarcy ( IOobject ( - "transportProperties", - mesh.time().constant(), - mesh, - IOobject::MUST_READ, - IOobject::NO_WRITE, - false + "transportProperties", + mesh.time().constant(), + mesh, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER ) ).get<dimensionedScalar>("nu").value(); diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/betaMax/betaMax/betaMax.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/betaMax/betaMax/betaMax.C index 3490e914074..99a1c78eb34 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/betaMax/betaMax/betaMax.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/betaMax/betaMax/betaMax.C @@ -173,7 +173,7 @@ Foam::boolList Foam::betaMax::markProcessorEdges const edge meshE = edge(mp[e[0]], mp[e[1]]); auto iter = isInletEdge.find(meshE); - if (iter.found()) + if (iter.good()) { iter.val() = true; } @@ -196,9 +196,8 @@ Foam::boolList Foam::betaMax::markProcessorEdges { const edge& e = edges[edgeI]; const edge meshE = edge(mp[e[0]], mp[e[1]]); - const auto iter = isInletEdge.cfind(meshE); - if (iter.found() && iter.val()) + if (isInletEdge.lookup(meshE, false)) { isProcessorEdge[edgeI - nInternalEdges] = true; } @@ -208,7 +207,6 @@ Foam::boolList Foam::betaMax::markProcessorEdges } - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::betaMax::betaMax @@ -232,11 +230,11 @@ Foam::autoPtr<Foam::betaMax> Foam::betaMax::New { const word modelType(dict.getOrDefault<word>("betaMaxType", "value")); - auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType); + auto* ctorPtr = dictionaryConstructorTable(modelType); Info<< "betaMax type " << modelType << endl; - if (!cstrIter.found()) + if (!ctorPtr) { FatalIOErrorInLookup ( @@ -247,7 +245,7 @@ Foam::autoPtr<Foam::betaMax> Foam::betaMax::New ) << exit(FatalIOError); } - return autoPtr<betaMax>(cstrIter()(mesh, dict)); + return autoPtr<betaMax>(ctorPtr(mesh, dict)); } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/interpolationFunctions/interpolationFunction/topOInterpolationFunction.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/interpolationFunctions/interpolationFunction/topOInterpolationFunction.C index c71e55afe49..918f2c0154a 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/interpolationFunctions/interpolationFunction/topOInterpolationFunction.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/interpolationFunctions/interpolationFunction/topOInterpolationFunction.C @@ -64,9 +64,9 @@ Foam::topOInterpolationFunction::New Info<< "topOInterpolationFunction type : " << type << endl; - auto cstrIter = dictionaryConstructorTablePtr_->cfind(type); + auto* ctorPtr = dictionaryConstructorTable(type); - if (!cstrIter.found()) + if (!ctorPtr) { FatalIOErrorInLookup ( @@ -77,7 +77,7 @@ Foam::topOInterpolationFunction::New ) << exit(FatalIOError); } - return autoPtr<topOInterpolationFunction>(cstrIter()(mesh, dict)); + return autoPtr<topOInterpolationFunction>(ctorPtr(mesh, dict)); } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/fieldRegularisation.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/fieldRegularisation.C index 4887f48ce1f..29ff486a6a6 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/fieldRegularisation.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/fieldRegularisation.C @@ -28,7 +28,6 @@ License #include "fieldRegularisation.H" #include "fixedValueFvPatchFields.H" -#include "zeroGradientFvPatchFields.H" #include "wallFvPatch.H" #include "fvm.H" @@ -96,7 +95,7 @@ Foam::fieldRegularisation::fieldRegularisation ), mesh_, dimensionedScalar(dimless, Zero), - zeroGradientFvPatchScalarField::typeName + fvPatchFieldBase::zeroGradientType() ) { DebugInfo diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationPDE/regularisationPDE/regularisationPDE.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationPDE/regularisationPDE/regularisationPDE.C index ee6870d36a3..78e6c5394d4 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationPDE/regularisationPDE/regularisationPDE.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationPDE/regularisationPDE/regularisationPDE.C @@ -138,11 +138,11 @@ Foam::autoPtr<Foam::regularisationPDE> Foam::regularisationPDE::New const word modelType = dict.getOrDefault<word>("regularisationPDE", "Helmholtz"); - auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType); + auto* ctorPtr = dictionaryConstructorTable(modelType); Info<< "regularisationPDE type " << modelType << endl; - if (!cstrIter.found()) + if (!ctorPtr) { FatalIOErrorInLookup ( @@ -155,7 +155,7 @@ Foam::autoPtr<Foam::regularisationPDE> Foam::regularisationPDE::New return autoPtr<regularisationPDE> ( - cstrIter()(mesh, dict, zones) + ctorPtr(mesh, dict, zones) ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationRadius/regularisationRadius/regularisationRadius.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationRadius/regularisationRadius/regularisationRadius.C index 2d50c741e2d..04667a8b143 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationRadius/regularisationRadius/regularisationRadius.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationRadius/regularisationRadius/regularisationRadius.C @@ -62,11 +62,11 @@ Foam::autoPtr<Foam::regularisationRadius> Foam::regularisationRadius::New { const word modelType = dict.getOrDefault<word>("type", "isotropic"); - auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType); + auto* ctorPtr = dictionaryConstructorTable(modelType); Info<< "regularisationRadius type " << modelType << endl; - if (!cstrIter.found()) + if (!ctorPtr) { FatalIOErrorInLookup ( @@ -79,7 +79,7 @@ Foam::autoPtr<Foam::regularisationRadius> Foam::regularisationRadius::New return autoPtr<regularisationRadius> ( - cstrIter()(mesh, dict, adjustWallThickness) + ctorPtr(mesh, dict, adjustWallThickness) ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/designVariablesUpdate/designVariablesUpdate.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/designVariablesUpdate/designVariablesUpdate.C index 0e41d4e59f6..690b2dde156 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/designVariablesUpdate/designVariablesUpdate.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/designVariablesUpdate/designVariablesUpdate.C @@ -372,7 +372,7 @@ void Foam::designVariablesUpdate::update(const scalarField& direction) { // Multiply with line search step, if necessary scalarField correction(direction); - if (lineSearch_.valid()) + if (lineSearch_) { lineSearch_->updateCorrection(correction); } @@ -551,9 +551,10 @@ void Foam::designVariablesUpdate::postUpdate(const scalarField& oldCorrection) updateOldCorrection(oldCorrection); write(); designVars_->evolveNumber(); - if (lineSearch_.valid()) + if (lineSearch_) { - lineSearch_().postUpdate(); + lineSearch_->postUpdate(); + // Append additional empty line at the end of the instantaneous // objective file to indicate the end of the block corresponding to // this optimisation cycle diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolvers/adjointSolver/adjointSolver.C b/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolvers/adjointSolver/adjointSolver.C index 9510d1977d0..90259b2e157 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolvers/adjointSolver/adjointSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolvers/adjointSolver/adjointSolver.C @@ -67,7 +67,7 @@ Foam::dictionary Foam::adjointSolver::designVarsDict() const mesh_, IOobject::MUST_READ, IOobject::NO_WRITE, - false + IOobject::NO_REGISTER ) ).subDict("optimisation").subDict("designVariables"); } @@ -270,7 +270,7 @@ void Foam::adjointSolver::updatePrimalBasedQuantities() bool Foam::adjointSolver::writeData(Ostream& os) const { - if (sensitivities_.valid()) + if (sensitivities_.good()) { sensitivities_().writeEntry("sensitivities", os); } diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/variablesSet/variablesSetTemplates.C b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/variablesSet/variablesSetTemplates.C index 92bc073275d..d52815787ea 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/variablesSet/variablesSetTemplates.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/variablesSet/variablesSetTemplates.C @@ -170,7 +170,7 @@ variablesSet::allocateRenamedField { typedef GeometricField<Type, PatchField, GeoMesh> fieldType; autoPtr<fieldType> returnField(nullptr); - if (bf.valid()) + if (bf) { const word timeName = bf().mesh().time().timeName(); returnField.reset diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.H index 5cf3d8cb522..06482f88890 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.H @@ -114,7 +114,6 @@ public: const DimensionedField<scalar, volMesh>& iF ) const { - Info<< "manager name " << managerName_ << endl; return tmp<fvPatchScalarField> ( new adjointInletNuaTildaFvPatchScalarField(*this, iF) diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/wallBoilingSubModels/nucleateFluxModels/nucleateFluxModel/nucleateFluxModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/wallBoilingSubModels/nucleateFluxModels/nucleateFluxModel/nucleateFluxModel.C index ecffddb6538..3bc950ab26a 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/wallBoilingSubModels/nucleateFluxModels/nucleateFluxModel/nucleateFluxModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/wallBoilingSubModels/nucleateFluxModels/nucleateFluxModel/nucleateFluxModel.C @@ -50,9 +50,9 @@ Foam::wallBoilingModels::nucleateFluxModel::New Info<< "Selecting nucleateFluxModel: " << modelType << endl; - auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType); + auto* ctorPtr = dictionaryConstructorTable(modelType); - if (!cstrIter.good()) + if (!ctorPtr) { FatalIOErrorInLookup ( @@ -63,7 +63,7 @@ Foam::wallBoilingModels::nucleateFluxModel::New ) << abort(FatalIOError); } - return cstrIter()(dict); + return ctorPtr(dict); } diff --git a/src/surfMesh/writers/common/surfaceWriter.C b/src/surfMesh/writers/common/surfaceWriter.C index 2b412d9aaea..15b59a08532 100644 --- a/src/surfMesh/writers/common/surfaceWriter.C +++ b/src/surfMesh/writers/common/surfaceWriter.C @@ -687,7 +687,7 @@ Foam::tmp<Foam::Field<Type>> Foam::surfaceWriter::adjustFieldTemplate // Rotate fields (vector and non-spherical tensors) if ( - (pTraits<Type>::rank != 0 && pTraits<Type>::nComponents > 1) + (is_vectorspace<Type>::value && pTraits<Type>::nComponents > 1) && geometryTransform_.good() && !geometryTransform_.R().is_identity() ) diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C index b9b6006abde..3e5dd49c62e 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C @@ -219,22 +219,22 @@ void Foam::chemkinReader::addReactionType break; default: - + { if (rType < 3) { FatalErrorInFunction - << "Reaction type " << reactionTypeNames[rType] - << " on line " << lineNo_-1 - << " not handled by this function" + << "Unhandled reaction type " << reactionTypeNames[rType] + << " on line " << lineNo_-1 << nl << exit(FatalError); } else { FatalErrorInFunction - << "Unknown reaction type " << rType - << " on line " << lineNo_-1 + << "Unknown reaction type (" << int(rType) + << "), on line " << lineNo_-1 << nl << exit(FatalError); } + } } } @@ -401,10 +401,8 @@ void Foam::chemkinReader::addPressureDependentReaction default: { FatalErrorInFunction - << "Fall-off function type " - << fallOffFunctionNames[fofType] - << " on line " << lineNo_-1 - << " not implemented" + << "Fall-off function type (" << int(fofType) + << ") not implemented, line " << lineNo_-1 << exit(FatalError); } } @@ -748,9 +746,8 @@ void Foam::chemkinReader::addReaction default: { FatalErrorInFunction - << "Reaction rate type " << reactionRateTypeNames[rrType] - << " on line " << lineNo_-1 - << " not implemented" + << "Reaction rate type (" << int(rrType) + << ") not implemented, on line " << lineNo_-1 << exit(FatalError); } } -- GitLab From f6ec5c676e9d8fe0fb5496f8e82a2ce6b1fb5854 Mon Sep 17 00:00:00 2001 From: Vaggelis Papoutsis <vaggelisp@gmail.com> Date: Mon, 8 Jan 2024 18:28:48 +0200 Subject: [PATCH 007/231] BUG: ISQP crashing with the ShermanMorrison preconditiooner (fixes #3077) ISQP crashed during the first update of the design variables, if the latter had no bounds and the ShermanMorrison preconditiooner was used. --- .../adjoint/optimisation/updateMethod/ISQP/ISQP.C | 10 +++++----- .../adjoint/optimisation/updateMethod/ISQP/ISQP.H | 2 +- .../adjoint/optimisation/updateMethod/LBFGS/LBFGS.C | 2 +- .../adjoint/optimisation/updateMethod/LBFGS/LBFGS.H | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/ISQP/ISQP.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/ISQP/ISQP.C index f6ab3de5485..08893cbc498 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/ISQP/ISQP.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/ISQP/ISQP.C @@ -429,12 +429,12 @@ Foam::tmp<Foam::scalarField> Foam::ISQP::ShermanMorrisonPrecon // process, the diagonal matrix related to bound constraints is treated as // the initial matrix of the L-BFGS update. - // Constribution from bound constraints, treated as the seed of the + // Contribution from bound constraints, treated as the seed of the // L-BFGS inverse - tmp<scalarField> tdiag(nullptr); + refPtr<scalarField> tdiag(nullptr); if (includeBoundConstraints_) { - tdiag.reset(lTilda_()/ls_() + uTilda_()/us_()); + tdiag.reset((lTilda_()/ls_() + uTilda_()/us_()).ptr()); } // List of vectors to be used in the rank-1 updates related to the flow @@ -462,7 +462,7 @@ Foam::tmp<Foam::scalarField> Foam::ISQP::ShermanMorrisonRank1Update ( const PtrList<scalarField>& r1Updates, const scalarField& p, - const tmp<scalarField>& diag, + const refPtr<scalarField>& diag, const scalarField& mult, label n ) @@ -472,7 +472,7 @@ Foam::tmp<Foam::scalarField> Foam::ISQP::ShermanMorrisonRank1Update if (n == 0) { - Ap = invHessianVectorProduct(p, counter_, diag); + Ap = invHessianVectorProduct(p, counter_, diag.shallowClone()); return tAp; } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/ISQP/ISQP.H b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/ISQP/ISQP.H index d94f444dedb..537e0b43a01 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/ISQP/ISQP.H +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/ISQP/ISQP.H @@ -248,7 +248,7 @@ protected: ( const PtrList<scalarField>& r1Updates, const scalarField& p, - const tmp<scalarField>& diag, + const refPtr<scalarField>& diag, const scalarField& mult, label n ); diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/LBFGS/LBFGS.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/LBFGS/LBFGS.C index 3617635957e..654e857912d 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/LBFGS/LBFGS.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/LBFGS/LBFGS.C @@ -175,7 +175,7 @@ Foam::LBFGS::invHessianVectorProduct ( const scalarField& vector, const label counter, - tmp<scalarField> diag + const refPtr<scalarField> diag ) { // Sanity checks diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/LBFGS/LBFGS.H b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/LBFGS/LBFGS.H index e785e7997ad..384e997d4ec 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/LBFGS/LBFGS.H +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/LBFGS/LBFGS.H @@ -131,7 +131,7 @@ protected: ( const scalarField& vector, const label counter, - tmp<scalarField> diag = nullptr + const refPtr<scalarField> diag = nullptr ); //- Compute the Hessian - vector product -- GitLab From 987dbe45897dba1da7a5297de8f756b3a9e954c4 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 8 Jan 2024 11:30:58 +0100 Subject: [PATCH 008/231] ENH: use factory Clone method for handling member clone() methods - reduces code clutter, simplifies modification for new types. Handled classes: Function1, PatchFunction1, coordinateRotation, coordinateSystem, particle, liquidProperties, solidProperties --- .../laserDTRM/DTRMParticle/DTRMParticle.H | 10 +++++-- .../redistributePar/passivePositionParticle.H | 6 ++-- .../dynamicCode/codedFunction1Template.H | 9 ++---- .../dynamicCode/codedPatchFunction1Template.H | 28 ++++++++----------- .../Function1/Function1Expression.H | 10 +++---- .../rotation/EulerCoordinateRotation.H | 6 ++-- .../rotation/STARCDCoordinateRotation.H | 6 ++-- .../coordinate/rotation/axesRotation.H | 6 ++-- .../coordinate/rotation/axisAngleRotation.H | 6 ++-- .../coordinate/rotation/coordinateRotation.H | 13 +++++++-- .../coordinate/rotation/cylindricalRotation.H | 6 ++-- .../coordinate/rotation/identityRotation.H | 6 ++-- .../coordinate/rotation/specifiedRotation.H | 6 ++-- .../coordinate/systems/cartesianCS.H | 4 +-- .../coordinate/systems/coordinateSystem.H | 23 +++++++++++++-- .../coordinate/systems/cylindricalCS.H | 4 +-- .../coordinate/systems/indirectCS.H | 4 +-- .../primitives/functions/Function1/CSV/CSV.H | 6 ++-- .../Function1/Coded/CodedFunction1.H | 10 +++---- .../functions/Function1/Constant/Constant.H | 10 +++---- .../functions/Function1/Cosine/Cosine.H | 10 +++---- .../functions/Function1/Function1/Function1.C | 11 -------- .../functions/Function1/Function1/Function1.H | 20 +++++++++---- .../Function1/Function1/Function1Fwd.H | 4 +-- .../FunctionObjectTrigger.H | 11 ++++---- .../FunctionObjectValue/FunctionObjectValue.H | 10 +++---- .../InputValueMapper/InputValueMapper.H | 10 +++---- .../functions/Function1/None/NoneFunction1.H | 6 ++-- .../functions/Function1/One/OneConstant.H | 10 +++---- .../Function1/Polynomial/PolynomialEntry.H | 10 +++---- .../functions/Function1/Scale/Scale.H | 10 +++---- .../functions/Function1/Sine/Sine.H | 10 +++---- .../functions/Function1/Square/Square.H | 10 +++---- .../functions/Function1/Table/Table.H | 10 +++---- .../functions/Function1/TableFile/TableFile.H | 10 +++---- .../functions/Function1/Uniform/Uniform.H | 10 +++---- .../functions/Function1/Zero/ZeroConstant.H | 10 +++---- .../PatchFunction1/PatchFunction1Expression.C | 16 +++++------ .../PatchFunction1/PatchFunction1Expression.H | 22 ++++++--------- .../derived/mappedField/Sampled/Sampled.C | 20 ++++++------- .../derived/mappedField/Sampled/Sampled.H | 22 ++++++--------- .../field/nearWallFields/findCellParticle.H | 11 ++++---- .../field/streamLine/streamLineParticle.H | 8 +++--- .../wallBoundedParticle.H | 12 ++++---- .../wallBoundedStreamLineParticle.H | 10 +++---- .../parcels/Templates/DSMCParcel/DSMCParcel.H | 10 +++---- .../basic/indexedParticle/indexedParticle.H | 10 +++---- .../basic/injectedParticle/injectedParticle.H | 17 ++++------- src/lagrangian/basic/particle/particle.C | 18 +++--------- src/lagrangian/basic/particle/particle.H | 25 ++++++++++++++--- .../basic/passiveParticle/passiveParticle.H | 7 ++--- .../CollidingParcel/CollidingParcel.H | 13 ++++----- .../KinematicParcel/KinematicParcel.H | 14 ++++------ .../Templates/MPPICParcel/MPPICParcel.H | 13 ++++----- .../ReactingHeterogeneousParcel.H | 16 ++++------- .../ReactingMultiphaseParcel.H | 13 ++++----- .../Templates/ReactingParcel/ReactingParcel.H | 16 ++++------- .../Templates/ThermoParcel/ThermoParcel.H | 13 ++++----- .../molecule/molecule/molecule.H | 12 ++++---- src/lagrangian/solidParticle/solidParticle.H | 7 ++--- .../Templates/SprayParcel/SprayParcel.H | 16 ++++------- .../trackedParticle/trackedParticle.H | 12 ++++---- .../PatchFunction1/CodedField/CodedField.C | 16 +++++------ .../PatchFunction1/CodedField/CodedField.H | 22 ++++++--------- .../ConstantField/ConstantField.C | 20 ++++++------- .../ConstantField/ConstantField.H | 19 ++++++------- .../PatchFunction1/MappedFile/MappedFile.C | 20 ++++++------- .../PatchFunction1/MappedFile/MappedFile.H | 22 ++++++--------- .../PatchFunction1/PatchFunction1.C | 14 +++++----- .../PatchFunction1/PatchFunction1.H | 27 ++++++++++++++---- .../UniformValueField/UniformValueField.C | 20 ++++++------- .../UniformValueField/UniformValueField.H | 26 +++++++---------- .../reconstruct/passivePositionParticle.H | 11 ++++---- .../Function1/Sample/SampleFunction1.H | 10 +++---- .../liquidProperties/Ar/Ar.H | 4 +-- .../liquidProperties/C10H22/C10H22.H | 4 +-- .../liquidProperties/C12H26/C12H26.H | 4 +-- .../liquidProperties/C13H28/C13H28.H | 4 +-- .../liquidProperties/C14H30/C14H30.H | 4 +-- .../liquidProperties/C16H34/C16H34.H | 4 +-- .../liquidProperties/C2H5OH/C2H5OH.H | 4 +-- .../liquidProperties/C2H6/C2H6.H | 4 +-- .../liquidProperties/C2H6O/C2H6O.H | 4 +-- .../liquidProperties/C3H6O/C3H6O.H | 4 +-- .../liquidProperties/C3H8/C3H8.H | 4 +-- .../liquidProperties/C4H10O/C4H10O.H | 4 +-- .../liquidProperties/C6H14/C6H14.H | 4 +-- .../liquidProperties/C6H6/C6H6.H | 4 +-- .../liquidProperties/C7H16/C7H16.H | 4 +-- .../liquidProperties/C7H8/C7H8.H | 4 +-- .../liquidProperties/C8H10/C8H10.H | 4 +-- .../liquidProperties/C8H18/C8H18.H | 4 +-- .../liquidProperties/C9H20/C9H20.H | 4 +-- .../liquidProperties/CH3OH/CH3OH.H | 4 +-- .../liquidProperties/CH4N2O/CH4N2O.H | 4 +-- .../liquidProperties/H2O/H2O.H | 4 +-- .../liquidProperties/IC8H18/IC8H18.H | 4 +-- .../liquidProperties/IDEA/IDEA.H | 4 +-- .../liquidProperties/MB/MB.H | 4 +-- .../liquidProperties/N2/N2.H | 4 +-- .../liquidProperties/aC10H7CH3/aC10H7CH3.H | 4 +-- .../liquidProperties/bC10H7CH3/bC10H7CH3.H | 4 +-- .../liquidProperties/iC3H8O/iC3H8O.H | 4 +-- .../liquidProperties/liquid/liquid.H | 8 +++--- .../liquidProperties/liquidProperties.H | 15 +++++++--- .../liquidProperties/nC3H8O/nC3H8O.H | 4 +-- .../solidProperties/C/C.H | 4 +-- .../solidProperties/CaCO3/CaCO3.H | 4 +-- .../solidProperties/ash/ash.H | 4 +-- .../solidProperties/solidProperties.H | 15 +++++++--- 110 files changed, 537 insertions(+), 564 deletions(-) diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/DTRMParticle/DTRMParticle.H b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/DTRMParticle/DTRMParticle.H index 5ad00275d59..47c381aa8ca 100644 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/DTRMParticle/DTRMParticle.H +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/DTRMParticle/DTRMParticle.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2019 OpenCFD Ltd + Copyright (C) 2017-2024 OpenCFD Ltd ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -206,9 +206,13 @@ public: //- Construct as copy DTRMParticle(const DTRMParticle& p); + //- Return a clone + virtual autoPtr<particle> clone() const + { + return particle::Clone(*this); + } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/applications/utilities/parallelProcessing/redistributePar/passivePositionParticle.H b/applications/utilities/parallelProcessing/redistributePar/passivePositionParticle.H index 394f64e4909..89821165c37 100644 --- a/applications/utilities/parallelProcessing/redistributePar/passivePositionParticle.H +++ b/applications/utilities/parallelProcessing/redistributePar/passivePositionParticle.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -100,10 +100,10 @@ public: cachedPosition_(p.cachedPosition_) {} - //- Construct and return a clone + //- Return a clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new passivePositionParticle(*this)); + return particle::Clone(*this); } diff --git a/etc/codeTemplates/dynamicCode/codedFunction1Template.H b/etc/codeTemplates/dynamicCode/codedFunction1Template.H index 3b2de974a93..d54e4a350cc 100644 --- a/etc/codeTemplates/dynamicCode/codedFunction1Template.H +++ b/etc/codeTemplates/dynamicCode/codedFunction1Template.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -86,13 +86,10 @@ public: const ${typeName}Function1_${TemplateType}& rhs ) = default; - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<${TemplateType}>> clone() const { - return tmp<Function1<${TemplateType}>> - ( - new ${typeName}Function1_${TemplateType}(*this) - ); + return Function1<${TemplateType}>::Clone(*this); } diff --git a/etc/codeTemplates/dynamicCode/codedPatchFunction1Template.H b/etc/codeTemplates/dynamicCode/codedPatchFunction1Template.H index c67d1600127..16b38abecc9 100644 --- a/etc/codeTemplates/dynamicCode/codedPatchFunction1Template.H +++ b/etc/codeTemplates/dynamicCode/codedPatchFunction1Template.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -85,12 +85,6 @@ public: const bool faceValues = true ); - //- Copy construct - ${typeName}PatchFunction1${FieldType} - ( - const ${typeName}PatchFunction1${FieldType}& rhs - ) = default; - //- Copy construct, resetting patch ${typeName}PatchFunction1${FieldType} ( @@ -98,25 +92,25 @@ public: const polyPatch& pp ); - //- Construct and return a clone + //- Copy construct + ${typeName}PatchFunction1${FieldType} + ( + const ${typeName}PatchFunction1${FieldType}& rhs + ) = default; + + //- Return a clone virtual tmp<PatchFunction1<${TemplateType}>> clone() const { - return tmp<PatchFunction1<${TemplateType}>> - ( - new ${typeName}PatchFunction1${FieldType}(*this) - ); + return PatchFunction1<${TemplateType}>::Clone(*this); } - //- Construct and return a clone setting patch + //- Return a clone, setting the patch virtual tmp<PatchFunction1<${TemplateType}>> clone ( const polyPatch& pp ) const { - return tmp<PatchFunction1<${TemplateType}>> - ( - new ${typeName}PatchFunction1${FieldType}(*this, pp) - ); + return PatchFunction1<${TemplateType}>::Clone(*this, pp); } diff --git a/src/OpenFOAM/expressions/Function1/Function1Expression.H b/src/OpenFOAM/expressions/Function1/Function1Expression.H index 69ecf324246..25917790883 100644 --- a/src/OpenFOAM/expressions/Function1/Function1Expression.H +++ b/src/OpenFOAM/expressions/Function1/Function1Expression.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -65,8 +65,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_expression_H -#define Function1Types_expression_H +#ifndef Foam_Function1Types_expression_H +#define Foam_Function1Types_expression_H #include "Function1.H" #include "fieldExprDriver.H" @@ -124,10 +124,10 @@ public: //- Copy construct explicit Function1Expression(const Function1Expression<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Function1Expression<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/rotation/EulerCoordinateRotation.H b/src/OpenFOAM/primitives/coordinate/rotation/EulerCoordinateRotation.H index f5053531540..5dfaf1e9df1 100644 --- a/src/OpenFOAM/primitives/coordinate/rotation/EulerCoordinateRotation.H +++ b/src/OpenFOAM/primitives/coordinate/rotation/EulerCoordinateRotation.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -133,9 +133,7 @@ public: //- Return clone autoPtr<coordinateRotation> clone() const { - return - autoPtr<coordinateRotation>::NewFrom - <coordinateRotations::euler>(*this); + return coordinateRotation::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/rotation/STARCDCoordinateRotation.H b/src/OpenFOAM/primitives/coordinate/rotation/STARCDCoordinateRotation.H index 057c6f699b1..d6f4bed516d 100644 --- a/src/OpenFOAM/primitives/coordinate/rotation/STARCDCoordinateRotation.H +++ b/src/OpenFOAM/primitives/coordinate/rotation/STARCDCoordinateRotation.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -115,9 +115,7 @@ public: //- Return clone autoPtr<coordinateRotation> clone() const { - return - autoPtr<coordinateRotation>::NewFrom - <coordinateRotations::starcd>(*this); + return coordinateRotation::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/rotation/axesRotation.H b/src/OpenFOAM/primitives/coordinate/rotation/axesRotation.H index cd693981a78..775f9bb0068 100644 --- a/src/OpenFOAM/primitives/coordinate/rotation/axesRotation.H +++ b/src/OpenFOAM/primitives/coordinate/rotation/axesRotation.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -144,9 +144,7 @@ public: //- Return clone autoPtr<coordinateRotation> clone() const { - return - autoPtr<coordinateRotation>::NewFrom - <coordinateRotations::axes>(*this); + return coordinateRotation::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/rotation/axisAngleRotation.H b/src/OpenFOAM/primitives/coordinate/rotation/axisAngleRotation.H index 0914d4b1c23..5ff65b483ee 100644 --- a/src/OpenFOAM/primitives/coordinate/rotation/axisAngleRotation.H +++ b/src/OpenFOAM/primitives/coordinate/rotation/axisAngleRotation.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -120,9 +120,7 @@ public: //- Return clone autoPtr<coordinateRotation> clone() const { - return - autoPtr<coordinateRotation>::NewFrom - <coordinateRotations::axisAngle>(*this); + return coordinateRotation::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/rotation/coordinateRotation.H b/src/OpenFOAM/primitives/coordinate/rotation/coordinateRotation.H index 32c5e81493a..6a2ccd37241 100644 --- a/src/OpenFOAM/primitives/coordinate/rotation/coordinateRotation.H +++ b/src/OpenFOAM/primitives/coordinate/rotation/coordinateRotation.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -109,11 +109,18 @@ public: // Uses all default constructors - //- Construct and return a clone + //- Return a clone virtual autoPtr<coordinateRotation> clone() const = 0; - // Selectors + // Factory Methods + + //- Clone a coordinate rotation + template<class Derived> + static autoPtr<coordinateRotation> Clone(const Derived& crot) + { + return autoPtr<coordinateRotation>(new Derived(crot)); + } //- Select construct the specified coordinate rotation type // diff --git a/src/OpenFOAM/primitives/coordinate/rotation/cylindricalRotation.H b/src/OpenFOAM/primitives/coordinate/rotation/cylindricalRotation.H index 59a1acd0fb2..ca9c1d987b6 100644 --- a/src/OpenFOAM/primitives/coordinate/rotation/cylindricalRotation.H +++ b/src/OpenFOAM/primitives/coordinate/rotation/cylindricalRotation.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -89,9 +89,7 @@ public: //- Return clone autoPtr<coordinateRotation> clone() const { - return - autoPtr<coordinateRotation>::NewFrom - <coordinateRotations::cylindrical>(*this); + return coordinateRotation::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/rotation/identityRotation.H b/src/OpenFOAM/primitives/coordinate/rotation/identityRotation.H index 80fe1efec67..ede44c3c287 100644 --- a/src/OpenFOAM/primitives/coordinate/rotation/identityRotation.H +++ b/src/OpenFOAM/primitives/coordinate/rotation/identityRotation.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -93,9 +93,7 @@ public: //- Return clone autoPtr<coordinateRotation> clone() const { - return - autoPtr<coordinateRotation>::NewFrom - <coordinateRotations::identity>(*this); + return coordinateRotation::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/rotation/specifiedRotation.H b/src/OpenFOAM/primitives/coordinate/rotation/specifiedRotation.H index 6d41c8ce554..f2f0971f0c0 100644 --- a/src/OpenFOAM/primitives/coordinate/rotation/specifiedRotation.H +++ b/src/OpenFOAM/primitives/coordinate/rotation/specifiedRotation.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -89,9 +89,7 @@ public: //- Return clone autoPtr<coordinateRotation> clone() const { - return - autoPtr<coordinateRotation>::NewFrom - <coordinateRotations::specified>(*this); + return coordinateRotation::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/systems/cartesianCS.H b/src/OpenFOAM/primitives/coordinate/systems/cartesianCS.H index 111db8100e0..4b8c95429aa 100644 --- a/src/OpenFOAM/primitives/coordinate/systems/cartesianCS.H +++ b/src/OpenFOAM/primitives/coordinate/systems/cartesianCS.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -149,7 +149,7 @@ public: //- Return clone virtual autoPtr<coordinateSystem> clone() const { - return autoPtr<coordinateSystem>::NewFrom<cartesian>(*this); + return coordinateSystem::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/systems/coordinateSystem.H b/src/OpenFOAM/primitives/coordinate/systems/coordinateSystem.H index 7703525b1a5..d835ddeaad5 100644 --- a/src/OpenFOAM/primitives/coordinate/systems/coordinateSystem.H +++ b/src/OpenFOAM/primitives/coordinate/systems/coordinateSystem.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -453,7 +453,26 @@ public: ); - // Selectors + // Factory Methods + + //- Clone a coordinate system + template<class Derived> + static autoPtr<coordinateSystem> Clone(const Derived& csys) + { + return autoPtr<coordinateSystem>(new Derived(csys)); + } + + //- Select construct the specified coordinate system type + //- with reference to objectRegistry for indirect entries. + // + // An empty modelType will be treated as "cartesian" + static autoPtr<coordinateSystem> Clone + ( + const word& modelType, + const objectRegistry& obr, + const dictionary& dict, + IOobjectOption::readOption readOrigin = IOobjectOption::MUST_READ + ); //- Select construct the specified coordinate system type //- with reference to objectRegistry for indirect entries. diff --git a/src/OpenFOAM/primitives/coordinate/systems/cylindricalCS.H b/src/OpenFOAM/primitives/coordinate/systems/cylindricalCS.H index 47d39e5fa58..a6a08e7a19d 100644 --- a/src/OpenFOAM/primitives/coordinate/systems/cylindricalCS.H +++ b/src/OpenFOAM/primitives/coordinate/systems/cylindricalCS.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2014 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -191,7 +191,7 @@ public: //- Return clone virtual autoPtr<coordinateSystem> clone() const { - return autoPtr<coordinateSystem>::NewFrom<cylindrical>(*this); + return coordinateSystem::Clone(*this); } diff --git a/src/OpenFOAM/primitives/coordinate/systems/indirectCS.H b/src/OpenFOAM/primitives/coordinate/systems/indirectCS.H index 26565d46f23..bf40e9a6a28 100644 --- a/src/OpenFOAM/primitives/coordinate/systems/indirectCS.H +++ b/src/OpenFOAM/primitives/coordinate/systems/indirectCS.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -149,7 +149,7 @@ public: //- Return clone virtual autoPtr<coordinateSystem> clone() const { - return autoPtr<coordinateSystem>::NewFrom<indirect>(*this); + return coordinateSystem::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.H b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.H index 486744c04f3..bb7341047cf 100644 --- a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.H +++ b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -140,10 +140,10 @@ public: //- Copy construct explicit CSV(const CSV<Type>& csv); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new CSV<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.H b/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.H index ed8dbfe01e4..3884d5caa59 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.H +++ b/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -84,8 +84,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_CodedFunction1_H -#define Function1Types_CodedFunction1_H +#ifndef Foam_Function1Types_CodedFunction1_H +#define Foam_Function1Types_CodedFunction1_H #include "Function1.H" #include "codedBase.H" @@ -184,10 +184,10 @@ public: //- Copy construct explicit CodedFunction1(const CodedFunction1<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new CodedFunction1<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.H b/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.H index 3ddc1ed6709..84072468b22 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.H +++ b/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -53,8 +53,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Constant_H -#define Function1Types_Constant_H +#ifndef Foam_Function1Types_Constant_H +#define Foam_Function1Types_Constant_H #include "Function1.H" @@ -118,10 +118,10 @@ public: //- Copy constructor explicit Constant(const Constant<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Constant<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Cosine/Cosine.H b/src/OpenFOAM/primitives/functions/Function1/Cosine/Cosine.H index 5c00ed1a2ca..6342c5066a8 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Cosine/Cosine.H +++ b/src/OpenFOAM/primitives/functions/Function1/Cosine/Cosine.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -96,8 +96,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Cosine_H -#define Function1Types_Cosine_H +#ifndef Foam_Function1Types_Cosine_H +#define Foam_Function1Types_Cosine_H #include "Sine.H" @@ -148,10 +148,10 @@ public: Sine<Type>(rhs) {} - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Cosine<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.C b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.C index cfcde228014..27fc4e66049 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.C +++ b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.C @@ -134,17 +134,6 @@ Foam::FieldFunction1<Function1Type>::FieldFunction1 {} -template<class Function1Type> -Foam::tmp<Foam::Function1<typename Function1Type::returnType>> -Foam::FieldFunction1<Function1Type>::clone() const -{ - return tmp<Function1<Type>> - ( - new FieldFunction1<Function1Type>(*this) - ); -} - - template<class Function1Type> Foam::tmp<Foam::Field<typename Function1Type::returnType>> Foam::FieldFunction1<Function1Type>::integrate diff --git a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.H b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.H index fa64f4f0cd9..107a857b0b8 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.H +++ b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -164,11 +164,18 @@ public: //- Copy construct explicit Function1(const Function1<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const = 0; - // Selectors + // Factory Methods + + //- Clone a Function1 + template<class Derived> + static tmp<Function1<Type>> Clone(const Derived& fun) + { + return tmp<Function1<Type>>(new Derived(fun)); + } //- Selector, with fallback redirection static autoPtr<Function1<Type>> New @@ -321,8 +328,11 @@ public: const objectRegistry* obrPtr = nullptr ); - //- Construct and return a clone - virtual tmp<Function1<Type>> clone() const; + //- Return a clone + virtual tmp<Function1<Type>> clone() const + { + return Function1<Type>::Clone(*this); + } //- Destructor diff --git a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1Fwd.H b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1Fwd.H index b3ac5b73373..c8f0053ec5e 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1Fwd.H +++ b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1Fwd.H @@ -25,8 +25,8 @@ License \*---------------------------------------------------------------------------*/ -#ifndef Function1Fwd_H -#define Function1Fwd_H +#ifndef Foam_Function1Fwd_H +#define Foam_Function1Fwd_H #include "Function1.H" #include "vector.H" diff --git a/src/OpenFOAM/primitives/functions/Function1/FunctionObjectTrigger/FunctionObjectTrigger.H b/src/OpenFOAM/primitives/functions/Function1/FunctionObjectTrigger/FunctionObjectTrigger.H index 9e2d876bf5f..4bc989a8402 100644 --- a/src/OpenFOAM/primitives/functions/Function1/FunctionObjectTrigger/FunctionObjectTrigger.H +++ b/src/OpenFOAM/primitives/functions/Function1/FunctionObjectTrigger/FunctionObjectTrigger.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -58,8 +58,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_FunctionObjectTrigger_H -#define Function1Types_FunctionObjectTrigger_H +#ifndef Foam_Function1Types_FunctionObjectTrigger_H +#define Foam_Function1Types_FunctionObjectTrigger_H #include "Function1.H" #include "labelList.H" @@ -80,7 +80,6 @@ class FunctionObjectTrigger : public Function1<Type> { - // Private Data //- Trigger indices when it is considered active @@ -124,10 +123,10 @@ public: //- Copy construct explicit FunctionObjectTrigger(const FunctionObjectTrigger<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new FunctionObjectTrigger<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/FunctionObjectValue/FunctionObjectValue.H b/src/OpenFOAM/primitives/functions/Function1/FunctionObjectValue/FunctionObjectValue.H index 03f00ade901..c2e7f7919c9 100644 --- a/src/OpenFOAM/primitives/functions/Function1/FunctionObjectValue/FunctionObjectValue.H +++ b/src/OpenFOAM/primitives/functions/Function1/FunctionObjectValue/FunctionObjectValue.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -49,8 +49,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_FunctionObjectValue_H -#define Function1Types_FunctionObjectValue_H +#ifndef Foam_Function1Types_FunctionObjectValue_H +#define Foam_Function1Types_FunctionObjectValue_H #include "Function1.H" @@ -116,10 +116,10 @@ public: //- Copy construct explicit FunctionObjectValue(const FunctionObjectValue<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new FunctionObjectValue<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/InputValueMapper/InputValueMapper.H b/src/OpenFOAM/primitives/functions/Function1/InputValueMapper/InputValueMapper.H index c7edfc49fe7..a59a89ae638 100644 --- a/src/OpenFOAM/primitives/functions/Function1/InputValueMapper/InputValueMapper.H +++ b/src/OpenFOAM/primitives/functions/Function1/InputValueMapper/InputValueMapper.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -104,8 +104,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_InputValueMapper_H -#define Function1Types_InputValueMapper_H +#ifndef Foam_Function1Types_InputValueMapper_H +#define Foam_Function1Types_InputValueMapper_H #include "Function1.H" #include "Enum.H" @@ -201,10 +201,10 @@ public: //- Copy construct explicit InputValueMapper(const InputValueMapper<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new InputValueMapper<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/None/NoneFunction1.H b/src/OpenFOAM/primitives/functions/Function1/None/NoneFunction1.H index 2faa535cfb6..c3b67156fbc 100644 --- a/src/OpenFOAM/primitives/functions/Function1/None/NoneFunction1.H +++ b/src/OpenFOAM/primitives/functions/Function1/None/NoneFunction1.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -86,10 +86,10 @@ public: const objectRegistry* obrPtr = nullptr ); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new None<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/One/OneConstant.H b/src/OpenFOAM/primitives/functions/Function1/One/OneConstant.H index 84d496afb23..8dc2bff57b6 100644 --- a/src/OpenFOAM/primitives/functions/Function1/One/OneConstant.H +++ b/src/OpenFOAM/primitives/functions/Function1/One/OneConstant.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,8 +40,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_OneConstant_H -#define Function1Types_OneConstant_H +#ifndef Foam_Function1Types_OneConstant_H +#define Foam_Function1Types_OneConstant_H #include "Function1.H" @@ -93,10 +93,10 @@ public: const objectRegistry* obrPtr = nullptr ); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new OneConstant<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Polynomial/PolynomialEntry.H b/src/OpenFOAM/primitives/functions/Function1/Polynomial/PolynomialEntry.H index bf165ed22d2..61a5ba4daa5 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Polynomial/PolynomialEntry.H +++ b/src/OpenFOAM/primitives/functions/Function1/Polynomial/PolynomialEntry.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,8 +59,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Polynomial_H -#define Function1Types_Polynomial_H +#ifndef Foam_Function1Types_Polynomial_H +#define Foam_Function1Types_Polynomial_H #include "Function1.H" #include "Tuple2.H" @@ -127,10 +127,10 @@ public: //- Copy constructor explicit Polynomial(const Polynomial& poly); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Polynomial<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Scale/Scale.H b/src/OpenFOAM/primitives/functions/Function1/Scale/Scale.H index fe3c7ff0a68..7df092c4ba3 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Scale/Scale.H +++ b/src/OpenFOAM/primitives/functions/Function1/Scale/Scale.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -72,8 +72,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Scale_H -#define Function1Types_Scale_H +#ifndef Foam_Function1Types_Scale_H +#define Foam_Function1Types_Scale_H #include "Function1.H" @@ -133,10 +133,10 @@ public: //- Copy construct explicit Scale(const Scale<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Scale<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.H b/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.H index 58f255cba37..db86c65986e 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.H +++ b/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -98,8 +98,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Sine_H -#define Function1Types_Sine_H +#ifndef Foam_Function1Types_Sine_H +#define Foam_Function1Types_Sine_H #include "Function1.H" @@ -192,10 +192,10 @@ public: //- Copy construct explicit Sine(const Sine<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Sine<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Square/Square.H b/src/OpenFOAM/primitives/functions/Function1/Square/Square.H index 0aa61cf6c51..01d1aa4a04b 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Square/Square.H +++ b/src/OpenFOAM/primitives/functions/Function1/Square/Square.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 OpenFOAM Foundation - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -101,8 +101,8 @@ Note \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Square_H -#define Function1Types_Square_H +#ifndef Foam_Function1Types_Square_H +#define Foam_Function1Types_Square_H #include "Sine.H" @@ -155,10 +155,10 @@ public: //- Copy construct explicit Square(const Square<Type>& rhs); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Square<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Table/Table.H b/src/OpenFOAM/primitives/functions/Function1/Table/Table.H index c9832de5c0b..cdb2b4f5ca5 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Table/Table.H +++ b/src/OpenFOAM/primitives/functions/Function1/Table/Table.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -79,8 +79,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Table_H -#define Function1Types_Table_H +#ifndef Foam_Function1Types_Table_H +#define Foam_Function1Types_Table_H #include "TableBase.H" @@ -130,10 +130,10 @@ public: //- Copy construct explicit Table(const Table<Type>& tbl); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Table<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.H b/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.H index 9cd1319d6d3..c622c8653cc 100644 --- a/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.H +++ b/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,8 +59,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_TableFile_H -#define Function1Types_TableFile_H +#ifndef Foam_Function1Types_TableFile_H +#define Foam_Function1Types_TableFile_H #include "TableBase.H" @@ -111,10 +111,10 @@ public: //- Copy construct explicit TableFile(const TableFile<Type>& tbl); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new TableFile<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/OpenFOAM/primitives/functions/Function1/Uniform/Uniform.H b/src/OpenFOAM/primitives/functions/Function1/Uniform/Uniform.H index 1b17a7a355f..22919c77ff1 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Uniform/Uniform.H +++ b/src/OpenFOAM/primitives/functions/Function1/Uniform/Uniform.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,8 +40,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Uniform_H -#define Function1Types_Uniform_H +#ifndef Foam_Function1Types_Uniform_H +#define Foam_Function1Types_Uniform_H #include "Constant.H" @@ -89,10 +89,10 @@ public: Constant<Type>(entryName, dict, obrPtr) {} - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Uniform<Type>(*this)); + return Function1<Type>::Clone(*this); } }; diff --git a/src/OpenFOAM/primitives/functions/Function1/Zero/ZeroConstant.H b/src/OpenFOAM/primitives/functions/Function1/Zero/ZeroConstant.H index 3437ffc4a1a..b457844b1bd 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Zero/ZeroConstant.H +++ b/src/OpenFOAM/primitives/functions/Function1/Zero/ZeroConstant.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -49,8 +49,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_ZeroConstant_H -#define Function1Types_ZeroConstant_H +#ifndef Foam_Function1Types_ZeroConstant_H +#define Foam_Function1Types_ZeroConstant_H #include "Function1.H" @@ -102,10 +102,10 @@ public: const objectRegistry* obrPtr = nullptr ); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new ZeroConstant<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/finiteVolume/expressions/PatchFunction1/PatchFunction1Expression.C b/src/finiteVolume/expressions/PatchFunction1/PatchFunction1Expression.C index a342dc4b57c..554e74e8a38 100644 --- a/src/finiteVolume/expressions/PatchFunction1/PatchFunction1Expression.C +++ b/src/finiteVolume/expressions/PatchFunction1/PatchFunction1Expression.C @@ -65,24 +65,24 @@ Foam::PatchFunction1Types::PatchExprField<Type>::PatchExprField template<class Type> Foam::PatchFunction1Types::PatchExprField<Type>::PatchExprField ( - const PatchExprField<Type>& rhs + const PatchExprField<Type>& rhs, + const polyPatch& pp ) : - PatchExprField<Type>(rhs, rhs.patch()) + PatchFunction1<Type>(rhs, pp), + dict_(rhs.dict_), // Deep copy + valueExpr_(rhs.valueExpr_), + driver_(fvPatch::lookupPatch(this->patch()), rhs.driver_, dict_) {} template<class Type> Foam::PatchFunction1Types::PatchExprField<Type>::PatchExprField ( - const PatchExprField<Type>& rhs, - const polyPatch& pp + const PatchExprField<Type>& rhs ) : - PatchFunction1<Type>(rhs, pp), - dict_(rhs.dict_), // Deep copy - valueExpr_(rhs.valueExpr_), - driver_(fvPatch::lookupPatch(this->patch()), rhs.driver_, dict_) + PatchExprField<Type>(rhs, rhs.patch()) {} diff --git a/src/finiteVolume/expressions/PatchFunction1/PatchFunction1Expression.H b/src/finiteVolume/expressions/PatchFunction1/PatchFunction1Expression.H index 4a66dbc6698..ac3620918c3 100644 --- a/src/finiteVolume/expressions/PatchFunction1/PatchFunction1Expression.H +++ b/src/finiteVolume/expressions/PatchFunction1/PatchFunction1Expression.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -122,9 +122,6 @@ public: const bool faceValues = true ); - //- Copy construct - explicit PatchExprField(const PatchExprField<Type>& rhs); - //- Copy construct setting patch explicit PatchExprField ( @@ -132,22 +129,19 @@ public: const polyPatch& pp ); - //- Construct and return a clone + //- Copy construct + explicit PatchExprField(const PatchExprField<Type>& rhs); + + //- Return a clone virtual tmp<PatchFunction1<Type>> clone() const { - return tmp<PatchFunction1<Type>> - ( - new PatchExprField<Type>(*this) - ); + return PatchFunction1<Type>::Clone(*this); } - //- Construct and return a clone setting patch + //- Return a clone, setting the patch virtual tmp<PatchFunction1<Type>> clone(const polyPatch& pp) const { - return tmp<PatchFunction1<Type>> - ( - new PatchExprField<Type>(*this, pp) - ); + return PatchFunction1<Type>::Clone(*this, pp); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/Sampled/Sampled.C b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/Sampled/Sampled.C index 45601fe2365..7cc3c3048de 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/Sampled/Sampled.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/Sampled/Sampled.C @@ -73,16 +73,6 @@ Foam::PatchFunction1Types::Sampled<Type>::Sampled } -template<class Type> -Foam::PatchFunction1Types::Sampled<Type>::Sampled -( - const Sampled<Type>& rhs -) -: - Sampled<Type>(rhs, rhs.patch()) -{} - - template<class Type> Foam::PatchFunction1Types::Sampled<Type>::Sampled ( @@ -99,6 +89,16 @@ Foam::PatchFunction1Types::Sampled<Type>::Sampled {} +template<class Type> +Foam::PatchFunction1Types::Sampled<Type>::Sampled +( + const Sampled<Type>& rhs +) +: + Sampled<Type>(rhs, rhs.patch()) +{} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/Sampled/Sampled.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/Sampled/Sampled.H index a92ae7fd7a5..7a64493489a 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/Sampled/Sampled.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/Sampled/Sampled.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -149,9 +149,6 @@ public: const bool faceValues = true ); - //- Copy construct - explicit Sampled(const Sampled<Type>& rhs); - //- Copy construct setting patch explicit Sampled ( @@ -159,22 +156,19 @@ public: const polyPatch& pp ); - //- Construct and return a clone + //- Copy construct + explicit Sampled(const Sampled<Type>& rhs); + + //- Return a clone virtual tmp<PatchFunction1<Type>> clone() const { - return tmp<PatchFunction1<Type>> - ( - new Sampled<Type>(*this) - ); + return PatchFunction1<Type>::Clone(*this); } - //- Construct and return a clone setting patch + //- Return a clone, setting the patch virtual tmp<PatchFunction1<Type>> clone(const polyPatch& pp) const { - return tmp<PatchFunction1<Type>> - ( - new Sampled<Type>(*this, pp) - ); + return PatchFunction1<Type>::Clone(*this, pp); } diff --git a/src/functionObjects/field/nearWallFields/findCellParticle.H b/src/functionObjects/field/nearWallFields/findCellParticle.H index c4238a66bae..3c120921356 100644 --- a/src/functionObjects/field/nearWallFields/findCellParticle.H +++ b/src/functionObjects/field/nearWallFields/findCellParticle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -144,14 +144,13 @@ public: bool newFormat = true ); - //- Construct and return a clone - autoPtr<particle> clone() const + //- Return a clone + virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new findCellParticle(*this)); + return particle::Clone(*this); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/functionObjects/field/streamLine/streamLineParticle.H b/src/functionObjects/field/streamLine/streamLineParticle.H index 9f8045f00bf..53cec863832 100644 --- a/src/functionObjects/field/streamLine/streamLineParticle.H +++ b/src/functionObjects/field/streamLine/streamLineParticle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -170,10 +170,10 @@ public: //- Construct copy streamLineParticle(const streamLineParticle& p); - //- Construct and return a clone - autoPtr<particle> clone() const + //- Return a clone + virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new streamLineParticle(*this)); + return particle::Clone(*this); } //- Factory class to read-construct particles used for parallel transfer diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H index 9a49d00b16a..451b83a0ba0 100644 --- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H +++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2019 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,7 +41,6 @@ SourceFiles #define Foam_wallBoundedParticle_H #include "particle.H" -#include "autoPtr.H" #include "InfoProxy.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -176,14 +175,13 @@ public: //- Construct copy wallBoundedParticle(const wallBoundedParticle& p); - //- Construct and return a clone - autoPtr<particle> clone() const + //- Return a clone + virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new wallBoundedParticle(*this)); + return particle::Clone(*this); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H index a40535ee15c..d2f4548448f 100644 --- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H +++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,7 +40,6 @@ SourceFiles #define Foam_wallBoundedStreamLineParticle_H #include "wallBoundedParticle.H" -#include "autoPtr.H" #include "interpolation.H" #include "vectorList.H" #include "InfoProxy.H" @@ -181,14 +180,13 @@ public: //- Construct copy wallBoundedStreamLineParticle(const wallBoundedStreamLineParticle& p); - //- Construct and return a clone + //- Return a clone autoPtr<particle> clone() const { - return autoPtr<particle>(new wallBoundedStreamLineParticle(*this)); + return particle::Clone(*this); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcel.H b/src/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcel.H index d2946bc2adf..a4982401490 100644 --- a/src/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcel.H +++ b/src/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcel.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,7 +42,6 @@ SourceFiles #include "particle.H" #include "IOstream.H" -#include "autoPtr.H" #include "contiguous.H" #include "DSMCCloud.H" @@ -193,14 +192,13 @@ public: bool newFormat = true ); - //- Construct and return a clone + //- Return a clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new DSMCParcel<ParcelType>(*this)); + return particle::Clone(*this); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/basic/indexedParticle/indexedParticle.H b/src/lagrangian/basic/indexedParticle/indexedParticle.H index e08f525de66..66103eea8f9 100644 --- a/src/lagrangian/basic/indexedParticle/indexedParticle.H +++ b/src/lagrangian/basic/indexedParticle/indexedParticle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,7 +40,6 @@ SourceFiles #include "particle.H" #include "IOstream.H" -#include "autoPtr.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -109,13 +108,14 @@ public: //- Construct as a copy indexedParticle(const indexedParticle& p) : - particle(p) + particle(p), + index_(p.index_) {} - //- Construct and return a clone + //- Return a clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new indexedParticle(*this)); + return particle::Clone(*this); } diff --git a/src/lagrangian/basic/injectedParticle/injectedParticle.H b/src/lagrangian/basic/injectedParticle/injectedParticle.H index 294108a7f34..124fcf67f67 100644 --- a/src/lagrangian/basic/injectedParticle/injectedParticle.H +++ b/src/lagrangian/basic/injectedParticle/injectedParticle.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,7 +46,6 @@ SeeAlso #include "particle.H" #include "IOstream.H" -#include "autoPtr.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -147,20 +146,19 @@ public: //- Construct as a copy injectedParticle(const injectedParticle& p, const polyMesh& mesh); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new injectedParticle(*this)); + return particle::Clone(*this); } //- Construct and return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle>(new injectedParticle(*this, mesh)); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; @@ -174,10 +172,7 @@ public: autoPtr<injectedParticle> operator()(Istream& is) const { - return autoPtr<injectedParticle> - ( - new injectedParticle(mesh_, is, true) - ); + return autoPtr<injectedParticle>::New(mesh_, is, true); } }; diff --git a/src/lagrangian/basic/particle/particle.C b/src/lagrangian/basic/particle/particle.C index 2ddea84408d..2939c3a6f39 100644 --- a/src/lagrangian/basic/particle/particle.C +++ b/src/lagrangian/basic/particle/particle.C @@ -599,9 +599,9 @@ Foam::particle::particle } -Foam::particle::particle(const particle& p) +Foam::particle::particle(const particle& p, const polyMesh& mesh) : - mesh_(p.mesh_), + mesh_(mesh), coordinates_(p.coordinates_), celli_(p.celli_), tetFacei_(p.tetFacei_), @@ -615,19 +615,9 @@ Foam::particle::particle(const particle& p) {} -Foam::particle::particle(const particle& p, const polyMesh& mesh) +Foam::particle::particle(const particle& p) : - mesh_(mesh), - coordinates_(p.coordinates_), - celli_(p.celli_), - tetFacei_(p.tetFacei_), - tetPti_(p.tetPti_), - facei_(p.facei_), - stepFraction_(p.stepFraction_), - behind_(p.behind_), - nBehind_(p.nBehind_), - origProc_(p.origProc_), - origId_(p.origId_) + particle(p, p.mesh()) {} diff --git a/src/lagrangian/basic/particle/particle.H b/src/lagrangian/basic/particle/particle.H index 10e282e12ae..97702a4ee62 100644 --- a/src/lagrangian/basic/particle/particle.H +++ b/src/lagrangian/basic/particle/particle.H @@ -417,18 +417,35 @@ public: const bool doLocate = true ); - //- Construct as a copy - particle(const particle& p); - - //- Construct as a copy with reference to a new mesh + //- Construct as a copy with reference to a mesh particle(const particle& p, const polyMesh& mesh); + //- Copy construct + particle(const particle& p); + //- Construct a clone virtual autoPtr<particle> clone() const { return autoPtr<particle>::New(*this); } + + // Factory Methods + + //- Clone a particle + template<class Derived> + static autoPtr<particle> Clone(const Derived& p) + { + return autoPtr<particle>(new Derived(p)); + } + + //- Clone a particle with a mesh reference + template<class Derived> + static autoPtr<particle> Clone(const Derived& p, const polyMesh& mesh) + { + return autoPtr<particle>(new Derived(p, mesh)); + } + //- Factory class to read-construct particles (for parallel transfer) class iNew { diff --git a/src/lagrangian/basic/passiveParticle/passiveParticle.H b/src/lagrangian/basic/passiveParticle/passiveParticle.H index 46593237ece..13c1f180245 100644 --- a/src/lagrangian/basic/passiveParticle/passiveParticle.H +++ b/src/lagrangian/basic/passiveParticle/passiveParticle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,7 +40,6 @@ SourceFiles #include "particle.H" #include "IOstream.H" -#include "autoPtr.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -106,10 +105,10 @@ public: {} - //- Construct and return a clone + //- Return a clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new passiveParticle(*this)); + return particle::Clone(*this); } diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.H b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.H index 7741b6195f7..ee46e5e4e5b 100644 --- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -226,20 +226,19 @@ public: //- Construct as a copy CollidingParcel(const CollidingParcel& p, const polyMesh& mesh); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new CollidingParcel(*this)); + return particle::Clone(*this); } - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle>(new CollidingParcel(*this, mesh)); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H index 14efa73daf2..d8362c1ba0e 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,7 +52,6 @@ SourceFiles #include "particle.H" #include "IOstream.H" -#include "autoPtr.H" #include "interpolation.H" #include "demandDrivenEntry.H" #include "labelFieldIOField.H" @@ -433,20 +432,19 @@ public: //- Construct as a copy KinematicParcel(const KinematicParcel& p, const polyMesh& mesh); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new KinematicParcel(*this)); + return particle::Clone(*this); } - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle>(new KinematicParcel(*this, mesh)); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcel.H b/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcel.H index 59cc4044fce..e62261d6d2c 100644 --- a/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcel.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -238,20 +238,19 @@ public: //- Construct as a copy MPPICParcel(const MPPICParcel& p, const polyMesh& mesh); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new MPPICParcel(*this)); + return particle::Clone(*this); } - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle>(new MPPICParcel(*this, mesh)); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcel.H index 120cfcd4abb..fc589fac933 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcel.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2019 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -280,23 +280,19 @@ public: const polyMesh& mesh ); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new ReactingHeterogeneousParcel(*this)); + return particle::Clone(*this); } - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle> - ( - new ReactingHeterogeneousParcel(*this, mesh) - ); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H index 757dc1bc5db..a2dd7c434e0 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -357,20 +357,19 @@ public: const polyMesh& mesh ); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new ReactingMultiphaseParcel(*this)); + return particle::Clone(*this); } - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle>(new ReactingMultiphaseParcel(*this, mesh)); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H index 4491c506cc0..a2975634172 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -327,23 +327,19 @@ public: //- Construct as a copy ReactingParcel(const ReactingParcel& p); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new ReactingParcel<ParcelType>(*this)); + return particle::Clone(*this); } - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle> - ( - new ReactingParcel<ParcelType>(*this, mesh) - ); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H index dbbf70ffad0..d22c06958aa 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -348,20 +348,19 @@ public: //- Construct as a copy ThermoParcel(const ThermoParcel& p, const polyMesh& mesh); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new ThermoParcel(*this)); + return particle::Clone(*this); } - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle>(new ThermoParcel(*this, mesh)); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/molecularDynamics/molecule/molecule/molecule.H b/src/lagrangian/molecularDynamics/molecule/molecule/molecule.H index e11827c5c03..26dd41c15b4 100644 --- a/src/lagrangian/molecularDynamics/molecule/molecule/molecule.H +++ b/src/lagrangian/molecularDynamics/molecule/molecule/molecule.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,7 +42,6 @@ SourceFiles #include "particle.H" #include "IOstream.H" -#include "autoPtr.H" #include "diagTensor.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -283,14 +282,13 @@ public: bool newFormat = true ); - //- Construct and return a clone - autoPtr<particle> clone() const + //- Return a clone + virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new molecule(*this)); + return particle::Clone(*this); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/lagrangian/solidParticle/solidParticle.H b/src/lagrangian/solidParticle/solidParticle.H index b82f7bc7e02..4f9375b91f3 100644 --- a/src/lagrangian/solidParticle/solidParticle.H +++ b/src/lagrangian/solidParticle/solidParticle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -43,7 +43,6 @@ SourceFiles #include "particle.H" #include "IOstream.H" -#include "autoPtr.H" #include "interpolationCellPoint.H" #include "contiguous.H" @@ -185,10 +184,10 @@ public: bool newFormat = true ); - //- Construct and return a clone + //- Return a clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new solidParticle(*this)); + return particle::Clone(*this); } //- Factory class to read-construct particles (for parallel transfer) diff --git a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.H b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.H index f77c4b2955a..eb47be3b227 100644 --- a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.H +++ b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -275,23 +275,19 @@ public: //- Construct as a copy SprayParcel(const SprayParcel& p); - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new SprayParcel<ParcelType>(*this)); + return particle::Clone(*this); } - //- Construct and return a (basic particle) clone + //- Return a (basic particle) clone virtual autoPtr<particle> clone(const polyMesh& mesh) const { - return autoPtr<particle> - ( - new SprayParcel<ParcelType>(*this, mesh) - ); + return particle::Clone(*this, mesh); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H b/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H index a4ae212678a..ce831e5238a 100644 --- a/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H +++ b/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2019 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,7 +41,6 @@ SourceFiles #include "bitSet.H" #include "particle.H" -#include "autoPtr.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -164,14 +163,13 @@ public: bool newFormat = true ); - //- Construct and return a clone - autoPtr<particle> clone() const + //- Return a clone + virtual autoPtr<particle> clone() const { - return autoPtr<particle>::NewFrom<trackedParticle>(*this); + return particle::Clone(*this); } - //- Factory class to read-construct particles used for - // parallel transfer + //- Factory class to read-construct particles (for parallel transfer) class iNew { const polyMesh& mesh_; diff --git a/src/meshTools/PatchFunction1/CodedField/CodedField.C b/src/meshTools/PatchFunction1/CodedField/CodedField.C index 8cea612466b..d4a39fa793c 100644 --- a/src/meshTools/PatchFunction1/CodedField/CodedField.C +++ b/src/meshTools/PatchFunction1/CodedField/CodedField.C @@ -168,24 +168,24 @@ Foam::PatchFunction1Types::CodedField<Type>::CodedField template<class Type> Foam::PatchFunction1Types::CodedField<Type>::CodedField ( - const CodedField<Type>& rhs + const CodedField<Type>& rhs, + const polyPatch& pp ) : - CodedField<Type>(rhs, rhs.patch()) + PatchFunction1<Type>(rhs, pp), + codedBase(), + dict_(rhs.dict_), + redirectName_(rhs.redirectName_) {} template<class Type> Foam::PatchFunction1Types::CodedField<Type>::CodedField ( - const CodedField<Type>& rhs, - const polyPatch& pp + const CodedField<Type>& rhs ) : - PatchFunction1<Type>(rhs, pp), - codedBase(), - dict_(rhs.dict_), - redirectName_(rhs.redirectName_) + CodedField<Type>(rhs, rhs.patch()) {} diff --git a/src/meshTools/PatchFunction1/CodedField/CodedField.H b/src/meshTools/PatchFunction1/CodedField/CodedField.H index 54cf23076e1..ba3228d5711 100644 --- a/src/meshTools/PatchFunction1/CodedField/CodedField.H +++ b/src/meshTools/PatchFunction1/CodedField/CodedField.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -181,9 +181,6 @@ public: const bool faceValues = true ); - //- Copy construct - explicit CodedField(const CodedField<Type>& rhs); - //- Copy construct, setting patch explicit CodedField ( @@ -191,22 +188,19 @@ public: const polyPatch& pp ); - //- Construct and return a clone + //- Copy construct + explicit CodedField(const CodedField<Type>& rhs); + + //- Return a clone virtual tmp<PatchFunction1<Type>> clone() const { - return tmp<PatchFunction1<Type>> - ( - new CodedField<Type>(*this) - ); + return PatchFunction1<Type>::Clone(*this); } - //- Construct and return a clone setting patch + //- Return a clone, setting the patch virtual tmp<PatchFunction1<Type>> clone(const polyPatch& pp) const { - return tmp<PatchFunction1<Type>> - ( - new CodedField<Type>(*this, pp) - ); + return PatchFunction1<Type>::Clone(*this, pp); } diff --git a/src/meshTools/PatchFunction1/ConstantField/ConstantField.C b/src/meshTools/PatchFunction1/ConstantField/ConstantField.C index 262fb5d7bf8..abf183487ac 100644 --- a/src/meshTools/PatchFunction1/ConstantField/ConstantField.C +++ b/src/meshTools/PatchFunction1/ConstantField/ConstantField.C @@ -248,16 +248,6 @@ Foam::PatchFunction1Types::ConstantField<Type>::ConstantField {} -template<class Type> -Foam::PatchFunction1Types::ConstantField<Type>::ConstantField -( - const ConstantField<Type>& rhs -) -: - ConstantField<Type>(rhs, rhs.patch()) -{} - - template<class Type> Foam::PatchFunction1Types::ConstantField<Type>::ConstantField ( @@ -280,6 +270,16 @@ Foam::PatchFunction1Types::ConstantField<Type>::ConstantField } +template<class Type> +Foam::PatchFunction1Types::ConstantField<Type>::ConstantField +( + const ConstantField<Type>& rhs +) +: + ConstantField<Type>(rhs, rhs.patch()) +{} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> diff --git a/src/meshTools/PatchFunction1/ConstantField/ConstantField.H b/src/meshTools/PatchFunction1/ConstantField/ConstantField.H index 26789759306..9d66bd343c4 100644 --- a/src/meshTools/PatchFunction1/ConstantField/ConstantField.H +++ b/src/meshTools/PatchFunction1/ConstantField/ConstantField.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -147,9 +147,6 @@ public: const bool faceValues = true ); - //- Copy construct - explicit ConstantField(const ConstantField<Type>& rhs); - //- Copy construct setting patch explicit ConstantField ( @@ -157,19 +154,19 @@ public: const polyPatch& pp ); - //- Construct and return a clone + //- Copy construct + explicit ConstantField(const ConstantField<Type>& rhs); + + //- Return a clone virtual tmp<PatchFunction1<Type>> clone() const { - return tmp<PatchFunction1<Type>>(new ConstantField<Type>(*this)); + return PatchFunction1<Type>::Clone(*this); } - //- Construct and return a clone setting patch + //- Return a clone, setting the patch virtual tmp<PatchFunction1<Type>> clone(const polyPatch& pp) const { - return tmp<PatchFunction1<Type>> - ( - new ConstantField<Type>(*this, pp) - ); + return PatchFunction1<Type>::Clone(*this, pp); } diff --git a/src/meshTools/PatchFunction1/MappedFile/MappedFile.C b/src/meshTools/PatchFunction1/MappedFile/MappedFile.C index 6d6138017aa..98f54c33342 100644 --- a/src/meshTools/PatchFunction1/MappedFile/MappedFile.C +++ b/src/meshTools/PatchFunction1/MappedFile/MappedFile.C @@ -167,16 +167,6 @@ Foam::PatchFunction1Types::MappedFile<Type>::MappedFile {} -template<class Type> -Foam::PatchFunction1Types::MappedFile<Type>::MappedFile -( - const MappedFile<Type>& rhs -) -: - MappedFile<Type>(rhs, rhs.patch()) -{} - - template<class Type> Foam::PatchFunction1Types::MappedFile<Type>::MappedFile ( @@ -214,6 +204,16 @@ Foam::PatchFunction1Types::MappedFile<Type>::MappedFile } +template<class Type> +Foam::PatchFunction1Types::MappedFile<Type>::MappedFile +( + const MappedFile<Type>& rhs +) +: + MappedFile<Type>(rhs, rhs.patch()) +{} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> diff --git a/src/meshTools/PatchFunction1/MappedFile/MappedFile.H b/src/meshTools/PatchFunction1/MappedFile/MappedFile.H index 7a871843404..3116b04abab 100644 --- a/src/meshTools/PatchFunction1/MappedFile/MappedFile.H +++ b/src/meshTools/PatchFunction1/MappedFile/MappedFile.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -219,9 +219,6 @@ public: const bool faceValues = true ); - //- Copy construct - explicit MappedFile(const MappedFile<Type>& rhs); - //- Copy construct setting patch explicit MappedFile ( @@ -229,22 +226,19 @@ public: const polyPatch& pp ); - //- Construct and return a clone + //- Copy construct + explicit MappedFile(const MappedFile<Type>& rhs); + + //- Return a clone virtual tmp<PatchFunction1<Type>> clone() const { - return tmp<PatchFunction1<Type>> - ( - new MappedFile<Type>(*this) - ); + return PatchFunction1<Type>::Clone(*this, this->patch()); } - //- Construct and return a clone setting patch + //- Return a clone, setting the patch virtual tmp<PatchFunction1<Type>> clone(const polyPatch& pp) const { - return tmp<PatchFunction1<Type>> - ( - new MappedFile<Type>(*this, pp) - ); + return PatchFunction1<Type>::Clone(*this, pp); } diff --git a/src/meshTools/PatchFunction1/PatchFunction1/PatchFunction1.C b/src/meshTools/PatchFunction1/PatchFunction1/PatchFunction1.C index 2e6c728f588..f5ce15c8cdb 100644 --- a/src/meshTools/PatchFunction1/PatchFunction1/PatchFunction1.C +++ b/src/meshTools/PatchFunction1/PatchFunction1/PatchFunction1.C @@ -58,13 +58,6 @@ Foam::PatchFunction1<Type>::PatchFunction1 {} -template<class Type> -Foam::PatchFunction1<Type>::PatchFunction1(const PatchFunction1<Type>& rhs) -: - PatchFunction1<Type>(rhs, rhs.patch()) -{} - - template<class Type> Foam::PatchFunction1<Type>::PatchFunction1 ( @@ -77,6 +70,13 @@ Foam::PatchFunction1<Type>::PatchFunction1 {} +template<class Type> +Foam::PatchFunction1<Type>::PatchFunction1(const PatchFunction1<Type>& rhs) +: + PatchFunction1<Type>(rhs, rhs.patch()) +{} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> diff --git a/src/meshTools/PatchFunction1/PatchFunction1/PatchFunction1.H b/src/meshTools/PatchFunction1/PatchFunction1/PatchFunction1.H index b8e075e5f59..3c975467433 100644 --- a/src/meshTools/PatchFunction1/PatchFunction1/PatchFunction1.H +++ b/src/meshTools/PatchFunction1/PatchFunction1/PatchFunction1.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -147,9 +147,6 @@ public: const bool faceValues = true ); - //- Copy construct - explicit PatchFunction1(const PatchFunction1<Type>& rhs); - //- Copy construct setting patch explicit PatchFunction1 ( @@ -157,6 +154,9 @@ public: const polyPatch& pp ); + //- Copy construct + explicit PatchFunction1(const PatchFunction1<Type>& rhs); + //- Return a clone virtual tmp<PatchFunction1<Type>> clone() const = 0; @@ -164,7 +164,24 @@ public: virtual tmp<PatchFunction1<Type>> clone(const polyPatch& pp) const = 0; - // Selectors + // Factory Methods + + //- Clone a PatchFunction1 + template<class Derived> + static tmp<PatchFunction1<Type>> + Clone(const Derived& fun) + { + return tmp<PatchFunction1<Type>>(new Derived(fun)); + } + + //- Clone a PatchFunction1 with a patch + template<class Derived> + static tmp<PatchFunction1<Type>> + Clone(const Derived& fun, const polyPatch& pp) + { + return tmp<PatchFunction1<Type>>(new Derived(fun, pp)); + } + //- Selector static autoPtr<PatchFunction1<Type>> New diff --git a/src/meshTools/PatchFunction1/UniformValueField/UniformValueField.C b/src/meshTools/PatchFunction1/UniformValueField/UniformValueField.C index aafc6abdc2e..7204c9ed67b 100644 --- a/src/meshTools/PatchFunction1/UniformValueField/UniformValueField.C +++ b/src/meshTools/PatchFunction1/UniformValueField/UniformValueField.C @@ -54,16 +54,6 @@ Foam::PatchFunction1Types::UniformValueField<Type>::UniformValueField {} -template<class Type> -Foam::PatchFunction1Types::UniformValueField<Type>::UniformValueField -( - const UniformValueField<Type>& rhs -) -: - UniformValueField<Type>(rhs, rhs.patch()) -{} - - template<class Type> Foam::PatchFunction1Types::UniformValueField<Type>::UniformValueField ( @@ -81,6 +71,16 @@ Foam::PatchFunction1Types::UniformValueField<Type>::UniformValueField } +template<class Type> +Foam::PatchFunction1Types::UniformValueField<Type>::UniformValueField +( + const UniformValueField<Type>& rhs +) +: + UniformValueField<Type>(rhs, rhs.patch()) +{} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> diff --git a/src/meshTools/PatchFunction1/UniformValueField/UniformValueField.H b/src/meshTools/PatchFunction1/UniformValueField/UniformValueField.H index 789aa3d70da..01a107c0852 100644 --- a/src/meshTools/PatchFunction1/UniformValueField/UniformValueField.H +++ b/src/meshTools/PatchFunction1/UniformValueField/UniformValueField.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,8 +40,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef PatchFunction1Types_UniformValueField_H -#define PatchFunction1Types_UniformValueField_H +#ifndef Foam_PatchFunction1Types_UniformValueField_H +#define Foam_PatchFunction1Types_UniformValueField_H #include "PatchFunction1.H" #include "Function1.H" @@ -92,9 +92,6 @@ public: const bool faceValues = true ); - //- Copy construct - explicit UniformValueField(const UniformValueField<Type>& rhs); - //- Copy construct setting patch explicit UniformValueField ( @@ -102,22 +99,19 @@ public: const polyPatch& pp ); - //- Construct and return a clone + //- Copy construct + explicit UniformValueField(const UniformValueField<Type>& rhs); + + //- Return a clone virtual tmp<PatchFunction1<Type>> clone() const { - return tmp<PatchFunction1<Type>> - ( - new UniformValueField<Type>(*this) - ); + return PatchFunction1<Type>::Clone(*this); } - //- Construct and return a clone setting patch + //- Return a clone, setting the patch virtual tmp<PatchFunction1<Type>> clone(const polyPatch& pp) const { - return tmp<PatchFunction1<Type>> - ( - new UniformValueField<Type>(*this, pp) - ); + return PatchFunction1<Type>::Clone(*this, pp); } diff --git a/src/parallel/reconstruct/reconstruct/passivePositionParticle.H b/src/parallel/reconstruct/reconstruct/passivePositionParticle.H index b7cb6bab060..392b109d432 100644 --- a/src/parallel/reconstruct/reconstruct/passivePositionParticle.H +++ b/src/parallel/reconstruct/reconstruct/passivePositionParticle.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -43,7 +43,6 @@ SourceFiles #include "particle.H" #include "IOstream.H" -#include "autoPtr.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -131,17 +130,17 @@ public: //- Construct as copy passivePositionParticle(const passivePositionParticle& p) : - particle(p) + particle(p), + location_(p.location_) {} - //- Construct and return a clone + //- Return a clone virtual autoPtr<particle> clone() const { - return autoPtr<particle>(new passivePositionParticle(*this)); + return particle::Clone(*this); } - //- Factory class to read-construct particles (for parallel transfer) class iNew { diff --git a/src/sampling/functions/Function1/Sample/SampleFunction1.H b/src/sampling/functions/Function1/Sample/SampleFunction1.H index 5500abab7df..513c847352d 100644 --- a/src/sampling/functions/Function1/Sample/SampleFunction1.H +++ b/src/sampling/functions/Function1/Sample/SampleFunction1.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -45,8 +45,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef Function1Types_Sample_H -#define Function1Types_Sample_H +#ifndef Foam_Function1Types_Sample_H +#define Foam_Function1Types_Sample_H #include "Function1.H" #include "point.H" @@ -121,10 +121,10 @@ public: //- Copy constructor explicit Sample(const Sample& poly); - //- Construct and return a clone + //- Return a clone virtual tmp<Function1<Type>> clone() const { - return tmp<Function1<Type>>(new Sample<Type>(*this)); + return Function1<Type>::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/Ar/Ar.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/Ar/Ar.H index de9273f6256..3d71c0b79fb 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/Ar/Ar.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/Ar/Ar.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary Ar(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<Ar>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C10H22/C10H22.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C10H22/C10H22.H index 164da673a03..0f544d11549 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C10H22/C10H22.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C10H22/C10H22.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C10H22(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C10H22>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C12H26/C12H26.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C12H26/C12H26.H index 45346e3feeb..3d91dd881fb 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C12H26/C12H26.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C12H26/C12H26.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C12H26(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C12H26>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C13H28/C13H28.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C13H28/C13H28.H index b45b57d0192..4b0fab59ef8 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C13H28/C13H28.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C13H28/C13H28.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C13H28(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C13H28>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C14H30/C14H30.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C14H30/C14H30.H index a1ad7431a7a..0eeb8cc1a18 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C14H30/C14H30.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C14H30/C14H30.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C14H30(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C14H30>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C16H34/C16H34.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C16H34/C16H34.H index 47a1a5e3eab..a8f4bb6a735 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C16H34/C16H34.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C16H34/C16H34.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C16H34(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C16H34>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H5OH/C2H5OH.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H5OH/C2H5OH.H index dc6a2f2477e..8d184291608 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H5OH/C2H5OH.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H5OH/C2H5OH.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C2H5OH(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C2H5OH>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H6/C2H6.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H6/C2H6.H index 656656cac38..204160cf66f 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H6/C2H6.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H6/C2H6.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C2H6(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C2H6>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H6O/C2H6O.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H6O/C2H6O.H index 9c608556aef..538f4c2c92f 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H6O/C2H6O.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C2H6O/C2H6O.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C2H6O(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C2H6O>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C3H6O/C3H6O.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C3H6O/C3H6O.H index 61e482f73e0..1efc92fd242 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C3H6O/C3H6O.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C3H6O/C3H6O.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C3H6O(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C3H6O>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C3H8/C3H8.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C3H8/C3H8.H index 4222ea2d98d..ef9d85e3b57 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C3H8/C3H8.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C3H8/C3H8.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C3H8(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C3H8>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C4H10O/C4H10O.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C4H10O/C4H10O.H index 83d8fe1d06d..ed5e1326da7 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C4H10O/C4H10O.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C4H10O/C4H10O.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C4H10O(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C4H10O>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C6H14/C6H14.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C6H14/C6H14.H index 83b49d09a81..ebe60044dd4 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C6H14/C6H14.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C6H14/C6H14.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C6H14(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C6H14>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C6H6/C6H6.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C6H6/C6H6.H index e67f2e5e081..81be1a18dde 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C6H6/C6H6.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C6H6/C6H6.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C6H6(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C6H6>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C7H16/C7H16.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C7H16/C7H16.H index 5f713fda2ec..27b3485714f 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C7H16/C7H16.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C7H16/C7H16.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C7H16(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C7H16>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C7H8/C7H8.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C7H8/C7H8.H index 51a66c69b51..6dfabef59ec 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C7H8/C7H8.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C7H8/C7H8.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C7H8(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C7H8>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C8H10/C8H10.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C8H10/C8H10.H index 2b337d0a9df..66f26229043 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C8H10/C8H10.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C8H10/C8H10.H @@ -113,10 +113,10 @@ public: //- Construct from dictionary C8H10(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C8H10>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C8H18/C8H18.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C8H18/C8H18.H index a2300872696..6b0446c4ec2 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C8H18/C8H18.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C8H18/C8H18.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C8H18(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C8H18>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C9H20/C9H20.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C9H20/C9H20.H index 6206617bd8a..dc38c2d753f 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C9H20/C9H20.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/C9H20/C9H20.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary C9H20(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<C9H20>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/CH3OH/CH3OH.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/CH3OH/CH3OH.H index d9e034f4297..c2a8001939e 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/CH3OH/CH3OH.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/CH3OH/CH3OH.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary CH3OH(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<CH3OH>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/CH4N2O/CH4N2O.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/CH4N2O/CH4N2O.H index 628c9845226..b6992f52660 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/CH4N2O/CH4N2O.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/CH4N2O/CH4N2O.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary CH4N2O(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<CH4N2O>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/H2O/H2O.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/H2O/H2O.H index d96d82ff9de..764316c5795 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/H2O/H2O.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/H2O/H2O.H @@ -113,10 +113,10 @@ public: //- Construct from dictionary H2O(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<H2O>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/IC8H18/IC8H18.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/IC8H18/IC8H18.H index d1689a8bfa6..e6d492faf3f 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/IC8H18/IC8H18.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/IC8H18/IC8H18.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary IC8H18(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<IC8H18>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/IDEA/IDEA.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/IDEA/IDEA.H index c9a5e6b7bff..1f7a6c9de12 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/IDEA/IDEA.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/IDEA/IDEA.H @@ -136,10 +136,10 @@ public: //- Construct from dictionary IDEA(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<IDEA>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/MB/MB.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/MB/MB.H index fbb7fb049a3..3ed033af167 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/MB/MB.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/MB/MB.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary MB(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<MB>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/N2/N2.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/N2/N2.H index d57624c57cf..72015b13e55 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/N2/N2.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/N2/N2.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary N2(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<N2>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/aC10H7CH3/aC10H7CH3.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/aC10H7CH3/aC10H7CH3.H index 6d07dacbe6a..fb6c4bed313 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/aC10H7CH3/aC10H7CH3.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/aC10H7CH3/aC10H7CH3.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary aC10H7CH3(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<aC10H7CH3>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/bC10H7CH3/bC10H7CH3.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/bC10H7CH3/bC10H7CH3.H index 93e4c0db6a7..a8a45ecd650 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/bC10H7CH3/bC10H7CH3.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/bC10H7CH3/bC10H7CH3.H @@ -114,10 +114,10 @@ public: //- Construct from dictionary bC10H7CH3(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<bC10H7CH3>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/iC3H8O/iC3H8O.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/iC3H8O/iC3H8O.H index ffbea567359..6144243c726 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/iC3H8O/iC3H8O.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/iC3H8O/iC3H8O.H @@ -112,10 +112,10 @@ public: //- Construct from dictionary iC3H8O(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<iC3H8O>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/liquid/liquid.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/liquid/liquid.H index 21b152c36aa..fc6f69ea2c3 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/liquid/liquid.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/liquid/liquid.H @@ -37,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef liquid_H -#define liquid_H +#ifndef Foam_liquid_H +#define Foam_liquid_H #include "liquidProperties.H" #include "Function1.H" @@ -90,10 +90,10 @@ public: liquid(const liquid& rhs); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>(new liquid(*this)); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/liquidProperties/liquidProperties.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/liquidProperties/liquidProperties.H index 220f962f753..589865f2922 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/liquidProperties/liquidProperties.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/liquidProperties/liquidProperties.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef liquidProperties_H -#define liquidProperties_H +#ifndef Foam_liquidProperties_H +#define Foam_liquidProperties_H #include "thermophysicalProperties.H" @@ -137,7 +137,14 @@ public: virtual autoPtr<liquidProperties> clone() const = 0; - // Selectors + // Factory Methods + + //- Clone liquidProperties + template<class Derived> + static autoPtr<liquidProperties> Clone(const Derived& prop) + { + return autoPtr<liquidProperties>(new Derived(prop)); + } //- Return a pointer to a new liquidProperties created from name static autoPtr<liquidProperties> New(const word& name); diff --git a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/nC3H8O/nC3H8O.H b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/nC3H8O/nC3H8O.H index b5729a0ffa0..388375dc725 100644 --- a/src/thermophysicalModels/thermophysicalProperties/liquidProperties/nC3H8O/nC3H8O.H +++ b/src/thermophysicalModels/thermophysicalProperties/liquidProperties/nC3H8O/nC3H8O.H @@ -112,10 +112,10 @@ public: //- Construct from dictionary nC3H8O(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<liquidProperties> clone() const { - return autoPtr<liquidProperties>::NewFrom<nC3H8O>(*this); + return liquidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/solidProperties/C/C.H b/src/thermophysicalModels/thermophysicalProperties/solidProperties/C/C.H index 471498121fc..5ff8dda5ea0 100644 --- a/src/thermophysicalModels/thermophysicalProperties/solidProperties/C/C.H +++ b/src/thermophysicalModels/thermophysicalProperties/solidProperties/C/C.H @@ -67,10 +67,10 @@ public: //- Construct from dictionary C(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<solidProperties> clone() const { - return autoPtr<solidProperties>::NewFrom<C>(*this); + return solidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/solidProperties/CaCO3/CaCO3.H b/src/thermophysicalModels/thermophysicalProperties/solidProperties/CaCO3/CaCO3.H index fce234a3f0a..b8baf048a39 100644 --- a/src/thermophysicalModels/thermophysicalProperties/solidProperties/CaCO3/CaCO3.H +++ b/src/thermophysicalModels/thermophysicalProperties/solidProperties/CaCO3/CaCO3.H @@ -67,10 +67,10 @@ public: //- Construct from dictionary CaCO3(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<solidProperties> clone() const { - return autoPtr<solidProperties>::NewFrom<CaCO3>(*this); + return solidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/solidProperties/ash/ash.H b/src/thermophysicalModels/thermophysicalProperties/solidProperties/ash/ash.H index 7297af2785b..34e759813dc 100644 --- a/src/thermophysicalModels/thermophysicalProperties/solidProperties/ash/ash.H +++ b/src/thermophysicalModels/thermophysicalProperties/solidProperties/ash/ash.H @@ -67,10 +67,10 @@ public: //- Construct from dictionary ash(const dictionary& dict); - //- Construct and return clone + //- Return a clone virtual autoPtr<solidProperties> clone() const { - return autoPtr<solidProperties>::NewFrom<ash>(*this); + return solidProperties::Clone(*this); } diff --git a/src/thermophysicalModels/thermophysicalProperties/solidProperties/solidProperties/solidProperties.H b/src/thermophysicalModels/thermophysicalProperties/solidProperties/solidProperties/solidProperties.H index 3d8729acc36..313f3c37ab1 100644 --- a/src/thermophysicalModels/thermophysicalProperties/solidProperties/solidProperties/solidProperties.H +++ b/src/thermophysicalModels/thermophysicalProperties/solidProperties/solidProperties/solidProperties.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2019 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef solidProperties_H -#define solidProperties_H +#ifndef Foam_solidProperties_H +#define Foam_solidProperties_H #include "typeInfo.H" #include "autoPtr.H" @@ -133,7 +133,14 @@ public: } - // Selectors + // Factory Methods + + //- Clone solidProperties + template<class Derived> + static autoPtr<solidProperties> Clone(const Derived& prop) + { + return autoPtr<solidProperties>(new Derived(prop)); + } //- Return a pointer to a new solidProperties created from name static autoPtr<solidProperties> New(const word& name); -- GitLab From 2190684914cb1ec075b6665a62a30bdcf3b5191e Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 8 Jan 2024 17:34:00 +0100 Subject: [PATCH 009/231] STYLE: patch field Internal::null() instead of DimensionedField equivalent - makes for more consistent coding STYLE: use two-parameter clone when making a copy of patch fields --- .../parFvFieldDistributorTemplates.C | 37 +++++++++++-------- .../parPointFieldDistributorTemplates.C | 10 ++--- .../pointPatchField/pointPatchField.H | 32 +++++++++------- .../distributed/faMeshDistributorTemplates.C | 36 +++++++----------- .../faMeshSubset/faMeshSubsetTemplates.C | 4 +- .../faPatchFields/faPatchField/faPatchField.H | 32 ++++++++++------ .../faePatchField/faePatchField.H | 31 ++++++++++------ .../fvPatchFields/fvPatchField/fvPatchField.H | 32 ++++++++++------ .../fvsPatchField/fvsPatchField.H | 32 ++++++++++------ .../fvMeshSubset/fvMeshSubsetTemplates.C | 12 +++--- .../singleCellFvMeshInterpolate.C | 2 +- .../decompose/fvFieldDecomposerTemplates.C | 4 +- .../decompose/pointFieldDecomposerTemplates.C | 4 +- .../faDecompose/faFieldDecomposerTemplates.C | 8 ++-- .../faFieldReconstructorTemplates.C | 22 +++++------ .../fvFieldReconstructorTemplates.C | 22 +++++------ .../pointFieldReconstructorTemplates.C | 2 +- src/sampling/meshToMesh/meshToMeshTemplates.C | 8 ++-- .../meshToMesh0/meshToMesh0Templates.C | 2 +- 19 files changed, 186 insertions(+), 146 deletions(-) diff --git a/applications/utilities/parallelProcessing/redistributePar/parFvFieldDistributorTemplates.C b/applications/utilities/parallelProcessing/redistributePar/parFvFieldDistributorTemplates.C index 2f65cef9037..97c5c3103ac 100644 --- a/applications/utilities/parallelProcessing/redistributePar/parFvFieldDistributorTemplates.C +++ b/applications/utilities/parallelProcessing/redistributePar/parFvFieldDistributorTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,9 +30,8 @@ License #include "Time.H" #include "PtrList.H" #include "fvPatchFields.H" +#include "fvsPatchFields.H" #include "emptyFvPatch.H" -#include "emptyFvPatchField.H" -#include "emptyFvsPatchField.H" #include "IOobjectList.H" #include "mapDistributePolyMesh.H" #include "processorFvPatch.H" @@ -123,15 +122,19 @@ Foam::parFvFieldDistributor::distributeField { if (patchFaceMaps_.set(patchi)) { - // Clone local patch field - oldPatchFields.set(patchi, bfld[patchi].clone()); - distributedFvPatchFieldMapper mapper ( labelUList::null(), patchFaceMaps_[patchi] ); + // Clone local patch field + oldPatchFields.set + ( + patchi, + bfld[patchi].clone(fld.internalField()) + ); + // Map into local copy oldPatchFields[patchi].autoMap(mapper); } @@ -159,7 +162,7 @@ Foam::parFvFieldDistributor::distributeField ( pfld, tgtMesh_.boundary()[patchi], - DimensionedField<Type, volMesh>::null(), + fvPatchField<Type>::Internal::null(), dummyMapper ) ); @@ -178,9 +181,9 @@ Foam::parFvFieldDistributor::distributeField patchi, fvPatchField<Type>::New ( - emptyFvPatchField<Type>::typeName, + fvPatchFieldBase::emptyType(), tgtMesh_.boundary()[patchi], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } @@ -268,15 +271,19 @@ Foam::parFvFieldDistributor::distributeField { if (patchFaceMaps_.set(patchi)) { - // Clone local patch field - oldPatchFields.set(patchi, bfld[patchi].clone()); - distributedFvPatchFieldMapper mapper ( labelUList::null(), patchFaceMaps_[patchi] ); + // Clone local patch field + oldPatchFields.set + ( + patchi, + bfld[patchi].clone(fld.internalField()) + ); + // Map into local copy oldPatchFields[patchi].autoMap(mapper); } @@ -303,7 +310,7 @@ Foam::parFvFieldDistributor::distributeField ( pfld, tgtMesh_.boundary()[patchi], - DimensionedField<Type, surfaceMesh>::null(), + fvsPatchField<Type>::Internal::null(), dummyMapper ) ); @@ -321,9 +328,9 @@ Foam::parFvFieldDistributor::distributeField patchi, fvsPatchField<Type>::New ( - emptyFvsPatchField<Type>::typeName, + fvsPatchFieldBase::emptyType(), tgtMesh_.boundary()[patchi], - DimensionedField<Type, surfaceMesh>::null() + fvsPatchField<Type>::Internal::null() ) ); } diff --git a/applications/utilities/parallelProcessing/redistributePar/parPointFieldDistributorTemplates.C b/applications/utilities/parallelProcessing/redistributePar/parPointFieldDistributorTemplates.C index 4c1964f0768..f1d1361b290 100644 --- a/applications/utilities/parallelProcessing/redistributePar/parPointFieldDistributorTemplates.C +++ b/applications/utilities/parallelProcessing/redistributePar/parPointFieldDistributorTemplates.C @@ -26,11 +26,11 @@ License \*---------------------------------------------------------------------------*/ #include "Time.H" -#include "emptyPointPatchField.H" #include "IOobjectList.H" #include "mapDistributePolyMesh.H" #include "distributedFieldMapper.H" #include "distributedPointPatchFieldMapper.H" +#include "emptyPointPatch.H" #include "pointFields.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -108,7 +108,7 @@ Foam::parPointFieldDistributor::distributeField ( bfld[patchi], tgtMesh.boundary()[patchi], // pointPatch - DimensionedField<Type, pointMesh>::null(), + pointPatchField<Type>::Internal::null(), mapper ) ); @@ -122,7 +122,7 @@ Foam::parPointFieldDistributor::distributeField // bfld[patchi].clone // ( // tgtMesh.boundary()[patchi], - // DimensionedField<Type, pointMesh>::null(), + // pointPatchField<Type>::Internal::null(), // mapper // ) //); @@ -140,9 +140,9 @@ Foam::parPointFieldDistributor::distributeField patchi, pointPatchField<Type>::New ( - emptyPointPatchField<Type>::typeName, + pointPatchFieldBase::emptyType(), tgtMesh.boundary()[patchi], - DimensionedField<Type, pointMesh>::null() + pointPatchField<Type>::Internal::null() ) ); } diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H index d66463a46d9..011569f452c 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -240,26 +240,32 @@ class pointPatchField : public pointPatchFieldBase { - // Private Data +public: - //- Reference to internal field - const DimensionedField<Type, pointMesh>& internalField_; + // Public Data Types + //- The patch type for the patch field + typedef pointPatch Patch; -public: + //- The value_type for the patch field + typedef Type value_type; + + //- The internal field type associated with the patch field + typedef DimensionedField<Type, pointMesh> Internal; - //- The Field value_type - typedef Type value_type; + //- Type for a \em calculated patch + typedef calculatedPointPatchField<Type> Calculated; - //- The internal field type associated with the patch field - typedef DimensionedField<Type, pointMesh> Internal; - //- The patch type for the patch field - typedef pointPatch Patch; +private: + + // Private Data + + //- Reference to internal field + const DimensionedField<Type, pointMesh>& internalField_; - //- Type for a \em calculated patch - typedef calculatedPointPatchField<Type> Calculated; +public: // Declare run-time constructor selection tables diff --git a/src/finiteArea/distributed/faMeshDistributorTemplates.C b/src/finiteArea/distributed/faMeshDistributorTemplates.C index 19ddc494040..9215cc3b2bf 100644 --- a/src/finiteArea/distributed/faMeshDistributorTemplates.C +++ b/src/finiteArea/distributed/faMeshDistributorTemplates.C @@ -26,8 +26,8 @@ License \*---------------------------------------------------------------------------*/ #include "Time.H" -#include "emptyFaPatchField.H" -#include "emptyFaePatchField.H" +#include "faPatchFields.H" +#include "faePatchFields.H" #include "IOobjectList.H" #include "polyMesh.H" #include "polyPatch.H" @@ -49,10 +49,6 @@ Foam::faMeshDistributor::distributeField const GeometricField<Type, faPatchField, areaMesh>& fld ) const { - typedef typename - GeometricField<Type, faPatchField, areaMesh>::Patch - PatchFieldType; - if (tgtMesh_.boundary().size() && patchEdgeMaps_.empty()) { createPatchMaps(); @@ -87,7 +83,7 @@ Foam::faMeshDistributor::distributeField // Create patchFields by remote mapping - PtrList<PatchFieldType> newPatchFields(tgtMesh_.boundary().size()); + PtrList<faPatchField<Type>> newPatchFields(tgtMesh_.boundary().size()); const auto& bfld = fld.boundaryField(); @@ -107,11 +103,11 @@ Foam::faMeshDistributor::distributeField newPatchFields.set ( patchi, - PatchFieldType::New + faPatchField<Type>::New ( bfld[patchi], tgtMesh_.boundary()[patchi], - DimensionedField<Type, areaMesh>::null(), + faPatchField<Type>::Internal::null(), mapper ) ); @@ -127,11 +123,11 @@ Foam::faMeshDistributor::distributeField newPatchFields.set ( patchi, - PatchFieldType::New + faPatchField<Type>::New ( - emptyFaPatchField<Type>::typeName, + faPatchFieldBase::emptyType(), tgtMesh_.boundary()[patchi], - DimensionedField<Type, areaMesh>::null() + faPatchField<Type>::Internal::null() ) ); } @@ -158,10 +154,6 @@ Foam::faMeshDistributor::distributeField const GeometricField<Type, faePatchField, edgeMesh>& fld ) const { - typedef typename - GeometricField<Type, faePatchField, edgeMesh>::Patch - PatchFieldType; - if (!internalEdgeMap_) { createInternalEdgeMap(); @@ -197,7 +189,7 @@ Foam::faMeshDistributor::distributeField // Create patchFields by remote mapping - PtrList<PatchFieldType> newPatchFields(tgtMesh_.boundary().size()); + PtrList<faePatchField<Type>> newPatchFields(tgtMesh_.boundary().size()); const auto& bfld = fld.boundaryField(); @@ -217,11 +209,11 @@ Foam::faMeshDistributor::distributeField newPatchFields.set ( patchi, - PatchFieldType::New + faePatchField<Type>::New ( bfld[patchi], tgtMesh_.boundary()[patchi], - DimensionedField<Type, edgeMesh>::null(), + faePatchField<Type>::Internal::null(), mapper ) ); @@ -237,11 +229,11 @@ Foam::faMeshDistributor::distributeField newPatchFields.set ( patchi, - PatchFieldType::New + faePatchField<Type>::New ( - emptyFaePatchField<Type>::typeName, + faePatchFieldBase::emptyType(), tgtMesh_.boundary()[patchi], - DimensionedField<Type, edgeMesh>::null() + faePatchField<Type>::Internal::null() ) ); } diff --git a/src/finiteArea/faMesh/faMeshSubset/faMeshSubsetTemplates.C b/src/finiteArea/faMesh/faMeshSubset/faMeshSubsetTemplates.C index 93340446e48..28a147b7b4a 100644 --- a/src/finiteArea/faMesh/faMeshSubset/faMeshSubsetTemplates.C +++ b/src/finiteArea/faMesh/faMeshSubset/faMeshSubsetTemplates.C @@ -60,7 +60,7 @@ Foam::faMeshSubset::interpolate ( faPatchFieldBase::calculatedType(), sMesh.boundary()[patchi], - DimensionedField<Type, areaMesh>::null() + faPatchField<Type>::Internal::null() ) ); } @@ -167,7 +167,7 @@ Foam::faMeshSubset::interpolate ( faePatchFieldBase::calculatedType(), sMesh.boundary()[patchi], - DimensionedField<Type, edgeMesh>::null() + faePatchField<Type>::Internal::null() ) ); } diff --git a/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H b/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H index e1f208e274f..f2c438325ba 100644 --- a/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H +++ b/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -238,11 +238,31 @@ class faPatchField public faPatchFieldBase, public Field<Type> { +public: + + // Public Data Types + + //- The patch type for the patch field + typedef faPatch Patch; + + //- The value_type for the patch field + typedef Type value_type; + + //- The internal field type associated with the patch field + typedef DimensionedField<Type, areaMesh> Internal; + + //- Type for a \em calculated patch + typedef calculatedFaPatchField<Type> Calculated; + + +private: + // Private Data //- Reference to internal field const DimensionedField<Type, areaMesh>& internalField_; + protected: // Protected Member Functions @@ -268,16 +288,6 @@ protected: public: - //- The internal field type associated with the patch field - typedef DimensionedField<Type, areaMesh> Internal; - - //- The patch type for the patch field - typedef faPatch Patch; - - //- Type for a \em calculated patch - typedef calculatedFaPatchField<Type> Calculated; - - // Declare run-time constructor selection tables declareRunTimeSelectionTable diff --git a/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H b/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H index d009f72dc8b..b484b702b5f 100644 --- a/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H +++ b/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -211,6 +211,25 @@ class faePatchField public faePatchFieldBase, public Field<Type> { +public: + + // Public Data Types + + //- The patch type for the patch field + typedef faPatch Patch; + + //- The value_type for the patch field + typedef Type value_type; + + //- The internal field type associated with the patch field + typedef DimensionedField<Type, edgeMesh> Internal; + + //- Type for a \em calculated patch + typedef calculatedFaePatchField<Type> Calculated; + + +private: + // Private Data //- Reference to internal field @@ -238,16 +257,6 @@ protected: public: - //- The internal field type associated with the patch field - typedef DimensionedField<Type, edgeMesh> Internal; - - //- The patch type for the patch field - typedef faPatch Patch; - - //- Type for a \em calculated patch - typedef calculatedFaePatchField<Type> Calculated; - - // Declare run-time constructor selection tables declareRunTimeSelectionTable diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H index 6237d679d88..1d993b178ba 100644 --- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -281,11 +281,31 @@ class fvPatchField public fvPatchFieldBase, public Field<Type> { +public: + + // Public Data Types + + //- The patch type for the patch field + typedef fvPatch Patch; + + //- The value_type for the patch field + typedef Type value_type; + + //- The internal field type associated with the patch field + typedef DimensionedField<Type, volMesh> Internal; + + //- Type for a \em calculated patch + typedef calculatedFvPatchField<Type> Calculated; + + +private: + // Private Data //- Reference to internal field const DimensionedField<Type, volMesh>& internalField_; + protected: // Protected Member Functions @@ -311,16 +331,6 @@ protected: public: - //- The internal field type associated with the patch field - typedef DimensionedField<Type, volMesh> Internal; - - //- The patch type for the patch field - typedef fvPatch Patch; - - //- Type for a \em calculated patch - typedef calculatedFvPatchField<Type> Calculated; - - // Declare run-time constructor selection tables declareRunTimeSelectionTable diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H index c6ab5ffc044..d4b9ff1c180 100644 --- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -205,11 +205,31 @@ class fvsPatchField public fvsPatchFieldBase, public Field<Type> { +public: + + // Public Data Types + + //- The patch type for the patch field + typedef fvPatch Patch; + + //- The value_type for the patch field + typedef Type value_type; + + //- The internal field type associated with the patch field + typedef DimensionedField<Type, surfaceMesh> Internal; + + //- Type for a \em calculated patch + typedef calculatedFvsPatchField<Type> Calculated; + + +private: + // Private Data //- Reference to internal field const DimensionedField<Type, surfaceMesh>& internalField_; + protected: // Protected Member Functions @@ -232,16 +252,6 @@ protected: public: - //- The internal field type associated with the patch field - typedef DimensionedField<Type, surfaceMesh> Internal; - - //- The patch type for the patch field - typedef fvPatch Patch; - - //- Type for a \em calculated patch - typedef calculatedFvsPatchField<Type> Calculated; - - // Declare run-time constructor selection tables declareRunTimeSelectionTable diff --git a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C index 8d5da86172a..9dd83ab0e0a 100644 --- a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C +++ b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C @@ -67,7 +67,7 @@ Foam::fvMeshSubset::interpolate new emptyFvPatchField<Type> ( sMesh.boundary()[patchi], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } @@ -80,7 +80,7 @@ Foam::fvMeshSubset::interpolate ( fvPatchFieldBase::calculatedType(), sMesh.boundary()[patchi], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } @@ -248,7 +248,7 @@ Foam::fvMeshSubset::interpolate new emptyFvsPatchField<Type> ( sMesh.boundary()[patchi], - DimensionedField<Type, surfaceMesh>::null() + fvsPatchField<Type>::Internal::null() ) ); } @@ -261,7 +261,7 @@ Foam::fvMeshSubset::interpolate ( fvsPatchFieldBase::calculatedType(), sMesh.boundary()[patchi], - DimensionedField<Type, surfaceMesh>::null() + fvsPatchField<Type>::Internal::null() ) ); } @@ -435,7 +435,7 @@ Foam::fvMeshSubset::interpolate new emptyPointPatchField<Type> ( sMesh.boundary()[patchi], - DimensionedField<Type, pointMesh>::null() + pointPatchField<Type>::Internal::null() ) ); } @@ -448,7 +448,7 @@ Foam::fvMeshSubset::interpolate ( pointPatchFieldBase::calculatedType(), sMesh.boundary()[patchi], - DimensionedField<Type, pointMesh>::null() + pointPatchField<Type>::Internal::null() ) ); } diff --git a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMeshInterpolate.C b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMeshInterpolate.C index 767a08ff88b..312b763fcc2 100644 --- a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMeshInterpolate.C +++ b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMeshInterpolate.C @@ -55,7 +55,7 @@ tmp<GeometricField<Type, fvPatchField, volMesh>> singleCellFvMesh::interpolate ( fvPatchFieldBase::calculatedType(), boundary()[patchi], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } diff --git a/src/parallel/decompose/decompose/fvFieldDecomposerTemplates.C b/src/parallel/decompose/decompose/fvFieldDecomposerTemplates.C index caa7884053f..007ee5d3d0f 100644 --- a/src/parallel/decompose/decompose/fvFieldDecomposerTemplates.C +++ b/src/parallel/decompose/decompose/fvFieldDecomposerTemplates.C @@ -89,7 +89,7 @@ Foam::fvFieldDecomposer::decomposeField ( fvPatchFieldBase::calculatedType(), procMesh_.boundary()[patchi], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } @@ -262,7 +262,7 @@ Foam::fvFieldDecomposer::decomposeField ( fvsPatchFieldBase::calculatedType(), procMesh_.boundary()[patchi], - DimensionedField<Type, surfaceMesh>::null() + fvsPatchField<Type>::Internal::null() ) ); } diff --git a/src/parallel/decompose/decompose/pointFieldDecomposerTemplates.C b/src/parallel/decompose/decompose/pointFieldDecomposerTemplates.C index b42fbc1a21f..0c01857cd7e 100644 --- a/src/parallel/decompose/decompose/pointFieldDecomposerTemplates.C +++ b/src/parallel/decompose/decompose/pointFieldDecomposerTemplates.C @@ -56,7 +56,7 @@ Foam::pointFieldDecomposer::decomposeField ( field.boundaryField()[boundaryAddressing_[patchi]], procMesh_.boundary()[patchi], - DimensionedField<Type, pointMesh>::null(), + pointPatchField<Type>::Internal::null(), patchFieldDecomposerPtrs_[patchi] ) ); @@ -69,7 +69,7 @@ Foam::pointFieldDecomposer::decomposeField new processorPointPatchField<Type> ( procMesh_.boundary()[patchi], - DimensionedField<Type, pointMesh>::null() + pointPatchField<Type>::Internal::null() ) ); } diff --git a/src/parallel/decompose/faDecompose/faFieldDecomposerTemplates.C b/src/parallel/decompose/faDecompose/faFieldDecomposerTemplates.C index 2c6cfb251f7..ee072e7a67c 100644 --- a/src/parallel/decompose/faDecompose/faFieldDecomposerTemplates.C +++ b/src/parallel/decompose/faDecompose/faFieldDecomposerTemplates.C @@ -60,7 +60,7 @@ Foam::faFieldDecomposer::decomposeField ( field.boundaryField()[oldPatchi], procMesh_.boundary()[patchi], - DimensionedField<Type, areaMesh>::null(), + faPatchField<Type>::Internal::null(), patchFieldDecomposerPtrs_[patchi] ) ); @@ -73,7 +73,7 @@ Foam::faFieldDecomposer::decomposeField new processorFaPatchField<Type> ( procMesh_.boundary()[patchi], - DimensionedField<Type, areaMesh>::null(), + faPatchField<Type>::Internal::null(), Field<Type> ( field.internalField(), @@ -171,7 +171,7 @@ Foam::faFieldDecomposer::decomposeField ( field.boundaryField()[oldPatchi], procMesh_.boundary()[patchi], - DimensionedField<Type, edgeMesh>::null(), + faePatchField<Type>::Internal::null(), patchFieldDecomposerPtrs_[patchi] ) ); @@ -184,7 +184,7 @@ Foam::faFieldDecomposer::decomposeField new processorFaePatchField<Type> ( procMesh_.boundary()[patchi], - DimensionedField<Type, edgeMesh>::null(), + faePatchField<Type>::Internal::null(), Field<Type> ( allEdgeField, diff --git a/src/parallel/reconstruct/faReconstruct/faFieldReconstructorTemplates.C b/src/parallel/reconstruct/faReconstruct/faFieldReconstructorTemplates.C index e5c27951ff7..15d1fb3b63d 100644 --- a/src/parallel/reconstruct/faReconstruct/faFieldReconstructorTemplates.C +++ b/src/parallel/reconstruct/faReconstruct/faFieldReconstructorTemplates.C @@ -29,10 +29,9 @@ License #include "faFieldReconstructor.H" #include "Time.H" #include "PtrList.H" -#include "faPatchFields.H" #include "emptyFaPatch.H" -#include "emptyFaPatchField.H" -#include "emptyFaePatchField.H" +#include "faPatchFields.H" +#include "faePatchFields.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -130,7 +129,7 @@ Foam::faFieldReconstructor::reconstructField ( procField.boundaryField()[patchI], mesh_.boundary()[curBPatch], - DimensionedField<Type, areaMesh>::null(), + faPatchField<Type>::Internal::null(), faPatchFieldReconstructor ( mesh_.boundary()[curBPatch].size(), @@ -204,7 +203,7 @@ Foam::faFieldReconstructor::reconstructField ( mesh_.boundary()[curBPatch].type(), mesh_.boundary()[curBPatch], - DimensionedField<Type, areaMesh>::null() + faPatchField<Type>::Internal::null() ) ); } @@ -238,9 +237,9 @@ Foam::faFieldReconstructor::reconstructField patchI, faPatchField<Type>::New ( - emptyFaPatchField<Type>::typeName, + faPatchFieldBase::emptyType(), mesh_.boundary()[patchI], - DimensionedField<Type, areaMesh>::null() + faPatchField<Type>::Internal::null() ) ); } @@ -371,7 +370,7 @@ Foam::faFieldReconstructor::reconstructField ( procField.boundaryField()[patchI], mesh_.boundary()[curBPatch], - DimensionedField<Type, edgeMesh>::null(), + faePatchField<Type>::Internal::null(), faPatchFieldReconstructor ( mesh_.boundary()[curBPatch].size(), @@ -448,8 +447,7 @@ Foam::faFieldReconstructor::reconstructField ( mesh_.boundary()[curBPatch].type(), mesh_.boundary()[curBPatch], - DimensionedField<Type, edgeMesh> - ::null() + faePatchField<Type>::Internal::null() ) ); } @@ -489,9 +487,9 @@ Foam::faFieldReconstructor::reconstructField patchI, faePatchField<Type>::New ( - emptyFaePatchField<Type>::typeName, + faePatchFieldBase::emptyType(), mesh_.boundary()[patchI], - DimensionedField<Type, edgeMesh>::null() + faePatchField<Type>::Internal::null() ) ); } diff --git a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorTemplates.C b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorTemplates.C index 70a31ea8ccc..1549abe4e78 100644 --- a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorTemplates.C +++ b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorTemplates.C @@ -29,10 +29,9 @@ License #include "fvFieldReconstructor.H" #include "Time.H" #include "PtrList.H" -#include "fvPatchFields.H" #include "emptyFvPatch.H" -#include "emptyFvPatchField.H" -#include "emptyFvsPatchField.H" +#include "fvPatchFields.H" +#include "fvsPatchFields.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -125,7 +124,7 @@ Foam::fvFieldReconstructor::reconstructField ( procField.boundaryField()[patchi], mesh_.boundary()[curBPatch], - DimensionedField<Type, volMesh>::null(), + fvPatchField<Type>::Internal::null(), fvPatchFieldReconstructor ( mesh_.boundary()[curBPatch].size() @@ -193,7 +192,7 @@ Foam::fvFieldReconstructor::reconstructField ( mesh_.boundary()[curBPatch].type(), mesh_.boundary()[curBPatch], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } @@ -225,9 +224,9 @@ Foam::fvFieldReconstructor::reconstructField patchi, fvPatchField<Type>::New ( - emptyFvPatchField<Type>::typeName, + fvPatchFieldBase::emptyType(), mesh_.boundary()[patchi], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } @@ -323,7 +322,7 @@ Foam::fvFieldReconstructor::reconstructField ( procField.boundaryField()[patchi], mesh_.boundary()[curBPatch], - DimensionedField<Type, surfaceMesh>::null(), + fvsPatchField<Type>::Internal::null(), fvPatchFieldReconstructor ( mesh_.boundary()[curBPatch].size() @@ -379,8 +378,7 @@ Foam::fvFieldReconstructor::reconstructField ( mesh_.boundary()[curBPatch].type(), mesh_.boundary()[curBPatch], - DimensionedField<Type, surfaceMesh> - ::null() + fvsPatchField<Type>::Internal::null() ) ); } @@ -418,9 +416,9 @@ Foam::fvFieldReconstructor::reconstructField patchi, fvsPatchField<Type>::New ( - emptyFvsPatchField<Type>::typeName, + fvsPatchFieldBase::emptyType(), mesh_.boundary()[patchi], - DimensionedField<Type, surfaceMesh>::null() + fvsPatchField<Type>::Internal::null() ) ); } diff --git a/src/parallel/reconstruct/reconstruct/pointFieldReconstructorTemplates.C b/src/parallel/reconstruct/reconstruct/pointFieldReconstructorTemplates.C index ae49e24b1b7..bc7b03167a2 100644 --- a/src/parallel/reconstruct/reconstruct/pointFieldReconstructorTemplates.C +++ b/src/parallel/reconstruct/reconstruct/pointFieldReconstructorTemplates.C @@ -79,7 +79,7 @@ Foam::pointFieldReconstructor::reconstructField ( procField.boundaryField()[patchi], mesh_.boundary()[curBPatch], - DimensionedField<Type, pointMesh>::null(), + pointPatchField<Type>::Internal::null(), pointPatchFieldReconstructor ( mesh_.boundary()[curBPatch].size() diff --git a/src/sampling/meshToMesh/meshToMeshTemplates.C b/src/sampling/meshToMesh/meshToMeshTemplates.C index afea1c70b69..a1f8b6f637b 100644 --- a/src/sampling/meshToMesh/meshToMeshTemplates.C +++ b/src/sampling/meshToMesh/meshToMeshTemplates.C @@ -612,7 +612,7 @@ Foam::meshToMesh::mapSrcToTgt ( srcBfld[srcPatchi], tgtMesh.boundary()[tgtPatchi], - DimensionedField<Type, volMesh>::null(), + fvPatchField<Type>::Internal::null(), directFvPatchFieldMapper ( labelList(tgtMesh.boundary()[tgtPatchi].size(), -1) @@ -636,7 +636,7 @@ Foam::meshToMesh::mapSrcToTgt ( fvPatchFieldBase::calculatedType(), tgtMesh.boundary()[tgtPatchi], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } @@ -843,7 +843,7 @@ Foam::meshToMesh::mapTgtToSrc ( tgtBfld[tgtPatchi], srcMesh.boundary()[srcPatchi], - DimensionedField<Type, volMesh>::null(), + fvPatchField<Type>::Internal::null(), directFvPatchFieldMapper ( labelList(srcMesh.boundary()[srcPatchi].size(), -1) @@ -867,7 +867,7 @@ Foam::meshToMesh::mapTgtToSrc ( fvPatchFieldBase::calculatedType(), srcMesh.boundary()[srcPatchi], - DimensionedField<Type, volMesh>::null() + fvPatchField<Type>::Internal::null() ) ); } diff --git a/src/sampling/meshToMesh0/meshToMesh0Templates.C b/src/sampling/meshToMesh0/meshToMesh0Templates.C index c40298f4bd3..8daeb7a09a1 100644 --- a/src/sampling/meshToMesh0/meshToMesh0Templates.C +++ b/src/sampling/meshToMesh0/meshToMesh0Templates.C @@ -395,7 +395,7 @@ Foam::meshToMesh0::interpolate ( fromVf.boundaryField()[patchi], toMesh_.boundary()[patchi], - DimensionedField<Type, volMesh>::null(), + fvPatchField<Type>::Internal::null(), patchFieldInterpolator ( boundaryAddressing_[patchi] -- GitLab From bb16c493b7ab9e577f52189bbda41c8cfc4269e8 Mon Sep 17 00:00:00 2001 From: Mattijs Janssens <ext-mjanssens@esi-group.com> Date: Thu, 11 Jan 2024 10:08:45 +0000 Subject: [PATCH 010/231] Code adjustments to avoid gcc-13 warnings about dangling references --- .../XiModels/XiEqModels/Gulder/Gulder.C | 3 +- .../XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C | 6 +- .../PDRFoam/XiModels/XiGModels/KTS/KTS.C | 3 +- .../rhoCentralFoam/createFieldRefs.H | 3 +- .../VoFPatchTransfer/VoFPatchTransfer.C | 3 +- .../compressibleMultiphaseInterFoam/pEqn.H | 3 +- .../searchableSurfaceControl.C | 4 +- .../nonUniformField/nonUniformField.C | 3 +- .../conformalVoronoiMeshCalcDualMesh.C | 2 +- .../conformalVoronoiMeshIO.C | 2 +- .../surface/surfaceInflate/surfaceInflate.C | 13 +++-- src/OpenFOAM/fields/cloud/cloud.H | 17 +++++- .../constraint/processor/processorPolyPatch.C | 6 +- .../atmAmbientTurbSourceTemplates.C | 10 +++- .../atmBuoyancyTurbSourceTemplates.C | 15 +++-- .../atmPlantCanopyTurbSourceTemplates.C | 6 +- .../singleCellFvMesh/singleCellFvMesh.H | 22 +++---- .../patchTransformedInterpolation.C | 6 +- .../buoyancyTurbSourceTemplates.C | 5 +- .../FreeStream/FreeStream.C | 2 +- .../meshRefinement/meshRefinement.C | 26 ++++----- .../adjointEikonalSolver.C | 20 +++++-- .../RAS/SpalartAllmaras/SpalartAllmaras.C | 3 +- .../multiphaseSystem/phaseModel/phaseModel.C | 3 +- .../MomentumTransferPhaseSystem.C | 6 +- .../dragModels/segregated/segregated.C | 7 ++- .../AnisothermalPhaseModel.C | 3 +- .../MovingPhaseModel/MovingPhaseModel.C | 6 +- .../MultiComponentPhaseModel.C | 3 +- .../phaseModel/phaseModel/phaseModel.C | 3 +- .../wallBoiling/wallBoiling.C | 3 +- .../populationBalanceModel.C | 3 +- .../JohnsonJacksonSchaefferFrictionalStress.C | 3 +- .../Schaeffer/SchaefferFrictionalStress.C | 3 +- .../kineticTheoryModel/kineticTheoryModel.C | 11 ++-- .../twoPhaseSystem/twoPhaseSystem.C | 6 +- .../Schaeffer/SchaefferFrictionalStress.C | 3 +- .../turbulentBreakUp/turbulentBreakUp.C | 7 ++- ...rolysisVelocityCoupledFvPatchVectorField.C | 2 +- .../multiBandZoneAbsorptionEmission.C | 57 ++++++++----------- .../multiBandZoneAbsorptionEmission.H | 8 +-- src/waveModels/waveModel/waveModel.C | 3 +- 42 files changed, 191 insertions(+), 132 deletions(-) diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C index d2117d1334b..7e5fa4f286f 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C @@ -69,7 +69,8 @@ Foam::XiEqModels::Gulder::~Gulder() Foam::tmp<Foam::volScalarField> Foam::XiEqModels::Gulder::XiEq() const { volScalarField up(sqrt((2.0/3.0)*turbulence_.k())); - const volScalarField& epsilon = turbulence_.epsilon(); + const tmp<volScalarField> tepsilon(turbulence_.epsilon()); + const volScalarField& epsilon = tepsilon(); if (subGridSchelkin_) { diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C index d482f379831..b80b72a4c7c 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C @@ -75,8 +75,10 @@ Foam::XiEqModels::SCOPEXiEq::~SCOPEXiEq() Foam::tmp<Foam::volScalarField> Foam::XiEqModels::SCOPEXiEq::XiEq() const { - const volScalarField& k = turbulence_.k(); - const volScalarField& epsilon = turbulence_.epsilon(); + const tmp<volScalarField> tk(turbulence_.k()); + const volScalarField& k = tk(); + const tmp<volScalarField> tepsilon(turbulence_.epsilon()); + const volScalarField& epsilon = tepsilon(); volScalarField up(sqrt((2.0/3.0)*k)); if (subGridSchelkin_) diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C index c586ce29149..1b44e520691 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C @@ -66,7 +66,8 @@ Foam::XiGModels::KTS::~KTS() Foam::tmp<Foam::volScalarField> Foam::XiGModels::KTS::G() const { volScalarField up(sqrt((2.0/3.0)*turbulence_.k())); - const volScalarField& epsilon = turbulence_.epsilon(); + const tmp<volScalarField> tepsilon(turbulence_.epsilon()); + const volScalarField& epsilon = tepsilon(); volScalarField tauEta(sqrt(mag(thermo_.muu()/(thermo_.rhou()*epsilon)))); diff --git a/applications/solvers/compressible/rhoCentralFoam/createFieldRefs.H b/applications/solvers/compressible/rhoCentralFoam/createFieldRefs.H index 5522ccd6aad..f5a13cc9829 100644 --- a/applications/solvers/compressible/rhoCentralFoam/createFieldRefs.H +++ b/applications/solvers/compressible/rhoCentralFoam/createFieldRefs.H @@ -1,10 +1,9 @@ volScalarField& p = thermo.p(); const volScalarField& T = thermo.T(); const volScalarField& psi = thermo.psi(); -const volScalarField& mu = thermo.mu(); bool inviscid(true); -if (max(mu.primitiveField()) > 0.0) +if (max(thermo.mu().cref().primitiveField()) > 0.0) { inviscid = false; } diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.C index f3af8611d31..b0c52f0f621 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.C +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.C @@ -160,7 +160,8 @@ void VoFPatchTransfer::correct const volScalarField& heVoF = thermo.thermo1().he(); const volScalarField& TVoF = thermo.thermo1().T(); const volScalarField CpVoF(thermo.thermo1().Cp()); - const volScalarField& rhoVoF = thermo.thermo1().rho()(); + const tmp<volScalarField> trhoVoF(thermo.thermo1().rho()); + const volScalarField& rhoVoF = trhoVoF(); const volScalarField& alphaVoF = thermo.alpha1(); forAll(patchIDs_, pidi) diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/pEqn.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/pEqn.H index 107fe3c0cca..a447b1eca85 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/pEqn.H +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/pEqn.H @@ -28,7 +28,8 @@ forAllConstIters(mixture.phases(), phase) { const rhoThermo& thermo = phase().thermo(); - const volScalarField& rho = thermo.rho()(); + const tmp<volScalarField> trho(thermo.rho()); + const volScalarField& rho = trho(); p_rghEqnComps.set ( diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C index c8b8dc2280a..438125651de 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C @@ -482,8 +482,8 @@ void Foam::searchableSurfaceControl::cellSizeFunctionVertices DynamicList<scalar>& sizes ) const { - const tmp<pointField> tmpPoints = searchableSurface_.points(); - const pointField& points = tmpPoints(); + const tmp<pointField> tpoints(searchableSurface_.points()); + const pointField& points = tpoints(); const scalar nearFeatDistSqrCoeff = 1e-8; diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C index 412ef9bb55e..5d216568d38 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C @@ -110,7 +110,8 @@ Foam::scalar Foam::nonUniformField::interpolate { const face& faceHitByPt = surfaceTriMesh_.triSurface::operator[](index); - const pointField& pts = surfaceTriMesh_.points(); + const tmp<pointField> tpoints(surfaceTriMesh_.points()); + const pointField& pts = tpoints(); // const Map<label>& pMap = surfaceTriMesh_.meshPointMap(); triPointRef tri diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C index c1cebc026a2..a90fa8ac514 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C @@ -982,7 +982,7 @@ Foam::labelHashSet Foam::conformalVoronoiMesh::findOffsetPatchFaces offsetBoundaryCells.write(); } - return std::move(offsetBoundaryCells); + return offsetBoundaryCells; } diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C index 03f37ea67d1..ccc5b21fe99 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C @@ -1371,7 +1371,7 @@ Foam::labelHashSet Foam::conformalVoronoiMesh::findRemainingProtrusionSet protrudingCells.write(); } - return std::move(protrudingCells); + return protrudingCells; } diff --git a/applications/utilities/surface/surfaceInflate/surfaceInflate.C b/applications/utilities/surface/surfaceInflate/surfaceInflate.C index 364b00e0e7b..69adf9f171d 100644 --- a/applications/utilities/surface/surfaceInflate/surfaceInflate.C +++ b/applications/utilities/surface/surfaceInflate/surfaceInflate.C @@ -221,9 +221,10 @@ void detectSelfIntersections const edgeList& edges = s.edges(); const indexedOctree<treeDataTriSurface>& tree = s.tree(); const labelList& meshPoints = s.meshPoints(); - const pointField& points = s.points(); + const tmp<pointField> tpoints(s.points()); + const pointField& points = tpoints(); - isEdgeIntersecting.setSize(edges.size()); + isEdgeIntersecting.resize_nocopy(edges.size()); isEdgeIntersecting = false; forAll(edges, edgeI) @@ -311,7 +312,8 @@ label detectIntersectionPoints detectSelfIntersections(s, isEdgeIntersecting); const edgeList& edges = s.edges(); - const pointField& points = s.points(); + const tmp<pointField> tpoints(s.points()); + const pointField& points = tpoints(); forAll(edges, edgeI) { @@ -836,9 +838,10 @@ int main(int argc, char *argv[]) // Do some smoothing (Lloyds algorithm) lloydsSmoothing(nSmooth, s, isFeaturePoint, edgeStat, isAffectedPoint); - // Update pointDisplacement - const pointField& pts = s.points(); + const tmp<pointField> tpoints(s.points()); + const pointField& pts = tpoints(); + forAll(meshPoints, i) { label meshPointI = meshPoints[i]; diff --git a/src/OpenFOAM/fields/cloud/cloud.H b/src/OpenFOAM/fields/cloud/cloud.H index ed1109cdeac..e0256fd6dcc 100644 --- a/src/OpenFOAM/fields/cloud/cloud.H +++ b/src/OpenFOAM/fields/cloud/cloud.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -172,6 +172,21 @@ public: { return obr.lookupObject<IOField<Type>>(fieldName); } + + //- Lookup an IOField within object registry + // Fatal if not found or wrong type + // + // Note: const char signature to avoid spurious + // -Wdangling-reference with gcc-13 + template<class Type> + static const IOField<Type>& lookupIOField + ( + const char* fieldName, + const objectRegistry& obr + ) + { + return obr.lookupObject<IOField<Type>>(word(fieldName)); + } }; diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C index 9341a5ad129..5813f534cf4 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C @@ -289,10 +289,12 @@ void Foam::processorPolyPatch::calcGeometry(PstreamBuffers& pBufs) label vertI = 0; - forAll(faceCentres(), facej) + const vectorField::subField ownFaceCentres = faceCentres(); + + forAll(ownFaceCentres, facej) { const point& c0 = neighbFaceCentres_[facej]; - const point& c1 = faceCentres()[facej]; + const point& c1 = ownFaceCentres[facej]; writeOBJ(ccStr, c0, c1, vertI); } diff --git a/src/atmosphericModels/fvOptions/atmAmbientTurbSource/atmAmbientTurbSourceTemplates.C b/src/atmosphericModels/fvOptions/atmAmbientTurbSource/atmAmbientTurbSourceTemplates.C index e1dcf807480..d4ef78c3cd3 100644 --- a/src/atmosphericModels/fvOptions/atmAmbientTurbSource/atmAmbientTurbSourceTemplates.C +++ b/src/atmosphericModels/fvOptions/atmAmbientTurbSource/atmAmbientTurbSourceTemplates.C @@ -45,7 +45,8 @@ void Foam::fv::atmAmbientTurbSource::atmAmbientTurbSourceEpsilon ( turbulenceModel::propertiesName ); - const volScalarField& epsilon = turbPtr->epsilon(); + const tmp<volScalarField> tepsilon(turbPtr->epsilon()); + const volScalarField& epsilon = tepsilon(); // (Heuristically derived from RS:Eq. 4, rhs-term:5) eqn += @@ -67,7 +68,9 @@ void Foam::fv::atmAmbientTurbSource::atmAmbientTurbSourceOmega ( turbulenceModel::propertiesName ); - const volScalarField& omega = turbPtr->omega(); + const tmp<volScalarField> tomega(turbPtr->omega()); + const volScalarField& omega = tomega(); + const volScalarField::Internal& beta = mesh_.lookupObjectRef<volScalarField::Internal> ( @@ -93,7 +96,8 @@ void Foam::fv::atmAmbientTurbSource::atmAmbientTurbSourceK ( turbulenceModel::propertiesName ); - const volScalarField& k = turbPtr->k(); + const tmp<volScalarField> tk(turbPtr->k()); + const volScalarField& k = tk(); if (isEpsilon_) { diff --git a/src/atmosphericModels/fvOptions/atmBuoyancyTurbSource/atmBuoyancyTurbSourceTemplates.C b/src/atmosphericModels/fvOptions/atmBuoyancyTurbSource/atmBuoyancyTurbSourceTemplates.C index 468266ee3e5..c6a1e7f9b6d 100644 --- a/src/atmosphericModels/fvOptions/atmBuoyancyTurbSource/atmBuoyancyTurbSourceTemplates.C +++ b/src/atmosphericModels/fvOptions/atmBuoyancyTurbSource/atmBuoyancyTurbSourceTemplates.C @@ -47,8 +47,10 @@ void Foam::fv::atmBuoyancyTurbSource::atmBuoyancyTurbSourceEpsilon ); // Fetch required fields from the epsilon-based model - const volScalarField& k = turbPtr->k(); - const volScalarField& epsilon = turbPtr->epsilon(); + const tmp<volScalarField> tk(turbPtr->k()); + const volScalarField& k = tk(); + const tmp<volScalarField> tepsilon(turbPtr->epsilon()); + const volScalarField& epsilon = tepsilon(); const volScalarField::Internal& GbyNu = mesh_.lookupObjectRef<volScalarField::Internal> ( @@ -77,8 +79,10 @@ void Foam::fv::atmBuoyancyTurbSource::atmBuoyancyTurbSourceOmega ); // Fetch required fields from the omega-based model - const volScalarField& k = turbPtr->k(); - const volScalarField& omega = turbPtr->omega(); + const tmp<volScalarField> tk(turbPtr->k()); + const volScalarField& k = tk(); + const tmp<volScalarField> tomega(turbPtr->omega()); + const volScalarField& omega = tomega(); const volScalarField::Internal& GbyNu = mesh_.lookupObjectRef<volScalarField::Internal> ( @@ -121,7 +125,8 @@ void Foam::fv::atmBuoyancyTurbSource::atmBuoyancyTurbSourceK turbulenceModel::propertiesName ); - const volScalarField& k = turbPtr->k(); + const tmp<volScalarField> tk(turbPtr->k()); + const volScalarField& k = tk(); eqn += fvm::Sp(alpha()*rho()*B_/k(), k); } diff --git a/src/atmosphericModels/fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSourceTemplates.C b/src/atmosphericModels/fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSourceTemplates.C index 0627313a52d..f7125eab8b1 100644 --- a/src/atmosphericModels/fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSourceTemplates.C +++ b/src/atmosphericModels/fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSourceTemplates.C @@ -45,7 +45,8 @@ void Foam::fv::atmPlantCanopyTurbSource::atmPlantCanopyTurbSourceEpsilon ( turbulenceModel::propertiesName ); - const volScalarField& epsilon = turbPtr->epsilon(); + const tmp<volScalarField> tepsilon(turbPtr->epsilon()); + const volScalarField& epsilon = tepsilon(); const volVectorField::Internal& U = turbPtr->U()(); eqn -= fvm::Sp(alpha()*rho()*(C1_ - C2_)*calcPlantCanopyTerm(U), epsilon); @@ -66,7 +67,8 @@ void Foam::fv::atmPlantCanopyTurbSource::atmPlantCanopyTurbSourceOmega ( turbulenceModel::propertiesName ); - const volScalarField& omega = turbPtr->omega(); + const tmp<volScalarField> tomega(turbPtr->omega()); + const volScalarField& omega = tomega(); const volVectorField::Internal& U = turbPtr->U()(); const volScalarField::Internal& gamma = mesh_.lookupObjectRef<volScalarField::Internal> diff --git a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.H b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.H index cdde0dc1870..c5b2a4417db 100644 --- a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.H +++ b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.H @@ -38,8 +38,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef singleCellFvMesh_H -#define singleCellFvMesh_H +#ifndef Foam_singleCellFvMesh_H +#define Foam_singleCellFvMesh_H #include "fvPatchFieldMapper.H" #include "fvMesh.H" @@ -58,7 +58,7 @@ class singleCellFvMesh : public fvMesh { - // Private data + // Private Data const labelListIOList patchFaceAgglomeration_; @@ -179,36 +179,39 @@ public: // Member Functions - bool agglomerate() const + bool agglomerate() const noexcept { - return patchFaceAgglomeration_.size() > 0; + return !patchFaceAgglomeration_.empty(); } //- From patchFace on this back to original mesh or agglomeration - const labelListList& patchFaceMap() const + const labelListList& patchFaceMap() const noexcept { return patchFaceMap_; } //- From point on this back to original mesh - const labelList& pointMap() const + const labelList& pointMap() const noexcept { return pointMap_; } //- From face on original mesh to face on this - const labelList& reverseFaceMap() const + const labelList& reverseFaceMap() const noexcept { return reverseFaceMap_; } //- From point on original mesh to point on this (or -1 for removed //- points) - const labelList& reversePointMap() const + const labelList& reversePointMap() const noexcept { return reversePointMap_; } + //- Interpolate for overset (unused) + using fvMesh::interpolate; + //- Map volField. Internal field set to average, patch fields straight //- copies. template<class Type> @@ -217,7 +220,6 @@ public: ( const GeometricField<Type, fvPatchField, volMesh>& ) const; - }; diff --git a/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C b/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C index 24dfae4379c..ce710d6c254 100644 --- a/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C +++ b/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C @@ -132,9 +132,9 @@ void Foam::patchTransformedInterpolation::interpolate labelList pointDisplacementNSum(nPoints, Zero); vectorField pointDisplacementSum(nPoints, Zero); - forAll(patches_, patchI) + for (const label patchi : patches_) { - const polyPatch& patch(mesh().boundaryMesh()[patches_[patchI]]); + const polyPatch& patch = mesh().boundaryMesh()[patchi]; forAll(patch, pFaceI) { @@ -145,7 +145,7 @@ void Foam::patchTransformedInterpolation::interpolate const labelList cPoints(c.labels(mesh().faces())); // Consider movement around the face centre - const point& xOrigin(patch.faceCentres()[pFaceI]); + const point xOrigin(patch.faceCentres()[pFaceI]); // Mean translation const vector uMean(f.average(points, pointDisplacement)); diff --git a/src/fvOptions/sources/derived/buoyancyTurbSource/buoyancyTurbSourceTemplates.C b/src/fvOptions/sources/derived/buoyancyTurbSource/buoyancyTurbSourceTemplates.C index 10cdc62b8c4..db5ef7b800f 100644 --- a/src/fvOptions/sources/derived/buoyancyTurbSource/buoyancyTurbSourceTemplates.C +++ b/src/fvOptions/sources/derived/buoyancyTurbSource/buoyancyTurbSourceTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020 OpenCFD Ltd + Copyright (C) 2020,2023 OpenCFD Ltd ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,7 +46,8 @@ void Foam::fv::buoyancyTurbSource::buoyancyTurbSourceK ( turbulenceModel::propertiesName ); - const volScalarField& nut = turbPtr->nut(); + const tmp<volScalarField> tnut(turbPtr->nut()); + const volScalarField& nut = tnut(); const dictionary& turbDict = turbPtr->coeffDict(); const scalar Prt diff --git a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C index 12fd8ab0362..aab3ce1bd8c 100644 --- a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C +++ b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C @@ -231,7 +231,7 @@ void Foam::FreeStream<CloudType>::inflow() label celli = mesh.faceOwner()[globalFaceIndex]; - const vector& fC = patch.faceCentres()[pFI]; + const vector fC = patch.faceCentres()[pFI]; scalar fA = mag(patch.faceAreas()[pFI]); diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C index 8dad26141a9..8066ce69518 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C @@ -3805,26 +3805,27 @@ const Foam::dictionary& Foam::meshRefinement::subDict enum keyType::option matchOpt ) { - const auto finder(dict.csearch(keyword, matchOpt)); + const dictionary* dictptr = dict.findDict(keyword, matchOpt); - if (!finder.good()) + if (!dictptr) { - auto& err = FatalIOErrorInFunction(dict); - - err << "Entry '" << keyword << "' not found in dictionary " + FatalIOErrorInFunction(dict) + << "Entry '" << keyword + << "' not found (or not a dictionary) in dictionary " << dict.relativeName() << nl; if (noExit) { + // Dummy return return dictionary::null; } else { - err << exit(FatalIOError); + FatalIOError << exit(FatalIOError); } } - return finder.dict(); + return *dictptr; } @@ -3840,19 +3841,18 @@ Foam::ITstream& Foam::meshRefinement::lookup if (!eptr) { - auto& err = FatalIOErrorInFunction(dict); - - err << "Entry '" << keyword << "' not found in dictionary " + FatalIOErrorInFunction(dict) + << "Entry '" << keyword << "' not found in dictionary " << dict.relativeName() << nl; if (noExit) { - // Fake entry - return dict.first()->stream(); + // Dummy return + return ITstream::empty_stream(); } else { - err << exit(FatalIOError); + FatalIOError << exit(FatalIOError); } } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/adjointEikonalSolver/adjointEikonalSolver.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/adjointEikonalSolver/adjointEikonalSolver.C index 64735b50804..37e6b9d942b 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/adjointEikonalSolver/adjointEikonalSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/adjointEikonalSolver/adjointEikonalSolver.C @@ -83,7 +83,8 @@ void adjointEikonalSolver::read() tmp<surfaceScalarField> adjointEikonalSolver::computeYPhi() { // Primal distance field - const volScalarField& d = adjointSolver_.yWall(); + const tmp<volScalarField> td(adjointSolver_.yWall()); + const volScalarField& d = td(); volVectorField ny ( @@ -198,7 +199,8 @@ void adjointEikonalSolver::solve() read(); // Primal distance field - const volScalarField& d = adjointSolver_.yWall(); + const tmp<volScalarField> td(adjointSolver_.yWall()); + const volScalarField& d = td(); // Convecting flux tmp<surfaceScalarField> tyPhi = computeYPhi(); @@ -275,7 +277,9 @@ boundaryVectorField& adjointEikonalSolver::distanceSensitivities() boundaryVectorField& distanceSens = distanceSensPtr_(); - const volScalarField& d = adjointSolver_.yWall(); + const tmp<volScalarField> td(adjointSolver_.yWall()); + const volScalarField& d = td(); + for (const label patchi : sensitivityPatchIDs_) { vectorField nf(mesh_.boundary()[patchi].nf()); @@ -294,7 +298,8 @@ tmp<volTensorField> adjointEikonalSolver::getFISensitivityTerm() const { Info<< "Calculating distance sensitivities " << endl; - const volScalarField& d = adjointSolver_.yWall(); + const tmp<volScalarField> td(adjointSolver_.yWall()); + const volScalarField& d = td(); const volVectorField gradD(fvc::grad(d)); auto gradDDa @@ -354,7 +359,8 @@ tmp<scalarField> adjointEikonalSolver::topologySensitivities const word& designVarsName ) const { - const volScalarField& d = adjointSolver_.yWall(); + const tmp<volScalarField> td(adjointSolver_.yWall()); + const volScalarField& d = td(); auto tres(tmp<scalarField>::New(d.primitiveField().size(), Zero)); scalarField dSens(d.primitiveField()*da_.primitiveField()); @@ -377,7 +383,9 @@ const volScalarField& adjointEikonalSolver::da() tmp<volVectorField> adjointEikonalSolver::gradEikonal() { - const volScalarField& d = adjointSolver_.yWall(); + const tmp<volScalarField> td(adjointSolver_.yWall()); + const volScalarField& d = td(); + volVectorField gradD(fvc::grad(d)); return tmp<volVectorField>::New("gradEikonal", 2*gradD & fvc::grad(gradD)); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C index 9e17b38e592..c583938e484 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C @@ -95,7 +95,8 @@ tmp<volScalarField> SpalartAllmaras::nutJacobianVar1 ); auto& nutJacobian = tnutJacobian.ref(); - const volScalarField& nu = laminarTransport.nu(); + const tmp<volScalarField> tnu(laminarTransport.nu()); + const volScalarField& nu = tnu(); const volScalarField& nuTilda = TMVar1(); volScalarField chi(nuTilda/nu); diff --git a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/phaseModel/phaseModel.C b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/phaseModel/phaseModel.C index 7f1270c5877..0da2401b990 100644 --- a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/phaseModel/phaseModel.C +++ b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/phaseModel/phaseModel.C @@ -241,7 +241,8 @@ void Foam::phaseModel::correctInflowOutflow(surfaceScalarField& alphaPhi) const { surfaceScalarField::Boundary& alphaPhiBf = alphaPhi.boundaryFieldRef(); const volScalarField::Boundary& alphaBf = boundaryField(); - const surfaceScalarField::Boundary& phiBf = phi().boundaryField(); + const tmp<surfaceScalarField> tphi(phi()); + const auto& phiBf = tphi().boundaryField(); forAll(alphaPhiBf, patchi) { diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C index 7623bd2d702..fb7c5377211 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C @@ -355,7 +355,8 @@ Foam::MomentumTransferPhaseSystem<BasePhaseSystem>::momentumTransfer() fvVectorMatrix& eqn = *eqns[phase.name()]; const volVectorField& U = eqn.psi(); - const surfaceScalarField& phi = phase.phi(); + const tmp<surfaceScalarField> tphi(phase.phi()); + const surfaceScalarField& phi = tphi(); eqn -= Vm @@ -408,7 +409,8 @@ Foam::MomentumTransferPhaseSystem<BasePhaseSystem>::momentumTransferf() if (!phase.stationary()) { - const volVectorField& U = phase.U(); + const tmp<volVectorField> tU(phase.U()); + const volVectorField& U = tU(); UgradUs.set ( diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialModels/dragModels/segregated/segregated.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialModels/dragModels/segregated/segregated.C index e3b8208670a..467f1817aed 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialModels/dragModels/segregated/segregated.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialModels/dragModels/segregated/segregated.C @@ -85,8 +85,11 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::K() const const volScalarField& alpha1(pair_.phase1()); const volScalarField& alpha2(pair_.phase2()); - const volScalarField& rho1(pair_.phase1().rho()); - const volScalarField& rho2(pair_.phase2().rho()); + const tmp<volScalarField> trho1(pair_.phase1().rho()); + const tmp<volScalarField> trho2(pair_.phase2().rho()); + + const volScalarField& rho1 = trho1(); + const volScalarField& rho2 = trho2(); tmp<volScalarField> tnu1(pair_.phase1().nu()); tmp<volScalarField> tnu2(pair_.phase2().nu()); diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C index 54b2f2fbcd7..56e2b855dba 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C @@ -93,7 +93,8 @@ Foam::tmp<Foam::fvScalarMatrix> Foam::AnisothermalPhaseModel<BasePhaseModel>::heEqn() { const volScalarField& alpha = *this; - const volScalarField& rho = this->rho(); + const tmp<volScalarField> trho(this->rho()); + const volScalarField& rho(trho()); const tmp<volVectorField> tU(this->U()); const volVectorField& U(tU()); diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C index 4e75adec974..c8d030117d0 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C @@ -283,7 +283,8 @@ Foam::tmp<Foam::fvVectorMatrix> Foam::MovingPhaseModel<BasePhaseModel>::UEqn() { const volScalarField& alpha = *this; - const volScalarField& rho = this->thermo().rho(); + const tmp<volScalarField> trho = this->thermo().rho(); + const volScalarField& rho = trho(); return ( @@ -303,14 +304,13 @@ Foam::MovingPhaseModel<BasePhaseModel>::UfEqn() // As the "normal" U-eqn but without the ddt terms const volScalarField& alpha = *this; - const volScalarField& rho = this->thermo().rho(); return ( fvm::div(alphaRhoPhi_, U_) - fvm::Sp(fvc::div(alphaRhoPhi_), U_) + fvm::SuSp(- this->continuityErrorSources(), U_) - + this->fluid().MRF().DDt(alpha*rho, U_) + + this->fluid().MRF().DDt(alpha*this->thermo().rho(), U_) + turbulence_->divDevRhoReff(U_) ); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C index 9482f0244cb..40c5464098b 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C @@ -152,7 +152,8 @@ Foam::MultiComponentPhaseModel<BasePhaseModel>::YiEqn(volScalarField& Yi) { const volScalarField& alpha = *this; const surfaceScalarField alphaRhoPhi(this->alphaRhoPhi()); - const volScalarField& rho = this->thermo().rho(); + const tmp<volScalarField> trho(this->thermo().rho()); + const volScalarField& rho = trho(); return ( diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/phaseModel/phaseModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/phaseModel/phaseModel.C index 9cb69181e48..d697c19a389 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/phaseModel/phaseModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/phaseModel/phaseModel.C @@ -207,7 +207,8 @@ void Foam::phaseModel::correctInflowOutflow(surfaceScalarField& alphaPhi) const { surfaceScalarField::Boundary& alphaPhiBf = alphaPhi.boundaryFieldRef(); const volScalarField::Boundary& alphaBf = boundaryField(); - const surfaceScalarField::Boundary& phiBf = phi()().boundaryField(); + const tmp<surfaceScalarField> tphi(phi()); + const auto& phiBf = tphi().boundaryField(); forAll(alphaPhiBf, patchi) { diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/nucleationModels/wallBoiling/wallBoiling.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/nucleationModels/wallBoiling/wallBoiling.C index a38aaa2824b..445162fcb62 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/nucleationModels/wallBoiling/wallBoiling.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/nucleationModels/wallBoiling/wallBoiling.C @@ -154,7 +154,8 @@ Foam::diameterModels::nucleationModels::wallBoiling::addToNucleationRate { const sizeGroup& fi = popBal_.sizeGroups()[i]; const phaseModel& phase = fi.phase(); - const volScalarField& rho = phase.rho(); + const tmp<volScalarField> trho(phase.rho()); + const volScalarField& rho = trho(); const tmp<volScalarField> talphat(turbulence_.alphat()); const volScalarField::Boundary& alphatBf = talphat().boundaryField(); diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/populationBalanceModel/populationBalanceModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/populationBalanceModel/populationBalanceModel.C index db4ccbfac4d..e3e046cf44d 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/populationBalanceModel/populationBalanceModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/populationBalanceModel/populationBalanceModel.C @@ -1273,7 +1273,8 @@ void Foam::diameterModels::populationBalanceModel::solve() const phaseModel& phase = fi.phase(); const volScalarField& alpha = phase; const dimensionedScalar& residualAlpha = phase.residualAlpha(); - const volScalarField& rho = phase.thermo().rho(); + const tmp<volScalarField> trho(phase.thermo().rho()); + const volScalarField& rho = trho(); fvScalarMatrix sizeGroupEqn ( diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C index 4bde1a14c05..cf5b7670bd2 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C +++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C @@ -156,7 +156,8 @@ JohnsonJacksonSchaeffer::nu } const fvPatchList& patches = phase.mesh().boundary(); - const volVectorField& U = phase.U(); + const tmp<volVectorField> tU(phase.U()); + const volVectorField& U = tU(); volScalarField::Boundary& nufBf = nuf.boundaryFieldRef(); diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C index b0aac1aa02c..d0c5de3052a 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C +++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C @@ -154,7 +154,8 @@ Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu } const fvPatchList& patches = phase.mesh().boundary(); - const volVectorField& U = phase.U(); + const tmp<volVectorField> tU(phase.U()); + const volVectorField& U = tU(); volScalarField::Boundary& nufBf = nuf.boundaryFieldRef(); diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index 9ac98b1c21c..84a80a1a1cb 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -266,7 +266,8 @@ Foam::RASModels::kineticTheoryModel::R() const Foam::tmp<Foam::volScalarField> Foam::RASModels::kineticTheoryModel::pPrime() const { - const volScalarField& rho = phase_.rho(); + const tmp<volScalarField> trho(phase_.rho()); + const volScalarField& rho = trho(); tmp<volScalarField> tpPrime ( @@ -365,11 +366,13 @@ void Foam::RASModels::kineticTheoryModel::correct() { // Local references volScalarField alpha(max(alpha_, scalar(0))); - const volScalarField& rho = phase_.rho(); + const tmp<volScalarField> trho(phase_.rho()); + const volScalarField& rho = trho(); const surfaceScalarField& alphaRhoPhi = alphaRhoPhi_; const volVectorField& U = U_; - const volVectorField& Uc_ = + const tmp<volVectorField> tUc = refCast<const twoPhaseSystem>(phase_.fluid()).otherPhase(phase_).U(); + const volVectorField& Uc = tUc(); const scalar sqrtPi = sqrt(constant::mathematical::pi); dimensionedScalar ThetaSmall("ThetaSmall", Theta_.dimensions(), 1e-6); @@ -421,7 +424,7 @@ void Foam::RASModels::kineticTheoryModel::correct() volScalarField J2 ( "J2", - 0.25*sqr(beta)*da*magSqr(U - Uc_) + 0.25*sqr(beta)*da*magSqr(U - Uc) /( max(alpha, residualAlpha_)*rho *sqrtPi*(ThetaSqrt + ThetaSmallSqrt) diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C b/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C index 51f8dd9898c..d554ea70fe9 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C +++ b/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C @@ -136,8 +136,10 @@ void Foam::twoPhaseSystem::solve() word alphaScheme("div(phi," + alpha1.name() + ')'); word alpharScheme("div(phir," + alpha1.name() + ')'); - const surfaceScalarField& phi1 = phase1_.phi(); - const surfaceScalarField& phi2 = phase2_.phi(); + const tmp<surfaceScalarField> tphi1(phase1_.phi()); + const surfaceScalarField& phi1 = tphi1(); + const tmp<surfaceScalarField> tphi2(phase2_.phi()); + const surfaceScalarField& phi2 = tphi2(); // Construct the dilatation rate source term tmp<volScalarField::Internal> tdgdt; diff --git a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C index c6216517531..ccb2ff83fc1 100644 --- a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C +++ b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C @@ -154,7 +154,8 @@ Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu } const fvPatchList& patches = phase.mesh().boundary(); - const volVectorField& U = phase.U(); + const tmp<volVectorField> tU(phase.U()); + const volVectorField& U = tU(); volScalarField::Boundary& nufBf = nuf.boundaryFieldRef(); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C index 36d077fae2e..f8129e55eda 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C @@ -80,11 +80,12 @@ Foam::diameterModels::IATEsources::turbulentBreakUp::R() const volScalarField R = tR(); - scalar Cti = Cti_.value(); - scalar WeCr = WeCr_.value(); + const scalar Cti = Cti_.value(); + const scalar WeCr = WeCr_.value(); volScalarField Ut(this->Ut()); volScalarField We(this->We()); - const volScalarField& d(iate_.d()()); + const tmp<volScalarField> td(iate_.d()); + const volScalarField& d = td(); forAll(R, celli) { diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C index 47642607c37..f7a080808d3 100644 --- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C +++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C @@ -192,7 +192,7 @@ void Foam::filmPyrolysisVelocityCoupledFvPatchVectorField::updateCoeffs() } const scalarField UAvePyr(-phiPyr/patch().magSf()); - const vectorField& nf = patch().nf(); + tmp<vectorField> nf(patch().nf()); // Evaluate velocity diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C index b1fb235f024..8c02bb90bcf 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C @@ -61,8 +61,8 @@ multiBandZoneAbsorptionEmission emiCoeffs_(maxBands_), nBands_(0), zoneAbsorptivity_(), - zoneEmisivity_(), - zoneCells_() + zoneEmissivity_(), + zoneIds_() { coeffsDict_.readEntry("absorptivity", absCoeffs_); coeffsDict_.readEntry("emissivity", emiCoeffs_); @@ -71,11 +71,11 @@ multiBandZoneAbsorptionEmission const dictionary& zoneDict = coeffsDict_.subDict("zones"); zoneDict.readEntry("absorptivity", zoneAbsorptivity_); - zoneDict.readEntry("emissivity", zoneEmisivity_); + zoneDict.readEntry("emissivity", zoneEmissivity_); - zoneCells_.setSize(zoneAbsorptivity_.size(), -1); + zoneIds_.resize(zoneAbsorptivity_.size(), -1); - label i = 0; + label numZones = 0; forAllConstIters(zoneAbsorptivity_, iter) { label zoneID = mesh.cellZones().findZoneID(iter.key()); @@ -86,9 +86,10 @@ multiBandZoneAbsorptionEmission << "Valid cellZones are " << mesh.cellZones().names() << exit(FatalError); } - zoneCells_[i++] = zoneID; + zoneIds_[numZones] = zoneID; + ++numZones; } - + // zoneIds_.resize(numZones); } @@ -124,24 +125,19 @@ Foam::radiation::multiBandZoneAbsorptionEmission::aCont ) ); - volScalarField& a = ta.ref(); + scalarField& a = ta.ref().primitiveFieldRef(); - forAll(zoneCells_, zonei) + for (const label zonei : zoneIds_) { - const cellZone& cZone = mesh().cellZones()[zoneCells_[zonei]]; - - tmp<volScalarField> tzoneAbs(a*0.0); - volScalarField& zoneAbs = tzoneAbs.ref(); - - const scalarList& abs = zoneAbsorptivity_.find(cZone.name())(); + const cellZone& zn = mesh().cellZones()[zonei]; + const auto iter = zoneAbsorptivity_.cfind(zn.name()); - forAll(cZone, i) + if (iter.good()) // Check is redundant (cannot fail) { - label cellId = cZone[i]; - zoneAbs[cellId] = abs[bandI] - absCoeffs_[bandI]; - } + const scalarList& absorb = iter.val(); - a += zoneAbs; + UIndirectList<scalar>(a, zn) = absorb[bandI]; + } } return ta; @@ -171,26 +167,21 @@ Foam::radiation::multiBandZoneAbsorptionEmission::eCont ) ); - volScalarField& e = te.ref(); + scalarField& e = te.ref().primitiveFieldRef(); - forAll(zoneCells_, zonei) + for (const label zonei : zoneIds_) { - const cellZone& cZone = mesh().cellZones()[zoneCells_[zonei]]; + const cellZone& zn = mesh().cellZones()[zonei]; + const auto iter = zoneEmissivity_.cfind(zn.name()); - tmp<volScalarField> tzoneEm(e*0.0); - volScalarField& zoneEm = tzoneEm.ref(); - - const scalarList& emi = zoneEmisivity_.find(cZone.name())(); - - forAll(cZone, i) + if (iter.good()) // Check is redundant (cannot fail) { - label cellId = cZone[i]; - zoneEm[cellId] = emi[bandI] - emiCoeffs_[bandI]; + const scalarList& emit = iter.val(); + + UIndirectList<scalar>(e, zn) = emit[bandI]; } - e += zoneEm; } - return te; } diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.H b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.H index 35eb5e7a1bd..be139399444 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.H +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.H @@ -86,11 +86,11 @@ private: //- Cell zones absorptivity HashTable<scalarList> zoneAbsorptivity_; - //- Cell zones emisivity - HashTable<scalarList> zoneEmisivity_; + //- Cell zones emissivity + HashTable<scalarList> zoneEmissivity_; - //- Cells for each zone - labelList zoneCells_; + //- The cellZones selected + labelList zoneIds_; diff --git a/src/waveModels/waveModel/waveModel.C b/src/waveModels/waveModel/waveModel.C index 21c9cf35927..94ac6898238 100644 --- a/src/waveModels/waveModel/waveModel.C +++ b/src/waveModels/waveModel/waveModel.C @@ -90,8 +90,7 @@ void Foam::waveModel::initialiseGeometry() } // Local face centres - const vectorField& Cf = patch_.faceCentres(); - const vectorField CfLocal(Rgl_ & Cf); + const vectorField CfLocal(Rgl_ & patch_.faceCentres()); z_ = CfLocal.component(2); // Local face extents in z-direction -- GitLab From 26904bf6dfce685b3fbe87867f8688d1d0a2cf6b Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 15 Jan 2024 15:23:09 +0000 Subject: [PATCH 011/231] ENH: pointConstraints: allow non-facePointPatch. Fixes #3085 --- .../volPointInterpolation/pointConstraints.C | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.C b/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.C index 0aba8151470..efbbaa7140f 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.C @@ -56,8 +56,6 @@ void Foam::pointConstraints::makePatchPatchAddressing() const polyMesh& mesh = pMesh(); const pointBoundaryMesh& pbm = pMesh.boundary(); - const polyBoundaryMesh& bm = mesh.boundaryMesh(); - // first count the total number of patch-patch points @@ -65,9 +63,15 @@ void Foam::pointConstraints::makePatchPatchAddressing() forAll(pbm, patchi) { - if (!isA<emptyPointPatch>(pbm[patchi]) && !pbm[patchi].coupled()) + const auto* fpp = isA<facePointPatch>(pbm[patchi]); + if + ( + fpp + && !isA<emptyPointPatch>(pbm[patchi]) + && !pbm[patchi].coupled() + ) { - const labelList& bp = bm[patchi].boundaryPoints(); + const labelList& bp = fpp->patch().boundaryPoints(); nPatchPatchPoints += bp.size(); @@ -103,9 +107,15 @@ void Foam::pointConstraints::makePatchPatchAddressing() forAll(pbm, patchi) { - if (!isA<emptyPointPatch>(pbm[patchi]) && !pbm[patchi].coupled()) + const auto* fpp = isA<facePointPatch>(pbm[patchi]); + if + ( + fpp + && !isA<emptyPointPatch>(pbm[patchi]) + && !pbm[patchi].coupled() + ) { - const labelList& bp = bm[patchi].boundaryPoints(); + const labelList& bp = fpp->patch().boundaryPoints(); const labelList& meshPoints = pbm[patchi].meshPoints(); forAll(bp, pointi) @@ -163,9 +173,15 @@ void Foam::pointConstraints::makePatchPatchAddressing() // Copy from patchPatch constraints into coupledConstraints. forAll(pbm, patchi) { - if (!isA<emptyPointPatch>(pbm[patchi]) && !pbm[patchi].coupled()) + const auto* fpp = isA<facePointPatch>(pbm[patchi]); + if + ( + fpp + && !isA<emptyPointPatch>(pbm[patchi]) + && !pbm[patchi].coupled() + ) { - const labelList& bp = bm[patchi].boundaryPoints(); + const labelList& bp = fpp->patch().boundaryPoints(); const labelList& meshPoints = pbm[patchi].meshPoints(); forAll(bp, pointi) -- GitLab From d048befbc039a7c24310072f7888b547a3275f32 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 15 Jan 2024 15:36:57 +0000 Subject: [PATCH 012/231] ENH: distributedTriSurfaceMesh: feed through tolerances --- .../distributedTriSurfaceMesh.C | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C index f3949c5b960..8591ee1d3d7 100644 --- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C +++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1814,6 +1814,11 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs // Now combine for all processors and convert to correct format. forAll(bbs, proci) { + // Inflate a bit for if triangle coincide with processor boundaries + for (auto& bb : bbs[proci]) + { + bb.grow(mergeDist_); + } Pstream::listCombineGather(bbs[proci], plusEqOp<boundBox>()); } Pstream::broadcast(bbs); @@ -1864,6 +1869,11 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs // Now combine for all processors and convert to correct format. forAll(bbs, proci) { + // Inflate a bit for if triangle coincide with processor boundaries + for (auto& bb : bbs[proci]) + { + bb.grow(mergeDist_); + } Pstream::listCombineGather(bbs[proci], plusEqOp<boundBox>()); } Pstream::broadcast(bbs); @@ -2165,6 +2175,11 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs // Now combine for all processors and convert to correct format. forAll(bbs, proci) { + // Inflate a bit for if triangle coincide with processor boundaries + for (auto& bb : bbs[proci]) + { + bb.grow(mergeDist_); + } Pstream::listCombineGather(bbs[proci], plusEqOp<boundBox>()); } Pstream::broadcast(bbs); @@ -2724,16 +2739,16 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh distributionTypeNames_.readIfPresent ( "distributionType", - dict_, + dict, distType_ ); // Merge distance - dict_.readIfPresent("mergeDistance", mergeDist_); + dict.readIfPresent("mergeDistance", mergeDist_); // Distribution type bool closed; - if (dict_.readIfPresent<bool>("closed", closed)) + if (dict.readIfPresent<bool>("closed", closed)) { surfaceClosed_ = closed; } @@ -2741,7 +2756,7 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh outsideVolType_ = volumeType::names.getOrDefault ( "outsideVolumeType", - dict_, + dict, outsideVolType_ ); } -- GitLab From 646b0aab3643fa3413e11cd9e698f7e68e7f8613 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 5 Sep 2023 18:23:58 +0200 Subject: [PATCH 013/231] ENH: allow modification of OSstream name - can be useful when using memory-based streams for buffering, in which case the name() can be used to specify the filesystem location instead of the default stream names ("input", "output"). --- src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H | 4 ++++ src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H index 89f232b4011..cb09f060fe3 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H +++ b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H @@ -59,8 +59,10 @@ class ISstream { // Private Data + //- The input stream path fileName name_; + //- The input stream std::istream& is_; @@ -129,6 +131,8 @@ public: virtual const fileName& name() const override { return name_; } //- The name of the input serial stream, for modification. + // Use with caution since some classes (eg, Fstream) + // also use this for filesystem information! virtual fileName& name() { return name_; } diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H index 70dcd99bba7..dd76e3d8b00 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H +++ b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H @@ -58,8 +58,10 @@ class OSstream { // Private Data + //- The output stream path fileName name_; + //- The output stream std::ostream& os_; @@ -119,6 +121,11 @@ public: //- (eg, the name of the Fstream file name) virtual const fileName& name() const override { return name_; } + //- The name of the output serial stream, for modification. + // Use with caution since some classes (eg, Fstream) + // also use this for filesystem information! + virtual fileName& name() { return name_; } + // STL stream -- GitLab From 5d5f541dd6f28b489d0cde41960ddb354aef1f4d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 4 Jan 2024 17:47:03 +0100 Subject: [PATCH 014/231] ENH: add objectRegistry newIOobject() helper method - creates an IOobject at the current time instance (timeName) with NO_READ/NO_WRITE/NO_REGISTER characteristics. This generalises and replaces the Cloud fieldIOobject() to simplify some common use. // Shorter version (new): volScalarField fld ( mesh.newIOobject(name), ... ); // Longer version: volScalarField fld ( IOobject ( name, mesh.time().timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE IOobject::NO_REGISTER ), ... ); --- .../db/objectRegistry/objectRegistry.C | 40 +++++++++++++- .../db/objectRegistry/objectRegistry.H | 19 ++++++- .../field/streamLine/streamLineParticle.C | 8 +-- .../wallBoundedParticleTemplates.C | 12 ++--- .../wallBoundedStreamLineParticle.C | 8 +-- .../Templates/DSMCParcel/DSMCParcelIO.C | 12 ++--- src/lagrangian/basic/Cloud/Cloud.H | 21 +++++--- src/lagrangian/basic/Cloud/CloudIO.C | 19 ------- .../injectedParticle/injectedParticleIO.C | 16 +++--- .../basic/particle/particleTemplates.C | 8 +-- .../CollidingParcel/CollidingParcelIO.C | 40 +++++++------- .../KinematicParcel/KinematicParcelIO.C | 44 ++++++++-------- .../Templates/MPPICParcel/MPPICParcelIO.C | 5 +- .../ReactingHeterogeneousParcelIO.C | 12 ++--- .../ReactingMultiphaseParcelIO.C | 12 ++--- .../ReactingParcel/ReactingParcelIO.C | 8 +-- .../Templates/ThermoParcel/ThermoParcelIO.C | 8 +-- .../molecule/molecule/moleculeIO.C | 42 +++++++-------- .../solidParticle/solidParticleIO.C | 8 +-- .../Templates/SprayParcel/SprayParcelIO.C | 52 +++++++++---------- 20 files changed, 218 insertions(+), 176 deletions(-) diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.C b/src/OpenFOAM/db/objectRegistry/objectRegistry.C index 76b7bad5cb7..b16e3886292 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.C +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2019 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -151,6 +151,44 @@ Foam::HashTable<Foam::wordHashSet> Foam::objectRegistry::classes() const } +Foam::IOobject Foam::objectRegistry::newIOobject +( + const word& name, + IOobjectOption::readOption rOpt, + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption regOpt +) const +{ + return IOobject + ( + name, + time().timeName(), // instance + *this, + IOobjectOption(rOpt, wOpt, regOpt) + ); +} + + +// FUTURE? +// +// Foam::IOobject Foam::objectRegistry::newIOobject_constant +// ( +// const word& name, +// IOobjectOption::readOption rOpt, +// IOobjectOption::writeOption wOpt, +// IOobjectOption::registerOption regOpt +// ) const +// { +// return IOobject +// ( +// name, +// time().constant(), // instance +// *this, +// IOobjectOption(rOpt, wOpt, regOpt) +// ); +// } + + Foam::label Foam::objectRegistry::count(const char* clsName) const { // No nullptr check - only called with string literals diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.H b/src/OpenFOAM/db/objectRegistry/objectRegistry.H index 6110ab36ad0..175d11a6183 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.H +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2019 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -239,6 +239,23 @@ public: } + // Helper Functions + + //- Create an IOobject at the current time instance (timeName). + // By default the object is NO_READ/NO_WRITE/NO_REGISTER + IOobject newIOobject + ( + //! The object name + const word& name, + //! The read option (default: NO_READ) + IOobjectOption::readOption rOpt = IOobjectOption::NO_READ, + //! The write option (default: NO_WRITE) + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + //! The register option (default: NO_REGISTER) + IOobjectOption::registerOption regOpt = IOobjectOption::NO_REGISTER + ) const; + + // Summary of classes //- A summary hash of classes used and their associated object names. diff --git a/src/functionObjects/field/streamLine/streamLineParticle.C b/src/functionObjects/field/streamLine/streamLineParticle.C index c18415d524a..9b43342a448 100644 --- a/src/functionObjects/field/streamLine/streamLineParticle.C +++ b/src/functionObjects/field/streamLine/streamLineParticle.C @@ -394,14 +394,14 @@ void Foam::streamLineParticle::readFields(Cloud<streamLineParticle>& c) IOField<label> lifeTime ( - c.fieldIOobject("lifeTime", IOobject::MUST_READ), + c.newIOobject("lifeTime", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, lifeTime); vectorFieldIOField sampledPositions ( - c.fieldIOobject("sampledPositions", IOobject::MUST_READ), + c.newIOobject("sampledPositions", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, sampledPositions); @@ -425,12 +425,12 @@ void Foam::streamLineParticle::writeFields(const Cloud<streamLineParticle>& c) IOField<label> lifeTime ( - c.fieldIOobject("lifeTime", IOobject::NO_READ), + c.newIOobject("lifeTime", IOobject::NO_READ), np ); vectorFieldIOField sampledPositions ( - c.fieldIOobject("sampledPositions", IOobject::NO_READ), + c.newIOobject("sampledPositions", IOobject::NO_READ), np ); diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C index 895f8104ae7..76efc17bfd8 100644 --- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C +++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C @@ -427,19 +427,19 @@ void Foam::wallBoundedParticle::readFields(TrackCloudType& c) IOField<point> localPosition ( - c.fieldIOobject("position", IOobject::MUST_READ) + c.newIOobject("position", IOobject::MUST_READ) ); c.checkFieldIOobject(c, localPosition); IOField<label> meshEdgeStart ( - c.fieldIOobject("meshEdgeStart", IOobject::MUST_READ) + c.newIOobject("meshEdgeStart", IOobject::MUST_READ) ); c.checkFieldIOobject(c, meshEdgeStart); IOField<label> diagEdge ( - c.fieldIOobject("diagEdge", IOobject::MUST_READ) + c.newIOobject("diagEdge", IOobject::MUST_READ) ); c.checkFieldIOobject(c, diagEdge); @@ -464,17 +464,17 @@ void Foam::wallBoundedParticle::writeFields(const TrackCloudType& c) IOField<point> localPosition ( - c.fieldIOobject("position", IOobject::NO_READ), + c.newIOobject("position", IOobject::NO_READ), np ); IOField<label> meshEdgeStart ( - c.fieldIOobject("meshEdgeStart", IOobject::NO_READ), + c.newIOobject("meshEdgeStart", IOobject::NO_READ), np ); IOField<label> diagEdge ( - c.fieldIOobject("diagEdge", IOobject::NO_READ), + c.newIOobject("diagEdge", IOobject::NO_READ), np ); diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C index b57fe5c0f70..766c3d2737c 100644 --- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C +++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C @@ -213,13 +213,13 @@ void Foam::wallBoundedStreamLineParticle::readFields IOField<label> lifeTime ( - c.fieldIOobject("lifeTime", IOobject::MUST_READ) + c.newIOobject("lifeTime", IOobject::MUST_READ) ); c.checkFieldIOobject(c, lifeTime); vectorFieldIOField sampledPositions ( - c.fieldIOobject("sampledPositions", IOobject::MUST_READ) + c.newIOobject("sampledPositions", IOobject::MUST_READ) ); c.checkFieldIOobject(c, sampledPositions); @@ -244,12 +244,12 @@ void Foam::wallBoundedStreamLineParticle::writeFields IOField<label> lifeTime ( - c.fieldIOobject("lifeTime", IOobject::NO_READ), + c.newIOobject("lifeTime", IOobject::NO_READ), np ); vectorFieldIOField sampledPositions ( - c.fieldIOobject("sampledPositions", IOobject::NO_READ), + c.newIOobject("sampledPositions", IOobject::NO_READ), np ); diff --git a/src/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcelIO.C b/src/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcelIO.C index c50c4e35018..30a2f6f72af 100644 --- a/src/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcelIO.C +++ b/src/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcelIO.C @@ -91,15 +91,15 @@ void Foam::DSMCParcel<ParcelType>::readFields(Cloud<DSMCParcel<ParcelType>>& c) ParcelType::readFields(c); - IOField<vector> U(c.fieldIOobject("U", IOobject::MUST_READ), readOnProc); + IOField<vector> U(c.newIOobject("U", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, U); - IOField<scalar> Ei(c.fieldIOobject("Ei", IOobject::MUST_READ), readOnProc); + IOField<scalar> Ei(c.newIOobject("Ei", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, Ei); IOField<label> typeId ( - c.fieldIOobject("typeId", IOobject::MUST_READ), + c.newIOobject("typeId", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, typeId); @@ -126,9 +126,9 @@ void Foam::DSMCParcel<ParcelType>::writeFields const label np = c.size(); const bool writeOnProc = c.size(); - IOField<vector> U(c.fieldIOobject("U", IOobject::NO_READ), np); - IOField<scalar> Ei(c.fieldIOobject("Ei", IOobject::NO_READ), np); - IOField<label> typeId(c.fieldIOobject("typeId", IOobject::NO_READ), np); + IOField<vector> U(c.newIOobject("U", IOobject::NO_READ), np); + IOField<scalar> Ei(c.newIOobject("Ei", IOobject::NO_READ), np); + IOField<label> typeId(c.newIOobject("typeId", IOobject::NO_READ), np); label i = 0; for (const DSMCParcel<ParcelType>& p : c) diff --git a/src/lagrangian/basic/Cloud/Cloud.H b/src/lagrangian/basic/Cloud/Cloud.H index 9bc8e5c37d0..9d4c842dac0 100644 --- a/src/lagrangian/basic/Cloud/Cloud.H +++ b/src/lagrangian/basic/Cloud/Cloud.H @@ -226,13 +226,6 @@ public: // Read - //- Helper to construct IOobject for field and current time. - IOobject fieldIOobject - ( - const word& fieldName, - IOobjectOption::readOption rOpt = IOobjectOption::NO_READ - ) const; - //- Check lagrangian data field template<class DataType> void checkFieldIOobject @@ -287,6 +280,20 @@ public: // Stores the particles global positions in the database // for use during mapping. void storeGlobalPositions() const; + + + // Housekeeping + + //- Helper to construct IOobject for field and current time. + FOAM_DEPRECATED_FOR(2024-01, "newIOobject()") + IOobject fieldIOobject + ( + const word& fieldName, + IOobjectOption::readOption rOpt = IOobjectOption::NO_READ + ) const + { + return this->newIOobject(fieldName, rOpt); + } }; diff --git a/src/lagrangian/basic/Cloud/CloudIO.C b/src/lagrangian/basic/Cloud/CloudIO.C index 70f14cac286..d804f755c7a 100644 --- a/src/lagrangian/basic/Cloud/CloudIO.C +++ b/src/lagrangian/basic/Cloud/CloudIO.C @@ -177,25 +177,6 @@ Foam::Cloud<ParticleType>::Cloud // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class ParticleType> -Foam::IOobject Foam::Cloud<ParticleType>::fieldIOobject -( - const word& fieldName, - IOobjectOption::readOption rOpt -) const -{ - return IOobject - ( - fieldName, - time().timeName(), - *this, - rOpt, - IOobjectOption::NO_WRITE, - IOobjectOption::NO_REGISTER - ); -} - - template<class ParticleType> template<class DataType> void Foam::Cloud<ParticleType>::checkFieldIOobject diff --git a/src/lagrangian/basic/injectedParticle/injectedParticleIO.C b/src/lagrangian/basic/injectedParticle/injectedParticleIO.C index 5a44f4caa50..e310d25a56c 100644 --- a/src/lagrangian/basic/injectedParticle/injectedParticleIO.C +++ b/src/lagrangian/basic/injectedParticle/injectedParticleIO.C @@ -104,16 +104,16 @@ void Foam::injectedParticle::readFields(Cloud<injectedParticle>& c) particle::readFields(c); - IOField<label> tag(c.fieldIOobject("tag", IOobject::MUST_READ)); + IOField<label> tag(c.newIOobject("tag", IOobject::MUST_READ)); c.checkFieldIOobject(c, tag); - IOField<scalar> soi(c.fieldIOobject("soi", IOobject::MUST_READ)); + IOField<scalar> soi(c.newIOobject("soi", IOobject::MUST_READ)); c.checkFieldIOobject(c, soi); - IOField<scalar> d(c.fieldIOobject("d", IOobject::MUST_READ)); + IOField<scalar> d(c.newIOobject("d", IOobject::MUST_READ)); c.checkFieldIOobject(c, d); - IOField<vector> U(c.fieldIOobject("U", IOobject::MUST_READ)); + IOField<vector> U(c.newIOobject("U", IOobject::MUST_READ)); c.checkFieldIOobject(c, U); label i = 0; @@ -144,10 +144,10 @@ void Foam::injectedParticle::writeFields(const Cloud<injectedParticle>& c) const label np = c.size(); - IOField<label> tag(c.fieldIOobject("tag", IOobject::NO_READ), np); - IOField<scalar> soi(c.fieldIOobject("soi", IOobject::NO_READ), np); - IOField<scalar> d(c.fieldIOobject("d", IOobject::NO_READ), np); - IOField<vector> U(c.fieldIOobject("U", IOobject::NO_READ), np); + IOField<label> tag(c.newIOobject("tag", IOobject::NO_READ), np); + IOField<scalar> soi(c.newIOobject("soi", IOobject::NO_READ), np); + IOField<scalar> d(c.newIOobject("d", IOobject::NO_READ), np); + IOField<vector> U(c.newIOobject("U", IOobject::NO_READ), np); label i = 0; diff --git a/src/lagrangian/basic/particle/particleTemplates.C b/src/lagrangian/basic/particle/particleTemplates.C index 9169336118f..aa1c25ea731 100644 --- a/src/lagrangian/basic/particle/particleTemplates.C +++ b/src/lagrangian/basic/particle/particleTemplates.C @@ -141,7 +141,7 @@ void Foam::particle::readFields(TrackCloudType& c) { const bool readOnProc = c.size(); - IOobject procIO(c.fieldIOobject("origProcId", IOobject::MUST_READ)); + IOobject procIO(c.newIOobject("origProcId", IOobject::MUST_READ)); const bool haveFile = procIO.typeHeaderOk<IOField<label>>(true); @@ -150,7 +150,7 @@ void Foam::particle::readFields(TrackCloudType& c) IOField<label> origId ( - c.fieldIOobject("origId", IOobject::MUST_READ), + c.newIOobject("origId", IOobject::MUST_READ), readOnProc && haveFile ); c.checkFieldIOobject(c, origId); @@ -197,12 +197,12 @@ void Foam::particle::writeFields(const TrackCloudType& c) IOField<label> origProc ( - c.fieldIOobject("origProcId", IOobject::NO_READ), + c.newIOobject("origProcId", IOobject::NO_READ), np ); IOField<label> origId ( - c.fieldIOobject("origId", IOobject::NO_READ), + c.newIOobject("origId", IOobject::NO_READ), np ); diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcelIO.C index 1aa32adde2a..cf080b2aee3 100644 --- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcelIO.C @@ -101,33 +101,33 @@ void Foam::CollidingParcel<ParcelType>::readFields(CloudType& c) ParcelType::readFields(c); - IOField<vector> f(c.fieldIOobject("f", IOobject::MUST_READ), readOnProc); + IOField<vector> f(c.newIOobject("f", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, f); IOField<vector> angularMomentum ( - c.fieldIOobject("angularMomentum", IOobject::MUST_READ), + c.newIOobject("angularMomentum", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, angularMomentum); IOField<vector> torque ( - c.fieldIOobject("torque", IOobject::MUST_READ), + c.newIOobject("torque", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, torque); labelFieldCompactIOField collisionRecordsPairAccessed ( - c.fieldIOobject("collisionRecordsPairAccessed", IOobject::MUST_READ), + c.newIOobject("collisionRecordsPairAccessed", IOobject::MUST_READ), readOnProc ); c.checkFieldFieldIOobject(c, collisionRecordsPairAccessed); labelFieldCompactIOField collisionRecordsPairOrigProcOfOther ( - c.fieldIOobject + c.newIOobject ( "collisionRecordsPairOrigProcOfOther", IOobject::MUST_READ @@ -138,7 +138,7 @@ void Foam::CollidingParcel<ParcelType>::readFields(CloudType& c) labelFieldCompactIOField collisionRecordsPairOrigIdOfOther ( - c.fieldIOobject + c.newIOobject ( "collisionRecordsPairOrigIdOfOther", IOobject::MUST_READ @@ -149,28 +149,28 @@ void Foam::CollidingParcel<ParcelType>::readFields(CloudType& c) pairDataFieldCompactIOField collisionRecordsPairData ( - c.fieldIOobject("collisionRecordsPairData", IOobject::MUST_READ), + c.newIOobject("collisionRecordsPairData", IOobject::MUST_READ), readOnProc ); c.checkFieldFieldIOobject(c, collisionRecordsPairData); labelFieldCompactIOField collisionRecordsWallAccessed ( - c.fieldIOobject("collisionRecordsWallAccessed", IOobject::MUST_READ), + c.newIOobject("collisionRecordsWallAccessed", IOobject::MUST_READ), readOnProc ); c.checkFieldFieldIOobject(c, collisionRecordsWallAccessed); vectorFieldCompactIOField collisionRecordsWallPRel ( - c.fieldIOobject("collisionRecordsWallPRel", IOobject::MUST_READ), + c.newIOobject("collisionRecordsWallPRel", IOobject::MUST_READ), readOnProc ); c.checkFieldFieldIOobject(c, collisionRecordsWallPRel); wallDataFieldCompactIOField collisionRecordsWallData ( - c.fieldIOobject("collisionRecordsWallData", IOobject::MUST_READ), + c.newIOobject("collisionRecordsWallData", IOobject::MUST_READ), readOnProc ); c.checkFieldFieldIOobject(c, collisionRecordsWallData); @@ -209,22 +209,22 @@ void Foam::CollidingParcel<ParcelType>::writeFields(const CloudType& c) const bool writeOnProc = c.size(); - IOField<vector> f(c.fieldIOobject("f", IOobject::NO_READ), np); + IOField<vector> f(c.newIOobject("f", IOobject::NO_READ), np); IOField<vector> angMom ( - c.fieldIOobject("angularMomentum", IOobject::NO_READ), + c.newIOobject("angularMomentum", IOobject::NO_READ), np ); - IOField<vector> torque(c.fieldIOobject("torque", IOobject::NO_READ), np); + IOField<vector> torque(c.newIOobject("torque", IOobject::NO_READ), np); labelFieldCompactIOField collisionRecordsPairAccessed ( - c.fieldIOobject("collisionRecordsPairAccessed", IOobject::NO_READ), + c.newIOobject("collisionRecordsPairAccessed", IOobject::NO_READ), np ); labelFieldCompactIOField collisionRecordsPairOrigProcOfOther ( - c.fieldIOobject + c.newIOobject ( "collisionRecordsPairOrigProcOfOther", IOobject::NO_READ @@ -233,27 +233,27 @@ void Foam::CollidingParcel<ParcelType>::writeFields(const CloudType& c) ); labelFieldCompactIOField collisionRecordsPairOrigIdOfOther ( - c.fieldIOobject("collisionRecordsPairOrigIdOfOther", IOobject::NO_READ), + c.newIOobject("collisionRecordsPairOrigIdOfOther", IOobject::NO_READ), np ); pairDataFieldCompactIOField collisionRecordsPairData ( - c.fieldIOobject("collisionRecordsPairData", IOobject::NO_READ), + c.newIOobject("collisionRecordsPairData", IOobject::NO_READ), np ); labelFieldCompactIOField collisionRecordsWallAccessed ( - c.fieldIOobject("collisionRecordsWallAccessed", IOobject::NO_READ), + c.newIOobject("collisionRecordsWallAccessed", IOobject::NO_READ), np ); vectorFieldCompactIOField collisionRecordsWallPRel ( - c.fieldIOobject("collisionRecordsWallPRel", IOobject::NO_READ), + c.newIOobject("collisionRecordsWallPRel", IOobject::NO_READ), np ); wallDataFieldCompactIOField collisionRecordsWallData ( - c.fieldIOobject("collisionRecordsWallData", IOobject::NO_READ), + c.newIOobject("collisionRecordsWallData", IOobject::NO_READ), np ); diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelIO.C index a488b9e4f7e..e660263e2bc 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelIO.C @@ -126,77 +126,77 @@ void Foam::KinematicParcel<ParcelType>::readFields(CloudType& c) IOField<label> active ( - c.fieldIOobject("active", IOobject::MUST_READ), + c.newIOobject("active", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, active); IOField<label> typeId ( - c.fieldIOobject("typeId", IOobject::MUST_READ), + c.newIOobject("typeId", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, typeId); IOField<scalar> nParticle ( - c.fieldIOobject("nParticle", IOobject::MUST_READ), + c.newIOobject("nParticle", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, nParticle); IOField<scalar> d ( - c.fieldIOobject("d", IOobject::MUST_READ), + c.newIOobject("d", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, d); IOField<scalar> dTarget ( - c.fieldIOobject("dTarget", IOobject::MUST_READ), + c.newIOobject("dTarget", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, dTarget); IOField<vector> U ( - c.fieldIOobject("U", IOobject::MUST_READ), + c.newIOobject("U", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, U); IOField<scalar> rho ( - c.fieldIOobject("rho", IOobject::MUST_READ), + c.newIOobject("rho", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, rho); IOField<scalar> age ( - c.fieldIOobject("age", IOobject::MUST_READ), + c.newIOobject("age", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, age); IOField<scalar> tTurb ( - c.fieldIOobject("tTurb", IOobject::MUST_READ), + c.newIOobject("tTurb", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, tTurb); IOField<vector> UTurb ( - c.fieldIOobject("UTurb", IOobject::MUST_READ), + c.newIOobject("UTurb", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, UTurb); IOField<vector> UCorrect ( - c.fieldIOobject("UCorrect", IOobject::MUST_READ), + c.newIOobject("UCorrect", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, UCorrect); @@ -231,21 +231,21 @@ void Foam::KinematicParcel<ParcelType>::writeFields(const CloudType& c) const label np = c.size(); const bool writeOnProc = c.size(); - IOField<label> active(c.fieldIOobject("active", IOobject::NO_READ), np); - IOField<label> typeId(c.fieldIOobject("typeId", IOobject::NO_READ), np); + IOField<label> active(c.newIOobject("active", IOobject::NO_READ), np); + IOField<label> typeId(c.newIOobject("typeId", IOobject::NO_READ), np); IOField<scalar> nParticle ( - c.fieldIOobject("nParticle", IOobject::NO_READ), + c.newIOobject("nParticle", IOobject::NO_READ), np ); - IOField<scalar> d(c.fieldIOobject("d", IOobject::NO_READ), np); - IOField<scalar> dTarget(c.fieldIOobject("dTarget", IOobject::NO_READ), np); - IOField<vector> U(c.fieldIOobject("U", IOobject::NO_READ), np); - IOField<scalar> rho(c.fieldIOobject("rho", IOobject::NO_READ), np); - IOField<scalar> age(c.fieldIOobject("age", IOobject::NO_READ), np); - IOField<scalar> tTurb(c.fieldIOobject("tTurb", IOobject::NO_READ), np); - IOField<vector> UTurb(c.fieldIOobject("UTurb", IOobject::NO_READ), np); - IOField<vector> UCorrect(c.fieldIOobject("UCorrect", IOobject::NO_READ), np); + IOField<scalar> d(c.newIOobject("d", IOobject::NO_READ), np); + IOField<scalar> dTarget(c.newIOobject("dTarget", IOobject::NO_READ), np); + IOField<vector> U(c.newIOobject("U", IOobject::NO_READ), np); + IOField<scalar> rho(c.newIOobject("rho", IOobject::NO_READ), np); + IOField<scalar> age(c.newIOobject("age", IOobject::NO_READ), np); + IOField<scalar> tTurb(c.newIOobject("tTurb", IOobject::NO_READ), np); + IOField<vector> UTurb(c.newIOobject("UTurb", IOobject::NO_READ), np); + IOField<vector> UCorrect(c.newIOobject("UCorrect", IOobject::NO_READ), np); label i = 0; diff --git a/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcelIO.C index 581e53e5b2c..0cf83e4e051 100644 --- a/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcelIO.C @@ -94,7 +94,7 @@ void Foam::MPPICParcel<ParcelType>::readFields(CloudType& c) IOField<vector> UCorrect ( - c.fieldIOobject("UCorrect", IOobject::MUST_READ), + c.newIOobject("UCorrect", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, UCorrect); @@ -118,8 +118,7 @@ void Foam::MPPICParcel<ParcelType>::writeFields(const CloudType& c) const label np = c.size(); const bool writeOnProc = c.size(); - IOField<vector> - UCorrect(c.fieldIOobject("UCorrect", IOobject::NO_READ), np); + IOField<vector> UCorrect(c.newIOobject("UCorrect", IOobject::NO_READ), np); label i = 0; diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcelIO.C index a1109002f14..e577aa35b94 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcelIO.C @@ -93,7 +93,7 @@ void Foam::ReactingHeterogeneousParcel<ParcelType>::readFields IOField<scalar> mass0 ( - c.fieldIOobject("mass0", IOobject::MUST_READ), + c.newIOobject("mass0", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, mass0); @@ -123,7 +123,7 @@ void Foam::ReactingHeterogeneousParcel<ParcelType>::readFields // Read F IOField<scalar> F ( - c.fieldIOobject + c.newIOobject ( "F" + name(i), IOobject::MUST_READ @@ -144,7 +144,7 @@ void Foam::ReactingHeterogeneousParcel<ParcelType>::readFields { IOField<scalar> Y ( - c.fieldIOobject + c.newIOobject ( "Y" + solidNames[j], IOobject::MUST_READ @@ -188,7 +188,7 @@ void Foam::ReactingHeterogeneousParcel<ParcelType>::writeFields const label np = c.size(); const bool writeOnProc = c.size(); - IOField<scalar> mass0(c.fieldIOobject("mass0", IOobject::NO_READ), np); + IOField<scalar> mass0(c.newIOobject("mass0", IOobject::NO_READ), np); label nF = 0; label i = 0; @@ -208,7 +208,7 @@ void Foam::ReactingHeterogeneousParcel<ParcelType>::writeFields { IOField<scalar> F ( - c.fieldIOobject + c.newIOobject ( "F" + name(i), IOobject::NO_READ @@ -231,7 +231,7 @@ void Foam::ReactingHeterogeneousParcel<ParcelType>::writeFields { IOField<scalar> Y ( - c.fieldIOobject + c.newIOobject ( "Y" + solidNames[j], IOobject::NO_READ diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelIO.C index f5e5987fa2c..bc65c1387b0 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelIO.C @@ -119,7 +119,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::readFields { IOField<scalar> YGas ( - c.fieldIOobject + c.newIOobject ( "Y" + gasNames[j] + stateLabels[idGas], IOobject::MUST_READ @@ -139,7 +139,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::readFields { IOField<scalar> YLiquid ( - c.fieldIOobject + c.newIOobject ( "Y" + liquidNames[j] + stateLabels[idLiquid], IOobject::MUST_READ @@ -159,7 +159,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::readFields { IOField<scalar> YSolid ( - c.fieldIOobject + c.newIOobject ( "Y" + solidNames[j] + stateLabels[idSolid], IOobject::MUST_READ @@ -208,7 +208,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::writeFields { IOField<scalar> YGas ( - c.fieldIOobject + c.newIOobject ( "Y" + gasNames[j] + stateLabels[idGas], IOobject::NO_READ @@ -232,7 +232,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::writeFields { IOField<scalar> YLiquid ( - c.fieldIOobject + c.newIOobject ( "Y" + liquidNames[j] + stateLabels[idLiquid], IOobject::NO_READ @@ -256,7 +256,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::writeFields { IOField<scalar> YSolid ( - c.fieldIOobject + c.newIOobject ( "Y" + solidNames[j] + stateLabels[idSolid], IOobject::NO_READ diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelIO.C index 9c4d324b5c3..70abbc7a31d 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelIO.C @@ -112,7 +112,7 @@ void Foam::ReactingParcel<ParcelType>::readFields IOField<scalar> mass0 ( - c.fieldIOobject("mass0", IOobject::MUST_READ), + c.newIOobject("mass0", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, mass0); @@ -146,7 +146,7 @@ void Foam::ReactingParcel<ParcelType>::readFields { IOField<scalar> Y ( - c.fieldIOobject + c.newIOobject ( "Y" + phaseTypes[j] + stateLabels[j], IOobject::MUST_READ @@ -187,7 +187,7 @@ void Foam::ReactingParcel<ParcelType>::writeFields const bool writeOnProc = c.size(); { - IOField<scalar> mass0(c.fieldIOobject("mass0", IOobject::NO_READ), np); + IOField<scalar> mass0(c.newIOobject("mass0", IOobject::NO_READ), np); label i = 0; for (const ReactingParcel<ParcelType>& p : c) @@ -210,7 +210,7 @@ void Foam::ReactingParcel<ParcelType>::writeFields { IOField<scalar> Y ( - c.fieldIOobject + c.newIOobject ( "Y" + phaseTypes[j] + stateLabels[j], IOobject::NO_READ diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelIO.C index 410836a8162..736d73dae41 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelIO.C @@ -94,10 +94,10 @@ void Foam::ThermoParcel<ParcelType>::readFields(CloudType& c) ParcelType::readFields(c); - IOField<scalar> T(c.fieldIOobject("T", IOobject::MUST_READ), readOnProc); + IOField<scalar> T(c.newIOobject("T", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, T); - IOField<scalar> Cp(c.fieldIOobject("Cp", IOobject::MUST_READ), readOnProc); + IOField<scalar> Cp(c.newIOobject("Cp", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, Cp); @@ -121,8 +121,8 @@ void Foam::ThermoParcel<ParcelType>::writeFields(const CloudType& c) const label np = c.size(); const bool writeOnProc = c.size(); - IOField<scalar> T(c.fieldIOobject("T", IOobject::NO_READ), np); - IOField<scalar> Cp(c.fieldIOobject("Cp", IOobject::NO_READ), np); + IOField<scalar> T(c.newIOobject("T", IOobject::NO_READ), np); + IOField<scalar> Cp(c.newIOobject("Cp", IOobject::NO_READ), np); label i = 0; for (const ThermoParcel<ParcelType>& p : c) diff --git a/src/lagrangian/molecularDynamics/molecule/molecule/moleculeIO.C b/src/lagrangian/molecularDynamics/molecule/molecule/moleculeIO.C index e52aa541459..5818f23085a 100644 --- a/src/lagrangian/molecularDynamics/molecule/molecule/moleculeIO.C +++ b/src/lagrangian/molecularDynamics/molecule/molecule/moleculeIO.C @@ -114,40 +114,40 @@ void Foam::molecule::readFields(Cloud<molecule>& mC) particle::readFields(mC); - IOField<tensor> Q(mC.fieldIOobject("Q", IOobject::MUST_READ), readOnProc); + IOField<tensor> Q(mC.newIOobject("Q", IOobject::MUST_READ), readOnProc); mC.checkFieldIOobject(mC, Q); - IOField<vector> v(mC.fieldIOobject("v", IOobject::MUST_READ), readOnProc); + IOField<vector> v(mC.newIOobject("v", IOobject::MUST_READ), readOnProc); mC.checkFieldIOobject(mC, v); - IOField<vector> a(mC.fieldIOobject("a", IOobject::MUST_READ), readOnProc); + IOField<vector> a(mC.newIOobject("a", IOobject::MUST_READ), readOnProc); mC.checkFieldIOobject(mC, a); - IOField<vector> pi(mC.fieldIOobject("pi", IOobject::MUST_READ), readOnProc); + IOField<vector> pi(mC.newIOobject("pi", IOobject::MUST_READ), readOnProc); mC.checkFieldIOobject(mC, pi); IOField<vector> tau ( - mC.fieldIOobject("tau", IOobject::MUST_READ), + mC.newIOobject("tau", IOobject::MUST_READ), readOnProc ); mC.checkFieldIOobject(mC, tau); IOField<vector> specialPosition ( - mC.fieldIOobject("specialPosition", IOobject::MUST_READ), + mC.newIOobject("specialPosition", IOobject::MUST_READ), readOnProc ); mC.checkFieldIOobject(mC, specialPosition); IOField<label> special ( - mC.fieldIOobject("special", IOobject::MUST_READ), + mC.newIOobject("special", IOobject::MUST_READ), readOnProc ); mC.checkFieldIOobject(mC, special); - IOField<label> id(mC.fieldIOobject("id", IOobject::MUST_READ), readOnProc); + IOField<label> id(mC.newIOobject("id", IOobject::MUST_READ), readOnProc); mC.checkFieldIOobject(mC, id); label i = 0; @@ -174,48 +174,48 @@ void Foam::molecule::writeFields(const Cloud<molecule>& mC) const label np = mC.size(); const bool writeOnProc = mC.size(); - IOField<tensor> Q(mC.fieldIOobject("Q", IOobject::NO_READ), np); - IOField<vector> v(mC.fieldIOobject("v", IOobject::NO_READ), np); - IOField<vector> a(mC.fieldIOobject("a", IOobject::NO_READ), np); - IOField<vector> pi(mC.fieldIOobject("pi", IOobject::NO_READ), np); - IOField<vector> tau(mC.fieldIOobject("tau", IOobject::NO_READ), np); + IOField<tensor> Q(mC.newIOobject("Q", IOobject::NO_READ), np); + IOField<vector> v(mC.newIOobject("v", IOobject::NO_READ), np); + IOField<vector> a(mC.newIOobject("a", IOobject::NO_READ), np); + IOField<vector> pi(mC.newIOobject("pi", IOobject::NO_READ), np); + IOField<vector> tau(mC.newIOobject("tau", IOobject::NO_READ), np); IOField<vector> specialPosition ( - mC.fieldIOobject("specialPosition", IOobject::NO_READ), + mC.newIOobject("specialPosition", IOobject::NO_READ), np ); - IOField<label> special(mC.fieldIOobject("special", IOobject::NO_READ), np); - IOField<label> id(mC.fieldIOobject("id", IOobject::NO_READ), np); + IOField<label> special(mC.newIOobject("special", IOobject::NO_READ), np); + IOField<label> id(mC.newIOobject("id", IOobject::NO_READ), np); // Post processing fields IOField<vector> piGlobal ( - mC.fieldIOobject("piGlobal", IOobject::NO_READ), + mC.newIOobject("piGlobal", IOobject::NO_READ), np ); IOField<vector> tauGlobal ( - mC.fieldIOobject("tauGlobal", IOobject::NO_READ), + mC.newIOobject("tauGlobal", IOobject::NO_READ), np ); IOField<vector> orientation1 ( - mC.fieldIOobject("orientation1", IOobject::NO_READ), + mC.newIOobject("orientation1", IOobject::NO_READ), np ); IOField<vector> orientation2 ( - mC.fieldIOobject("orientation2", IOobject::NO_READ), + mC.newIOobject("orientation2", IOobject::NO_READ), np ); IOField<vector> orientation3 ( - mC.fieldIOobject("orientation3", IOobject::NO_READ), + mC.newIOobject("orientation3", IOobject::NO_READ), np ); diff --git a/src/lagrangian/solidParticle/solidParticleIO.C b/src/lagrangian/solidParticle/solidParticleIO.C index eab74deb740..379b26d566a 100644 --- a/src/lagrangian/solidParticle/solidParticleIO.C +++ b/src/lagrangian/solidParticle/solidParticleIO.C @@ -82,10 +82,10 @@ void Foam::solidParticle::readFields(Cloud<solidParticle>& c) particle::readFields(c); - IOField<scalar> d(c.fieldIOobject("d", IOobject::MUST_READ), readOnProc); + IOField<scalar> d(c.newIOobject("d", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, d); - IOField<vector> U(c.fieldIOobject("U", IOobject::MUST_READ), readOnProc); + IOField<vector> U(c.newIOobject("U", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, U); label i = 0; @@ -105,8 +105,8 @@ void Foam::solidParticle::writeFields(const Cloud<solidParticle>& c) const label np = c.size(); const bool writeOnProc = c.size(); - IOField<scalar> d(c.fieldIOobject("d", IOobject::NO_READ), np); - IOField<vector> U(c.fieldIOobject("U", IOobject::NO_READ), np); + IOField<scalar> d(c.newIOobject("d", IOobject::NO_READ), np); + IOField<vector> U(c.newIOobject("U", IOobject::NO_READ), np); label i = 0; for (const solidParticle& p : c) diff --git a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcelIO.C b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcelIO.C index feb807b5ece..59414e7d307 100644 --- a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcelIO.C +++ b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcelIO.C @@ -139,85 +139,85 @@ void Foam::SprayParcel<ParcelType>::readFields ParcelType::readFields(c, compModel); - IOField<scalar> d0(c.fieldIOobject("d0", IOobject::MUST_READ), readOnProc); + IOField<scalar> d0(c.newIOobject("d0", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, d0); IOField<vector> position0 ( - c.fieldIOobject("position0", IOobject::MUST_READ), + c.newIOobject("position0", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, position0); IOField<scalar> sigma ( - c.fieldIOobject("sigma", IOobject::MUST_READ), + c.newIOobject("sigma", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, sigma); - IOField<scalar> mu(c.fieldIOobject("mu", IOobject::MUST_READ), readOnProc); + IOField<scalar> mu(c.newIOobject("mu", IOobject::MUST_READ), readOnProc); c.checkFieldIOobject(c, mu); IOField<scalar> liquidCore ( - c.fieldIOobject("liquidCore", IOobject::MUST_READ), + c.newIOobject("liquidCore", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, liquidCore); IOField<scalar> KHindex ( - c.fieldIOobject("KHindex", IOobject::MUST_READ), + c.newIOobject("KHindex", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, KHindex); IOField<scalar> y ( - c.fieldIOobject("y", IOobject::MUST_READ), + c.newIOobject("y", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, y); IOField<scalar> yDot ( - c.fieldIOobject("yDot", IOobject::MUST_READ), + c.newIOobject("yDot", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, yDot); IOField<scalar> tc ( - c.fieldIOobject("tc", IOobject::MUST_READ), + c.newIOobject("tc", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, tc); IOField<scalar> ms ( - c.fieldIOobject("ms", IOobject::MUST_READ), + c.newIOobject("ms", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, ms); IOField<scalar> injector ( - c.fieldIOobject("injector", IOobject::MUST_READ), + c.newIOobject("injector", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, injector); IOField<scalar> tMom ( - c.fieldIOobject("tMom", IOobject::MUST_READ), + c.newIOobject("tMom", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, tMom); IOField<scalar> user ( - c.fieldIOobject("user", IOobject::MUST_READ), + c.newIOobject("user", IOobject::MUST_READ), readOnProc ); c.checkFieldIOobject(c, user); @@ -265,31 +265,31 @@ void Foam::SprayParcel<ParcelType>::writeFields const label np = c.size(); const bool writeOnProc = c.size(); - IOField<scalar> d0(c.fieldIOobject("d0", IOobject::NO_READ), np); + IOField<scalar> d0(c.newIOobject("d0", IOobject::NO_READ), np); IOField<vector> position0 ( - c.fieldIOobject("position0", IOobject::NO_READ), + c.newIOobject("position0", IOobject::NO_READ), np ); - IOField<scalar> sigma(c.fieldIOobject("sigma", IOobject::NO_READ), np); - IOField<scalar> mu(c.fieldIOobject("mu", IOobject::NO_READ), np); + IOField<scalar> sigma(c.newIOobject("sigma", IOobject::NO_READ), np); + IOField<scalar> mu(c.newIOobject("mu", IOobject::NO_READ), np); IOField<scalar> liquidCore ( - c.fieldIOobject("liquidCore", IOobject::NO_READ), + c.newIOobject("liquidCore", IOobject::NO_READ), np ); - IOField<scalar> KHindex(c.fieldIOobject("KHindex", IOobject::NO_READ), np); - IOField<scalar> y(c.fieldIOobject("y", IOobject::NO_READ), np); - IOField<scalar> yDot(c.fieldIOobject("yDot", IOobject::NO_READ), np); - IOField<scalar> tc(c.fieldIOobject("tc", IOobject::NO_READ), np); - IOField<scalar> ms(c.fieldIOobject("ms", IOobject::NO_READ), np); + IOField<scalar> KHindex(c.newIOobject("KHindex", IOobject::NO_READ), np); + IOField<scalar> y(c.newIOobject("y", IOobject::NO_READ), np); + IOField<scalar> yDot(c.newIOobject("yDot", IOobject::NO_READ), np); + IOField<scalar> tc(c.newIOobject("tc", IOobject::NO_READ), np); + IOField<scalar> ms(c.newIOobject("ms", IOobject::NO_READ), np); IOField<scalar> injector ( - c.fieldIOobject("injector", IOobject::NO_READ), + c.newIOobject("injector", IOobject::NO_READ), np ); - IOField<scalar> tMom(c.fieldIOobject("tMom", IOobject::NO_READ), np); - IOField<scalar> user(c.fieldIOobject("user", IOobject::NO_READ), np); + IOField<scalar> tMom(c.newIOobject("tMom", IOobject::NO_READ), np); + IOField<scalar> user(c.newIOobject("user", IOobject::NO_READ), np); label i = 0; for (const SprayParcel<ParcelType>& p : c) -- GitLab From f625a9a0dd2597dc10c238a41d7af4d60f25f22f Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 2 Jan 2024 17:57:26 +0100 Subject: [PATCH 015/231] ENH: additional DimensionedField, GeometricField New factory methods --- .../DimensionedField/DimensionedField.H | 17 +- .../DimensionedField/DimensionedFieldNew.C | 99 ++++-- .../GeometricField/GeometricField.H | 115 ++++++- .../GeometricField/GeometricFieldNew.C | 313 ++++++++++++++---- 4 files changed, 440 insertions(+), 104 deletions(-) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H index e6dad2a0116..c193f7e1766 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -440,8 +440,19 @@ public: const dimensioned<Type>& dt ); - //- Return renamed tmp field (NO_READ, NO_WRITE). - //- [Takes current timeName from the mesh registry]. + //- Return renamed tmp field (NO_READ, NO_WRITE) + //- retaining its instance/local. + // For LEGACY_REGISTER, registration is determined by + // objectRegistry::is_cacheTemporaryObject(). + static tmp<DimensionedField<Type, GeoMesh>> New + ( + const word& newName, + IOobjectOption::registerOption regOpt, + const tmp<DimensionedField<Type, GeoMesh>>& tfld + ); + + //- Return renamed tmp field (NO_READ, NO_WRITE) + //- retaining its instance/local. // Registration/persistence determined by // objectRegistry::is_cacheTemporaryObject(). static tmp<DimensionedField<Type, GeoMesh>> New diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldNew.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldNew.C index ba8f11430c7..c8f2e12f1d0 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldNew.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldNew.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,6 +40,7 @@ Foam::DimensionedField<Type, GeoMesh>::New_impl { auto ptr = tmp<DimensionedField<Type, GeoMesh>>::New ( + // == mesh.thisDb().newIOobject(name) IOobject ( name, @@ -53,19 +54,22 @@ Foam::DimensionedField<Type, GeoMesh>::New_impl std::forward<Args>(args)... ); - if (IOobjectOption::REGISTER == regOpt) + // Registration { - ptr->checkIn(); - } - else if - ( - // LEGACY_REGISTER: detect if caching is desired - (IOobjectOption::LEGACY_REGISTER == regOpt) - && ptr->db().is_cacheTemporaryObject(ptr.get()) - ) - { - ptr.protect(true); - ptr->checkIn(); + if (IOobjectOption::REGISTER == regOpt) + { + ptr->checkIn(); + } + else if + ( + // LEGACY_REGISTER: detect if caching is desired + (IOobjectOption::LEGACY_REGISTER == regOpt) + && ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } @@ -290,6 +294,7 @@ Foam::tmp<Foam::DimensionedField<Type, GeoMesh>> Foam::DimensionedField<Type, GeoMesh>::New ( const word& name, + IOobjectOption::registerOption regOpt, const tmp<DimensionedField<Type, GeoMesh>>& tfld ) { @@ -308,18 +313,44 @@ Foam::DimensionedField<Type, GeoMesh>::New tfld ); - if - ( - ptr->db().is_cacheTemporaryObject(ptr.get()) - ) + // Registration { - ptr.protect(true); - ptr->checkIn(); + if (IOobjectOption::REGISTER == regOpt) + { + ptr->checkIn(); + } + else if + ( + // LEGACY_REGISTER: detect if caching is desired + (IOobjectOption::LEGACY_REGISTER == regOpt) + && ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } +template<class Type, class GeoMesh> +Foam::tmp<Foam::DimensionedField<Type, GeoMesh>> +Foam::DimensionedField<Type, GeoMesh>::New +( + const word& name, + const tmp<DimensionedField<Type, GeoMesh>>& tfld +) +{ + return DimensionedField<Type, GeoMesh>::New + ( + name, + IOobjectOption::LEGACY_REGISTER, + tfld + ); +} + + template<class Type, class GeoMesh> template<class AnyType> Foam::tmp<Foam::DimensionedField<Type, GeoMesh>> @@ -345,13 +376,16 @@ Foam::DimensionedField<Type, GeoMesh>::New dims ); - if - ( - ptr->db().is_cacheTemporaryObject(ptr.get()) - ) + // Registration { - ptr.protect(true); - ptr->checkIn(); + if + ( + ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } @@ -383,13 +417,16 @@ Foam::DimensionedField<Type, GeoMesh>::New dt.dimensions() ); - if - ( - ptr->db().is_cacheTemporaryObject(ptr.get()) - ) + // Registration { - ptr.protect(true); - ptr->checkIn(); + if + ( + ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H index d299f7c1a51..8c66779bf2f 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -504,6 +504,68 @@ public: const word& patchFieldType = PatchField<Type>::calculatedType() ); + //- Return tmp field (NO_READ, NO_WRITE) + //- from name, mesh, dimensions, copy of internal field contents + //- and patch list to clone. + //- [Takes current timeName from the mesh registry]. + // For LEGACY_REGISTER, registration is determined by + // objectRegistry::is_cacheTemporaryObject(). + static tmp<GeometricField<Type, PatchField, GeoMesh>> New + ( + const word& name, + IOobjectOption::registerOption regOpt, + const Mesh& mesh, + const dimensionSet& dims, + const Field<Type>& iField, + const PtrList<PatchField<Type>>& pflds + ); + + //- Return tmp field (NO_READ, NO_WRITE) + //- from name, mesh, dimensions, copy of internal field contents + //- and patch list to clone. + //- [Takes current timeName from the mesh registry]. + // Registration/persistence determined by + // objectRegistry::is_cacheTemporaryObject(). + static tmp<GeometricField<Type, PatchField, GeoMesh>> New + ( + const word& name, + const Mesh& mesh, + const dimensionSet& dims, + const Field<Type>& iField, + const PtrList<PatchField<Type>>& pflds + ); + + //- Return tmp field (NO_READ, NO_WRITE) + //- from name, mesh, dimensions, moved internal field contents + //- and patch list to clone. + //- [Takes current timeName from the mesh registry]. + // For LEGACY_REGISTER, registration is determined by + // objectRegistry::is_cacheTemporaryObject(). + static tmp<GeometricField<Type, PatchField, GeoMesh>> New + ( + const word& name, + IOobjectOption::registerOption regOpt, + const Mesh& mesh, + const dimensionSet& dims, + Field<Type>&& iField, + const PtrList<PatchField<Type>>& pflds + ); + + //- Return tmp field (NO_READ, NO_WRITE) + //- from name, mesh, dimensions, moved internal field contents + //- and patch list to clone. + //- [Takes current timeName from the mesh registry]. + // Registration/persistence determined by + // objectRegistry::is_cacheTemporaryObject(). + static tmp<GeometricField<Type, PatchField, GeoMesh>> New + ( + const word& name, + const Mesh& mesh, + const dimensionSet& dims, + Field<Type>&& iField, + const PtrList<PatchField<Type>>& pflds + ); + //- Return tmp field (NO_READ, NO_WRITE) //- from name, mesh, field value, dimensions and patch type. //- [Takes current timeName from the mesh registry]. @@ -621,36 +683,70 @@ public: ); //- Return renamed tmp field (NO_READ, NO_WRITE) - //- [Takes current timeName from the mesh registry]. + //- retaining its instance/local. + // For LEGACY_REGISTER, registration is determined by + // objectRegistry::is_cacheTemporaryObject(). + static tmp<GeometricField<Type, PatchField, GeoMesh>> New + ( + const word& newName, + IOobjectOption::registerOption regOpt, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld + ); + + //- Return renamed tmp field (NO_READ, NO_WRITE) + //- retaining its instance/local. // Registration/persistence determined by // objectRegistry::is_cacheTemporaryObject(). static tmp<GeometricField<Type, PatchField, GeoMesh>> New ( const word& newName, - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld ); //- Return renamed tmp field (NO_READ, NO_WRITE) - //- with reset patch field type. - //- [Takes current timeName from the mesh registry]. + //- with reset patch field type, retaining its instance/local. + // For LEGACY_REGISTER, registration is determined by + // objectRegistry::is_cacheTemporaryObject(). + static tmp<GeometricField<Type, PatchField, GeoMesh>> New + ( + const word& newName, + IOobjectOption::registerOption regOpt, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld, + const word& patchFieldType + ); + + //- Return renamed tmp field (NO_READ, NO_WRITE) + //- with reset patch field type, retaining its instance/local. // Registration/persistence determined by // objectRegistry::is_cacheTemporaryObject(). static tmp<GeometricField<Type, PatchField, GeoMesh>> New ( const word& newName, - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld, const word& patchFieldType ); //- Return renamed tmp field (NO_READ, NO_WRITE) - //- with reset patch field types. - //- [Takes instance from the field]. + //- with reset patch field types, retaining its instance/local. + // For LEGACY_REGISTER, registration is determined by + // objectRegistry::is_cacheTemporaryObject(). + static tmp<GeometricField<Type, PatchField, GeoMesh>> New + ( + const word& newName, + IOobjectOption::registerOption regOpt, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld, + const wordList& patchFieldTypes, + const wordList& actualPatchTypes = wordList() + ); + + //- Return renamed tmp field (NO_READ, NO_WRITE) + //- with reset patch field types, retaining its instance/local. // Registration/persistence determined by // objectRegistry::is_cacheTemporaryObject(). static tmp<GeometricField<Type, PatchField, GeoMesh>> New ( const word& newName, - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld, const wordList& patchFieldTypes, const wordList& actualPatchTypes = wordList() ); @@ -866,7 +962,6 @@ public: // Member Operators - //- Return a const-reference to the dimensioned internal field. //- Same as internalField(). // Useful in the formulation of source-terms for FV equations const Internal& operator()() const { return *this; } diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldNew.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldNew.C index 29f69802c49..138d14d3b07 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldNew.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldNew.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,6 +41,7 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::New_impl { auto ptr = tmp<GeometricField<Type, PatchField, GeoMesh>>::New ( + // == mesh.thisDb().newIOobject(name) IOobject ( name, @@ -54,19 +55,22 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::New_impl std::forward<Args>(args)... ); - if (IOobjectOption::REGISTER == regOpt) + // Registration { - ptr->checkIn(); - } - else if - ( - // LEGACY_REGISTER: detect if caching is desired - (IOobjectOption::LEGACY_REGISTER == regOpt) - && ptr->db().is_cacheTemporaryObject(ptr.get()) - ) - { - ptr.protect(true); - ptr->checkIn(); + if (IOobjectOption::REGISTER == regOpt) + { + ptr->checkIn(); + } + else if + ( + // LEGACY_REGISTER: detect if caching is desired + (IOobjectOption::LEGACY_REGISTER == regOpt) + && ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } @@ -211,6 +215,100 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::New } +template<class Type, template<class> class PatchField, class GeoMesh> +Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> +Foam::GeometricField<Type, PatchField, GeoMesh>::New +( + const word& name, + IOobjectOption::registerOption regOpt, + const Mesh& mesh, + const dimensionSet& dims, + const Field<Type>& iField, + const PtrList<PatchField<Type>>& pflds +) +{ + return GeometricField<Type, PatchField, GeoMesh>::New_impl + ( + regOpt, + name, + mesh, + dims, + iField, + pflds + ); +} + + +template<class Type, template<class> class PatchField, class GeoMesh> +Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> +Foam::GeometricField<Type, PatchField, GeoMesh>::New +( + const word& name, + const Mesh& mesh, + const dimensionSet& dims, + const Field<Type>& iField, + const PtrList<PatchField<Type>>& pflds +) +{ + return GeometricField<Type, PatchField, GeoMesh>::New_impl + ( + IOobjectOption::LEGACY_REGISTER, + name, + mesh, + dims, + iField, + pflds + ); +} + + +template<class Type, template<class> class PatchField, class GeoMesh> +Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> +Foam::GeometricField<Type, PatchField, GeoMesh>::New +( + const word& name, + IOobjectOption::registerOption regOpt, + const Mesh& mesh, + const dimensionSet& dims, + Field<Type>&& iField, + const PtrList<PatchField<Type>>& pflds +) +{ + return GeometricField<Type, PatchField, GeoMesh>::New_impl + ( + regOpt, + name, + mesh, + dims, + std::move(iField), + pflds + ); +} + + +template<class Type, template<class> class PatchField, class GeoMesh> +Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> +Foam::GeometricField<Type, PatchField, GeoMesh>::New +( + const word& name, + const Mesh& mesh, + const dimensionSet& dims, + Field<Type>&& iField, + const PtrList<PatchField<Type>>& pflds +) +{ + return GeometricField<Type, PatchField, GeoMesh>::New_impl + ( + IOobjectOption::LEGACY_REGISTER, + name, + mesh, + dims, + std::move(iField), + pflds + ); +} + + template<class Type, template<class> class PatchField, class GeoMesh> Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> Foam::GeometricField<Type, PatchField, GeoMesh>::New @@ -406,8 +504,8 @@ Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> Foam::GeometricField<Type, PatchField, GeoMesh>::New ( const word& name, - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf, - const word& patchFieldType + IOobjectOption::registerOption regOpt, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld ) { auto ptr = tmp<GeometricField<Type, PatchField, GeoMesh>>::New @@ -415,24 +513,32 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::New IOobject ( name, - tgf().instance(), - tgf().local(), - tgf().db(), + tfld().instance(), + tfld().local(), + tfld().db(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::NO_REGISTER ), - tgf, - patchFieldType + tfld ); - if - ( - ptr->db().is_cacheTemporaryObject(ptr.get()) - ) + // Registration { - ptr.protect(true); - ptr->checkIn(); + if (IOobjectOption::REGISTER == regOpt) + { + ptr->checkIn(); + } + else if + ( + // LEGACY_REGISTER: detect if caching is desired + (IOobjectOption::LEGACY_REGISTER == regOpt) + && ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } @@ -443,7 +549,26 @@ Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> Foam::GeometricField<Type, PatchField, GeoMesh>::New ( const word& name, - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld +) +{ + return GeometricField<Type, PatchField, GeoMesh>::New + ( + name, + IOobjectOption::LEGACY_REGISTER, + tfld + ); +} + + +template<class Type, template<class> class PatchField, class GeoMesh> +Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> +Foam::GeometricField<Type, PatchField, GeoMesh>::New +( + const word& name, + IOobjectOption::registerOption regOpt, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld, + const word& patchFieldType ) { auto ptr = tmp<GeometricField<Type, PatchField, GeoMesh>>::New @@ -451,23 +576,33 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::New IOobject ( name, - tgf().instance(), - tgf().local(), - tgf().db(), + tfld().instance(), + tfld().local(), + tfld().db(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::NO_REGISTER ), - tgf + tfld, + patchFieldType ); - if - ( - ptr->db().is_cacheTemporaryObject(ptr.get()) - ) + // Registration { - ptr.protect(true); - ptr->checkIn(); + if (IOobjectOption::REGISTER == regOpt) + { + ptr->checkIn(); + } + else if + ( + // LEGACY_REGISTER: detect if caching is desired + (IOobjectOption::LEGACY_REGISTER == regOpt) + && ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } @@ -478,7 +613,27 @@ Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> Foam::GeometricField<Type, PatchField, GeoMesh>::New ( const word& name, - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld, + const word& patchFieldType +) +{ + return GeometricField<Type, PatchField, GeoMesh>::New + ( + name, + IOobjectOption::LEGACY_REGISTER, + tfld, + patchFieldType + ); +} + + +template<class Type, template<class> class PatchField, class GeoMesh> +Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> +Foam::GeometricField<Type, PatchField, GeoMesh>::New +( + const word& name, + IOobjectOption::registerOption regOpt, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld, const wordList& patchFieldTypes, const wordList& actualPatchTypes ) @@ -488,30 +643,60 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::New IOobject ( name, - tgf().instance(), - tgf().local(), - tgf().db(), + tfld().instance(), + tfld().local(), + tfld().db(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::NO_REGISTER ), - tgf, + tfld, patchFieldTypes, actualPatchTypes ); - if - ( - ptr->db().is_cacheTemporaryObject(ptr.get()) - ) + // Registration { - ptr.protect(true); - ptr->checkIn(); + if (IOobjectOption::REGISTER == regOpt) + { + ptr->checkIn(); + } + else if + ( + // LEGACY_REGISTER: detect if caching is desired + (IOobjectOption::LEGACY_REGISTER == regOpt) + && ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } +template<class Type, template<class> class PatchField, class GeoMesh> +Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> +Foam::GeometricField<Type, PatchField, GeoMesh>::New +( + const word& name, + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld, + const wordList& patchFieldTypes, + const wordList& actualPatchTypes +) +{ + return GeometricField<Type, PatchField, GeoMesh>::New + ( + name, + IOobjectOption::LEGACY_REGISTER, + tfld, + patchFieldTypes, + actualPatchTypes + ); +} + + template<class Type, template<class> class PatchField, class GeoMesh> template<class AnyType> Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh>> @@ -539,13 +724,17 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::New patchFieldType ); - if - ( - ptr->db().is_cacheTemporaryObject(ptr.get()) - ) + // Registration { - ptr.protect(true); - ptr->checkIn(); + if + ( + // LEGACY_REGISTER: detect if caching is desired + ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } @@ -579,13 +768,17 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::New patchFieldType ); - if - ( - ptr->db().is_cacheTemporaryObject(ptr.get()) - ) + // Registration { - ptr.protect(true); - ptr->checkIn(); + if + ( + // LEGACY_REGISTER: detect if caching is desired + ptr->db().is_cacheTemporaryObject(ptr.get()) + ) + { + ptr.protect(true); + ptr->checkIn(); + } } return ptr; } -- GitLab From a4cbb3337310f1562f41078f85ec3569da31ba6c Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 2 Jan 2024 17:57:26 +0100 Subject: [PATCH 016/231] STYLE: use Internal typedef within GeometricBoundaryField - aligns with GeometricField usage etc --- .../GeometricField/GeometricBoundaryField.C | 95 ++++++++++--------- .../GeometricField/GeometricBoundaryField.H | 20 ++-- 2 files changed, 58 insertions(+), 57 deletions(-) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C index cbf79e5818c..0a16f916c39 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017,2022 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -189,7 +189,7 @@ bool Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::checkConsistency template<class Type, template<class> class PatchField, class GeoMesh> void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::readField ( - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const dictionary& dict ) { @@ -210,7 +210,9 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::readField for (const entry& dEntry : dict) { - if (dEntry.isDict() && dEntry.keyword().isLiteral()) + const auto* subdict = dEntry.dictPtr(); + + if (subdict && dEntry.keyword().isLiteral()) { const label patchi = bmesh_.findPatchID(dEntry.keyword()); @@ -222,11 +224,11 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::readField PatchField<Type>::New ( bmesh_[patchi], - field, - dEntry.dict() + iField, + *subdict ) ); - nUnset--; + --nUnset; } } } @@ -245,8 +247,9 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::readField for (auto iter = dict.crbegin(); iter != dict.crend(); ++iter) { const entry& dEntry = *iter; + const auto* subdict = dEntry.dictPtr(); - if (dEntry.isDict() && dEntry.keyword().isLiteral()) + if (subdict && dEntry.keyword().isLiteral()) { const labelList patchIds = bmesh_.indices(dEntry.keyword(), true); // use patchGroups @@ -261,8 +264,8 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::readField PatchField<Type>::New ( bmesh_[patchi], - field, - dEntry.dict() + iField, + *subdict ) ); } @@ -285,15 +288,15 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::readField ( emptyPolyPatch::typeName, bmesh_[patchi], - field + iField ) ); } else { - bool found = dict.found(bmesh_[patchi].name()); + const auto* subdict = dict.findDict(bmesh_[patchi].name()); - if (found) + if (subdict) { this->set ( @@ -301,8 +304,8 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::readField PatchField<Type>::New ( bmesh_[patchi], - field, - dict.subDict(bmesh_[patchi].name()) + iField, + *subdict ) ); } @@ -353,7 +356,7 @@ template<class Type, template<class> class PatchField, class GeoMesh> Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( const BoundaryMesh& bmesh, - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const word& patchFieldType ) : @@ -374,7 +377,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( patchFieldType, bmesh_[patchi], - field + iField ) ); } @@ -385,7 +388,7 @@ template<class Type, template<class> class PatchField, class GeoMesh> Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( const BoundaryMesh& bmesh, - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const wordList& patchFieldTypes, const wordList& constraintTypes ) @@ -424,7 +427,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField patchFieldTypes[patchi], constraintTypes[patchi], bmesh_[patchi], - field + iField ) ); } @@ -440,7 +443,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( patchFieldTypes[patchi], bmesh_[patchi], - field + iField ) ); } @@ -452,7 +455,7 @@ template<class Type, template<class> class PatchField, class GeoMesh> Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( const BoundaryMesh& bmesh, - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const PtrList<PatchField<Type>>& ptfl ) : @@ -466,7 +469,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField forAll(bmesh_, patchi) { - this->set(patchi, ptfl[patchi].clone(field)); + this->set(patchi, ptfl[patchi].clone(iField)); } } @@ -474,7 +477,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField template<class Type, template<class> class PatchField, class GeoMesh> Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const GeometricBoundaryField<Type, PatchField, GeoMesh>& btf ) : @@ -488,7 +491,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField forAll(bmesh_, patchi) { - this->set(patchi, btf[patchi].clone(field)); + this->set(patchi, btf[patchi].clone(iField)); } } @@ -496,7 +499,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField template<class Type, template<class> class PatchField, class GeoMesh> Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const GeometricBoundaryField<Type, PatchField, GeoMesh>& btf, const labelList& patchIDs, const word& patchFieldType @@ -519,7 +522,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( patchFieldType, bmesh_[patchi], - field + iField ) ); } @@ -528,7 +531,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField { if (!this->set(patchi)) { - this->set(patchi, btf[patchi].clone(field)); + this->set(patchi, btf[patchi].clone(iField)); } } } @@ -554,14 +557,14 @@ template<class Type, template<class> class PatchField, class GeoMesh> Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField ( const BoundaryMesh& bmesh, - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const dictionary& dict ) : FieldField<PatchField, Type>(bmesh.size()), bmesh_(bmesh) { - readField(field, dict); + readField(iField, dict); } @@ -835,18 +838,24 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::types() const template<class Type, template<class> class PatchField, class GeoMesh> -Foam::GeometricBoundaryField<Type, PatchField, GeoMesh> +Foam::tmp<Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>> Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>:: boundaryInternalField() const { - GeometricBoundaryField<Type, PatchField, GeoMesh> result(*this); + auto tresult = tmp<GeometricBoundaryField<Type, PatchField, GeoMesh>>::New + ( + DimensionedField<Type, GeoMesh>::null(), + *this + ); + + auto& result = tresult; forAll(result, patchi) { result[patchi] == this->operator[](patchi).patchInternalField(); } - return result; + return tresult; } @@ -858,13 +867,11 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::interfaces() const forAll(list, patchi) { - const auto* lduPtr = - isA<LduInterfaceField<Type>>(this->operator[](patchi)); - - if (lduPtr) - { - list.set(patchi, lduPtr); - } + list.set + ( + patchi, + isA<LduInterfaceField<Type>>(this->operator[](patchi)) + ); } return list; @@ -880,13 +887,11 @@ scalarInterfaces() const forAll(list, patchi) { - const auto* lduPtr = - isA<lduInterfaceField>(this->operator[](patchi)); - - if (lduPtr) - { - list.set(patchi, lduPtr); - } + list.set + ( + patchi, + isA<lduInterfaceField>(this->operator[](patchi)) + ); } return list; diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.H index 218214ec911..3e327184099 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.H @@ -117,7 +117,7 @@ public: GeometricBoundaryField ( const BoundaryMesh& bmesh, - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const word& patchFieldType = PatchField<Type>::calculatedType() ); @@ -127,7 +127,7 @@ public: GeometricBoundaryField ( const BoundaryMesh& bmesh, - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const wordList& wantedPatchTypes, const wordList& actualPatchTypes = wordList() ); @@ -137,14 +137,14 @@ public: GeometricBoundaryField ( const BoundaryMesh& bmesh, - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const PtrList<PatchField<Type>>& ptfl ); //- Construct as copy, setting the reference to the internal field GeometricBoundaryField ( - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const GeometricBoundaryField<Type, PatchField, GeoMesh>& btf ); @@ -152,7 +152,7 @@ public: //- and resetting type of field for given patch IDs GeometricBoundaryField ( - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const GeometricBoundaryField<Type, PatchField, GeoMesh>& btf, const labelList& patchIDs, const word& patchFieldName @@ -169,7 +169,7 @@ public: GeometricBoundaryField ( const BoundaryMesh& bmesh, - const DimensionedField<Type, GeoMesh>& field, + const Internal& iField, const dictionary& dict ); @@ -177,11 +177,7 @@ public: // Member Functions //- Read the boundary field - void readField - ( - const DimensionedField<Type, GeoMesh>& field, - const dictionary& dict - ); + void readField(const Internal& iField, const dictionary& dict); //- Update the boundary condition coefficients void updateCoeffs(); @@ -203,7 +199,7 @@ public: wordList types() const; //- Return boundary field of values neighbouring the boundary - GeometricBoundaryField boundaryInternalField() const; + tmp<GeometricBoundaryField> boundaryInternalField() const; //- Return a list of pointers for each patch field with only those //- pointing to interfaces being set -- GitLab From f485093d3722ae51a73f27056924be1b4aca8822 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 11 Jan 2024 12:33:43 +0100 Subject: [PATCH 017/231] STYLE: use patch type instead of cloning list of the same --- .../eddyViscosity/eddyViscosity.C | 2 +- .../fvMeshSubset/fvMeshSubsetTemplates.C | 4 +- .../singleCellFvMeshInterpolate.C | 45 +---- .../adjoint/global/createZeroField.H | 14 +- .../decompose/dimFieldDecomposerTemplates.C | 31 ++- .../decompose/fvFieldDecomposerTemplates.C | 179 ++++++------------ .../decompose/pointFieldDecomposerTemplates.C | 33 ++-- 7 files changed, 98 insertions(+), 210 deletions(-) diff --git a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C index 47a4e601b60..65ae0c2d3ea 100644 --- a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C +++ b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C @@ -97,7 +97,7 @@ Foam::eddyViscosity<BasicTurbulenceModel>::R() const if ( !fvPatchField<symmTensor>::patchConstructorTablePtr_ - ->found(patchFieldTypes[i]) + ->contains(patchFieldTypes[i]) ) { patchFieldTypes[i] = fvPatchFieldBase::calculatedType(); diff --git a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C index 9dd83ab0e0a..233090cd716 100644 --- a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C +++ b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C @@ -159,7 +159,7 @@ Foam::fvMeshSubset::interpolate ( vf.boundaryField()[basePatchId], subPatch, - result(), + result.internalField(), mapper ) ); @@ -526,7 +526,7 @@ Foam::fvMeshSubset::interpolate ( vf.boundaryField()[patchMap[patchi]], subPatch, - result(), + result.internalField(), directPointPatchFieldMapper(directAddressing) ) ); diff --git a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMeshInterpolate.C b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMeshInterpolate.C index 312b763fcc2..eb9e66b4fc4 100644 --- a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMeshInterpolate.C +++ b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMeshInterpolate.C @@ -30,38 +30,18 @@ License #include "directFvPatchFieldMapper.H" #include "Time.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> -tmp<GeometricField<Type, fvPatchField, volMesh>> singleCellFvMesh::interpolate +Foam::tmp<Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>> +Foam::singleCellFvMesh::interpolate ( const GeometricField<Type, fvPatchField, volMesh>& vf ) const { // 1. Create the complete field with dummy patch fields - PtrList<fvPatchField<Type>> patchFields(vf.boundaryField().size()); - - forAll(patchFields, patchi) - { - patchFields.set - ( - patchi, - fvPatchField<Type>::New - ( - fvPatchFieldBase::calculatedType(), - boundary()[patchi], - fvPatchField<Type>::Internal::null() - ) - ); - } - // Create the complete field from the pieces - tmp<GeometricField<Type, fvPatchField, volMesh>> tresF + tmp<GeometricField<Type, fvPatchField, volMesh>> tresult ( new GeometricField<Type, fvPatchField, volMesh> ( @@ -74,19 +54,18 @@ tmp<GeometricField<Type, fvPatchField, volMesh>> singleCellFvMesh::interpolate IOobject::NO_WRITE ), *this, + Type(gAverage(vf.primitiveField())), vf.dimensions(), - Field<Type>(1, gAverage(vf)), - patchFields + fvPatchFieldBase::calculatedType() ) ); - GeometricField<Type, fvPatchField, volMesh>& resF = tresF.ref(); + auto& result = tresult.ref(); // 2. Change the fvPatchFields to the correct type using a mapper // constructor (with reference to the now correct internal field) - typename GeometricField<Type, fvPatchField, volMesh>:: - Boundary& bf = resF.boundaryFieldRef(); + auto& bf = result.boundaryFieldRef(); if (agglomerate()) { @@ -117,7 +96,7 @@ tmp<GeometricField<Type, fvPatchField, volMesh>> singleCellFvMesh::interpolate ( vf.boundaryField()[patchi], boundary()[patchi], - resF(), + result.internalField(), agglomPatchFieldMapper(coarseToFine, coarseWeights) ) ); @@ -136,19 +115,15 @@ tmp<GeometricField<Type, fvPatchField, volMesh>> singleCellFvMesh::interpolate ( vf.boundaryField()[patchi], boundary()[patchi], - resF(), + result.internalField(), directFvPatchFieldMapper(map) ) ); } } - return tresF; + return tresult; } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - // ************************************************************************* // diff --git a/src/optimisation/adjointOptimisation/adjoint/global/createZeroField.H b/src/optimisation/adjointOptimisation/adjoint/global/createZeroField.H index 384f0f16f40..93035d286f4 100644 --- a/src/optimisation/adjointOptimisation/adjoint/global/createZeroField.H +++ b/src/optimisation/adjointOptimisation/adjoint/global/createZeroField.H @@ -94,13 +94,17 @@ createZeroBoundaryPtr // on symmetry patches (not a good practice either way) const fvBoundaryMesh& bm = mesh.boundary(); wordList actualPatchTypes(bm.size(), word::null); - forAll(actualPatchTypes, pI) + forAll(actualPatchTypes, patchi) { - auto patchTypeCstrIter = - fvPatchField<Type>::patchConstructorTablePtr_->cfind(bm[pI].type()); - if (patchTypeCstrIter.good()) + if + ( + fvPatchField<Type>::patchConstructorTablePtr_->contains + ( + bm[patchi].type() + ) + ) { - actualPatchTypes[pI] = bm[pI].type(); + actualPatchTypes[patchi] = bm[patchi].type(); } } diff --git a/src/parallel/decompose/decompose/dimFieldDecomposerTemplates.C b/src/parallel/decompose/decompose/dimFieldDecomposerTemplates.C index de5e73cc7fc..4ffa33ec85b 100644 --- a/src/parallel/decompose/decompose/dimFieldDecomposerTemplates.C +++ b/src/parallel/decompose/decompose/dimFieldDecomposerTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,26 +37,17 @@ Foam::dimFieldDecomposer::decomposeField const DimensionedField<Type, volMesh>& field ) const { - // Create and map the internal field values - Field<Type> mappedField(field, cellAddressing_); - // Create the field for the processor - return - tmp<DimensionedField<Type, volMesh>>::New - ( - IOobject - ( - field.name(), - procMesh_.thisDb().time().timeName(), - procMesh_.thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - procMesh_, - field.dimensions(), - std::move(mappedField) - ); + + return DimensionedField<Type, volMesh>::New + ( + field.name(), + IOobject::NO_REGISTER, + procMesh_, + field.dimensions(), + // Internal field - mapped values + Field<Type>(field.field(), cellAddressing_) + ); } diff --git a/src/parallel/decompose/decompose/fvFieldDecomposerTemplates.C b/src/parallel/decompose/decompose/fvFieldDecomposerTemplates.C index 007ee5d3d0f..9e5cfd727b7 100644 --- a/src/parallel/decompose/decompose/fvFieldDecomposerTemplates.C +++ b/src/parallel/decompose/decompose/fvFieldDecomposerTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -44,26 +44,17 @@ Foam::fvFieldDecomposer::decomposeField const DimensionedField<Type, volMesh>& field ) const { - // Create and map the internal field values - Field<Type> mappedField(field, cellAddressing_); - // Create the field for the processor - return - tmp<DimensionedField<Type, volMesh>>::New - ( - IOobject - ( - field.name(), - procMesh_.thisDb().time().timeName(), - procMesh_.thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - procMesh_, - field.dimensions(), - std::move(mappedField) - ); + + return DimensionedField<Type, volMesh>::New + ( + field.name(), + IOobject::NO_REGISTER, + procMesh_, + field.dimensions(), + // Internal field - mapped values + Field<Type>(field.field(), cellAddressing_) + ); } @@ -75,52 +66,26 @@ Foam::fvFieldDecomposer::decomposeField const bool allowUnknownPatchFields ) const { - typedef GeometricField<Type, fvPatchField, volMesh> VolFieldType; - - // 1. Create the complete field with dummy patch fields - PtrList<fvPatchField<Type>> patchFields(boundaryAddressing_.size()); - - forAll(boundaryAddressing_, patchi) - { - patchFields.set - ( - patchi, - fvPatchField<Type>::New - ( - fvPatchFieldBase::calculatedType(), - procMesh_.boundary()[patchi], - fvPatchField<Type>::Internal::null() - ) - ); - } - // Create the field for the processor - tmp<VolFieldType> tresF + // - with dummy patch fields + auto tresult = GeometricField<Type, fvPatchField, volMesh>::New ( - new VolFieldType - ( - IOobject - ( - field.name(), - procMesh_.thisDb().time().timeName(), - procMesh_.thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - procMesh_, - field.dimensions(), - Field<Type>(field.primitiveField(), cellAddressing_), - patchFields - ) + field.name(), + IOobject::NO_REGISTER, + procMesh_, + field.dimensions(), + // Internal field - mapped values + Field<Type>(field.primitiveField(), cellAddressing_), + fvPatchFieldBase::calculatedType() ); - VolFieldType& resF = tresF.ref(); - resF.oriented() = field().oriented(); + auto& result = tresult.ref(); + result.oriented() = field.oriented(); // 2. Change the fvPatchFields to the correct type using a mapper // constructor (with reference to the now correct internal field) - auto& bf = resF.boundaryFieldRef(); + auto& bf = result.boundaryFieldRef(); forAll(bf, patchi) { @@ -133,7 +98,7 @@ Foam::fvFieldDecomposer::decomposeField ( field.boundaryField()[boundaryAddressing_[patchi]], procMesh_.boundary()[patchi], - resF(), + result.internalField(), patchFieldDecomposerPtrs_[patchi] ) ); @@ -146,7 +111,7 @@ Foam::fvFieldDecomposer::decomposeField new processorCyclicFvPatchField<Type> ( procMesh_.boundary()[patchi], - resF(), + result.internalField(), Field<Type> ( field.primitiveField(), @@ -163,7 +128,7 @@ Foam::fvFieldDecomposer::decomposeField new processorFvPatchField<Type> ( procMesh_.boundary()[patchi], - resF(), + result.internalField(), Field<Type> ( field.primitiveField(), @@ -180,7 +145,7 @@ Foam::fvFieldDecomposer::decomposeField new emptyFvPatchField<Type> ( procMesh_.boundary()[patchi], - resF() + result.internalField() ) ); } @@ -192,7 +157,7 @@ Foam::fvFieldDecomposer::decomposeField } // Create the field for the processor - return tresF; + return tresult; } @@ -203,27 +168,15 @@ Foam::fvFieldDecomposer::decomposeField const GeometricField<Type, fvsPatchField, surfaceMesh>& field ) const { - typedef GeometricField<Type, fvsPatchField, surfaceMesh> SurfaceFieldType; - labelList mapAddr ( - labelList::subList - ( - faceAddressing_, - procMesh_.nInternalFaces() - ) + labelList::subList(faceAddressing_, procMesh_.nInternalFaces()) ); forAll(mapAddr, i) { mapAddr[i] -= 1; } - // Create and map the internal field values - Field<Type> internalField - ( - field.primitiveField(), - mapAddr - ); // Problem with addressing when a processor patch picks up both internal // faces and faces from cyclic boundaries. This is a bit of a hack, but @@ -232,66 +185,40 @@ Foam::fvFieldDecomposer::decomposeField // (i.e. using slices) Field<Type> allFaceField(field.mesh().nFaces()); - forAll(field.primitiveField(), i) { - allFaceField[i] = field.primitiveField()[i]; - } + SubList<Type>(allFaceField, field.primitiveField().size()) = + field.primitiveField(); - forAll(field.boundaryField(), patchi) - { - const Field<Type>& p = field.boundaryField()[patchi]; + forAll(field.boundaryField(), patchi) + { + const Field<Type>& pfld = field.boundaryField()[patchi]; - const label patchStart = field.mesh().boundaryMesh()[patchi].start(); + const label start = field.mesh().boundaryMesh()[patchi].start(); - forAll(p, i) - { - allFaceField[patchStart + i] = p[i]; + SubList<Type>(allFaceField, pfld.size(), start) = pfld; } } // 1. Create the complete field with dummy patch fields - PtrList<fvsPatchField<Type>> patchFields(boundaryAddressing_.size()); - forAll(boundaryAddressing_, patchi) - { - patchFields.set - ( - patchi, - fvsPatchField<Type>::New - ( - fvsPatchFieldBase::calculatedType(), - procMesh_.boundary()[patchi], - fvsPatchField<Type>::Internal::null() - ) - ); - } - - tmp<SurfaceFieldType> tresF + auto tresult = GeometricField<Type, fvsPatchField, surfaceMesh>::New ( - new SurfaceFieldType - ( - IOobject - ( - field.name(), - procMesh_.thisDb().time().timeName(), - procMesh_.thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - procMesh_, - field.dimensions(), - Field<Type>(field.primitiveField(), mapAddr), - patchFields - ) + field.name(), + IOobject::NO_REGISTER, + procMesh_, + field.dimensions(), + // Internal field - mapped values + Field<Type>(field.primitiveField(), mapAddr), + fvsPatchFieldBase::calculatedType() ); - SurfaceFieldType& resF = tresF.ref(); - resF.oriented() = field().oriented(); + auto& result = tresult.ref(); + result.oriented() = field.oriented(); // 2. Change the fvsPatchFields to the correct type using a mapper // constructor (with reference to the now correct internal field) - auto& bf = resF.boundaryFieldRef(); + auto& bf = result.boundaryFieldRef(); forAll(boundaryAddressing_, patchi) { @@ -304,7 +231,7 @@ Foam::fvFieldDecomposer::decomposeField ( field.boundaryField()[boundaryAddressing_[patchi]], procMesh_.boundary()[patchi], - resF(), + result.internalField(), patchFieldDecomposerPtrs_[patchi] ) ); @@ -317,7 +244,7 @@ Foam::fvFieldDecomposer::decomposeField new processorCyclicFvsPatchField<Type> ( procMesh_.boundary()[patchi], - resF(), + result.internalField(), Field<Type> ( allFaceField, @@ -326,7 +253,7 @@ Foam::fvFieldDecomposer::decomposeField ) ); - if (resF.is_oriented()) + if (result.is_oriented()) { bf[patchi] *= faceSign_[patchi]; } @@ -339,7 +266,7 @@ Foam::fvFieldDecomposer::decomposeField new processorFvsPatchField<Type> ( procMesh_.boundary()[patchi], - resF(), + result.internalField(), Field<Type> ( allFaceField, @@ -348,7 +275,7 @@ Foam::fvFieldDecomposer::decomposeField ) ); - if (resF.is_oriented()) + if (result.is_oriented()) { bf[patchi] *= faceSign_[patchi]; } @@ -361,7 +288,7 @@ Foam::fvFieldDecomposer::decomposeField } // Create the field for the processor - return tresF; + return tresult; } diff --git a/src/parallel/decompose/decompose/pointFieldDecomposerTemplates.C b/src/parallel/decompose/decompose/pointFieldDecomposerTemplates.C index 0c01857cd7e..cc2671e98fd 100644 --- a/src/parallel/decompose/decompose/pointFieldDecomposerTemplates.C +++ b/src/parallel/decompose/decompose/pointFieldDecomposerTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,9 +38,6 @@ Foam::pointFieldDecomposer::decomposeField const GeometricField<Type, pointPatchField, pointMesh>& field ) const { - // Create and map the internal field values - Field<Type> internalField(field.primitiveField(), pointAddressing_); - // Create a list of pointers for the patchFields PtrList<pointPatchField<Type>> patchFields(boundaryAddressing_.size()); @@ -76,23 +73,17 @@ Foam::pointFieldDecomposer::decomposeField } // Create the field for the processor - return - tmp<GeometricField<Type, pointPatchField, pointMesh>>::New - ( - IOobject - ( - field.name(), - procMesh_.thisDb().time().timeName(), - procMesh_.thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - procMesh_, - field.dimensions(), - internalField, - patchFields - ); + return GeometricField<Type, pointPatchField, pointMesh>::New + ( + field.name(), + IOobject::NO_REGISTER, + procMesh_, + field.dimensions(), + // Internal field - mapped values + Field<Type>(field.primitiveField(), pointAddressing_), + // Boundary field + patchFields + ); } -- GitLab From 7b7dde0a6d92459d7e55437fd434be3a43ab46e6 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 17 Jan 2024 15:35:01 +0100 Subject: [PATCH 018/231] BUG: memory leak and interpolated fields not updated (fixes #3089) - in singleCellMesh application: also remove the interpolated fields from the registry, which ensures they are correctly updated between time steps --- .../singleCellMesh/singleCellMesh.C | 87 +++++++++++-------- 1 file changed, 49 insertions(+), 38 deletions(-) diff --git a/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C b/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C index 6f132837bb6..c049f3b9265 100644 --- a/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C +++ b/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -53,26 +53,33 @@ using namespace Foam; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Name of region to create -const string singleCellName = "singleCell"; +const word singleCellName = "singleCell"; template<class GeoField> -void interpolateFields +wordList interpolateFields ( - const singleCellFvMesh& scMesh, + const singleCellFvMesh& subsetter, const PtrList<GeoField>& flds ) { + wordList names(flds.size()); + forAll(flds, i) { - tmp<GeoField> scFld = scMesh.interpolate(flds[i]); - GeoField* scFldPtr = scFld.ptr(); - scFldPtr->writeOpt(IOobject::AUTO_WRITE); - scFldPtr->store(); + GeoField* subFld = subsetter.interpolate(flds[i]).ptr(); + + subFld->writeOpt(IOobject::AUTO_WRITE); + subFld->store(); + + names[i] = subFld->name(); } + + return names; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) { @@ -94,7 +101,7 @@ int main(int argc, char *argv[]) if (regionName == singleCellName) { FatalErrorInFunction - << "Cannot convert region " << singleCellName + << "Cannot convert region " << regionName << " since result would overwrite it. Please rename your region." << exit(FatalError); } @@ -111,7 +118,8 @@ int main(int argc, char *argv[]) mesh.pointsInstance(), runTime, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::NO_REGISTER ), mesh ) @@ -131,18 +139,27 @@ int main(int argc, char *argv[]) } - forAll(timeDirs, timeI) + // List of stored objects to clear prior to reading + DynamicList<word> storedObjects; + + forAll(timeDirs, timei) { - runTime.setTime(timeDirs[timeI], timeI); + runTime.setTime(timeDirs[timei], timei); Info<< nl << "Time = " << runTime.timeName() << endl; + // Purge any previously interpolated fields + if (!storedObjects.empty()) + { + static_cast<objectRegistry&>(scMesh()).erase(storedObjects); + storedObjects.clear(); + } // Check for new mesh if (mesh.readUpdate() != polyMesh::UNCHANGED) { Info<< "Detected changed mesh. Recreating singleCell mesh." << endl; - scMesh.clear(); // remove any registered objects + scMesh.reset(nullptr); // first free any stored objects scMesh.reset ( new singleCellFvMesh @@ -153,43 +170,37 @@ int main(int argc, char *argv[]) mesh.pointsInstance(), runTime, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::NO_REGISTER ), mesh ) ); } - // Read objects in time directory IOobjectList objects(mesh, runTime.timeName()); + storedObjects.reserve(objects.size()); + + // Read fvMesh fields, map and store the interpolated fields + #define doLocalCode(GeoField) \ + { \ + PtrList<GeoField> flds; \ + ReadFields(mesh, objects, flds); \ + storedObjects.push_back(interpolateFields(scMesh(), flds)); \ + } - // Read vol fields. - PtrList<volScalarField> vsFlds; - ReadFields(mesh, objects, vsFlds); - - PtrList<volVectorField> vvFlds; - ReadFields(mesh, objects, vvFlds); - - PtrList<volSphericalTensorField> vstFlds; - ReadFields(mesh, objects, vstFlds); - - PtrList<volSymmTensorField> vsymtFlds; - ReadFields(mesh, objects, vsymtFlds); - - PtrList<volTensorField> vtFlds; - ReadFields(mesh, objects, vtFlds); - - // Map and store the fields on the scMesh. - interpolateFields(scMesh(), vsFlds); - interpolateFields(scMesh(), vvFlds); - interpolateFields(scMesh(), vstFlds); - interpolateFields(scMesh(), vsymtFlds); - interpolateFields(scMesh(), vtFlds); + doLocalCode(volScalarField); + doLocalCode(volVectorField); + doLocalCode(volSphericalTensorField); + doLocalCode(volSymmTensorField); + doLocalCode(volTensorField); + #undef doLocalCode // Write - Info<< "Writing mesh to time " << runTime.timeName() << endl; + Info<< "Writing " << singleCellName + << " mesh/fields to time " << runTime.timeName() << endl; scMesh().write(); } -- GitLab From 81f0620b7b32d49951a9bb2f1d9db166fba3356e Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 18 Jan 2024 11:20:52 +0100 Subject: [PATCH 019/231] TUT: fix mesh/parallel/cavity for Alltest mode - use foamListTimes instead of hard-coded time to track the redistribution point. Still slightly fragile... --- tutorials/Alltest | 3 ++- tutorials/mesh/parallel/cavity/Allrun | 23 +++++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/tutorials/Alltest b/tutorials/Alltest index 7ab903e7dea..9277189ab5f 100755 --- a/tutorials/Alltest +++ b/tutorials/Alltest @@ -7,7 +7,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2017-2023 OpenCFD Ltd. +# Copyright (C) 2017-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -150,6 +150,7 @@ modifyCaseControlDict() { for dict in $(find . -name "controlDict*" -type f) do + case "${dict}" in (*.orig) continue;; esac cp -f "${dict}" "${dict}.orig" sed \ -e 's/\(startFrom[ \t]*\)[^ \t;]*;/\1 latestTime;/' \ diff --git a/tutorials/mesh/parallel/cavity/Allrun b/tutorials/mesh/parallel/cavity/Allrun index 49e9aa72a39..370935618e3 100755 --- a/tutorials/mesh/parallel/cavity/Allrun +++ b/tutorials/mesh/parallel/cavity/Allrun @@ -25,16 +25,27 @@ runParallel -s random icoFoam $fileHandler # Pick up last result cp system/controlDict-latestTime system/controlDict -# Redistribute to 5 processors. Note that new processors only get written -# a mesh to the current time (0.505). Use -overwrite instead to write the -# mesh to constant. +# Redistribute to 5 processors. +# Note that new processors only get written with a mesh at the current time. +# Use -overwrite instead to write the mesh to constant runParallel -s 5 $decompDict5 redistributePar -cellDist $fileHandler +latestTime=$(foamListTimes -processor -latestTime) + +echo "New mesh distribution. Time = $latestTime" + # Run a bit more runParallel -s 5 $decompDict5 icoFoam $fileHandler -# Reconstruct mesh and results. Note the time argument to make sure we -# only pick up the new decomposition -runParallel -s reconstruct -np 5 redistributePar -reconstruct -time 0.505: $fileHandler +# Reconstruct mesh and results. +# The time argument to make sure we only pick up the new decomposition +if [ -n "$latestTime" ] +then + runParallel -s reconstruct -np 5 redistributePar -reconstruct \ + -time "${latestTime}:" $fileHandler +else + runParallel -s reconstruct -np 5 redistributePar -reconstruct \ + -latestTime $fileHandler +fi #------------------------------------------------------------------------------ -- GitLab From 7cfd053079fbedd0bd5426a36c048f098a02f852 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Sat, 11 Nov 2023 12:20:39 +0100 Subject: [PATCH 020/231] ENH: use updated globalIndex methods - range(proci) instead of localStart(proci), localSize(proci) combination. * does the same thing, can be used directly with various other routines for slicing etc. Eg, Foam::identity(globalNumbering.range(myProci)) - globalIndex::calcOffset() instead of constructing a globalIndex and taking the localStart(). Avoids intermediate resizing and storing of an offsets table (which is then discarded) as well as the subsequent lookup into that table --- .../GAMGProcAgglomeration.C | 8 ++------ src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C | 6 ++++-- src/fileFormats/vtk/write/foamVtkPolyWriter.C | 10 +++++----- .../CellZoneInjection/CellZoneInjection.C | 16 +++++++--------- .../meshRefinement/meshRefinement.C | 10 ++++++---- .../writers/vtk/foamVtkCoordSetWriter.C | 6 +++--- .../vtk/mesh/foamVtkInternalMeshWriter.C | 18 ++++++++++-------- .../output/vtk/patch/foamVtkPatchMeshWriter.C | 4 ++-- .../vtk/topoSet/foamVtkWriteCellSetFaces.C | 4 ++-- .../output/vtk/topoSet/foamVtkWriteFaceSet.C | 4 ++-- .../cellCellStencil/cellCellStencil.C | 2 +- 11 files changed, 44 insertions(+), 44 deletions(-) diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C index 519e5f9ef5b..5d49a1bbeb3 100644 --- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C +++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C @@ -127,7 +127,7 @@ Foam::labelListList Foam::GAMGProcAgglomeration::globalCellCells const lduAddressing& addr = mesh.lduAddr(); lduInterfacePtrsList interfaces = mesh.interfaces(); - const label myProcID = UPstream::myProcNo(mesh.comm()); + const label myProci = UPstream::myProcNo(mesh.comm()); const globalIndex globalNumbering ( @@ -138,11 +138,7 @@ Foam::labelListList Foam::GAMGProcAgglomeration::globalCellCells const labelList globalIndices ( - identity - ( - globalNumbering.localSize(myProcID), - globalNumbering.localStart(myProcID) - ) + Foam::identity(globalNumbering.range(myProci)) ); // Get the interface cells diff --git a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C index 935c20d3707..e847072e24e 100644 --- a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C +++ b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C @@ -105,12 +105,14 @@ Foam::labelListList Foam::lduPrimitiveMesh::globalCellCells const lduAddressing& addr = mesh.lduAddr(); lduInterfacePtrsList interfaces = mesh.interfaces(); + const label myProci = UPstream::myProcNo(mesh.comm()); + const labelList globalIndices ( - identity + Foam::identity ( addr.size(), - globalNumbering.localStart(UPstream::myProcNo(mesh.comm())) + globalNumbering.localStart(myProci) ) ); diff --git a/src/fileFormats/vtk/write/foamVtkPolyWriter.C b/src/fileFormats/vtk/write/foamVtkPolyWriter.C index ae303a42785..006bf0232cf 100644 --- a/src/fileFormats/vtk/write/foamVtkPolyWriter.C +++ b/src/fileFormats/vtk/write/foamVtkPolyWriter.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -320,7 +320,7 @@ void Foam::vtk::polyWriter::writeLines // processor-local connectivity offsets label off = ( - parallel_ ? globalIndex(nLocalConns).localStart() : 0 + parallel_ ? globalIndex::calcOffset(nLocalConns) : 0 ); @@ -521,7 +521,7 @@ void Foam::vtk::polyWriter::writePolys // processor-local connectivity offsets label off = ( - parallel_ ? globalIndex(nLocalConns).localStart() : 0 + parallel_ ? globalIndex::calcOffset(nLocalConns) : 0 ); @@ -632,7 +632,7 @@ bool Foam::vtk::polyWriter::writeLineGeometry const label pointOffset = ( - parallel_ ? globalIndex(nLocalPoints_).localStart() : 0 + parallel_ ? globalIndex::calcOffset(nLocalPoints_) : 0 ); if (legacy()) @@ -662,7 +662,7 @@ bool Foam::vtk::polyWriter::writePolyGeometry const label pointOffset = ( - parallel_ ? globalIndex(nLocalPoints_).localStart() : 0 + parallel_ ? globalIndex::calcOffset(nLocalPoints_) : 0 ); if (legacy()) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C index 4993effd616..5ee1a9e6ff7 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -106,7 +106,9 @@ void Foam::CellZoneInjection<CloudType>::setPositions } // Parallel operation manipulations + const label myProci = UPstream::myProcNo(); globalIndex globalPositions(positions.size()); + List<vector> allPositions(globalPositions.totalSize(), point::max); List<label> allInjectorCells(globalPositions.totalSize(), -1); List<label> allInjectorTetFaces(globalPositions.totalSize(), -1); @@ -116,8 +118,7 @@ void Foam::CellZoneInjection<CloudType>::setPositions SubList<vector> ( allPositions, - globalPositions.localSize(Pstream::myProcNo()), - globalPositions.localStart(Pstream::myProcNo()) + globalPositions.range(myProci) ) = positions; Pstream::listCombineReduce(allPositions, minEqOp<point>()); @@ -126,20 +127,17 @@ void Foam::CellZoneInjection<CloudType>::setPositions SubList<label> ( allInjectorCells, - globalPositions.localSize(Pstream::myProcNo()), - globalPositions.localStart(Pstream::myProcNo()) + globalPositions.range(myProci) ) = injectorCells; SubList<label> ( allInjectorTetFaces, - globalPositions.localSize(Pstream::myProcNo()), - globalPositions.localStart(Pstream::myProcNo()) + globalPositions.range(myProci) ) = injectorTetFaces; SubList<label> ( allInjectorTetPts, - globalPositions.localSize(Pstream::myProcNo()), - globalPositions.localStart(Pstream::myProcNo()) + globalPositions.range(myProci) ) = injectorTetPts; // Transfer data diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C index 8066ce69518..93281ea440d 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C @@ -3437,11 +3437,12 @@ Foam::bitSet Foam::meshRefinement::getMasterPoints const labelList& meshPoints ) { + const label myProci = UPstream::myProcNo(); const globalIndex globalPoints(meshPoints.size()); labelList myPoints ( - identity(globalPoints.localSize(), globalPoints.localStart()) + Foam::identity(globalPoints.range(myProci)) ); syncTools::syncPointList @@ -3457,7 +3458,7 @@ Foam::bitSet Foam::meshRefinement::getMasterPoints bitSet isPatchMasterPoint(meshPoints.size()); forAll(meshPoints, pointi) { - if (myPoints[pointi] == globalPoints.toGlobal(pointi)) + if (myPoints[pointi] == globalPoints.toGlobal(myProci, pointi)) { isPatchMasterPoint.set(pointi); } @@ -3473,11 +3474,12 @@ Foam::bitSet Foam::meshRefinement::getMasterEdges const labelList& meshEdges ) { + const label myProci = UPstream::myProcNo(); const globalIndex globalEdges(meshEdges.size()); labelList myEdges ( - identity(globalEdges.localSize(), globalEdges.localStart()) + Foam::identity(globalEdges.range(myProci)) ); syncTools::syncEdgeList @@ -3493,7 +3495,7 @@ Foam::bitSet Foam::meshRefinement::getMasterEdges bitSet isMasterEdge(meshEdges.size()); forAll(meshEdges, edgei) { - if (myEdges[edgei] == globalEdges.toGlobal(edgei)) + if (myEdges[edgei] == globalEdges.toGlobal(myProci, edgei)) { isMasterEdge.set(edgei); } diff --git a/src/meshTools/coordSet/writers/vtk/foamVtkCoordSetWriter.C b/src/meshTools/coordSet/writers/vtk/foamVtkCoordSetWriter.C index 0321875fb33..294987fb2e1 100644 --- a/src/meshTools/coordSet/writers/vtk/foamVtkCoordSetWriter.C +++ b/src/meshTools/coordSet/writers/vtk/foamVtkCoordSetWriter.C @@ -244,7 +244,7 @@ void Foam::vtk::coordSetWriter::writeVerts() /// label off = /// ( - /// parallel_ ? globalIndex(nLocalConns).localStart() : 0 + /// parallel_ ? globalIndex::calcOffset(nLocalConns) : 0 /// ); auto iter = vertOffsets.begin(); @@ -356,7 +356,7 @@ void Foam::vtk::coordSetWriter::writeLines() /// label off = /// ( - /// parallel_ ? globalIndex(nLocalConns).localStart() : 0 + /// parallel_ ? globalIndex::calcOffset(nLocalConns) : 0 /// ); auto iter = vertOffsets.begin(); @@ -539,7 +539,7 @@ bool Foam::vtk::coordSetWriter::writeGeometry() //const label pointOffset = //( - // parallel_ ? globalIndex(nLocalPoints_).localStart() : 0 + // parallel_ ? globalIndex::calcOffset(nLocalPoints_) : 0 //); if (legacy()) diff --git a/src/meshTools/output/vtk/mesh/foamVtkInternalMeshWriter.C b/src/meshTools/output/vtk/mesh/foamVtkInternalMeshWriter.C index adae39e5609..ea1601d0a42 100644 --- a/src/meshTools/output/vtk/mesh/foamVtkInternalMeshWriter.C +++ b/src/meshTools/output/vtk/mesh/foamVtkInternalMeshWriter.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -262,7 +262,7 @@ void Foam::vtk::internalMeshWriter::writeCellsConnectivity // processor-local connectivity offsets const globalIndex procOffset ( - vertOffsets.empty() ? 0 : vertOffsets.last() + vertOffsets.empty() ? 0 : vertOffsets.back() ); vtk::writeListParallel(format_.ref(), vertOffsets, procOffset); @@ -431,17 +431,19 @@ void Foam::vtk::internalMeshWriter::writeCellsFaces const List<uint8_t>& cellTypes = vtuCells_.cellTypes(); const label nLocalCells = cellTypes.size(); - const globalIndex procOffset(faceLabels.size()); + // processor-local offsets for faceLabels + const label labelsOffset = + globalIndex::calcOffset(faceLabels.size()); labelList faceOffsetsRenumber; - if (faceOffsets.size()) // Or check procOffset.localSize() + if (faceOffsets.size()) // Or check faceLabels.size() { faceOffsetsRenumber = vtk::vtuSizing::copyFaceOffsetsXml ( faceOffsets, - procOffset.localStart() + labelsOffset ); } else @@ -567,7 +569,7 @@ bool Foam::vtk::internalMeshWriter::writeGeometry() // Include addPointCellLabels for the point offsets const label pointOffset = ( - parallel_ ? globalIndex(vtuCells_.nFieldPoints()).localStart() : 0 + parallel_ ? globalIndex::calcOffset(vtuCells_.nFieldPoints()) : 0 ); if (legacy()) @@ -670,13 +672,13 @@ void Foam::vtk::internalMeshWriter::writePointIDs() // Point offset for regular mesh points (without decomposed) const label pointOffset = ( - parallel_ ? globalIndex(vtuCells_.nPoints()).localStart() : 0 + parallel_ ? globalIndex::calcOffset(vtuCells_.nPoints()) : 0 ); // Cell offset for *regular* mesh cells (without decomposed) const label cellOffset = ( - parallel_ ? globalIndex(vtuCells_.nCells()).localStart() : 0 + parallel_ ? globalIndex::calcOffset(vtuCells_.nCells()) : 0 ); diff --git a/src/meshTools/output/vtk/patch/foamVtkPatchMeshWriter.C b/src/meshTools/output/vtk/patch/foamVtkPatchMeshWriter.C index fce8474d658..52e533adf5b 100644 --- a/src/meshTools/output/vtk/patch/foamVtkPatchMeshWriter.C +++ b/src/meshTools/output/vtk/patch/foamVtkPatchMeshWriter.C @@ -312,7 +312,7 @@ void Foam::vtk::patchMeshWriter::writePolys(const label pointOffset) // processor-local connectivity offsets label off = ( - parallel_ ? globalIndex(nLocalPolyConn_).localStart() : 0 + parallel_ ? globalIndex::calcOffset(nLocalPolyConn_) : 0 ); @@ -470,7 +470,7 @@ bool Foam::vtk::patchMeshWriter::writeGeometry() const label pointOffset = ( - parallel_ ? globalIndex(nLocalPoints_).localStart() : 0 + parallel_ ? globalIndex::calcOffset(nLocalPoints_) : 0 ); if (legacy()) diff --git a/src/meshTools/output/vtk/topoSet/foamVtkWriteCellSetFaces.C b/src/meshTools/output/vtk/topoSet/foamVtkWriteCellSetFaces.C index d5101225c37..8038f4b550e 100644 --- a/src/meshTools/output/vtk/topoSet/foamVtkWriteCellSetFaces.C +++ b/src/meshTools/output/vtk/topoSet/foamVtkWriteCellSetFaces.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2019 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -112,7 +112,7 @@ bool Foam::vtk::writeCellSetFaces // processor-local cellID offset const label cellIdOffset = ( - writer.parallel() ? globalIndex(mesh.nCells()).localStart() : 0 + writer.parallel() ? globalIndex::calcOffset(mesh.nCells()) : 0 ); forAll(faceValues, facei) diff --git a/src/meshTools/output/vtk/topoSet/foamVtkWriteFaceSet.C b/src/meshTools/output/vtk/topoSet/foamVtkWriteFaceSet.C index 13e7293e475..6254ce873fe 100644 --- a/src/meshTools/output/vtk/topoSet/foamVtkWriteFaceSet.C +++ b/src/meshTools/output/vtk/topoSet/foamVtkWriteFaceSet.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2019 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -73,7 +73,7 @@ bool Foam::vtk::writeFaceSet // processor-local faceID offset const label faceIdOffset = ( - writer.parallel() ? globalIndex(mesh.nFaces()).localStart() : 0 + writer.parallel() ? globalIndex::calcOffset(mesh.nFaces()) : 0 ); if (faceIdOffset) diff --git a/src/overset/cellCellStencil/cellCellStencil/cellCellStencil.C b/src/overset/cellCellStencil/cellCellStencil/cellCellStencil.C index 58104fca9dc..ff12dadc36e 100644 --- a/src/overset/cellCellStencil/cellCellStencil/cellCellStencil.C +++ b/src/overset/cellCellStencil/cellCellStencil/cellCellStencil.C @@ -246,7 +246,7 @@ void Foam::cellCellStencil::globalCellCells // 1. Determine global cell number on other side of coupled patches - labelList globalCellIDs(identity(gi.localSize(), gi.localStart())); + labelList globalCellIDs(Foam::identity(gi.range())); labelList nbrGlobalCellIDs; syncTools::swapBoundaryCellList -- GitLab From 152eceeb56283202477e222966c0c359ba30d5d8 Mon Sep 17 00:00:00 2001 From: Mark OLESEN <mark.olesen@esi-group.com> Date: Tue, 23 Jan 2024 11:22:19 +0000 Subject: [PATCH 021/231] Use factory Clone for patch fields --- .../T/smoluchowskiJumpTFvPatchScalarField.H | 25 +++----- .../BCs/U/maxwellSlipUFvPatchVectorField.H | 24 +++----- .../BCs/rho/fixedRhoFvPatchScalarField.H | 24 +++----- ...woPhaseRadCoupledMixedFvPatchScalarField.H | 31 +++------- .../adjointOutletPressureFvPatchScalarField.H | 24 +++----- .../adjointOutletVelocityFvPatchVectorField.H | 24 +++----- .../alphaContactAngleFvPatchScalarField.H | 24 +++----- .../alphaContactAngleFvPatchScalarField.H | 24 +++----- .../tractionDisplacementFvPatchVectorField.H | 24 +++----- ...DisplacementCorrectionFvPatchVectorField.H | 24 +++----- .../fixedValueFvPatchFieldTemplate.H | 24 +++----- .../fixedValuePointPatchFieldTemplate.H | 20 +++--- .../dynamicCode/mixedFvPatchFieldTemplate.H | 24 +++----- .../basicSymmetryPointPatchField.H | 27 +++----- .../calculated/calculatedPointPatchField.C | 25 +++++--- .../calculated/calculatedPointPatchField.H | 33 ++++------ .../basic/coupled/coupledPointPatchField.H | 6 +- .../fixedValue/fixedValuePointPatchField.H | 27 +++----- .../basic/value/valuePointPatchField.H | 27 +++----- .../zeroGradientPointPatchField.H | 27 +++----- .../constraint/cyclic/cyclicPointPatchField.H | 26 +++----- .../cyclicSlip/cyclicSlipPointPatchField.H | 26 +++----- .../constraint/empty/emptyPointPatchField.H | 28 +++------ ...nonuniformTransformCyclicPointPatchField.H | 26 +++----- .../processor/processorPointPatchField.H | 27 +++----- .../processorCyclicPointPatchField.H | 27 +++----- .../symmetry/symmetryPointPatchField.H | 27 +++----- .../symmetryPlanePointPatchField.H | 27 +++----- .../constraint/wedge/wedgePointPatchField.H | 26 +++----- .../codedFixedValuePointPatchField.H | 24 +++----- .../fixedNormalSlipPointPatchField.H | 28 +++------ .../derived/slip/slipPointPatchField.H | 27 +++----- ...eVaryingUniformFixedValuePointPatchField.H | 20 +++--- .../pointPatchField/pointPatchField.H | 32 ++++++++-- ...ayatillekeWallFunctionFvPatchScalarField.H | 24 +++----- ...thDissipationRateInletFvPatchScalarField.H | 31 +++------- ...ngLengthFrequencyInletFvPatchScalarField.H | 31 +++------- .../fixedShearStressFvPatchVectorField.H | 24 +++----- .../porousBafflePressureFvPatchField.H | 22 +++---- .../epsilonWallFunctionFvPatchScalarField.H | 24 +++----- .../kLowReWallFunctionFvPatchScalarField.H | 24 +++----- .../kqRWallFunctionFvPatchField.H | 22 +++---- .../nutLowReWallFunctionFvPatchScalarField.H | 24 +++----- ...utUBlendedWallFunctionFvPatchScalarField.H | 24 +++----- .../nutURoughWallFunctionFvPatchScalarField.H | 24 +++----- ...tUSpaldingWallFunctionFvPatchScalarField.H | 24 +++----- ...UTabulatedWallFunctionFvPatchScalarField.H | 24 +++----- .../nutUWallFunctionFvPatchScalarField.H | 24 +++----- .../nutkRoughWallFunctionFvPatchScalarField.H | 24 +++----- .../nutkWallFunctionFvPatchScalarField.H | 24 +++----- .../omegaWallFunctionFvPatchScalarField.H | 25 +++----- ...ndaryLayerInletEpsilonFvPatchScalarField.H | 24 +++----- ...atmBoundaryLayerInletKFvPatchScalarField.H | 24 +++----- ...oundaryLayerInletOmegaFvPatchScalarField.H | 24 +++----- ...daryLayerInletVelocityFvPatchVectorField.H | 24 +++----- ...entHeatFluxTemperatureFvPatchScalarField.H | 28 +++------ ...atmAlphatkWallFunctionFvPatchScalarField.H | 24 +++----- ...atmEpsilonWallFunctionFvPatchScalarField.H | 25 +++----- .../atmNutUWallFunctionFvPatchScalarField.H | 24 +++----- .../atmNutWallFunctionFvPatchScalarField.H | 24 +++----- .../atmNutkWallFunctionFvPatchScalarField.H | 24 +++----- .../atmOmegaWallFunctionFvPatchScalarField.H | 24 +++----- .../freeSurfacePressureFvPatchScalarField.H | 24 +++----- .../freeSurfaceVelocityFvPatchVectorField.H | 24 +++----- ...yMotionDisplacementPointPatchVectorField.H | 27 +++----- .../basicSymmetry/basicSymmetryFaPatchField.H | 22 +++---- .../basic/calculated/calculatedFaPatchField.C | 24 ++++++-- .../basic/calculated/calculatedFaPatchField.H | 22 +++---- .../basic/coupled/coupledFaPatchField.H | 6 +- .../extrapolatedCalculatedFaPatchField.H | 22 +++---- .../fixedGradient/fixedGradientFaPatchField.H | 22 +++---- .../basic/fixedValue/fixedValueFaPatchField.H | 22 +++---- .../basic/mixed/mixedFaPatchField.H | 22 +++---- .../basic/sliced/slicedFaPatchField.C | 61 +++---------------- .../basic/sliced/slicedFaPatchField.H | 16 +++-- .../basic/transform/transformFaPatchField.H | 6 +- .../zeroGradient/zeroGradientFaPatchField.H | 22 +++---- .../constraint/cyclic/cyclicFaPatchField.H | 22 +++---- .../constraint/empty/emptyFaPatchField.H | 22 +++---- .../processor/processorFaPatchField.H | 22 +++---- .../symmetry/symmetryFaPatchField.H | 22 +++---- .../constraint/wedge/wedgeFaPatchField.H | 22 +++---- .../clampedPlate/clampedPlateFaPatchField.H | 22 +++---- .../edgeNormalFixedValueFaPatchVectorField.H | 29 +++------ .../fixedValueOutflowFaPatchField.H | 22 +++---- .../derived/ignore/ignoreFaPatchField.H | 22 +++---- .../inletOutlet/inletOutletFaPatchField.H | 22 +++---- .../outletInlet/outletInletFaPatchField.H | 22 +++---- .../derived/slip/slipFaPatchField.H | 22 +++---- ...timeVaryingUniformFixedValueFaPatchField.H | 22 +++---- .../uniformFixedGradientFaPatchField.H | 22 +++---- .../uniformFixedValueFaPatchField.H | 22 +++---- .../uniformMixed/uniformMixedFaPatchField.H | 22 +++---- .../faPatchFields/faPatchField/faPatchField.H | 50 +++++++++++++-- .../calculated/calculatedFaePatchField.C | 21 +++++-- .../calculated/calculatedFaePatchField.H | 23 +++---- .../basic/coupled/coupledFaePatchField.H | 6 +- .../fixedValue/fixedValueFaePatchField.H | 23 +++---- .../basic/sliced/slicedFaePatchField.C | 37 +---------- .../basic/sliced/slicedFaePatchField.H | 16 +++-- .../constraint/cyclic/cyclicFaePatchField.H | 22 +++---- .../constraint/empty/emptyFaePatchField.H | 23 +++---- .../processor/processorFaePatchField.H | 24 +++----- .../symmetry/symmetryFaePatchField.H | 23 +++---- .../constraint/wedge/wedgeFaePatchField.H | 22 +++---- .../faePatchField/faePatchField.H | 36 +++++++++-- .../SRFFreestreamVelocityFvPatchVectorField.H | 24 +++----- .../SRFVelocityFvPatchVectorField.H | 24 +++----- .../SRFWallVelocityFvPatchVectorField.H | 24 +++----- .../exprFixedValueFvPatchField.H | 23 +++---- .../fvPatchFields/exprMixedFvPatchField.H | 22 +++---- .../exprValuePointPatchField.H | 20 +----- .../basicSymmetry/basicSymmetryFvPatchField.H | 22 +++---- .../basic/calculated/calculatedFvPatchField.C | 7 ++- .../basic/calculated/calculatedFvPatchField.H | 22 +++---- .../basic/coupled/coupledFvPatchField.H | 6 +- .../directionMixedFvPatchField.H | 22 +++---- .../extrapolatedCalculatedFvPatchField.H | 22 +++---- .../fixedGradient/fixedGradientFvPatchField.H | 22 +++---- .../basic/fixedValue/fixedValueFvPatchField.H | 22 +++---- .../basic/mixed/mixedFvPatchField.H | 22 +++---- .../basic/sliced/slicedFvPatchField.C | 61 +++---------------- .../basic/sliced/slicedFvPatchField.H | 16 +++-- .../basic/transform/transformFvPatchField.H | 6 +- .../zeroGradient/zeroGradientFvPatchField.H | 22 +++---- .../calculatedProcessorFvPatchField.H | 22 +++---- .../constraint/cyclic/cyclicFvPatchField.H | 22 +++---- .../cyclicACMI/cyclicACMIFvPatchField.H | 22 +++---- .../cyclicAMI/cyclicAMIFvPatchField.H | 22 +++---- .../cyclicSlip/cyclicSlipFvPatchField.H | 22 +++---- .../constraint/empty/emptyFvPatchField.H | 22 +++---- .../nonuniformTransformCyclicFvPatchField.H | 23 +++---- .../processor/processorFvPatchField.H | 22 +++---- .../processorCyclicFvPatchField.H | 22 +++---- .../symmetry/symmetryFvPatchField.H | 22 +++---- .../symmetryPlane/symmetryPlaneFvPatchField.H | 22 +++---- .../constraint/wedge/wedgeFvPatchField.H | 22 +++---- .../acousticWaveTransmissiveFvPatchField.H | 22 +++---- .../activeBaffleVelocityFvPatchVectorField.H | 24 +++----- ...ureForceBaffleVelocityFvPatchVectorField.H | 28 +++------ .../derived/advective/advectiveFvPatchField.H | 22 +++---- .../codedFixedValueFvPatchField.H | 22 +++---- .../codedMixed/codedMixedFvPatchField.H | 22 +++---- ...lindricalInletVelocityFvPatchVectorField.H | 24 +++----- ...lectrostaticDepositionFvPatchScalarField.H | 24 +++----- .../derived/fan/fanFvPatchField.H | 22 +++---- .../fanPressureFvPatchScalarField.H | 28 +++------ ...uxExtrapolatedPressureFvPatchScalarField.H | 24 +++----- .../fixedFluxPressureFvPatchScalarField.H | 24 +++----- .../fixedInternalValueFvPatchField.H | 22 +++---- .../derived/fixedJump/fixedJumpFvPatchField.H | 22 +++---- .../fixedJumpAMI/fixedJumpAMIFvPatchField.H | 22 +++---- .../derived/fixedMean/fixedMeanFvPatchField.H | 22 +++---- .../fixedMeanOutletInletFvPatchField.H | 22 +++---- ...malInletOutletVelocityFvPatchVectorField.H | 24 +++----- .../fixedNormalSlipFvPatchField.H | 22 +++---- ...ureCompressibleDensityFvPatchScalarField.H | 28 +++------ .../fixedProfile/fixedProfileFvPatchField.H | 22 +++---- .../flowRateInletVelocityFvPatchVectorField.H | 24 +++----- ...flowRateOutletVelocityFvPatchVectorField.H | 24 +++----- .../fluxCorrectedVelocityFvPatchVectorField.H | 24 +++----- .../freestream/freestreamFvPatchField.H | 22 +++---- .../freestreamPressureFvPatchScalarField.H | 24 +++----- .../freestreamVelocityFvPatchVectorField.H | 24 +++----- .../inletOutlet/inletOutletFvPatchField.H | 22 +++---- ...OutletTotalTemperatureFvPatchScalarField.H | 24 +++----- .../interfaceCompressionFvPatchScalarField.H | 24 +++----- ...erstitialInletVelocityFvPatchVectorField.H | 24 +++----- .../mappedField/mappedFieldFvPatchField.H | 29 +++------ .../mappedMixedFieldFvPatchField.H | 29 +++------ .../mappedFixedInternalValueFvPatchField.H | 22 +++---- ...ppedFixedPushedInternalValueFvPatchField.H | 29 +++------ .../mappedFixedValueFvPatchField.H | 22 +++---- .../mappedFlowRateFvPatchVectorField.H | 25 +++----- .../mappedMixed/mappedMixedFvPatchField.H | 29 +++------ ...mappedVelocityFluxFixedValueFvPatchField.H | 24 +++----- ...FlowRateOutletVelocityFvPatchVectorField.H | 24 +++----- .../movingWallVelocityFvPatchVectorField.H | 24 +++----- .../derived/noSlip/noSlipFvPatchVectorField.H | 24 +++----- .../outletInlet/outletInletFvPatchField.H | 22 +++---- .../outletMappedUniformInletFvPatchField.H | 22 +++---- ...utletPhaseMeanVelocityFvPatchVectorField.H | 28 +++------ .../partialSlip/partialSlipFvPatchField.H | 22 +++---- ...aseHydrostaticPressureFvPatchScalarField.H | 24 +++----- .../plenumPressureFvPatchScalarField.H | 24 +++----- ...tedInletOutletVelocityFvPatchVectorField.H | 31 +++------- ...eDirectedInletVelocityFvPatchVectorField.H | 28 +++------ ...tOutletParSlipVelocityFvPatchVectorField.H | 31 +++------- ...ureInletOutletVelocityFvPatchVectorField.H | 24 +++----- ...reInletUniformVelocityFvPatchVectorField.H | 24 +++----- .../pressureInletVelocityFvPatchVectorField.H | 24 +++----- ...malInletOutletVelocityFvPatchVectorField.H | 31 +++------- ...IDControlInletVelocityFvPatchVectorField.H | 31 +++------- ...phaInletOutletVelocityFvPatchVectorField.H | 31 +++------- ...ableAlphaTotalPressureFvPatchScalarField.H | 28 +++------ .../prghPressureFvPatchScalarField.H | 24 +++----- ...talHydrostaticPressureFvPatchScalarField.H | 24 +++----- .../prghTotalPressureFvPatchScalarField.H | 24 +++----- ...ureInletOutletVelocityFvPatchVectorField.H | 28 +++------ .../rotatingTotalPressureFvPatchScalarField.H | 24 +++----- .../rotatingWallVelocityFvPatchVectorField.H | 27 +++----- .../scaledFixedValueFvPatchField.H | 22 +++---- .../derived/slip/slipFvPatchField.H | 22 +++---- .../supersonicFreestreamFvPatchVectorField.H | 24 +++----- ...urfaceNormalFixedValueFvPatchVectorField.H | 28 +++------ .../swirlFanVelocityFvPatchField.H | 22 +++---- ...lFlowRateInletVelocityFvPatchVectorField.H | 24 +++----- .../swirlInletVelocityFvPatchVectorField.H | 24 +++----- .../syringePressureFvPatchScalarField.H | 24 +++----- .../timeVaryingMappedFixedValueFvPatchField.H | 22 +++---- .../totalPressureFvPatchScalarField.H | 24 +++----- .../totalTemperatureFvPatchScalarField.H | 24 +++----- ...ranslatingWallVelocityFvPatchVectorField.H | 26 +++----- .../turbulentDFSEMInletFvPatchVectorField.H | 24 +++----- .../turbulentDigitalFilterInletFvPatchField.H | 22 +++---- .../turbulentInletFvPatchField.H | 22 +++---- ...sityKineticEnergyInletFvPatchScalarField.H | 31 +++------- ...ityHydrostaticPressureFvPatchScalarField.H | 28 +++------ .../uniformFixedGradientFvPatchField.H | 22 +++---- .../uniformFixedValueFvPatchField.H | 22 +++---- .../uniformInletOutletFvPatchField.H | 22 +++---- .../uniformJump/uniformJumpFvPatchField.H | 22 +++---- .../uniformJumpAMIFvPatchField.H | 22 +++---- .../uniformMixed/uniformMixedFvPatchField.H | 22 +++---- ...niformNormalFixedValueFvPatchVectorField.H | 28 +++------ .../uniformTotalPressureFvPatchScalarField.H | 24 +++----- .../variableHeightFlowRateFvPatchField.H | 22 +++---- ...tFlowRateInletVelocityFvPatchVectorField.H | 28 +++------ .../waveSurfacePressureFvPatchScalarField.H | 24 +++----- .../waveTransmissiveFvPatchField.H | 22 +++---- .../fvPatchFields/fvPatchField/fvPatchField.H | 36 ++++++++--- .../calculated/calculatedFvsPatchField.C | 4 +- .../calculated/calculatedFvsPatchField.H | 22 +++---- .../basic/coupled/coupledFvsPatchField.H | 6 +- .../fixedValue/fixedValueFvsPatchField.H | 23 +++---- .../basic/sliced/slicedFvsPatchField.C | 37 +---------- .../basic/sliced/slicedFvsPatchField.H | 16 +++-- .../constraint/cyclic/cyclicFvsPatchField.H | 22 +++---- .../cyclicACMI/cyclicACMIFvsPatchField.H | 29 ++++----- .../cyclicAMI/cyclicAMIFvsPatchField.H | 30 ++++----- .../cyclicSlip/cyclicSlipFvsPatchField.H | 22 +++---- .../constraint/empty/emptyFvsPatchField.H | 22 +++---- .../nonuniformTransformCyclicFvsPatchField.H | 22 +++---- .../processor/processorFvsPatchField.H | 22 +++---- .../processorCyclicFvsPatchField.H | 22 +++---- .../symmetry/symmetryFvsPatchField.H | 22 +++---- .../symmetryPlaneFvsPatchField.H | 22 +++---- .../constraint/wedge/wedgeFvsPatchField.H | 22 +++---- .../fvsPatchField/fvsPatchField.H | 36 ++++++++--- .../externalCoupledMixedFvPatchField.H | 22 +++---- ...oupledTemperatureMixedFvPatchScalarField.H | 26 +++----- .../cellMotion/cellMotionFvPatchField.H | 22 +++---- .../surfaceSlipDisplacementFvPatchField.H | 23 +++---- ...llatingDisplacementPointPatchVectorField.H | 27 +++----- ...OscillatingVelocityPointPatchVectorField.H | 27 +++----- ...llatingDisplacementPointPatchVectorField.H | 27 +++----- ...oscillatingVelocityPointPatchVectorField.H | 27 +++----- ...surfaceDisplacementPointPatchVectorField.H | 30 +++------ ...aceSlipDisplacementPointPatchVectorField.H | 30 +++------ ...meVaryingMappedFixedValuePointPatchField.H | 20 +++--- ...polatedDisplacementPointPatchVectorField.H | 27 +++----- .../waveDisplacementPointPatchVectorField.H | 27 +++----- .../genericFaPatchField/genericFaPatchField.H | 22 +++---- .../genericFaePatchField.H | 22 +++---- .../genericFvPatchField/genericFvPatchField.H | 22 +++---- .../genericFvsPatchField.H | 22 +++---- .../genericPointPatchField.H | 27 +++----- ...edPointDisplacementPointPatchVectorField.H | 27 +++----- .../zeroFixedValuePointPatchField.H | 26 ++------ .../cyclicACMIPointPatchField.H | 26 +++----- .../cyclicAMIPointPatchField.H | 26 +++----- .../uniformFixedValuePointPatchField.H | 27 +++----- ...djointFarFieldPressureFvPatchScalarField.H | 24 +++----- ...djointFarFieldVelocityFvPatchVectorField.H | 24 +++----- .../adjointInletVelocityFvPatchVectorField.H | 24 +++----- .../adjointOutletPressureFvPatchScalarField.H | 24 +++----- .../adjointOutletVelocityFvPatchVectorField.H | 25 +++----- ...ointOutletVelocityFluxFvPatchVectorField.H | 25 +++----- ...ntRotatingWallVelocityFvPatchVectorField.H | 24 +++----- .../adjointWallVelocityFvPatchVectorField.H | 24 +++----- ...jointWallVelocityLowReFvPatchVectorField.H | 24 +++----- .../adjointZeroInletFvPatchField.H | 22 +++---- ...djointFarFieldNuaTildaFvPatchScalarField.H | 24 +++----- .../adjointFarFieldTMVar1FvPatchScalarField.H | 24 +++----- .../adjointFarFieldTMVar2FvPatchScalarField.H | 24 +++----- .../adjointInletNuaTildaFvPatchScalarField.H | 24 +++----- .../adjointOutletFluxFvPatchField.H | 22 +++---- .../adjointOutletKaFvPatchScalarField.H | 24 +++----- .../adjointOutletNuaTildaFvPatchScalarField.H | 24 +++----- ...ointOutletNuaTildaFluxFvPatchScalarField.H | 24 +++----- .../adjointOutletWaFvPatchScalarField.H | 24 +++----- .../kaqRWallFunctionFvPatchScalarField.H | 24 +++----- .../waWallFunctionFvPatchScalarField.H | 24 +++----- .../oversetPolyPatch/oversetFvPatchField.H | 22 +++---- .../alphaContactAngleFvPatchScalarField.H | 24 +++----- ...imeVaryingMassSorptionFvPatchScalarField.H | 24 +++----- .../alphaContactAngleFvPatchScalarField.H | 24 +++----- ...allBoilingWallFunctionFvPatchScalarField.H | 31 +++------- ...ayatillekeWallFunctionFvPatchScalarField.H | 31 +++------- ...allBoilingWallFunctionFvPatchScalarField.H | 24 +++----- .../copiedFixedValueFvPatchScalarField.H | 24 +++----- ...ixedMultiPhaseHeatFluxFvPatchScalarField.H | 24 +++----- ...sonJacksonParticleSlipFvPatchVectorField.H | 24 +++----- ...onJacksonParticleThetaFvPatchScalarField.H | 24 +++----- ...sonJacksonParticleSlipFvPatchVectorField.H | 24 +++----- ...onJacksonParticleThetaFvPatchScalarField.H | 24 +++----- .../velocityFilmShellFvPatchVectorField.H | 24 +++----- .../thermalShellFvPatchScalarField.H | 24 +++----- .../vibrationShellFvPatchScalarField.H | 24 +++----- ...sRadiativeCoupledMixedFvPatchScalarField.H | 31 +++------- ...ysisTemperatureCoupledFvPatchScalarField.H | 24 +++----- ...rolysisVelocityCoupledFvPatchVectorField.H | 24 +++----- ...ilmHeightInletVelocityFvPatchVectorField.H | 24 +++----- ...linedFilmNusseltHeightFvPatchScalarField.H | 24 +++----- ...lmNusseltInletVelocityFvPatchVectorField.H | 27 +++----- ...alphatFilmWallFunctionFvPatchScalarField.H | 24 +++----- .../nutkFilmWallFunctionFvPatchScalarField.H | 24 +++----- .../thermalBaffleFvPatchScalarField.H | 25 +++----- ...gidBodyDisplacementPointPatchVectorField.H | 27 +++----- ...gidBodyDisplacementPointPatchVectorField.H | 27 +++----- ...convectiveHeatTransferFvPatchScalarField.H | 24 +++----- ...allHeatFluxTemperatureFvPatchScalarField.H | 24 +++----- ...fixedIncidentRadiationFvPatchScalarField.H | 35 +++-------- ...emperatureCoupledMixedFvPatchScalarField.H | 31 +++------- ...pedMassWallTemperatureFvPatchScalarField.H | 24 +++----- ...tletMachNumberPressureFvPatchScalarField.H | 24 +++----- ...ppedUniformInletHeatAdditionFvPatchField.H | 22 +++---- ...ableBaffleMassFractionFvPatchScalarField.H | 28 +++------ ...ermeableBaffleVelocityFvPatchVectorField.H | 28 +++------ .../thermalBaffle1DFvPatchScalarField.H | 24 +++----- ...RateAdvectiveDiffusiveFvPatchScalarField.H | 30 +++------ ...tureCoupledBaffleMixedFvPatchScalarField.H | 31 +++------- ...eratureRadCoupledMixedFvPatchScalarField.H | 31 +++------- ...ayatillekeWallFunctionFvPatchScalarField.H | 28 +++------ .../alphatWallFunctionFvPatchScalarField.H | 24 +++----- .../sorptionWallFunctionFvPatchScalarField.H | 28 +++------ .../wallHeatTransferFvPatchScalarField.H | 24 +++----- .../energyJump/energyJumpFvPatchScalarField.H | 22 +++---- .../energyJumpAMIFvPatchScalarField.H | 22 +++---- .../fixedEnergyFvPatchScalarField.H | 24 +++----- .../gradientEnergyFvPatchScalarField.H | 24 +++----- .../mixedEnergyFvPatchScalarField.H | 24 +++----- .../MarshakRadiationFvPatchScalarField.H | 24 +++----- ...iationFixedTemperatureFvPatchScalarField.H | 28 +++------ ...iffusiveRadiationMixedFvPatchScalarField.H | 24 +++----- ...veViewFactorFixedValueFvPatchScalarField.H | 28 +++------ ...specularRadiationMixedFvPatchScalarField.H | 24 +++----- ...iffusiveRadiationMixedFvPatchScalarField.H | 26 +++----- .../enthalpySorptionFvPatchScalarField.H | 24 +++----- .../fixedUnburntEnthalpyFvPatchScalarField.H | 24 +++----- ...radientUnburntEnthalpyFvPatchScalarField.H | 24 +++----- .../mixedUnburntEnthalpyFvPatchScalarField.H | 24 +++----- .../speciesSorptionFvPatchScalarField.H | 24 +++----- ...stantAlphaContactAngleFvPatchScalarField.H | 24 +++----- ...namicAlphaContactAngleFvPatchScalarField.H | 24 +++----- ...ndentAlphaContactAngleFvPatchScalarField.H | 31 +++------- ...ryingAlphaContactAngleFvPatchScalarField.H | 24 +++----- .../alphaFixedPressureFvPatchScalarField.H | 24 +++----- .../waveAlpha/waveAlphaFvPatchScalarField.H | 24 +++----- .../waveVelocityFvPatchVectorField.H | 24 +++----- .../waveMakerPointPatchVectorField.H | 27 +++----- 361 files changed, 3155 insertions(+), 5621 deletions(-) diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.H b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.H index 0ac35141e65..ef03d5e198c 100644 --- a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.H +++ b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.H @@ -110,15 +110,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new smoluchowskiJumpTFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference smoluchowskiJumpTFvPatchScalarField ( @@ -126,18 +117,22 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new smoluchowskiJumpTFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } + // Mapping functions //- Map (and resize as needed) from self given a mapping object diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.H b/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.H index 1ebe0338aee..50862433b39 100644 --- a/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.H +++ b/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.H @@ -118,15 +118,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new maxwellSlipUFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference maxwellSlipUFvPatchVectorField ( @@ -134,16 +125,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new maxwellSlipUFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/rho/fixedRhoFvPatchScalarField.H b/applications/solvers/compressible/rhoCentralFoam/BCs/rho/fixedRhoFvPatchScalarField.H index 28587acacaa..85fff0f1c88 100644 --- a/applications/solvers/compressible/rhoCentralFoam/BCs/rho/fixedRhoFvPatchScalarField.H +++ b/applications/solvers/compressible/rhoCentralFoam/BCs/rho/fixedRhoFvPatchScalarField.H @@ -135,15 +135,6 @@ public: const fixedRhoFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fixedRhoFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference fixedRhoFvPatchScalarField ( @@ -151,16 +142,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fixedRhoFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/derivedFvPatchFields/turbulentTemperatureTwoPhaseRadCoupledMixed/turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/derivedFvPatchFields/turbulentTemperatureTwoPhaseRadCoupledMixed/turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField.H index 072a0d28075..3268eab8d34 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/derivedFvPatchFields/turbulentTemperatureTwoPhaseRadCoupledMixed/turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/derivedFvPatchFields/turbulentTemperatureTwoPhaseRadCoupledMixed/turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField.H @@ -196,18 +196,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField ( @@ -215,20 +203,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.H b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.H index d6497487452..a6bd29689c3 100644 --- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.H +++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.H @@ -85,15 +85,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointOutletPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletPressureFvPatchScalarField ( @@ -101,16 +92,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointOutletPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H index 6a1357a8204..5256fdfbd05 100644 --- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H +++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H @@ -85,15 +85,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new adjointOutletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletVelocityFvPatchVectorField ( @@ -101,16 +92,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new adjointOutletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.H index 2863677d834..208c574975c 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.H +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.H @@ -164,15 +164,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphaContactAngleFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphaContactAngleFvPatchScalarField ( @@ -180,16 +171,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphaContactAngleFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H index 433ae213e2c..c84ffe06928 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H @@ -164,15 +164,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphaContactAngleFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphaContactAngleFvPatchScalarField ( @@ -180,16 +171,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphaContactAngleFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/tractionDisplacement/tractionDisplacementFvPatchVectorField.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/tractionDisplacement/tractionDisplacementFvPatchVectorField.H index 9c13942f156..b20d6f64ccc 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/tractionDisplacement/tractionDisplacementFvPatchVectorField.H +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/tractionDisplacement/tractionDisplacementFvPatchVectorField.H @@ -100,15 +100,6 @@ public: const tractionDisplacementFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new tractionDisplacementFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference tractionDisplacementFvPatchVectorField ( @@ -116,16 +107,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new tractionDisplacementFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.H b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.H index 52c2593a1a0..6590915eb61 100644 --- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.H +++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.H @@ -98,15 +98,6 @@ public: const tractionDisplacementCorrectionFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new tractionDisplacementCorrectionFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference tractionDisplacementCorrectionFvPatchVectorField ( @@ -114,16 +105,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new tractionDisplacementCorrectionFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/etc/codeTemplates/dynamicCode/fixedValueFvPatchFieldTemplate.H b/etc/codeTemplates/dynamicCode/fixedValueFvPatchFieldTemplate.H index 1baf7be91e7..92f61528f66 100644 --- a/etc/codeTemplates/dynamicCode/fixedValueFvPatchFieldTemplate.H +++ b/etc/codeTemplates/dynamicCode/fixedValueFvPatchFieldTemplate.H @@ -107,15 +107,6 @@ public: const ${typeName}FixedValueFvPatch${FieldType}& ); - //- Construct and return a clone - virtual tmp<fvPatch${FieldType}> clone() const - { - return tmp<fvPatch${FieldType}> - ( - new ${typeName}FixedValueFvPatch${FieldType}(*this) - ); - } - //- Construct as copy setting internal field reference ${typeName}FixedValueFvPatch${FieldType} ( @@ -123,16 +114,19 @@ public: const DimensionedField<${TemplateType}, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatch${FieldType}> clone + //- Return a clone + virtual tmp<fvPatchField<${TemplateType}>> clone() const + { + return fvPatchField<${TemplateType}>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<${TemplateType}>> clone ( const DimensionedField<${TemplateType}, volMesh>& iF ) const { - return tmp<fvPatch${FieldType}> - ( - new ${typeName}FixedValueFvPatch${FieldType}(*this, iF) - ); + return fvPatchField<${TemplateType}>::Clone(*this, iF); } diff --git a/etc/codeTemplates/dynamicCode/fixedValuePointPatchFieldTemplate.H b/etc/codeTemplates/dynamicCode/fixedValuePointPatchFieldTemplate.H index d46cd3e1a6f..3fef28149c8 100644 --- a/etc/codeTemplates/dynamicCode/fixedValuePointPatchFieldTemplate.H +++ b/etc/codeTemplates/dynamicCode/fixedValuePointPatchFieldTemplate.H @@ -108,15 +108,6 @@ public: const ${typeName}FixedValuePointPatch${FieldType}& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<${TemplateType}>> clone() const - { - return autoPtr<pointPatchField<${TemplateType}>> - ( - new ${typeName}FixedValuePointPatch${FieldType}(*this) - ); - } - //- Construct as copy setting internal field reference ${typeName}FixedValuePointPatch${FieldType} ( @@ -124,16 +115,19 @@ public: const DimensionedField<${TemplateType}, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<${TemplateType}>> clone() const + { + return pointPatchField<${TemplateType}>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<${TemplateType}>> clone ( const DimensionedField<${TemplateType}, pointMesh>& iF ) const { - return autoPtr<pointPatchField<${TemplateType}>> - ( - new ${typeName}FixedValuePointPatch${FieldType}(*this, iF) - ); + return pointPatchField<${TemplateType}>::Clone(*this, iF); } diff --git a/etc/codeTemplates/dynamicCode/mixedFvPatchFieldTemplate.H b/etc/codeTemplates/dynamicCode/mixedFvPatchFieldTemplate.H index 74195dc8df5..8e9ee59f823 100644 --- a/etc/codeTemplates/dynamicCode/mixedFvPatchFieldTemplate.H +++ b/etc/codeTemplates/dynamicCode/mixedFvPatchFieldTemplate.H @@ -107,15 +107,6 @@ public: const ${typeName}MixedValueFvPatch${FieldType}& ); - //- Construct and return a clone - virtual tmp<fvPatch${FieldType}> clone() const - { - return tmp<fvPatch${FieldType}> - ( - new ${typeName}MixedValueFvPatch${FieldType}(*this) - ); - } - //- Construct as copy setting internal field reference ${typeName}MixedValueFvPatch${FieldType} ( @@ -123,16 +114,19 @@ public: const DimensionedField<${TemplateType}, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatch${FieldType}> clone + //- Return a clone + virtual tmp<fvPatchField<${TemplateType}>> clone() const + { + return fvPatchField<${TemplateType}>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<${TemplateType}>> clone ( const DimensionedField<${TemplateType}, volMesh>& iF ) const { - return tmp<fvPatch${FieldType}> - ( - new ${typeName}MixedValueFvPatch${FieldType}(*this, iF) - ); + return fvPatchField<${TemplateType}>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H index c94efce3dd7..20cb347469c 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H @@ -83,18 +83,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new basicSymmetryPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference basicSymmetryPointPatchField ( @@ -102,20 +90,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new basicSymmetryPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.C index 44c460d5c6b..220be3b830c 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.C @@ -78,14 +78,13 @@ Foam::calculatedPointPatchField<Type>::calculatedPointPatchField template<class Type> -template<class Type2> Foam::autoPtr<Foam::pointPatchField<Type>> Foam::pointPatchField<Type>::NewCalculatedType ( - const pointPatchField<Type2>& pf + const pointPatch& p ) { - auto* patchTypeCtor = patchConstructorTable(pf.patch().type()); + auto* patchTypeCtor = patchConstructorTable(p.type()); if (patchTypeCtor) { @@ -93,8 +92,8 @@ Foam::pointPatchField<Type>::NewCalculatedType ( patchTypeCtor ( - pf.patch(), - Field<Type>::null() + p, + DimensionedField<Type, pointMesh>::null() ) ); } @@ -104,12 +103,24 @@ Foam::pointPatchField<Type>::NewCalculatedType ( new calculatedPointPatchField<Type> ( - pf.patch(), - Field<Type>::null() + p, + DimensionedField<Type, pointMesh>::null() ) ); } } +template<class Type> +template<class AnyType> +Foam::autoPtr<Foam::pointPatchField<Type>> +Foam::pointPatchField<Type>::NewCalculatedType +( + const pointPatchField<AnyType>& pf +) +{ + return NewCalculatedType(pf.patch()); +} + + // ************************************************************************* // diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.H index 42189f5a278..a3f040c7fac 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.H @@ -85,18 +85,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new calculatedPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference calculatedPointPatchField ( @@ -104,18 +92,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference - virtual autoPtr<pointPatchField<Type>> - clone(const DimensionedField<Type, pointMesh>& iF) const + virtual autoPtr<pointPatchField<Type>> clone + ( + const DimensionedField<Type, pointMesh>& iF + ) const { - return autoPtr<pointPatchField<Type>> - ( - new calculatedPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.H index 616743df38a..a70e06f7320 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.H @@ -87,9 +87,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const = 0; - //- Construct as copy setting internal field reference coupledPointPatchField ( @@ -97,6 +94,9 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const = 0; + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H index 06203b7ad85..c325c855292 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H @@ -111,18 +111,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new fixedValuePointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference fixedValuePointPatchField ( @@ -130,20 +118,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new fixedValuePointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H index 2bd1a9e993c..377be799304 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H @@ -142,18 +142,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new valuePointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference valuePointPatchField ( @@ -161,20 +149,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new valuePointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchField.H index ca91d23cff7..14ac2777e18 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchField.H @@ -85,18 +85,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new zeroGradientPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference zeroGradientPointPatchField ( @@ -104,20 +92,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new zeroGradientPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.H index f8cccfa7b01..80e5905a4e2 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.H @@ -92,18 +92,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new cyclicPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference cyclicPointPatchField ( @@ -111,19 +99,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new cyclicPointPatchField<Type> - ( - *this, iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchField.H index 600fc2080be..628ae11ae9a 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchField.H @@ -87,18 +87,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new cyclicSlipPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference cyclicSlipPointPatchField ( @@ -106,19 +94,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new cyclicSlipPointPatchField<Type> - ( - *this, iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.H index dc2c9fc903f..a865ee9ee77 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.H @@ -86,18 +86,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new emptyPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference emptyPointPatchField ( @@ -105,22 +93,22 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new emptyPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } + // Member functions //- Constraint handling diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H index 982884b84a3..8808cc3a0ab 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H @@ -87,18 +87,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new nonuniformTransformCyclicPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference nonuniformTransformCyclicPointPatchField ( @@ -106,19 +94,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new nonuniformTransformCyclicPointPatchField<Type> - ( - *this, iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.H index ed9f82d6692..61f0962398c 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.H @@ -91,18 +91,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new processorPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference processorPointPatchField ( @@ -110,20 +98,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new processorPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.H index 7dd46e4f74d..a5eed9049d4 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.H @@ -99,18 +99,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new processorCyclicPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference processorCyclicPointPatchField ( @@ -118,20 +106,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new processorCyclicPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetry/symmetryPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetry/symmetryPointPatchField.H index 7be7b6ff01e..8a9192bd16b 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetry/symmetryPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetry/symmetryPointPatchField.H @@ -87,18 +87,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new symmetryPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference symmetryPointPatchField ( @@ -106,20 +94,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new symmetryPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H index 1422a613205..1b9b5459026 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H @@ -92,18 +92,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new symmetryPlanePointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference symmetryPlanePointPatchField ( @@ -111,20 +99,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new symmetryPlanePointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.H index 7b2ebc85869..436076f5214 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.H @@ -87,18 +87,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new wedgePointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference wedgePointPatchField ( @@ -106,19 +94,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new wedgePointPatchField<Type> - ( - *this, iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.H index 438acf74ce3..9999047742a 100644 --- a/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.H @@ -209,15 +209,6 @@ public: const codedFixedValuePointPatchField<Type>& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new codedFixedValuePointPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference codedFixedValuePointPatchField ( @@ -225,20 +216,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new codedFixedValuePointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchField.H index d4c031350ed..bdfa66a5a8f 100644 --- a/src/OpenFOAM/fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchField.H @@ -104,18 +104,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new fixedNormalSlipPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference fixedNormalSlipPointPatchField ( @@ -123,22 +111,22 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new fixedNormalSlipPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } + // Member functions //- Update the patch field diff --git a/src/OpenFOAM/fields/pointPatchFields/derived/slip/slipPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/derived/slip/slipPointPatchField.H index 027cc956ad2..cae5ae25506 100644 --- a/src/OpenFOAM/fields/pointPatchFields/derived/slip/slipPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/derived/slip/slipPointPatchField.H @@ -86,18 +86,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new slipPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference slipPointPatchField ( @@ -105,20 +93,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new slipPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/OpenFOAM/fields/pointPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValuePointPatchField.H index 2fe588648ac..88de0d0d09e 100644 --- a/src/OpenFOAM/fields/pointPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValuePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValuePointPatchField.H @@ -101,15 +101,6 @@ public: const timeVaryingUniformFixedValuePointPatchField<Type>& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new timeVaryingUniformFixedValuePointPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference timeVaryingUniformFixedValuePointPatchField ( @@ -117,16 +108,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new timeVaryingUniformFixedValuePointPatchField<Type>(*this, iF) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H index 011569f452c..543b7f57cf9 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H @@ -345,17 +345,31 @@ public: const DimensionedField<Type, pointMesh>& ); - //- Construct and return a clone + //- Clone patch field with its own internal field reference virtual autoPtr<pointPatchField<Type>> clone() const = 0; - //- Construct and return a clone setting internal field reference + //- Clone patch field with an internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const = 0; - // Selectors + // Factory Methods + + //- Clone a patch field, optionally with internal field reference etc. + template<class DerivedPatchField, class... Args> + static autoPtr<pointPatchField<Type>> Clone + ( + const DerivedPatchField& pf, + Args&&... args + ) + { + return autoPtr<pointPatchField<Type>> + ( + new DerivedPatchField(pf, std::forward<Args>(args)...) + ); + } //- Return a pointer to a new patchField created on freestore given // patch and internal field @@ -400,11 +414,19 @@ public: //- Return a pointer to a new calculatedPointPatchField created on // freestore without setting patchField values - template<class Type2> static autoPtr<pointPatchField<Type>> NewCalculatedType ( - const pointPatchField<Type2>& + const pointPatch& p + ); + + //- Return a pointer to a new calculatedPointPatchField created on + // freestore without setting patchField values + template<class AnyType> + static autoPtr<pointPatchField<Type>> + NewCalculatedType + ( + const pointPatchField<AnyType>& pf ); diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H index e0e9d41ab06..7f7a2d2d177 100644 --- a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H @@ -172,15 +172,6 @@ public: const alphatJayatillekeWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphatJayatillekeWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphatJayatillekeWallFunctionFvPatchScalarField ( @@ -188,16 +179,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphatJayatillekeWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H index 9246a285363..e32721ee5c7 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H @@ -167,18 +167,6 @@ public: const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new turbulentMixingLengthDissipationRateInletFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference turbulentMixingLengthDissipationRateInletFvPatchScalarField ( @@ -186,20 +174,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new turbulentMixingLengthDissipationRateInletFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H index 4ea6936c7ee..c89a8cb0dbb 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H @@ -144,18 +144,6 @@ public: const turbulentMixingLengthFrequencyInletFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new turbulentMixingLengthFrequencyInletFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference turbulentMixingLengthFrequencyInletFvPatchScalarField ( @@ -163,20 +151,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new turbulentMixingLengthFrequencyInletFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H index 0077f5ed27a..158130e4c5a 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H @@ -130,15 +130,6 @@ public: const fixedShearStressFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new fixedShearStressFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference fixedShearStressFvPatchVectorField ( @@ -146,16 +137,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new fixedShearStressFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H index 0fb4f64e3f6..e99ee74e9ab 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H @@ -182,15 +182,6 @@ public: const porousBafflePressureFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar>> clone() const - { - return tmp<fvPatchField<scalar>> - ( - new porousBafflePressureFvPatchField(*this) - ); - } - //- Construct as copy setting internal field reference porousBafflePressureFvPatchField ( @@ -198,16 +189,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar>> - ( - new porousBafflePressureFvPatchField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H index db8c5fa6c6f..622df17ae68 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H @@ -212,15 +212,6 @@ public: const epsilonWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new epsilonWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference epsilonWallFunctionFvPatchScalarField ( @@ -228,16 +219,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new epsilonWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H index 9ddf258d94f..6c3aef724d0 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H @@ -173,15 +173,6 @@ public: const kLowReWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new kLowReWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference kLowReWallFunctionFvPatchScalarField ( @@ -189,16 +180,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new kLowReWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H index 0c8d12d1402..b552a4cf489 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H @@ -123,15 +123,6 @@ public: const kqRWallFunctionFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new kqRWallFunctionFvPatchField(*this) - ); - } - //- Construct as copy setting internal field reference kqRWallFunctionFvPatchField ( @@ -139,16 +130,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new kqRWallFunctionFvPatchField(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H index b90fd8a988d..2c2cf4eff94 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H @@ -129,15 +129,6 @@ public: const nutLowReWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutLowReWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutLowReWallFunctionFvPatchScalarField ( @@ -145,16 +136,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutLowReWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.H index 3f84c8be6f4..351bf184747 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.H @@ -175,15 +175,6 @@ public: const nutUBlendedWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutUBlendedWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutUBlendedWallFunctionFvPatchScalarField ( @@ -191,16 +182,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutUBlendedWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H index 9a9e747781c..efcd889d931 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H @@ -171,15 +171,6 @@ public: const nutURoughWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutURoughWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutURoughWallFunctionFvPatchScalarField ( @@ -187,16 +178,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutURoughWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H index 09935152a5a..edac484a4f7 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H @@ -189,15 +189,6 @@ public: const nutUSpaldingWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutUSpaldingWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutUSpaldingWallFunctionFvPatchScalarField ( @@ -205,16 +196,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutUSpaldingWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H index 18cb1277384..e2010c780c4 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H @@ -156,15 +156,6 @@ public: const nutUTabulatedWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutUTabulatedWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutUTabulatedWallFunctionFvPatchScalarField ( @@ -172,16 +163,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutUTabulatedWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H index 9b96cb2b68a..81f8ecaf952 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H @@ -143,15 +143,6 @@ public: const nutUWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutUWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutUWallFunctionFvPatchScalarField ( @@ -159,16 +150,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutUWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H index 1f1da1e629c..322819f8bbc 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H @@ -153,15 +153,6 @@ public: const nutkRoughWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutkRoughWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutkRoughWallFunctionFvPatchScalarField ( @@ -169,16 +160,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutkRoughWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H index e04791c48ba..5691a52d087 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H @@ -134,15 +134,6 @@ public: const nutkWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutkWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutkWallFunctionFvPatchScalarField ( @@ -150,16 +141,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutkWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H index 4fb98c8c34f..0e0e25f9083 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H @@ -203,15 +203,6 @@ public: const omegaWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new omegaWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference omegaWallFunctionFvPatchScalarField ( @@ -219,18 +210,22 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new omegaWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } + //- Destructor virtual ~omegaWallFunctionFvPatchScalarField() = default; diff --git a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H index 2641003b1f7..f718dbeca3b 100644 --- a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H @@ -149,15 +149,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmBoundaryLayerInletEpsilonFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmBoundaryLayerInletEpsilonFvPatchScalarField ( @@ -165,16 +156,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmBoundaryLayerInletEpsilonFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H index e2d8d70213d..db567693f70 100644 --- a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H @@ -148,15 +148,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmBoundaryLayerInletKFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmBoundaryLayerInletKFvPatchScalarField ( @@ -164,16 +155,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmBoundaryLayerInletKFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletOmega/atmBoundaryLayerInletOmegaFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletOmega/atmBoundaryLayerInletOmegaFvPatchScalarField.H index ffe51f9d374..b1c0d08eca6 100644 --- a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletOmega/atmBoundaryLayerInletOmegaFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletOmega/atmBoundaryLayerInletOmegaFvPatchScalarField.H @@ -145,15 +145,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmBoundaryLayerInletOmegaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmBoundaryLayerInletOmegaFvPatchScalarField ( @@ -161,16 +152,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmBoundaryLayerInletOmegaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H index ddbbd8179e4..fc541a22b7f 100644 --- a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H +++ b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H @@ -152,15 +152,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new atmBoundaryLayerInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference atmBoundaryLayerInletVelocityFvPatchVectorField ( @@ -168,16 +159,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new atmBoundaryLayerInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/atmTurbulentHeatFluxTemperature/atmTurbulentHeatFluxTemperatureFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/atmTurbulentHeatFluxTemperature/atmTurbulentHeatFluxTemperatureFvPatchScalarField.H index af5169c2110..003299c83f3 100644 --- a/src/atmosphericModels/derivedFvPatchFields/atmTurbulentHeatFluxTemperature/atmTurbulentHeatFluxTemperatureFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/atmTurbulentHeatFluxTemperature/atmTurbulentHeatFluxTemperatureFvPatchScalarField.H @@ -177,15 +177,6 @@ public: const atmTurbulentHeatFluxTemperatureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmTurbulentHeatFluxTemperatureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmTurbulentHeatFluxTemperatureFvPatchScalarField ( @@ -193,20 +184,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmTurbulentHeatFluxTemperatureFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.H index 3280cedc7d7..94e6583857d 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.H @@ -179,15 +179,6 @@ public: const atmAlphatkWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmAlphatkWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmAlphatkWallFunctionFvPatchScalarField ( @@ -195,16 +186,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmAlphatkWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.H index e80434bf473..3101206000b 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.H @@ -170,15 +170,6 @@ public: const atmEpsilonWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmEpsilonWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmEpsilonWallFunctionFvPatchScalarField ( @@ -186,18 +177,22 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmEpsilonWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } + //- Destructor virtual ~atmEpsilonWallFunctionFvPatchScalarField() = default; diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.H index c006c0249aa..8dc5162c0e2 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.H @@ -170,15 +170,6 @@ public: const atmNutUWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmNutUWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmNutUWallFunctionFvPatchScalarField ( @@ -186,16 +177,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmNutUWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.H index 2cace45acf5..ecb892deab8 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.H @@ -207,15 +207,6 @@ public: const atmNutWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmNutWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmNutWallFunctionFvPatchScalarField ( @@ -223,16 +214,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmNutWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.H index 0dce8f571cf..f17cbf217ef 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.H @@ -191,15 +191,6 @@ public: const atmNutkWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmNutkWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmNutkWallFunctionFvPatchScalarField ( @@ -207,16 +198,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmNutkWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.H index 49b7a099921..a3439bed586 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.H @@ -169,15 +169,6 @@ public: const atmOmegaWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new atmOmegaWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference atmOmegaWallFunctionFvPatchScalarField ( @@ -185,16 +176,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new atmOmegaWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.H b/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.H index 818ce6ba41b..95a7f26b429 100644 --- a/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.H +++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.H @@ -132,15 +132,6 @@ public: const freeSurfacePressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField > - ( - new freeSurfacePressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference freeSurfacePressureFvPatchScalarField ( @@ -148,16 +139,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new freeSurfacePressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfaceVelocity/freeSurfaceVelocityFvPatchVectorField.H b/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfaceVelocity/freeSurfaceVelocityFvPatchVectorField.H index 77c81522dea..500a4aa322e 100644 --- a/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfaceVelocity/freeSurfaceVelocityFvPatchVectorField.H +++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfaceVelocity/freeSurfaceVelocityFvPatchVectorField.H @@ -90,15 +90,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new freeSurfaceVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference freeSurfaceVelocityFvPatchVectorField ( @@ -106,16 +97,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new freeSurfaceVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/pointPatchFields/derived/solidBodyMotionDisplacement/solidBodyMotionDisplacementPointPatchVectorField.H b/src/dynamicMesh/motionSolvers/displacement/solidBody/pointPatchFields/derived/solidBodyMotionDisplacement/solidBodyMotionDisplacementPointPatchVectorField.H index 1ed9211e1b6..2a610232504 100644 --- a/src/dynamicMesh/motionSolvers/displacement/solidBody/pointPatchFields/derived/solidBodyMotionDisplacement/solidBodyMotionDisplacementPointPatchVectorField.H +++ b/src/dynamicMesh/motionSolvers/displacement/solidBody/pointPatchFields/derived/solidBodyMotionDisplacement/solidBodyMotionDisplacementPointPatchVectorField.H @@ -101,18 +101,6 @@ public: const solidBodyMotionDisplacementPointPatchVectorField& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new solidBodyMotionDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference solidBodyMotionDisplacementPointPatchVectorField ( @@ -121,20 +109,19 @@ public: ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new solidBodyMotionDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H index 6e6ae1696c6..9772728ab5a 100644 --- a/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H @@ -95,15 +95,6 @@ public: const basicSymmetryFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new basicSymmetryFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference basicSymmetryFaPatchField ( @@ -111,16 +102,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new basicSymmetryFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/basic/calculated/calculatedFaPatchField.C b/src/finiteArea/fields/faPatchFields/basic/calculated/calculatedFaPatchField.C index 4f8eefa33c3..53b7f314f18 100644 --- a/src/finiteArea/fields/faPatchFields/basic/calculated/calculatedFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/basic/calculated/calculatedFaPatchField.C @@ -90,19 +90,19 @@ Foam::calculatedFaPatchField<Type>::calculatedFaPatchField template<class Type> -template<class AnyType> -Foam::tmp<Foam::faPatchField<Type>> Foam::faPatchField<Type>::NewCalculatedType +Foam::tmp<Foam::faPatchField<Type>> +Foam::faPatchField<Type>::NewCalculatedType ( - const faPatchField<AnyType>& pf + const faPatch& p ) { - auto* patchTypeCtor = patchConstructorTable(pf.patch().type()); + auto* patchTypeCtor = patchConstructorTable(p.type()); if (patchTypeCtor) { return patchTypeCtor ( - pf.patch(), + p, DimensionedField<Type, areaMesh>::null() ); } @@ -112,7 +112,7 @@ Foam::tmp<Foam::faPatchField<Type>> Foam::faPatchField<Type>::NewCalculatedType ( new calculatedFaPatchField<Type> ( - pf.patch(), + p, DimensionedField<Type, areaMesh>::null() ) ); @@ -120,6 +120,18 @@ Foam::tmp<Foam::faPatchField<Type>> Foam::faPatchField<Type>::NewCalculatedType } +template<class Type> +template<class AnyType> +Foam::tmp<Foam::faPatchField<Type>> +Foam::faPatchField<Type>::NewCalculatedType +( + const faPatchField<AnyType>& pf +) +{ + return NewCalculatedType(pf.patch()); +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> diff --git a/src/finiteArea/fields/faPatchFields/basic/calculated/calculatedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/calculated/calculatedFaPatchField.H index 9f180b65f21..07f612924d5 100644 --- a/src/finiteArea/fields/faPatchFields/basic/calculated/calculatedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/calculated/calculatedFaPatchField.H @@ -97,15 +97,6 @@ public: const calculatedFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new calculatedFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference calculatedFaPatchField ( @@ -113,16 +104,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new calculatedFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/basic/coupled/coupledFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/coupled/coupledFaPatchField.H index 0c6232d9620..616d257fe48 100644 --- a/src/finiteArea/fields/faPatchFields/basic/coupled/coupledFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/coupled/coupledFaPatchField.H @@ -108,9 +108,6 @@ public: const coupledFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const = 0; - //- Construct as copy setting internal field reference coupledFaPatchField ( @@ -118,6 +115,9 @@ public: const DimensionedField<Type, areaMesh>& ); + //- Return clone + virtual tmp<faPatchField<Type>> clone() const = 0; + //- Construct and return a clone virtual tmp<faPatchField<Type>> clone ( diff --git a/src/finiteArea/fields/faPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFaPatchField.H index c326fe3d63a..1c618f3f7f0 100644 --- a/src/finiteArea/fields/faPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFaPatchField.H @@ -108,15 +108,6 @@ public: const extrapolatedCalculatedFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new extrapolatedCalculatedFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference extrapolatedCalculatedFaPatchField ( @@ -124,16 +115,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new extrapolatedCalculatedFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchField.H index abedc113279..760d9668b46 100644 --- a/src/finiteArea/fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchField.H @@ -144,15 +144,6 @@ public: const fixedGradientFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new fixedGradientFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedGradientFaPatchField ( @@ -160,16 +151,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new fixedGradientFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/basic/fixedValue/fixedValueFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/fixedValue/fixedValueFaPatchField.H index b99f739ee9d..fa3f891e13a 100644 --- a/src/finiteArea/fields/faPatchFields/basic/fixedValue/fixedValueFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/fixedValue/fixedValueFaPatchField.H @@ -106,15 +106,6 @@ public: const fixedValueFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new fixedValueFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedValueFaPatchField ( @@ -122,16 +113,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new fixedValueFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/basic/mixed/mixedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/mixed/mixedFaPatchField.H index f4d0bdbab50..16f0e01da09 100644 --- a/src/finiteArea/fields/faPatchFields/basic/mixed/mixedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/mixed/mixedFaPatchField.H @@ -144,15 +144,6 @@ public: const mixedFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new mixedFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference mixedFaPatchField ( @@ -160,16 +151,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new mixedFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.C b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.C index becbcfcf051..fb9846b1482 100644 --- a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.C @@ -111,47 +111,14 @@ Foam::slicedFaPatchField<Type>::slicedFaPatchField } -template<class Type> -Foam::tmp<Foam::faPatchField<Type>> -Foam::slicedFaPatchField<Type>::clone() const -{ - return tmp<faPatchField<Type>> - ( - new slicedFaPatchField<Type>(*this) - ); -} - - template<class Type> Foam::slicedFaPatchField<Type>::slicedFaPatchField ( const slicedFaPatchField<Type>& ptf ) : - faPatchField<Type> - ( - ptf.patch(), - ptf.internalField(), - Field<Type>() - ) -{ - // Transfer the slice from the argument - UList<Type>::shallowCopy(ptf); -} - - -template<class Type> -Foam::tmp<Foam::faPatchField<Type>> -Foam::slicedFaPatchField<Type>::clone -( - const DimensionedField<Type, areaMesh>& iF -) const -{ - return tmp<faPatchField<Type>> - ( - new slicedFaPatchField<Type>(*this, iF) - ); -} + slicedFaPatchField<Type>(ptf, ptf.internalField()) +{} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // @@ -170,8 +137,7 @@ template<class Type> Foam::tmp<Foam::Field<Type>> Foam::slicedFaPatchField<Type>::snGrad() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -180,8 +146,7 @@ Foam::tmp<Foam::Field<Type>> Foam::slicedFaPatchField<Type>::patchInternalField() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -200,8 +165,7 @@ Foam::slicedFaPatchField<Type>::patchNeighbourField ) const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -210,8 +174,7 @@ Foam::tmp<Foam::Field<Type>> Foam::slicedFaPatchField<Type>::patchNeighbourField() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -223,8 +186,7 @@ Foam::slicedFaPatchField<Type>::valueInternalCoeffs ) const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -236,8 +198,7 @@ Foam::slicedFaPatchField<Type>::valueBoundaryCoeffs ) const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -246,8 +207,7 @@ Foam::tmp<Foam::Field<Type>> Foam::slicedFaPatchField<Type>::gradientInternalCoeffs() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -256,8 +216,7 @@ Foam::tmp<Foam::Field<Type>> Foam::slicedFaPatchField<Type>::gradientBoundaryCoeffs() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } diff --git a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H index 8afba50b8e3..dcee956514f 100644 --- a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H @@ -116,9 +116,6 @@ public: //- Construct as copy slicedFaPatchField(const slicedFaPatchField<Type>&); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const; - //- Construct as copy setting internal field reference slicedFaPatchField ( @@ -126,11 +123,20 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF - ) const; + ) const + { + return faPatchField<Type>::Clone(*this, iF); + } //- Destructor diff --git a/src/finiteArea/fields/faPatchFields/basic/transform/transformFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/transform/transformFaPatchField.H index 7915ed2fc14..f4515b6a59a 100644 --- a/src/finiteArea/fields/faPatchFields/basic/transform/transformFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/transform/transformFaPatchField.H @@ -92,9 +92,6 @@ public: const faPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const = 0; - //- Construct as copy setting internal field reference transformFaPatchField ( @@ -102,6 +99,9 @@ public: const DimensionedField<Type, areaMesh>& ); + //- Return clone + virtual tmp<faPatchField<Type>> clone() const = 0; + //- Construct and return a clone setting internal field reference virtual tmp<faPatchField<Type>> clone ( diff --git a/src/finiteArea/fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchField.H index ba4a9dff763..407c9a9b150 100644 --- a/src/finiteArea/fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchField.H @@ -96,15 +96,6 @@ public: const zeroGradientFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new zeroGradientFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference zeroGradientFaPatchField ( @@ -112,16 +103,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new zeroGradientFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.H index 359800d18cd..5ac2a891c5e 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.H @@ -118,15 +118,6 @@ public: const cyclicFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new cyclicFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicFaPatchField ( @@ -134,16 +125,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new cyclicFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H index f21c228ad6c..de754592beb 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H @@ -97,15 +97,6 @@ public: const emptyFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new emptyFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference emptyFaPatchField ( @@ -113,16 +104,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new emptyFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H index 32bc5e91ad8..06736b61b30 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H @@ -137,15 +137,6 @@ public: //- Construct as copy processorFaPatchField(const processorFaPatchField<Type>&); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new processorFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference processorFaPatchField ( @@ -153,16 +144,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new processorFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/constraint/symmetry/symmetryFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/symmetry/symmetryFaPatchField.H index 7233d56e893..e09d2aea515 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/symmetry/symmetryFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/symmetry/symmetryFaPatchField.H @@ -97,15 +97,6 @@ public: const symmetryFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new symmetryFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference symmetryFaPatchField ( @@ -113,16 +104,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new symmetryFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.H index f1933ec1ab1..f417f28c405 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.H @@ -91,15 +91,6 @@ public: const faPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new wedgeFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference wedgeFaPatchField ( @@ -107,16 +98,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new wedgeFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H index de365d612c5..828937bb6ca 100644 --- a/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H @@ -115,15 +115,6 @@ public: const clampedPlateFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new clampedPlateFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference clampedPlateFaPatchField ( @@ -131,16 +122,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new clampedPlateFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.H b/src/finiteArea/fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.H index dd4718cd35a..8a6c8dffb94 100644 --- a/src/finiteArea/fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.H +++ b/src/finiteArea/fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.H @@ -113,15 +113,6 @@ public: const edgeNormalFixedValueFaPatchVectorField& ); - //- Construct and return a clone - virtual tmp<faPatchVectorField> clone() const - { - return tmp<faPatchVectorField> - ( - new edgeNormalFixedValueFaPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference edgeNormalFixedValueFaPatchVectorField ( @@ -129,24 +120,22 @@ public: const DimensionedField<vector, areaMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<faPatchVectorField> clone + //- Return clone + virtual tmp<faPatchField<vector>> clone() const + { + return faPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<faPatchField<vector>> clone ( const DimensionedField<vector, areaMesh>& iF ) const { - return tmp<faPatchVectorField> - ( - new edgeNormalFixedValueFaPatchVectorField - ( - *this, - iF - ) - ); + return faPatchField<vector>::Clone(*this, iF); } - // Member functions // Mapping functions diff --git a/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.H index d6b63c61c4d..80b1522c26e 100644 --- a/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.H @@ -96,15 +96,6 @@ public: const fixedValueOutflowFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new fixedValueOutflowFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedValueOutflowFaPatchField ( @@ -112,16 +103,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new fixedValueOutflowFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/ignore/ignoreFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/ignore/ignoreFaPatchField.H index 6d83692442a..29a2d67a5fb 100644 --- a/src/finiteArea/fields/faPatchFields/derived/ignore/ignoreFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/ignore/ignoreFaPatchField.H @@ -114,15 +114,6 @@ public: const ignoreFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new ignoreFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference ignoreFaPatchField ( @@ -130,16 +121,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new ignoreFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.H index 88abbde9c84..02cb6831c73 100644 --- a/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.H @@ -136,15 +136,6 @@ public: const inletOutletFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new inletOutletFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference inletOutletFaPatchField ( @@ -152,16 +143,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new inletOutletFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/outletInlet/outletInletFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/outletInlet/outletInletFaPatchField.H index 3b9187c63bc..e46a1d25b22 100644 --- a/src/finiteArea/fields/faPatchFields/derived/outletInlet/outletInletFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/outletInlet/outletInletFaPatchField.H @@ -135,15 +135,6 @@ public: const outletInletFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new outletInletFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference outletInletFaPatchField ( @@ -151,16 +142,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new outletInletFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/slip/slipFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/slip/slipFaPatchField.H index f140258de07..32996ee3845 100644 --- a/src/finiteArea/fields/faPatchFields/derived/slip/slipFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/slip/slipFaPatchField.H @@ -97,15 +97,6 @@ public: const slipFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new slipFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference slipFaPatchField ( @@ -113,16 +104,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new slipFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchField.H index 70154cc728a..1e56baf866a 100644 --- a/src/finiteArea/fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchField.H @@ -137,15 +137,6 @@ public: const timeVaryingUniformFixedValueFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new timeVaryingUniformFixedValueFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference timeVaryingUniformFixedValueFaPatchField ( @@ -153,16 +144,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new timeVaryingUniformFixedValueFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.H index 7340d59a201..4c049d4f45b 100644 --- a/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.H @@ -138,15 +138,6 @@ public: const uniformFixedGradientFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new uniformFixedGradientFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformFixedGradientFaPatchField ( @@ -154,16 +145,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new uniformFixedGradientFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/uniformFixedValue/uniformFixedValueFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/uniformFixedValue/uniformFixedValueFaPatchField.H index 4af170d7b80..3bb10274587 100644 --- a/src/finiteArea/fields/faPatchFields/derived/uniformFixedValue/uniformFixedValueFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/uniformFixedValue/uniformFixedValueFaPatchField.H @@ -139,15 +139,6 @@ public: const uniformFixedValueFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new uniformFixedValueFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformFixedValueFaPatchField ( @@ -155,16 +146,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new uniformFixedValueFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.H index 620a16dbad6..ab3182b3a47 100644 --- a/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.H @@ -160,15 +160,6 @@ public: const uniformMixedFaPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new uniformMixedFaPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformMixedFaPatchField ( @@ -176,16 +167,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new uniformMixedFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H b/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H index f2c438325ba..e99ab8dae0e 100644 --- a/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H +++ b/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H @@ -393,23 +393,56 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone + //- Clone patch field with its own internal field reference virtual tmp<faPatchField<Type>> clone() const { - return tmp<faPatchField<Type>>(new faPatchField<Type>(*this)); + return tmp<faPatchField<Type>> + ( + new faPatchField<Type>(*this, this->internalField_) + ); } - //- Construct and return a clone setting internal field reference + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>>(new faPatchField<Type>(*this, iF)); + return tmp<faPatchField<Type>> + ( + new faPatchField<Type>(*this, iF) + ); } - // Selectors + // Factory Methods + + //- Clone a patch field with its own internal field reference + template<class DerivedPatchField> + static tmp<faPatchField<Type>> Clone + ( + const DerivedPatchField& pf + ) + { + return tmp<faPatchField<Type>> + ( + new DerivedPatchField(pf) + ); + } + + //- Clone a patch field with an internal field reference + template<class DerivedPatchField> + static tmp<faPatchField<Type>> Clone + ( + const DerivedPatchField& pf, + const DimensionedField<Type, areaMesh>& iF + ) + { + return tmp<faPatchField<Type>> + ( + new DerivedPatchField(pf, iF) + ); + } //- Return a pointer to a new patchField created on freestore given //- patch and internal field @@ -451,6 +484,13 @@ public: const dictionary& ); + //- Return a pointer to a new calculatedFaPatchField created on + //- freestore without setting patchField values + static tmp<faPatchField<Type>> NewCalculatedType + ( + const faPatch& p + ); + //- Return a pointer to a new calculatedFaPatchField created on //- freestore without setting patchField values template<class AnyType> diff --git a/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchField.C b/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchField.C index 5fc16ad869c..ad447c33217 100644 --- a/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchField.C +++ b/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchField.C @@ -90,20 +90,19 @@ Foam::calculatedFaePatchField<Type>::calculatedFaePatchField template<class Type> -template<class Type2> Foam::tmp<Foam::faePatchField<Type>> Foam::faePatchField<Type>::NewCalculatedType ( - const faePatchField<Type2>& pf + const faPatch& p ) { - auto* patchTypeCtor = patchConstructorTable(pf.patch().type()); + auto* patchTypeCtor = patchConstructorTable(p.type()); if (patchTypeCtor) { return patchTypeCtor ( - pf.patch(), + p, DimensionedField<Type, edgeMesh>::null() ); } @@ -113,7 +112,7 @@ Foam::faePatchField<Type>::NewCalculatedType ( new calculatedFaePatchField<Type> ( - pf.patch(), + p, DimensionedField<Type, edgeMesh>::null() ) ); @@ -121,6 +120,18 @@ Foam::faePatchField<Type>::NewCalculatedType } +template<class Type> +template<class AnyType> +Foam::tmp<Foam::faePatchField<Type>> +Foam::faePatchField<Type>::NewCalculatedType +( + const faePatchField<AnyType>& pf +) +{ + return NewCalculatedType(pf.patch()); +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> diff --git a/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchField.H b/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchField.H index 723426ff2e9..745414151c4 100644 --- a/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchField.H @@ -94,15 +94,6 @@ public: //- Construct as copy calculatedFaePatchField(const calculatedFaePatchField<Type>&); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const - { - return tmp<faePatchField<Type>> - ( - new calculatedFaePatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference calculatedFaePatchField ( @@ -110,18 +101,22 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new calculatedFaePatchField<Type>(*this, iF) - ); + return faePatchField<Type>::Clone(*this, iF); } + //- Destructor virtual ~calculatedFaePatchField() = default; diff --git a/src/finiteArea/fields/faePatchFields/basic/coupled/coupledFaePatchField.H b/src/finiteArea/fields/faePatchFields/basic/coupled/coupledFaePatchField.H index 507cb9ad0ff..4dcafedc410 100644 --- a/src/finiteArea/fields/faePatchFields/basic/coupled/coupledFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/basic/coupled/coupledFaePatchField.H @@ -106,9 +106,6 @@ public: const coupledFaePatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const = 0; - //- Construct as copy setting internal field reference coupledFaePatchField ( @@ -116,6 +113,9 @@ public: const DimensionedField<Type, edgeMesh>& ); + //- Return clone + virtual tmp<faePatchField<Type>> clone() const = 0; + //- Construct and return a clone virtual tmp<faePatchField<Type>> clone ( diff --git a/src/finiteArea/fields/faePatchFields/basic/fixedValue/fixedValueFaePatchField.H b/src/finiteArea/fields/faePatchFields/basic/fixedValue/fixedValueFaePatchField.H index ae9585421cb..b84e7353048 100644 --- a/src/finiteArea/fields/faePatchFields/basic/fixedValue/fixedValueFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/basic/fixedValue/fixedValueFaePatchField.H @@ -106,15 +106,6 @@ public: const fixedValueFaePatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const - { - return tmp<faePatchField<Type>> - ( - new fixedValueFaePatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedValueFaePatchField ( @@ -122,18 +113,22 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new fixedValueFaePatchField<Type>(*this, iF) - ); + return faePatchField<Type>::Clone(*this, iF); } + //- Destructor virtual ~fixedValueFaePatchField() = default; diff --git a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C index 6ddf22fb429..fd746a305e8 100644 --- a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C +++ b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C @@ -111,47 +111,14 @@ Foam::slicedFaePatchField<Type>::slicedFaePatchField } -template<class Type> -Foam::tmp<Foam::faePatchField<Type>> -Foam::slicedFaePatchField<Type>::clone() const -{ - return tmp<faePatchField<Type>> - ( - new slicedFaePatchField<Type>(*this) - ); -} - - template<class Type> Foam::slicedFaePatchField<Type>::slicedFaePatchField ( const slicedFaePatchField<Type>& ptf ) : - faePatchField<Type> - ( - ptf.patch(), - ptf.internalField(), - Field<Type>() - ) -{ - // Transfer the slice from the argument - UList<Type>::shallowCopy(ptf); -} - - -template<class Type> -Foam::tmp<Foam::faePatchField<Type>> -Foam::slicedFaePatchField<Type>::clone -( - const DimensionedField<Type, edgeMesh>& iF -) const -{ - return tmp<faePatchField<Type>> - ( - new slicedFaePatchField<Type>(*this, iF) - ); -} + slicedFaePatchField<Type>(ptf, ptf.internalField()) +{} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H index c56b7a9ffe3..b7fb3fa912a 100644 --- a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H @@ -109,9 +109,6 @@ public: //- Construct as copy slicedFaePatchField(const slicedFaePatchField<Type>&); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const; - //- Construct as copy setting internal field reference slicedFaePatchField ( @@ -119,11 +116,20 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF - ) const; + ) const + { + return faePatchField<Type>::Clone(*this, iF); + } //- Destructor diff --git a/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchField.H b/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchField.H index 180033d5e79..3993605ab30 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchField.H @@ -103,15 +103,6 @@ public: const cyclicFaePatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const - { - return tmp<faePatchField<Type>> - ( - new cyclicFaePatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicFaePatchField ( @@ -119,16 +110,19 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new cyclicFaePatchField<Type>(*this, iF) - ); + return faePatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H index a5392687423..6c7004db9f7 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H @@ -96,15 +96,6 @@ public: const emptyFaePatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const - { - return tmp<faePatchField<Type>> - ( - new emptyFaePatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference emptyFaePatchField ( @@ -112,18 +103,22 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new emptyFaePatchField<Type>(*this, iF) - ); + return faePatchField<Type>::Clone(*this, iF); } + //- Destructor virtual ~emptyFaePatchField() = default; diff --git a/src/finiteArea/fields/faePatchFields/constraint/processor/processorFaePatchField.H b/src/finiteArea/fields/faePatchFields/constraint/processor/processorFaePatchField.H index c8f9e6441f8..78baf531568 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/processor/processorFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/constraint/processor/processorFaePatchField.H @@ -106,15 +106,6 @@ public: //- Construct as copy processorFaePatchField(const processorFaePatchField<Type>&); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const - { - return tmp<faePatchField<Type>> - ( - new processorFaePatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference processorFaePatchField ( @@ -122,16 +113,19 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new processorFaePatchField<Type>(*this, iF) - ); + return faePatchField<Type>::Clone(*this, iF); } @@ -144,7 +138,7 @@ public: //- Return true if running parallel virtual bool coupled() const { - return Pstream::parRun(); + return UPstream::parRun(); } }; diff --git a/src/finiteArea/fields/faePatchFields/constraint/symmetry/symmetryFaePatchField.H b/src/finiteArea/fields/faePatchFields/constraint/symmetry/symmetryFaePatchField.H index f2f80db21a0..08dd7ab39b8 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/symmetry/symmetryFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/constraint/symmetry/symmetryFaePatchField.H @@ -98,15 +98,6 @@ public: const symmetryFaePatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const - { - return tmp<faePatchField<Type>> - ( - new symmetryFaePatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference symmetryFaePatchField ( @@ -114,18 +105,22 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new symmetryFaePatchField<Type>(*this, iF) - ); + return faePatchField<Type>::Clone(*this, iF); } + //- Destructor virtual ~symmetryFaePatchField() = default; }; diff --git a/src/finiteArea/fields/faePatchFields/constraint/wedge/wedgeFaePatchField.H b/src/finiteArea/fields/faePatchFields/constraint/wedge/wedgeFaePatchField.H index 017e6426437..f179b3e8de8 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/wedge/wedgeFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/constraint/wedge/wedgeFaePatchField.H @@ -95,15 +95,6 @@ public: const wedgeFaePatchField<Type>& ); - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const - { - return tmp<faePatchField<Type>> - ( - new wedgeFaePatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference wedgeFaePatchField ( @@ -111,16 +102,19 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new wedgeFaePatchField<Type>(*this, iF) - ); + return faePatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H b/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H index b484b702b5f..96428b68fd4 100644 --- a/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H +++ b/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H @@ -362,13 +362,16 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone + //- Clone patch field with its own internal field reference virtual tmp<faePatchField<Type>> clone() const { - return tmp<faePatchField<Type>>(new faePatchField<Type>(*this)); + return tmp<faePatchField<Type>> + ( + new faePatchField<Type>(*this, this->internalField_) + ); } - //- Construct and return a clone setting internal field reference + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF @@ -385,7 +388,21 @@ public: virtual ~faePatchField() = default; - // Selectors + // Factory Methods + + //- Clone a patch field, optionally with internal field reference etc. + template<class DerivedPatchField, class... Args> + static tmp<faePatchField<Type>> Clone + ( + const DerivedPatchField& pf, + Args&&... args + ) + { + return tmp<faePatchField<Type>> + ( + new DerivedPatchField(pf, std::forward<Args>(args)...) + ); + } //- Return a pointer to a new patchField created on freestore given // patch and internal field @@ -430,10 +447,17 @@ public: //- Return a pointer to a new calculatedFaePatchField created on // freestore without setting patchField values - template<class Type2> static tmp<faePatchField<Type>> NewCalculatedType ( - const faePatchField<Type2>& + const faPatch& p + ); + + //- Return a pointer to a new calculatedFaePatchField created on + // freestore without setting patchField values + template<class AnyType> + static tmp<faePatchField<Type>> NewCalculatedType + ( + const faePatchField<AnyType>& pf ); diff --git a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFFreestreamVelocityFvPatchVectorField/SRFFreestreamVelocityFvPatchVectorField.H b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFFreestreamVelocityFvPatchVectorField/SRFFreestreamVelocityFvPatchVectorField.H index 228a801ff72..ae77aee61a2 100644 --- a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFFreestreamVelocityFvPatchVectorField/SRFFreestreamVelocityFvPatchVectorField.H +++ b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFFreestreamVelocityFvPatchVectorField/SRFFreestreamVelocityFvPatchVectorField.H @@ -143,15 +143,6 @@ public: const SRFFreestreamVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new SRFFreestreamVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference SRFFreestreamVelocityFvPatchVectorField ( @@ -159,16 +150,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new SRFFreestreamVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.H b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.H index 4b998a3fcad..b5f8c50fa4d 100644 --- a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.H +++ b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.H @@ -154,15 +154,6 @@ public: const SRFVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new SRFVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference SRFVelocityFvPatchVectorField ( @@ -170,16 +161,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new SRFVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.H b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.H index f5732855a5a..95d3ad431a3 100644 --- a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.H +++ b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.H @@ -129,15 +129,6 @@ public: const SRFWallVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new SRFWallVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference SRFWallVelocityFvPatchVectorField ( @@ -145,16 +136,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new SRFWallVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/expressions/fields/fvPatchFields/exprFixedValueFvPatchField.H b/src/finiteVolume/expressions/fields/fvPatchFields/exprFixedValueFvPatchField.H index 69395b5c62a..2b2a407ac7a 100644 --- a/src/finiteVolume/expressions/fields/fvPatchFields/exprFixedValueFvPatchField.H +++ b/src/finiteVolume/expressions/fields/fvPatchFields/exprFixedValueFvPatchField.H @@ -131,16 +131,6 @@ public: const exprFixedValueFvPatchField<Type>& ); - - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new exprFixedValueFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference exprFixedValueFvPatchField ( @@ -148,16 +138,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new exprFixedValueFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/expressions/fields/fvPatchFields/exprMixedFvPatchField.H b/src/finiteVolume/expressions/fields/fvPatchFields/exprMixedFvPatchField.H index 32bfa068db9..938ce78d2be 100644 --- a/src/finiteVolume/expressions/fields/fvPatchFields/exprMixedFvPatchField.H +++ b/src/finiteVolume/expressions/fields/fvPatchFields/exprMixedFvPatchField.H @@ -135,15 +135,6 @@ public: const exprMixedFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new exprMixedFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference exprMixedFvPatchField ( @@ -151,16 +142,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new exprMixedFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/expressions/fields/pointPatchFields/exprValuePointPatchField.H b/src/finiteVolume/expressions/fields/pointPatchFields/exprValuePointPatchField.H index fa328a54289..59aed7e1c41 100644 --- a/src/finiteVolume/expressions/fields/pointPatchFields/exprValuePointPatchField.H +++ b/src/finiteVolume/expressions/fields/pointPatchFields/exprValuePointPatchField.H @@ -126,17 +126,10 @@ public: const exprValuePointPatchField<Type>& ); - - //- Construct and return a clone + //- Return a clone virtual autoPtr<pointPatchField<Type>> clone() const { - return autoPtr<pointPatchField<Type>> - ( - new exprValuePointPatchField<Type> - ( - *this - ) - ); + return pointPatchField<Type>::Clone(*this); } //- Construct and return a clone setting internal field reference @@ -145,14 +138,7 @@ public: const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new exprValuePointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H index bb730b23f5d..33e2c8784e8 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H @@ -93,15 +93,6 @@ public: const basicSymmetryFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new basicSymmetryFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference basicSymmetryFvPatchField ( @@ -109,16 +100,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new basicSymmetryFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C index 03e44871b47..8de6386d2ad 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C @@ -121,10 +121,11 @@ Foam::fvPatchField<Type>::NewCalculatedType template<class Type> -template<class Type2> -Foam::tmp<Foam::fvPatchField<Type>> Foam::fvPatchField<Type>::NewCalculatedType +template<class AnyType> +Foam::tmp<Foam::fvPatchField<Type>> +Foam::fvPatchField<Type>::NewCalculatedType ( - const fvPatchField<Type2>& pf + const fvPatchField<AnyType>& pf ) { return NewCalculatedType(pf.patch()); diff --git a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.H index 59089a4b4d1..ab2abde60d9 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.H @@ -124,15 +124,6 @@ public: const calculatedFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new calculatedFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference calculatedFvPatchField ( @@ -140,16 +131,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new calculatedFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H index 2729af6a17a..155a20cb7e7 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H @@ -123,9 +123,6 @@ public: const coupledFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const = 0; - //- Construct as copy setting internal field reference coupledFvPatchField ( @@ -133,6 +130,9 @@ public: const DimensionedField<Type, volMesh>& ); + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const = 0; + //- Construct and return a clone virtual tmp<fvPatchField<Type>> clone ( diff --git a/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.H index d56bc7113a7..effa2031c7f 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.H @@ -101,15 +101,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new directionMixedFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference directionMixedFvPatchField ( @@ -117,16 +108,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new directionMixedFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H index dad65d55ffa..a18da2822a8 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H @@ -107,15 +107,6 @@ public: const extrapolatedCalculatedFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new extrapolatedCalculatedFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference extrapolatedCalculatedFvPatchField ( @@ -123,16 +114,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new extrapolatedCalculatedFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.H index 5d10c6a2a98..f80fadc4fe4 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.H @@ -143,15 +143,6 @@ public: const fixedGradientFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedGradientFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedGradientFvPatchField ( @@ -159,16 +150,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedGradientFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H index d8c09c57173..1abd1eb2b3c 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H @@ -137,15 +137,6 @@ public: const fixedValueFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedValueFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedValueFvPatchField ( @@ -153,16 +144,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedValueFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.H index 7c43a6ca226..7d4f5518f7e 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.H @@ -168,15 +168,6 @@ public: const mixedFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new mixedFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference mixedFvPatchField ( @@ -184,16 +175,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new mixedFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C index d886c4d8d37..a15239c2bb3 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C @@ -111,47 +111,14 @@ Foam::slicedFvPatchField<Type>::slicedFvPatchField } -template<class Type> -Foam::tmp<Foam::fvPatchField<Type>> -Foam::slicedFvPatchField<Type>::clone() const -{ - return tmp<fvPatchField<Type>> - ( - new slicedFvPatchField<Type>(*this) - ); -} - - template<class Type> Foam::slicedFvPatchField<Type>::slicedFvPatchField ( const slicedFvPatchField<Type>& ptf ) : - fvPatchField<Type> - ( - ptf.patch(), - ptf.internalField(), - Field<Type>() - ) -{ - // Transfer the slice from the argument - UList<Type>::shallowCopy(ptf); -} - - -template<class Type> -Foam::tmp<Foam::fvPatchField<Type>> -Foam::slicedFvPatchField<Type>::clone -( - const DimensionedField<Type, volMesh>& iF -) const -{ - return tmp<fvPatchField<Type>> - ( - new slicedFvPatchField<Type>(*this, iF) - ); -} + slicedFvPatchField<Type>(ptf, ptf.internalField()) +{} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // @@ -170,8 +137,7 @@ template<class Type> Foam::tmp<Foam::Field<Type>> Foam::slicedFvPatchField<Type>::snGrad() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -180,8 +146,7 @@ Foam::tmp<Foam::Field<Type>> Foam::slicedFvPatchField<Type>::patchInternalField() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -200,8 +165,7 @@ Foam::slicedFvPatchField<Type>::patchNeighbourField ) const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -210,8 +174,7 @@ Foam::tmp<Foam::Field<Type>> Foam::slicedFvPatchField<Type>::patchNeighbourField() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -223,8 +186,7 @@ Foam::slicedFvPatchField<Type>::valueInternalCoeffs ) const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -236,8 +198,7 @@ Foam::slicedFvPatchField<Type>::valueBoundaryCoeffs ) const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -246,8 +207,7 @@ Foam::tmp<Foam::Field<Type>> Foam::slicedFvPatchField<Type>::gradientInternalCoeffs() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } @@ -256,8 +216,7 @@ Foam::tmp<Foam::Field<Type>> Foam::slicedFvPatchField<Type>::gradientBoundaryCoeffs() const { NotImplemented; - - return Field<Type>::null(); + return nullptr; } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H index 6b7a51733e2..cb2f0797ace 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H @@ -115,9 +115,6 @@ public: //- Construct as copy slicedFvPatchField(const slicedFvPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const; - //- Construct as copy setting internal field reference slicedFvPatchField ( @@ -125,11 +122,20 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF - ) const; + ) const + { + return fvPatchField<Type>::Clone(*this, iF); + } //- Destructor diff --git a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.H index 89042ab7517..0576d3cccea 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.H @@ -96,9 +96,6 @@ public: const transformFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const = 0; - //- Construct as copy setting internal field reference transformFvPatchField ( @@ -106,6 +103,9 @@ public: const DimensionedField<Type, volMesh>& ); + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const = 0; + //- Construct and return a clone setting internal field reference virtual tmp<fvPatchField<Type>> clone ( diff --git a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.H index 65d8582bc22..094fe5b6251 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.H @@ -105,15 +105,6 @@ public: const zeroGradientFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new zeroGradientFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference zeroGradientFvPatchField ( @@ -121,16 +112,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new zeroGradientFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/calculatedProcessor/calculatedProcessorFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/calculatedProcessor/calculatedProcessorFvPatchField.H index ef6807119ec..a01b26187b4 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/calculatedProcessor/calculatedProcessorFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/calculatedProcessor/calculatedProcessorFvPatchField.H @@ -132,15 +132,6 @@ public: const calculatedProcessorFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new calculatedProcessorFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference calculatedProcessorFvPatchField ( @@ -148,16 +139,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new calculatedProcessorFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H index b2b3595ae5b..7b265ce6049 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H @@ -131,15 +131,6 @@ public: const cyclicFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new cyclicFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicFvPatchField ( @@ -147,16 +138,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new cyclicFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.H index 1b2a9083adc..f79ce7aa645 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.H @@ -180,15 +180,6 @@ public: //- Construct as copy cyclicACMIFvPatchField(const cyclicACMIFvPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new cyclicACMIFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicACMIFvPatchField ( @@ -196,16 +187,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new cyclicACMIFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.H index 3b41ecc2707..09fc3971b11 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.H @@ -200,15 +200,6 @@ public: //- Construct as copy cyclicAMIFvPatchField(const cyclicAMIFvPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new cyclicAMIFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicAMIFvPatchField ( @@ -216,16 +207,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new cyclicAMIFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.H index b78bb1e67d6..da0eb6fef09 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.H @@ -109,15 +109,6 @@ public: const cyclicSlipFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new cyclicSlipFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicSlipFvPatchField ( @@ -125,16 +116,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new cyclicSlipFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H index 6d97bc67ed8..d86c9084cb4 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H @@ -107,15 +107,6 @@ public: const emptyFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new emptyFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference emptyFvPatchField ( @@ -123,16 +114,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new emptyFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H index 21c42d36f08..9f325feb1bd 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H @@ -102,15 +102,6 @@ public: const nonuniformTransformCyclicFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new nonuniformTransformCyclicFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference nonuniformTransformCyclicFvPatchField ( @@ -118,18 +109,20 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new nonuniformTransformCyclicFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } - }; diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.H index 4bc96dadd44..08b110dc81e 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.H @@ -145,15 +145,6 @@ public: //- Construct as copy processorFvPatchField(const processorFvPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new processorFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference processorFvPatchField ( @@ -161,16 +152,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new processorFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.H index f8068ac40af..08e018d2cb7 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.H @@ -122,15 +122,6 @@ public: //- Construct as copy processorCyclicFvPatchField(const processorCyclicFvPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new processorCyclicFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference processorCyclicFvPatchField ( @@ -138,16 +129,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new processorCyclicFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H index 7416fa06855..0727afe5f81 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H @@ -108,15 +108,6 @@ public: const symmetryFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new symmetryFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference symmetryFvPatchField ( @@ -124,16 +115,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new symmetryFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H index fea87f176dc..400112d67a9 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H @@ -114,15 +114,6 @@ public: const symmetryPlaneFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new symmetryPlaneFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference symmetryPlaneFvPatchField ( @@ -130,16 +121,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new symmetryPlaneFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H index d51a2942b7e..36c2252e7ec 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H @@ -109,15 +109,6 @@ public: const wedgeFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new wedgeFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference wedgeFvPatchField ( @@ -125,16 +116,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new wedgeFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/acousticWaveTransmissive/acousticWaveTransmissiveFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/acousticWaveTransmissive/acousticWaveTransmissiveFvPatchField.H index f0f31cfefb3..2dc9d4592d4 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/acousticWaveTransmissive/acousticWaveTransmissiveFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/acousticWaveTransmissive/acousticWaveTransmissiveFvPatchField.H @@ -131,15 +131,6 @@ public: const acousticWaveTransmissiveFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new acousticWaveTransmissiveFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference acousticWaveTransmissiveFvPatchField ( @@ -147,16 +138,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new acousticWaveTransmissiveFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.H index 13905461908..675c182dfa6 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.H @@ -187,15 +187,6 @@ public: const activeBaffleVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new activeBaffleVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference activeBaffleVelocityFvPatchVectorField ( @@ -203,16 +194,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new activeBaffleVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.H index 56663319a4d..295aba08361 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.H @@ -200,15 +200,6 @@ public: const activePressureForceBaffleVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new activePressureForceBaffleVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference activePressureForceBaffleVelocityFvPatchVectorField ( @@ -216,20 +207,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new activePressureForceBaffleVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H index 38be063ad4b..4eadf0edfc3 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H @@ -154,15 +154,6 @@ public: const advectiveFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new advectiveFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference advectiveFvPatchField ( @@ -170,16 +161,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new advectiveFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.H index 0c747c5cb83..3cde2e1c537 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.H @@ -211,15 +211,6 @@ public: const codedFixedValueFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new codedFixedValueFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference codedFixedValueFvPatchField ( @@ -227,16 +218,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new codedFixedValueFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.H index 821b473d23e..863bd67ffb3 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.H @@ -215,15 +215,6 @@ public: const codedMixedFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new codedMixedFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference codedMixedFvPatchField ( @@ -231,16 +222,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new codedMixedFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.H index 401d3e1477d..495472af4ee 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.H @@ -147,15 +147,6 @@ public: const cylindricalInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new cylindricalInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference cylindricalInletVelocityFvPatchVectorField ( @@ -163,16 +154,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new cylindricalInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/electrostaticDeposition/electrostaticDepositionFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/electrostaticDeposition/electrostaticDepositionFvPatchScalarField.H index efda99389e2..a0d8c5bf9ca 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/electrostaticDeposition/electrostaticDepositionFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/electrostaticDeposition/electrostaticDepositionFvPatchScalarField.H @@ -302,15 +302,6 @@ public: const electrostaticDepositionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new electrostaticDepositionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference electrostaticDepositionFvPatchScalarField ( @@ -318,16 +309,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new electrostaticDepositionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.H index 96a57d99f08..4a0fb21631e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.H @@ -196,15 +196,6 @@ public: const fanFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fanFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fanFvPatchField ( @@ -212,16 +203,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fanFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.H index a4707921bd1..6c7fd4ebe78 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.H @@ -200,15 +200,6 @@ public: const fanPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fanPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference fanPressureFvPatchScalarField ( @@ -216,20 +207,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fanPressureFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxExtrapolatedPressure/fixedFluxExtrapolatedPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxExtrapolatedPressure/fixedFluxExtrapolatedPressureFvPatchScalarField.H index 719b4ab426f..121f4e763da 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxExtrapolatedPressure/fixedFluxExtrapolatedPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxExtrapolatedPressure/fixedFluxExtrapolatedPressureFvPatchScalarField.H @@ -108,15 +108,6 @@ public: const fixedFluxExtrapolatedPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fixedFluxExtrapolatedPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference fixedFluxExtrapolatedPressureFvPatchScalarField ( @@ -124,16 +115,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fixedFluxExtrapolatedPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.H index cddfa8aa34c..1fae7a7f377 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.H @@ -117,15 +117,6 @@ public: const fixedFluxPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fixedFluxPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference fixedFluxPressureFvPatchScalarField ( @@ -133,16 +124,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fixedFluxPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedInternalValueFvPatchField/fixedInternalValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedInternalValueFvPatchField/fixedInternalValueFvPatchField.H index d36397c0736..c5a7a2e1d21 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedInternalValueFvPatchField/fixedInternalValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedInternalValueFvPatchField/fixedInternalValueFvPatchField.H @@ -116,15 +116,6 @@ public: const fixedInternalValueFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedInternalValueFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedInternalValueFvPatchField ( @@ -132,16 +123,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedInternalValueFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.H index ee758e59283..f9e340bbccd 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.H @@ -147,15 +147,6 @@ public: const fixedJumpFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedJumpFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedJumpFvPatchField ( @@ -163,16 +154,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedJumpFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchField.H index d25ef22b01c..a6656c937b6 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchField.H @@ -133,15 +133,6 @@ public: const fixedJumpAMIFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedJumpAMIFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedJumpAMIFvPatchField ( @@ -149,16 +140,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedJumpAMIFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedMean/fixedMeanFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedMean/fixedMeanFvPatchField.H index 855401aa13d..5240397df93 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedMean/fixedMeanFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedMean/fixedMeanFvPatchField.H @@ -123,15 +123,6 @@ public: const fixedMeanFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedMeanFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedMeanFvPatchField ( @@ -139,16 +130,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedMeanFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedMeanOutletInlet/fixedMeanOutletInletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedMeanOutletInlet/fixedMeanOutletInletFvPatchField.H index 1be8a7d1cc0..ae5b90eaac6 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedMeanOutletInlet/fixedMeanOutletInletFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedMeanOutletInlet/fixedMeanOutletInletFvPatchField.H @@ -131,15 +131,6 @@ public: const fixedMeanOutletInletFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedMeanOutletInletFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedMeanOutletInletFvPatchField ( @@ -147,16 +138,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedMeanOutletInletFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalInletOutletVelocity/fixedNormalInletOutletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalInletOutletVelocity/fixedNormalInletOutletVelocityFvPatchVectorField.H index 0ebb2f934e8..ed03178de34 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalInletOutletVelocity/fixedNormalInletOutletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalInletOutletVelocity/fixedNormalInletOutletVelocityFvPatchVectorField.H @@ -159,15 +159,6 @@ public: const fixedNormalInletOutletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new fixedNormalInletOutletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference fixedNormalInletOutletVelocityFvPatchVectorField ( @@ -175,16 +166,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new fixedNormalInletOutletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H index d811f125f50..7fe1f594902 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H @@ -147,15 +147,6 @@ public: const fixedNormalSlipFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedNormalSlipFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedNormalSlipFvPatchField ( @@ -163,16 +154,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedNormalSlipFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.H index 7ccabdb43c6..e9c7cbcb46a 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.H @@ -138,15 +138,6 @@ public: const fixedPressureCompressibleDensityFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fixedPressureCompressibleDensityFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference fixedPressureCompressibleDensityFvPatchScalarField ( @@ -154,20 +145,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fixedPressureCompressibleDensityFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.H index 49a7e611a43..2093f34e670 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.H @@ -172,15 +172,6 @@ public: const fixedProfileFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new fixedProfileFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference fixedProfileFvPatchField ( @@ -188,16 +179,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new fixedProfileFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.H index b85605dd3f7..e34a34d94d5 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.H @@ -182,15 +182,6 @@ public: const flowRateInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new flowRateInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference flowRateInletVelocityFvPatchVectorField ( @@ -198,16 +189,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new flowRateInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.H index 1e88968065c..0a459a4ea6e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.H @@ -173,15 +173,6 @@ public: const flowRateOutletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new flowRateOutletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference flowRateOutletVelocityFvPatchVectorField ( @@ -189,16 +180,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new flowRateOutletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.H index 00eb4a13211..3756b435a75 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.H @@ -140,15 +140,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new fluxCorrectedVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference fluxCorrectedVelocityFvPatchVectorField ( @@ -156,16 +147,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new fluxCorrectedVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.H index 76f5707391d..5f108129101 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.H @@ -146,15 +146,6 @@ public: const freestreamFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new freestreamFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference freestreamFvPatchField ( @@ -162,16 +153,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new freestreamFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.H index 1922113c0b7..832380193d8 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.H @@ -128,15 +128,6 @@ public: const freestreamPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new freestreamPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference freestreamPressureFvPatchScalarField ( @@ -144,16 +135,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new freestreamPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/freestreamVelocity/freestreamVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/freestreamVelocity/freestreamVelocityFvPatchVectorField.H index aadeeb81c20..259a2230279 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/freestreamVelocity/freestreamVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/freestreamVelocity/freestreamVelocityFvPatchVectorField.H @@ -122,15 +122,6 @@ public: const freestreamVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new freestreamVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference freestreamVelocityFvPatchVectorField ( @@ -138,16 +129,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new freestreamVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/inletOutlet/inletOutletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/inletOutlet/inletOutletFvPatchField.H index fbf117c729f..f33a7ffbe4d 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/inletOutlet/inletOutletFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/inletOutlet/inletOutletFvPatchField.H @@ -135,15 +135,6 @@ public: const inletOutletFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new inletOutletFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference inletOutletFvPatchField ( @@ -151,16 +142,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new inletOutletFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/inletOutletTotalTemperature/inletOutletTotalTemperatureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/inletOutletTotalTemperature/inletOutletTotalTemperatureFvPatchScalarField.H index edeaff00c09..62e239cb733 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/inletOutletTotalTemperature/inletOutletTotalTemperatureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/inletOutletTotalTemperature/inletOutletTotalTemperatureFvPatchScalarField.H @@ -140,15 +140,6 @@ public: const inletOutletTotalTemperatureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new inletOutletTotalTemperatureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference inletOutletTotalTemperatureFvPatchScalarField ( @@ -156,16 +147,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new inletOutletTotalTemperatureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/interfaceCompression/interfaceCompressionFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/interfaceCompression/interfaceCompressionFvPatchScalarField.H index 485f5cdf900..e196f9618ea 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/interfaceCompression/interfaceCompressionFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/interfaceCompression/interfaceCompressionFvPatchScalarField.H @@ -104,15 +104,6 @@ public: const interfaceCompressionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new interfaceCompressionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference interfaceCompressionFvPatchScalarField ( @@ -120,16 +111,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new interfaceCompressionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/interstitialInletVelocity/interstitialInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/interstitialInletVelocity/interstitialInletVelocityFvPatchVectorField.H index 6deeb490ce4..e1ff6e4beb9 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/interstitialInletVelocity/interstitialInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/interstitialInletVelocity/interstitialInletVelocityFvPatchVectorField.H @@ -112,15 +112,6 @@ public: const interstitialInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new interstitialInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference interstitialInletVelocityFvPatchVectorField ( @@ -128,16 +119,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new interstitialInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedFieldFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedFieldFvPatchField.H index 72cae77cd4a..ac9e1292609 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedFieldFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedFieldFvPatchField.H @@ -158,18 +158,6 @@ public: const mappedFieldFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new mappedFieldFvPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference mappedFieldFvPatchField ( @@ -177,20 +165,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new mappedFieldFvPatchField<Type> - ( - *this, - iF - ) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedMixedFieldFvPatchField/mappedMixedFieldFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedMixedFieldFvPatchField/mappedMixedFieldFvPatchField.H index 3b6ec903546..401f48c9428 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedMixedFieldFvPatchField/mappedMixedFieldFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedMixedFieldFvPatchField/mappedMixedFieldFvPatchField.H @@ -152,18 +152,6 @@ public: const mappedMixedFieldFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new mappedMixedFieldFvPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference mappedMixedFieldFvPatchField ( @@ -171,20 +159,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new mappedMixedFieldFvPatchField<Type> - ( - *this, - iF - ) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchField.H index f303e563174..925a4bc1496 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchField.H @@ -127,15 +127,6 @@ public: const mappedFixedInternalValueFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new mappedFixedInternalValueFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference mappedFixedInternalValueFvPatchField ( @@ -143,16 +134,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new mappedFixedInternalValueFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedPushedInternalValue/mappedFixedPushedInternalValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedPushedInternalValue/mappedFixedPushedInternalValueFvPatchField.H index 12e2c1f77dc..397c4239054 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedPushedInternalValue/mappedFixedPushedInternalValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedPushedInternalValue/mappedFixedPushedInternalValueFvPatchField.H @@ -128,18 +128,6 @@ public: const mappedFixedPushedInternalValueFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new mappedFixedPushedInternalValueFvPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference mappedFixedPushedInternalValueFvPatchField ( @@ -147,20 +135,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new mappedFixedPushedInternalValueFvPatchField<Type> - ( - *this, - iF - ) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.H index fdf0ce6f7ba..b2ef9bd0734 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.H @@ -142,15 +142,6 @@ public: const mappedFixedValueFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new mappedFixedValueFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference mappedFixedValueFvPatchField ( @@ -158,16 +149,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new mappedFixedValueFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.H index 3a3dad2722e..daf5066f3c8 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.H @@ -133,15 +133,6 @@ public: const mappedFlowRateFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new mappedFlowRateFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference mappedFlowRateFvPatchVectorField ( @@ -149,22 +140,24 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new mappedFlowRateFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } // Member functions - //- Update the coefficients associated with the patch field virtual void updateCoeffs(); diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedMixed/mappedMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedMixed/mappedMixedFvPatchField.H index 3da0a9e0342..d3ee964ed15 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedMixed/mappedMixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedMixed/mappedMixedFvPatchField.H @@ -150,18 +150,6 @@ public: const mappedMixedFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new mappedMixedFvPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference mappedMixedFvPatchField ( @@ -169,20 +157,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new mappedMixedFvPatchField<Type> - ( - *this, - iF - ) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.H index 255dd6cb58f..867d1032c76 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.H @@ -131,15 +131,6 @@ public: const mappedVelocityFluxFixedValueFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new mappedVelocityFluxFixedValueFvPatchField(*this) - ); - } - //- Construct as copy setting internal field reference mappedVelocityFluxFixedValueFvPatchField ( @@ -147,16 +138,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new mappedVelocityFluxFixedValueFvPatchField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.H index e1af7fb531f..20ef53876ec 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.H @@ -141,15 +141,6 @@ public: const matchedFlowRateOutletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new matchedFlowRateOutletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference matchedFlowRateOutletVelocityFvPatchVectorField ( @@ -157,16 +148,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new matchedFlowRateOutletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.H index 9b5b05cd7ec..7dca9f95e71 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.H @@ -110,15 +110,6 @@ public: const movingWallVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new movingWallVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference movingWallVelocityFvPatchVectorField ( @@ -126,16 +117,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new movingWallVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/noSlip/noSlipFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/noSlip/noSlipFvPatchVectorField.H index faa7b11eb81..3590a2aeb94 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/noSlip/noSlipFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/noSlip/noSlipFvPatchVectorField.H @@ -107,15 +107,6 @@ public: const noSlipFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new noSlipFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference noSlipFvPatchVectorField ( @@ -123,16 +114,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new noSlipFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/outletInlet/outletInletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/outletInlet/outletInletFvPatchField.H index 1f7e51e3c89..0996ffc75f5 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/outletInlet/outletInletFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/outletInlet/outletInletFvPatchField.H @@ -135,15 +135,6 @@ public: const outletInletFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new outletInletFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference outletInletFvPatchField ( @@ -151,16 +142,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new outletInletFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchField.H index 53b98b91490..8a1f3a588b9 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchField.H @@ -209,15 +209,6 @@ public: const outletMappedUniformInletFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new outletMappedUniformInletFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference outletMappedUniformInletFvPatchField ( @@ -225,16 +216,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new outletMappedUniformInletFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/outletPhaseMeanVelocity/outletPhaseMeanVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/outletPhaseMeanVelocity/outletPhaseMeanVelocityFvPatchVectorField.H index ddb64980d58..ccc47baa746 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/outletPhaseMeanVelocity/outletPhaseMeanVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/outletPhaseMeanVelocity/outletPhaseMeanVelocityFvPatchVectorField.H @@ -130,15 +130,6 @@ public: const outletPhaseMeanVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new outletPhaseMeanVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference outletPhaseMeanVelocityFvPatchVectorField ( @@ -146,20 +137,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new outletPhaseMeanVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H index c9b3f278346..eb5ed46922c 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H @@ -135,15 +135,6 @@ public: const partialSlipFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new partialSlipFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference partialSlipFvPatchField ( @@ -151,16 +142,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new partialSlipFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/phaseHydrostaticPressure/phaseHydrostaticPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/phaseHydrostaticPressure/phaseHydrostaticPressureFvPatchScalarField.H index ca1f4c4d2d8..948c0c4c0f7 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/phaseHydrostaticPressure/phaseHydrostaticPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/phaseHydrostaticPressure/phaseHydrostaticPressureFvPatchScalarField.H @@ -155,15 +155,6 @@ public: const phaseHydrostaticPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new phaseHydrostaticPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference phaseHydrostaticPressureFvPatchScalarField ( @@ -171,16 +162,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new phaseHydrostaticPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.H index 0ca0a76e916..27a87d229c7 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.H @@ -219,15 +219,6 @@ public: const plenumPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new plenumPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference plenumPressureFvPatchScalarField ( @@ -235,16 +226,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new plenumPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.H index 85bf2b931d2..00fd8eae9dd 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.H @@ -140,18 +140,6 @@ public: const pressureDirectedInletOutletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressureDirectedInletOutletVelocityFvPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference pressureDirectedInletOutletVelocityFvPatchVectorField ( @@ -159,20 +147,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressureDirectedInletOutletVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.H index 080c250af7f..fe3cae1316b 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.H @@ -139,15 +139,6 @@ public: const pressureDirectedInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressureDirectedInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference pressureDirectedInletVelocityFvPatchVectorField ( @@ -155,20 +146,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressureDirectedInletVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.H index f4f52f7c225..fff0d47336e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.H @@ -136,18 +136,6 @@ public: const pressureInletOutletParSlipVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressureInletOutletParSlipVelocityFvPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference pressureInletOutletParSlipVelocityFvPatchVectorField ( @@ -155,20 +143,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressureInletOutletParSlipVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletVelocity/pressureInletOutletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletVelocity/pressureInletOutletVelocityFvPatchVectorField.H index 766c68b0269..d4acd6a0d84 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletVelocity/pressureInletOutletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletVelocity/pressureInletOutletVelocityFvPatchVectorField.H @@ -133,15 +133,6 @@ public: const pressureInletOutletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressureInletOutletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference pressureInletOutletVelocityFvPatchVectorField ( @@ -149,16 +140,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressureInletOutletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.H index e4af130ac24..96b8cd2ecb4 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.H @@ -108,15 +108,6 @@ public: const pressureInletUniformVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressureInletUniformVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference pressureInletUniformVelocityFvPatchVectorField ( @@ -124,16 +115,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressureInletUniformVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.H index 3db2a464ebb..4f03a78572c 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.H @@ -126,15 +126,6 @@ public: const pressureInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressureInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference pressureInletVelocityFvPatchVectorField ( @@ -142,16 +133,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressureInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.H index 1ea26624f35..54a0923c474 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.H @@ -135,18 +135,6 @@ public: const pressureNormalInletOutletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressureNormalInletOutletVelocityFvPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference pressureNormalInletOutletVelocityFvPatchVectorField ( @@ -154,20 +142,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressureNormalInletOutletVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.H index c879dfcb14f..bc019c970c0 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.H @@ -225,18 +225,6 @@ public: const pressurePIDControlInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressurePIDControlInletVelocityFvPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference pressurePIDControlInletVelocityFvPatchVectorField ( @@ -244,20 +232,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressurePIDControlInletVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressurePermeableAlphaInletOutletVelocity/pressurePermeableAlphaInletOutletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/pressurePermeableAlphaInletOutletVelocity/pressurePermeableAlphaInletOutletVelocityFvPatchVectorField.H index d09ab668d9e..7b99e7752d5 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressurePermeableAlphaInletOutletVelocity/pressurePermeableAlphaInletOutletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressurePermeableAlphaInletOutletVelocity/pressurePermeableAlphaInletOutletVelocityFvPatchVectorField.H @@ -156,18 +156,6 @@ public: const pressurePermeableAlphaInletOutletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new pressurePermeableAlphaInletOutletVelocityFvPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference pressurePermeableAlphaInletOutletVelocityFvPatchVectorField ( @@ -175,20 +163,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new pressurePermeableAlphaInletOutletVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/prghPermeableAlphaTotalPressure/prghPermeableAlphaTotalPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/prghPermeableAlphaTotalPressure/prghPermeableAlphaTotalPressureFvPatchScalarField.H index ca4f952cebf..65bc81e11ae 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/prghPermeableAlphaTotalPressure/prghPermeableAlphaTotalPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/prghPermeableAlphaTotalPressure/prghPermeableAlphaTotalPressureFvPatchScalarField.H @@ -175,16 +175,6 @@ public: const prghPermeableAlphaTotalPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar>> clone() const - { - return tmp<fvPatchField<scalar>> - ( - new - prghPermeableAlphaTotalPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference prghPermeableAlphaTotalPressureFvPatchScalarField ( @@ -192,21 +182,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar>> - ( - new - prghPermeableAlphaTotalPressureFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.H index 257091063ba..aff0983a27b 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.H @@ -142,15 +142,6 @@ public: const prghPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new prghPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference prghPressureFvPatchScalarField ( @@ -158,16 +149,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new prghPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/prghTotalHydrostaticPressure/prghTotalHydrostaticPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/prghTotalHydrostaticPressure/prghTotalHydrostaticPressureFvPatchScalarField.H index e46cca0a0d0..f1f468fd605 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/prghTotalHydrostaticPressure/prghTotalHydrostaticPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/prghTotalHydrostaticPressure/prghTotalHydrostaticPressureFvPatchScalarField.H @@ -150,15 +150,6 @@ public: const prghTotalHydrostaticPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new prghTotalHydrostaticPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference prghTotalHydrostaticPressureFvPatchScalarField ( @@ -166,16 +157,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new prghTotalHydrostaticPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.H index 01d9755d12d..e8b1ff1000e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.H @@ -153,15 +153,6 @@ public: const prghTotalPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new prghTotalPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference prghTotalPressureFvPatchScalarField ( @@ -169,16 +160,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new prghTotalPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.H index 1fa82f8fdf6..89f0183fdf3 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.H @@ -144,15 +144,6 @@ public: const rotatingPressureInletOutletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new rotatingPressureInletOutletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference rotatingPressureInletOutletVelocityFvPatchVectorField ( @@ -160,20 +151,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new rotatingPressureInletOutletVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.H index 15ca55838f4..c0a0e7a0886 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.H @@ -136,15 +136,6 @@ public: const rotatingTotalPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new rotatingTotalPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference rotatingTotalPressureFvPatchScalarField ( @@ -152,16 +143,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new rotatingTotalPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.H index 247dfa882b3..2aa4597254c 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.H @@ -132,15 +132,6 @@ public: const rotatingWallVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new rotatingWallVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference rotatingWallVelocityFvPatchVectorField ( @@ -148,20 +139,22 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( - const DimensionedField<vector, volMesh>& iF + const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new rotatingWallVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } - // Member functions // Access functions diff --git a/src/finiteVolume/fields/fvPatchFields/derived/scaledFixedValue/scaledFixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/scaledFixedValue/scaledFixedValueFvPatchField.H index 43c95445d2b..bc8898d43d7 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/scaledFixedValue/scaledFixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/scaledFixedValue/scaledFixedValueFvPatchField.H @@ -138,15 +138,6 @@ public: //- Construct as copy scaledFixedValueFvPatchField(const scaledFixedValueFvPatchField&); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new scaledFixedValueFvPatchField(*this) - ); - } - //- Construct as copy setting internal field reference scaledFixedValueFvPatchField ( @@ -154,16 +145,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new scaledFixedValueFvPatchField(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/slip/slipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/slip/slipFvPatchField.H index 952a0abba0e..467dbae4102 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/slip/slipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/slip/slipFvPatchField.H @@ -104,15 +104,6 @@ public: const slipFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new slipFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference slipFvPatchField ( @@ -120,16 +111,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new slipFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.H index 65725e53fe2..c19e2604264 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.H @@ -153,15 +153,6 @@ public: const supersonicFreestreamFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new supersonicFreestreamFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference supersonicFreestreamFvPatchVectorField ( @@ -169,16 +160,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new supersonicFreestreamFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.H index 66fd1e5d348..e3f77119093 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.H @@ -130,15 +130,6 @@ public: const surfaceNormalFixedValueFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new surfaceNormalFixedValueFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference surfaceNormalFixedValueFvPatchVectorField ( @@ -146,20 +137,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new surfaceNormalFixedValueFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.H index 5f8ef1e830b..b3b9c50867a 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.H @@ -220,15 +220,6 @@ public: const swirlFanVelocityFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<vector>> clone() const - { - return tmp<fvPatchField<vector>> - ( - new swirlFanVelocityFvPatchField(*this) - ); - } - //- Construct as copy setting internal field reference swirlFanVelocityFvPatchField ( @@ -236,16 +227,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchField<vector>> - ( - new swirlFanVelocityFvPatchField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.H index 6ad4679298c..bee6cb18228 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.H @@ -154,15 +154,6 @@ public: const swirlFlowRateInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new swirlFlowRateInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference swirlFlowRateInletVelocityFvPatchVectorField ( @@ -170,16 +161,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new swirlFlowRateInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/swirlInletVelocity/swirlInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/swirlInletVelocity/swirlInletVelocityFvPatchVectorField.H index 6d7bec13202..b61afa01cc0 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/swirlInletVelocity/swirlInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/swirlInletVelocity/swirlInletVelocityFvPatchVectorField.H @@ -147,15 +147,6 @@ public: const swirlInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new swirlInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference swirlInletVelocityFvPatchVectorField ( @@ -163,16 +154,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new swirlInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.H index fe09ee3903e..42ce5e7d03f 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.H @@ -180,15 +180,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new syringePressureFvPatchScalarField(*this) - ); - } - //- Construct as copy syringePressureFvPatchScalarField ( @@ -202,16 +193,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new syringePressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.H index 5924157ad2a..4b74e3dfcec 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.H @@ -138,15 +138,6 @@ public: const timeVaryingMappedFixedValueFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new timeVaryingMappedFixedValueFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference timeVaryingMappedFixedValueFvPatchField ( @@ -154,16 +145,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new timeVaryingMappedFixedValueFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.H index 7803e429428..b62dfc4bb1d 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.H @@ -199,15 +199,6 @@ public: const totalPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new totalPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference totalPressureFvPatchScalarField ( @@ -215,16 +206,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new totalPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.H index 87fa9cab6a1..a74bba4a975 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.H @@ -135,15 +135,6 @@ public: const totalTemperatureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new totalTemperatureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference totalTemperatureFvPatchScalarField ( @@ -151,16 +142,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new totalTemperatureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.H index 3a481a799dc..0d64f42ee48 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.H @@ -124,15 +124,6 @@ public: const translatingWallVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new translatingWallVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference translatingWallVelocityFvPatchVectorField ( @@ -140,16 +131,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( - const DimensionedField<vector, volMesh>& iF + const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new translatingWallVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H index 25a6c571051..862684eb1e5 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H @@ -326,15 +326,6 @@ public: const turbulentDFSEMInletFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new turbulentDFSEMInletFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference turbulentDFSEMInletFvPatchVectorField ( @@ -342,16 +333,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new turbulentDFSEMInletFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDigitalFilterInlet/turbulentDigitalFilterInletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDigitalFilterInlet/turbulentDigitalFilterInletFvPatchField.H index 683968c2566..a45207389a1 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDigitalFilterInlet/turbulentDigitalFilterInletFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDigitalFilterInlet/turbulentDigitalFilterInletFvPatchField.H @@ -299,15 +299,6 @@ public: const turbulentDigitalFilterInletFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new turbulentDigitalFilterInletFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference turbulentDigitalFilterInletFvPatchField ( @@ -315,16 +306,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new turbulentDigitalFilterInletFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H index 9119b7e2db0..06214fcbf11 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H @@ -176,15 +176,6 @@ public: const turbulentInletFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new turbulentInletFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference turbulentInletFvPatchField ( @@ -192,16 +183,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new turbulentInletFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.H index c9a0c149678..29f4c23c8bd 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.H @@ -141,18 +141,6 @@ public: const turbulentIntensityKineticEnergyInletFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new turbulentIntensityKineticEnergyInletFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference turbulentIntensityKineticEnergyInletFvPatchScalarField ( @@ -160,20 +148,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new turbulentIntensityKineticEnergyInletFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.H index a4d53e37488..7671f1dbac2 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.H @@ -140,15 +140,6 @@ public: const uniformDensityHydrostaticPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new uniformDensityHydrostaticPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference uniformDensityHydrostaticPressureFvPatchScalarField ( @@ -156,20 +147,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new uniformDensityHydrostaticPressureFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.H index 8b0cb4129b2..648b421e0bd 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.H @@ -140,15 +140,6 @@ public: const uniformFixedGradientFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new uniformFixedGradientFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformFixedGradientFvPatchField ( @@ -156,16 +147,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new uniformFixedGradientFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.H index 68e8e90021b..fddecf96db5 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.H @@ -140,15 +140,6 @@ public: const uniformFixedValueFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new uniformFixedValueFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformFixedValueFvPatchField ( @@ -156,16 +147,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new uniformFixedValueFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H index fc2bca0339d..f100fed3b6c 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H @@ -138,15 +138,6 @@ public: const uniformInletOutletFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new uniformInletOutletFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformInletOutletFvPatchField ( @@ -154,16 +145,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new uniformInletOutletFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.H index f54cc9139c5..09be775aed2 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.H @@ -137,15 +137,6 @@ public: const uniformJumpFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new uniformJumpFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformJumpFvPatchField ( @@ -153,16 +144,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new uniformJumpFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.H index 13f3cf4c277..f986f2e17f6 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.H @@ -136,15 +136,6 @@ public: const uniformJumpAMIFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new uniformJumpAMIFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformJumpAMIFvPatchField ( @@ -152,16 +143,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new uniformJumpAMIFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformMixed/uniformMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformMixed/uniformMixedFvPatchField.H index 9d1bdd89545..f3533c0da72 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformMixed/uniformMixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformMixed/uniformMixedFvPatchField.H @@ -163,15 +163,6 @@ public: const uniformMixedFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new uniformMixedFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference uniformMixedFvPatchField ( @@ -179,16 +170,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new uniformMixedFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformNormalFixedValue/uniformNormalFixedValueFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformNormalFixedValue/uniformNormalFixedValueFvPatchVectorField.H index 2600e37a0cb..2cc2a43b3d4 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformNormalFixedValue/uniformNormalFixedValueFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformNormalFixedValue/uniformNormalFixedValueFvPatchVectorField.H @@ -133,15 +133,6 @@ public: const uniformNormalFixedValueFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new uniformNormalFixedValueFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference uniformNormalFixedValueFvPatchVectorField ( @@ -149,20 +140,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new uniformNormalFixedValueFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.H index ef1fd0578dd..ed5696a1f31 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.H @@ -145,15 +145,6 @@ public: const uniformTotalPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new uniformTotalPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference uniformTotalPressureFvPatchScalarField ( @@ -161,16 +152,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new uniformTotalPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/variableHeightFlowRate/variableHeightFlowRateFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/variableHeightFlowRate/variableHeightFlowRateFvPatchField.H index b127f9f94e7..3e52da8949e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/variableHeightFlowRate/variableHeightFlowRateFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/variableHeightFlowRate/variableHeightFlowRateFvPatchField.H @@ -139,15 +139,6 @@ public: const variableHeightFlowRateFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar>> clone() const - { - return tmp<fvPatchField<scalar>> - ( - new variableHeightFlowRateFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference variableHeightFlowRateFvPatchScalarField ( @@ -155,16 +146,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar>> - ( - new variableHeightFlowRateFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/variableHeightFlowRateInletVelocity/variableHeightFlowRateInletVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/variableHeightFlowRateInletVelocity/variableHeightFlowRateInletVelocityFvPatchVectorField.H index ef71bf6ca32..39f3a95cc42 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/variableHeightFlowRateInletVelocity/variableHeightFlowRateInletVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/variableHeightFlowRateInletVelocity/variableHeightFlowRateInletVelocityFvPatchVectorField.H @@ -138,15 +138,6 @@ public: const variableHeightFlowRateInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new variableHeightFlowRateInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference variableHeightFlowRateInletVelocityFvPatchVectorField ( @@ -154,20 +145,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new variableHeightFlowRateInletVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.H index 4140db8be01..521cc7dc586 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.H @@ -165,15 +165,6 @@ public: const waveSurfacePressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new waveSurfacePressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference waveSurfacePressureFvPatchScalarField ( @@ -181,16 +172,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new waveSurfacePressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/waveTransmissive/waveTransmissiveFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/waveTransmissive/waveTransmissiveFvPatchField.H index 94862dabe93..37330328c1e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/waveTransmissive/waveTransmissiveFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/waveTransmissive/waveTransmissiveFvPatchField.H @@ -146,15 +146,6 @@ public: const waveTransmissiveFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new waveTransmissiveFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference waveTransmissiveFvPatchField ( @@ -162,16 +153,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new waveTransmissiveFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H index 1d993b178ba..9056467691a 100644 --- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H @@ -459,23 +459,43 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone + //- Clone patch field with its own internal field reference virtual tmp<fvPatchField<Type>> clone() const { - return tmp<fvPatchField<Type>>::New(*this); + return tmp<fvPatchField<Type>> + ( + new fvPatchField<Type>(*this, this->internalField_) + ); } - //- Construct and return a clone setting internal field reference + //- Clone patch field with given internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>>::New(*this, iF); + return tmp<fvPatchField<Type>> + ( + new fvPatchField<Type>(*this, iF) + ); } - // Selectors + // Factory Methods + + //- Clone a patch field, optionally with internal field reference etc. + template<class DerivedPatchField, class... Args> + static tmp<fvPatchField<Type>> Clone + ( + const DerivedPatchField& pf, + Args&&... args + ) + { + return tmp<fvPatchField<Type>> + ( + new DerivedPatchField(pf, std::forward<Args>(args)...) + ); + } //- Return a pointer to a new patchField created on freestore given // patch and internal field @@ -522,15 +542,15 @@ public: // freestore without setting patchField values static tmp<fvPatchField<Type>> NewCalculatedType ( - const fvPatch& + const fvPatch& p ); //- Return a pointer to a new calculatedFvPatchField created on // freestore without setting patchField values - template<class Type2> + template<class AnyType> static tmp<fvPatchField<Type>> NewCalculatedType ( - const fvPatchField<Type2>& + const fvPatchField<AnyType>& pf ); diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C index 443ab350aad..ed1536312ce 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C @@ -120,11 +120,11 @@ Foam::fvsPatchField<Type>::NewCalculatedType template<class Type> -template<class Type2> +template<class AnyType> Foam::tmp<Foam::fvsPatchField<Type>> Foam::fvsPatchField<Type>::NewCalculatedType ( - const fvsPatchField<Type2>& pf + const fvsPatchField<AnyType>& pf ) { return NewCalculatedType(pf.patch()); diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H index 56982775bed..bd8b64db01a 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H @@ -91,15 +91,6 @@ public: const calculatedFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new calculatedFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference calculatedFvsPatchField ( @@ -107,16 +98,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new calculatedFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H index e1eaf8355fe..221630943f6 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H @@ -101,9 +101,6 @@ public: const coupledFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const = 0; - //- Construct as copy setting internal field reference coupledFvsPatchField ( @@ -111,6 +108,9 @@ public: const DimensionedField<Type, surfaceMesh>& ); + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const = 0; + //- Construct and return a clone virtual tmp<fvsPatchField<Type>> clone ( diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H index 463444a94dc..ab5ec9dc427 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H @@ -100,32 +100,25 @@ public: const fixedValueFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new fixedValueFvsPatchField<Type>(*this) - ); - } - - //- Construct as copy setting internal field reference fixedValueFvsPatchField ( const fixedValueFvsPatchField<Type>&, const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new fixedValueFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C index 239814c1851..08179b72e84 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C @@ -111,47 +111,14 @@ Foam::slicedFvsPatchField<Type>::slicedFvsPatchField } -template<class Type> -Foam::tmp<Foam::fvsPatchField<Type>> -Foam::slicedFvsPatchField<Type>::clone() const -{ - return tmp<fvsPatchField<Type>> - ( - new slicedFvsPatchField<Type>(*this) - ); -} - - template<class Type> Foam::slicedFvsPatchField<Type>::slicedFvsPatchField ( const slicedFvsPatchField<Type>& ptf ) : - fvsPatchField<Type> - ( - ptf.patch(), - ptf.internalField(), - Field<Type>() - ) -{ - // Transfer the slice from the argument - UList<Type>::shallowCopy(ptf); -} - - -template<class Type> -Foam::tmp<Foam::fvsPatchField<Type>> -Foam::slicedFvsPatchField<Type>::clone -( - const DimensionedField<Type, surfaceMesh>& iF -) const -{ - return tmp<fvsPatchField<Type>> - ( - new slicedFvsPatchField<Type>(*this, iF) - ); -} + slicedFvsPatchField<Type>(ptf, ptf.internalField()) +{} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H index 64aeaeb4869..42c92679d92 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H @@ -109,9 +109,6 @@ public: //- Construct as copy slicedFvsPatchField(const slicedFvsPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const; - //- Construct as copy setting internal field reference slicedFvsPatchField ( @@ -119,11 +116,20 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF - ) const; + ) const + { + return fvsPatchField<Type>::Clone(*this, iF); + } //- Destructor diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H index 7da4cccf0cb..c609d02df91 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H @@ -98,15 +98,6 @@ public: const cyclicFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new cyclicFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicFvsPatchField ( @@ -114,16 +105,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new cyclicFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H index dbb056325b4..da9480eb7fd 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H @@ -98,15 +98,6 @@ public: const cyclicACMIFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new cyclicACMIFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicACMIFvsPatchField ( @@ -114,24 +105,26 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new cyclicACMIFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } - // Member functions - // Access + // Member Functions - //- Return true if running parallel - virtual bool coupled() const; + //- Return true if running parallel + virtual bool coupled() const; }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.H index 4846360f893..2550303c730 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.H @@ -98,15 +98,6 @@ public: const cyclicAMIFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new cyclicAMIFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicAMIFvsPatchField ( @@ -114,25 +105,26 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new cyclicAMIFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } - // Member functions - - // Access - //- Return true if running parallel - virtual bool coupled() const; + // Member Functions + //- Return true if running parallel + virtual bool coupled() const; }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchField.H index 45da7b0fd72..09833a088ea 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchField.H @@ -93,15 +93,6 @@ public: const cyclicSlipFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new cyclicSlipFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cyclicSlipFvsPatchField ( @@ -109,16 +100,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new cyclicSlipFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H index 1d96c1c568f..76413218523 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H @@ -92,15 +92,6 @@ public: const emptyFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new emptyFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference emptyFvsPatchField ( @@ -108,16 +99,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new emptyFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H index dce9f785da9..6f5fdd7d718 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H @@ -94,15 +94,6 @@ public: const nonuniformTransformCyclicFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new nonuniformTransformCyclicFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference nonuniformTransformCyclicFvsPatchField ( @@ -110,16 +101,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new nonuniformTransformCyclicFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.H index 481d1aac6ab..dd96291ee68 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.H @@ -103,15 +103,6 @@ public: //- Construct as copy processorFvsPatchField(const processorFvsPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new processorFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference processorFvsPatchField ( @@ -119,16 +110,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new processorFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.H index 59c762dfb18..4368b03621c 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.H @@ -104,15 +104,6 @@ public: //- Construct as copy processorCyclicFvsPatchField(const processorCyclicFvsPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new processorCyclicFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference processorCyclicFvsPatchField ( @@ -120,16 +111,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new processorCyclicFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H index 9b97484efe6..4fa95f96806 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H @@ -93,15 +93,6 @@ public: const symmetryFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new symmetryFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference symmetryFvsPatchField ( @@ -109,16 +100,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new symmetryFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H index 54abdbfbd29..cf3f253e054 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H @@ -94,15 +94,6 @@ public: const symmetryPlaneFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new symmetryPlaneFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference symmetryPlaneFvsPatchField ( @@ -110,16 +101,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new symmetryPlaneFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H index 861dfc45a17..9c5ce9eb72a 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H @@ -93,15 +93,6 @@ public: const wedgeFvsPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new wedgeFvsPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference wedgeFvsPatchField ( @@ -109,16 +100,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new wedgeFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H index d4b9ff1c180..26f2f4beb5d 100644 --- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H @@ -372,23 +372,43 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone + //- Clone patch field with its own internal field reference virtual tmp<fvsPatchField<Type>> clone() const { - return tmp<fvsPatchField<Type>>::New(*this); + return tmp<fvsPatchField<Type>> + ( + new fvsPatchField<Type>(*this, this->internalField_) + ); } - //- Construct and return a clone setting internal field reference + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>>::New(*this, iF); + return tmp<fvsPatchField<Type>> + ( + new fvsPatchField<Type>(*this, iF) + ); } - // Selectors + // Factory Methods + + //- Clone a patch field, optionally with internal field reference etc. + template<class DerivedPatchField, class... Args> + static tmp<fvsPatchField<Type>> Clone + ( + const DerivedPatchField& pf, + Args&&... args + ) + { + return tmp<fvsPatchField<Type>> + ( + new DerivedPatchField(pf, std::forward<Args>(args)...) + ); + } //- Return a pointer to a new patchField created on freestore given // patch and internal field @@ -435,15 +455,15 @@ public: // freestore without setting patchField values static tmp<fvsPatchField<Type>> NewCalculatedType ( - const fvPatch& + const fvPatch& p ); //- Return a pointer to a new calculatedFvsPatchField created on // freestore without setting patchField values - template<class Type2> + template<class AnyType> static tmp<fvsPatchField<Type>> NewCalculatedType ( - const fvsPatchField<Type2>& + const fvsPatchField<AnyType>& pf ); diff --git a/src/functionObjects/field/externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchField.H b/src/functionObjects/field/externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchField.H index bfe1071a3b7..090cc3f8fdf 100644 --- a/src/functionObjects/field/externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchField.H +++ b/src/functionObjects/field/externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchField.H @@ -118,15 +118,6 @@ public: const externalCoupledMixedFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new externalCoupledMixedFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference externalCoupledMixedFvPatchField ( @@ -134,16 +125,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new externalCoupledMixedFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H b/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H index c82d23b4dbb..55dbcd2bc9c 100644 --- a/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H +++ b/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H @@ -205,15 +205,6 @@ public: const externalCoupledTemperatureMixedFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar>> clone() const - { - return tmp<fvPatchField<scalar>> - ( - new externalCoupledTemperatureMixedFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference externalCoupledTemperatureMixedFvPatchScalarField ( @@ -221,20 +212,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar>> - ( - new externalCoupledTemperatureMixedFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/fvMotionSolver/fvPatchFields/derived/cellMotion/cellMotionFvPatchField.H b/src/fvMotionSolver/fvPatchFields/derived/cellMotion/cellMotionFvPatchField.H index 17ef20543af..b175af60ee7 100644 --- a/src/fvMotionSolver/fvPatchFields/derived/cellMotion/cellMotionFvPatchField.H +++ b/src/fvMotionSolver/fvPatchFields/derived/cellMotion/cellMotionFvPatchField.H @@ -94,15 +94,6 @@ public: const cellMotionFvPatchField<Type>& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new cellMotionFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference cellMotionFvPatchField ( @@ -110,16 +101,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new cellMotionFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/fvMotionSolver/fvPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementFvPatchField.H b/src/fvMotionSolver/fvPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementFvPatchField.H index b94b01d5374..4afd37a9881 100644 --- a/src/fvMotionSolver/fvPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementFvPatchField.H +++ b/src/fvMotionSolver/fvPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementFvPatchField.H @@ -108,15 +108,6 @@ public: slipFvPatchField<Type>(ptf) {} - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new surfaceSlipDisplacementFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference surfaceSlipDisplacementFvPatchField ( @@ -127,18 +118,22 @@ public: slipFvPatchField<Type>(ptf, iF) {} - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new surfaceSlipDisplacementFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } + virtual void write(Ostream& os) const { slipFvPatchField<Type>::write(os); diff --git a/src/fvMotionSolver/pointPatchFields/derived/angularOscillatingDisplacement/angularOscillatingDisplacementPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/angularOscillatingDisplacement/angularOscillatingDisplacementPointPatchVectorField.H index fe7841d3775..47bd75de50b 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/angularOscillatingDisplacement/angularOscillatingDisplacementPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/angularOscillatingDisplacement/angularOscillatingDisplacementPointPatchVectorField.H @@ -95,18 +95,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new angularOscillatingDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference angularOscillatingDisplacementPointPatchVectorField ( @@ -114,20 +102,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new angularOscillatingDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/fvMotionSolver/pointPatchFields/derived/angularOscillatingVelocity/angularOscillatingVelocityPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/angularOscillatingVelocity/angularOscillatingVelocityPointPatchVectorField.H index b73fab2a6d5..cb5b72d83a4 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/angularOscillatingVelocity/angularOscillatingVelocityPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/angularOscillatingVelocity/angularOscillatingVelocityPointPatchVectorField.H @@ -95,18 +95,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new angularOscillatingVelocityPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference angularOscillatingVelocityPointPatchVectorField ( @@ -114,20 +102,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new angularOscillatingVelocityPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/fvMotionSolver/pointPatchFields/derived/oscillatingDisplacement/oscillatingDisplacementPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/oscillatingDisplacement/oscillatingDisplacementPointPatchVectorField.H index f77cec23538..c3865b1dc1f 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/oscillatingDisplacement/oscillatingDisplacementPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/oscillatingDisplacement/oscillatingDisplacementPointPatchVectorField.H @@ -90,18 +90,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new oscillatingDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference oscillatingDisplacementPointPatchVectorField ( @@ -109,20 +97,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new oscillatingDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/fvMotionSolver/pointPatchFields/derived/oscillatingVelocity/oscillatingVelocityPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/oscillatingVelocity/oscillatingVelocityPointPatchVectorField.H index bacd84bc1e3..ca9628e2ac1 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/oscillatingVelocity/oscillatingVelocityPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/oscillatingVelocity/oscillatingVelocityPointPatchVectorField.H @@ -92,18 +92,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new oscillatingVelocityPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference oscillatingVelocityPointPatchVectorField ( @@ -111,20 +99,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new oscillatingVelocityPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.H index 0c39ddc7d29..7e78583f80d 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.H @@ -169,18 +169,6 @@ public: const surfaceDisplacementPointPatchVectorField& ); - //- Construct and return a clone - virtual autoPtr<pointPatchVectorField> clone() const - { - return autoPtr<pointPatchVectorField> - ( - new surfaceDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference surfaceDisplacementPointPatchVectorField ( @@ -188,22 +176,22 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference - virtual autoPtr<pointPatchVectorField> clone + virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchVectorField> - ( - new surfaceDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } + // Member Functions //- Surface to follow. Demand loads surfaceNames. diff --git a/src/fvMotionSolver/pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.H index 2a46c184546..8fa5889ebea 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.H @@ -159,18 +159,6 @@ public: const surfaceSlipDisplacementPointPatchVectorField& ); - //- Construct and return a clone - virtual autoPtr<pointPatchVectorField> clone() const - { - return autoPtr<pointPatchVectorField> - ( - new surfaceSlipDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference surfaceSlipDisplacementPointPatchVectorField ( @@ -178,22 +166,22 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference - virtual autoPtr<pointPatchVectorField> clone + virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchVectorField> - ( - new surfaceSlipDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } + // Member Functions //- Surface to follow. Demand loads surfaceNames. diff --git a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.H b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.H index 2dedce3d911..18804b5fc03 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.H @@ -161,15 +161,6 @@ public: const timeVaryingMappedFixedValuePointPatchField<Type>& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new timeVaryingMappedFixedValuePointPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference timeVaryingMappedFixedValuePointPatchField ( @@ -177,16 +168,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new timeVaryingMappedFixedValuePointPatchField<Type>(*this, iF) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.H index e8105cd39de..d591e498949 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.H @@ -129,18 +129,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new uniformInterpolatedDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference uniformInterpolatedDisplacementPointPatchVectorField ( @@ -148,20 +136,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new uniformInterpolatedDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/fvMotionSolver/pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.H index 284ad8e84cc..7449a203671 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.H @@ -91,18 +91,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new waveDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference waveDisplacementPointPatchVectorField ( @@ -110,20 +98,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new waveDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/genericPatchFields/genericFaPatchField/genericFaPatchField.H b/src/genericPatchFields/genericFaPatchField/genericFaPatchField.H index 7ad03942e79..49d24ad289b 100644 --- a/src/genericPatchFields/genericFaPatchField/genericFaPatchField.H +++ b/src/genericPatchFields/genericFaPatchField/genericFaPatchField.H @@ -97,15 +97,6 @@ public: const faPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<faPatchField<Type>> clone() const - { - return tmp<faPatchField<Type>> - ( - new genericFaPatchField<Type>(*this) - ); - } - //- Default construct genericFaPatchField(const genericFaPatchField<Type>&) = default; @@ -116,16 +107,19 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faPatchField<Type>> clone() const + { + return faPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faPatchField<Type>> clone ( const DimensionedField<Type, areaMesh>& iF ) const { - return tmp<faPatchField<Type>> - ( - new genericFaPatchField<Type>(*this, iF) - ); + return faPatchField<Type>::Clone(*this, iF); } diff --git a/src/genericPatchFields/genericFaePatchField/genericFaePatchField.H b/src/genericPatchFields/genericFaePatchField/genericFaePatchField.H index 48c6cc59cec..d02442f483f 100644 --- a/src/genericPatchFields/genericFaePatchField/genericFaePatchField.H +++ b/src/genericPatchFields/genericFaePatchField/genericFaePatchField.H @@ -99,15 +99,6 @@ public: //- Default copy construct genericFaePatchField(const genericFaePatchField<Type>&) = default; - //- Construct and return a clone - virtual tmp<faePatchField<Type>> clone() const - { - return tmp<faePatchField<Type>> - ( - new genericFaePatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference genericFaePatchField ( @@ -115,16 +106,19 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<faePatchField<Type>> clone() const + { + return faePatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<faePatchField<Type>> clone ( const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new genericFaePatchField<Type>(*this, iF) - ); + return faePatchField<Type>::Clone(*this, iF); } diff --git a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H index f74273dceeb..59a55e25707 100644 --- a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H +++ b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H @@ -97,15 +97,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new genericFvPatchField<Type>(*this) - ); - } - //- Default copy construct genericFvPatchField(const genericFvPatchField<Type>&) = default; @@ -116,16 +107,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new genericFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/genericPatchFields/genericFvsPatchField/genericFvsPatchField.H b/src/genericPatchFields/genericFvsPatchField/genericFvsPatchField.H index 0447dd99710..637129c0fdf 100644 --- a/src/genericPatchFields/genericFvsPatchField/genericFvsPatchField.H +++ b/src/genericPatchFields/genericFvsPatchField/genericFvsPatchField.H @@ -96,15 +96,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvsPatchField<Type>> clone() const - { - return tmp<fvsPatchField<Type>> - ( - new genericFvsPatchField<Type>(*this) - ); - } - //- Default copy construct genericFvsPatchField(const genericFvsPatchField<Type>&) = default; @@ -115,16 +106,19 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return clone + virtual tmp<fvsPatchField<Type>> clone() const + { + return fvsPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvsPatchField<Type>> clone ( const DimensionedField<Type, surfaceMesh>& iF ) const { - return tmp<fvsPatchField<Type>> - ( - new genericFvsPatchField<Type>(*this, iF) - ); + return fvsPatchField<Type>::Clone(*this, iF); } diff --git a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H index c91f40202f5..1f68de1bf45 100644 --- a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H +++ b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H @@ -93,18 +93,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new genericPointPatchField<Type> - ( - *this - ) - ); - } - //- Default copy construct genericPointPatchField(const genericPointPatchField<Type>&) = default; @@ -115,20 +103,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new genericPointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.H b/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.H index 0afd14f0591..0ce5845796d 100644 --- a/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.H +++ b/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.H @@ -138,18 +138,6 @@ public: const pointPatchFieldMapper& mapper ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new lumpedPointDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference lumpedPointDisplacementPointPatchVectorField ( @@ -157,20 +145,19 @@ public: const DimensionedField<vector, pointMesh>& iF ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new lumpedPointDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/mesh/snappyHexMesh/externalDisplacementMeshMover/zeroFixedValue/zeroFixedValuePointPatchField.H b/src/mesh/snappyHexMesh/externalDisplacementMeshMover/zeroFixedValue/zeroFixedValuePointPatchField.H index 41862edb7b7..15379495a26 100644 --- a/src/mesh/snappyHexMesh/externalDisplacementMeshMover/zeroFixedValue/zeroFixedValuePointPatchField.H +++ b/src/mesh/snappyHexMesh/externalDisplacementMeshMover/zeroFixedValue/zeroFixedValuePointPatchField.H @@ -99,18 +99,6 @@ public: const zeroFixedValuePointPatchField<Type>& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new zeroFixedValuePointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference zeroFixedValuePointPatchField ( @@ -118,6 +106,11 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone @@ -125,14 +118,7 @@ public: const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new zeroFixedValuePointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } }; diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H index 17755d52954..6c618a97476 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H +++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H @@ -138,18 +138,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new cyclicACMIPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference cyclicACMIPointPatchField ( @@ -157,19 +145,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new cyclicACMIPointPatchField<Type> - ( - *this, iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.H b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.H index 5840a302695..f6ffa116bbc 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.H +++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.H @@ -138,18 +138,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new cyclicAMIPointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference cyclicAMIPointPatchField ( @@ -157,19 +145,19 @@ public: const DimensionedField<Type, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new cyclicAMIPointPatchField<Type> - ( - *this, iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/meshTools/fields/pointPatchFields/uniformFixedValue/uniformFixedValuePointPatchField.H b/src/meshTools/fields/pointPatchFields/uniformFixedValue/uniformFixedValuePointPatchField.H index c98e567de39..9cf2a5c27ef 100644 --- a/src/meshTools/fields/pointPatchFields/uniformFixedValue/uniformFixedValuePointPatchField.H +++ b/src/meshTools/fields/pointPatchFields/uniformFixedValue/uniformFixedValuePointPatchField.H @@ -130,18 +130,6 @@ public: const uniformFixedValuePointPatchField<Type>& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<Type>> clone() const - { - return autoPtr<pointPatchField<Type>> - ( - new uniformFixedValuePointPatchField<Type> - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference uniformFixedValuePointPatchField ( @@ -150,20 +138,19 @@ public: ); + //- Return a clone + virtual autoPtr<pointPatchField<Type>> clone() const + { + return pointPatchField<Type>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<Type>> clone ( const DimensionedField<Type, pointMesh>& iF ) const { - return autoPtr<pointPatchField<Type>> - ( - new uniformFixedValuePointPatchField<Type> - ( - *this, - iF - ) - ); + return pointPatchField<Type>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointFarFieldPressure/adjointFarFieldPressureFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointFarFieldPressure/adjointFarFieldPressureFvPatchScalarField.H index 97406ef979a..085e282dcab 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointFarFieldPressure/adjointFarFieldPressureFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointFarFieldPressure/adjointFarFieldPressureFvPatchScalarField.H @@ -90,15 +90,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointFarFieldPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointFarFieldPressureFvPatchScalarField ( @@ -106,16 +97,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointFarFieldPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointFarFieldVelocity/adjointFarFieldVelocityFvPatchVectorField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointFarFieldVelocity/adjointFarFieldVelocityFvPatchVectorField.H index 1f61a89d7a1..68ccdf27d1e 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointFarFieldVelocity/adjointFarFieldVelocityFvPatchVectorField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointFarFieldVelocity/adjointFarFieldVelocityFvPatchVectorField.H @@ -90,15 +90,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new adjointFarFieldVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference adjointFarFieldVelocityFvPatchVectorField ( @@ -106,16 +97,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new adjointFarFieldVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointInletVelocity/adjointInletVelocityFvPatchVectorField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointInletVelocity/adjointInletVelocityFvPatchVectorField.H index 04d4891f096..b760aac7475 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointInletVelocity/adjointInletVelocityFvPatchVectorField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointInletVelocity/adjointInletVelocityFvPatchVectorField.H @@ -90,15 +90,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new adjointInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference adjointInletVelocityFvPatchVectorField ( @@ -106,16 +97,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new adjointInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.H index ad035cc6ff7..8765168bd14 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.H @@ -90,15 +90,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointOutletPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletPressureFvPatchScalarField ( @@ -106,16 +97,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointOutletPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H index 95c57078aa6..19320666986 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H @@ -100,15 +100,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new adjointOutletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletVelocityFvPatchVectorField ( @@ -116,20 +107,22 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new adjointOutletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } - // Member functions //- Return true: Allow adjoint solvers to obtain the outlet phia diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocityFlux/adjointOutletVelocityFluxFvPatchVectorField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocityFlux/adjointOutletVelocityFluxFvPatchVectorField.H index 160da9dd951..af2402bf0fd 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocityFlux/adjointOutletVelocityFluxFvPatchVectorField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocityFlux/adjointOutletVelocityFluxFvPatchVectorField.H @@ -97,15 +97,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new adjointOutletVelocityFluxFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletVelocityFluxFvPatchVectorField ( @@ -113,20 +104,22 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new adjointOutletVelocityFluxFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } - // Member functions //- Return true: Allow adjoint solvers to obtain the outlet phia diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointRotatingWallVelocity/adjointRotatingWallVelocityFvPatchVectorField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointRotatingWallVelocity/adjointRotatingWallVelocityFvPatchVectorField.H index 382ffa5baaa..e76012d5eea 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointRotatingWallVelocity/adjointRotatingWallVelocityFvPatchVectorField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointRotatingWallVelocity/adjointRotatingWallVelocityFvPatchVectorField.H @@ -104,15 +104,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new adjointRotatingWallVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference adjointRotatingWallVelocityFvPatchVectorField ( @@ -120,16 +111,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new adjointRotatingWallVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointWallVelocity/adjointWallVelocityFvPatchVectorField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointWallVelocity/adjointWallVelocityFvPatchVectorField.H index 7ead8328d5b..5597759c1fd 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointWallVelocity/adjointWallVelocityFvPatchVectorField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointWallVelocity/adjointWallVelocityFvPatchVectorField.H @@ -112,15 +112,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new adjointWallVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference adjointWallVelocityFvPatchVectorField ( @@ -128,16 +119,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new adjointWallVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointWallVelocityLowRe/adjointWallVelocityLowReFvPatchVectorField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointWallVelocityLowRe/adjointWallVelocityLowReFvPatchVectorField.H index 30a1752191d..399b8f8829e 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointWallVelocityLowRe/adjointWallVelocityLowReFvPatchVectorField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointWallVelocityLowRe/adjointWallVelocityLowReFvPatchVectorField.H @@ -90,15 +90,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new adjointWallVelocityLowReFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference adjointWallVelocityLowReFvPatchVectorField ( @@ -106,16 +97,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new adjointWallVelocityLowReFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointZeroInlet/adjointZeroInletFvPatchField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointZeroInlet/adjointZeroInletFvPatchField.H index 62b1dc4e8c9..055493c6288 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointZeroInlet/adjointZeroInletFvPatchField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointZeroInlet/adjointZeroInletFvPatchField.H @@ -90,15 +90,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new adjointZeroInletFvPatchField(*this) - ); - } - //- Construct as copy setting internal field reference adjointZeroInletFvPatchField ( @@ -106,16 +97,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new adjointZeroInletFvPatchField(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldNuaTilda/adjointFarFieldNuaTildaFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldNuaTilda/adjointFarFieldNuaTildaFvPatchScalarField.H index 65d801600cf..178d8d22ba3 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldNuaTilda/adjointFarFieldNuaTildaFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldNuaTilda/adjointFarFieldNuaTildaFvPatchScalarField.H @@ -89,15 +89,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointFarFieldNuaTildaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointFarFieldNuaTildaFvPatchScalarField ( @@ -105,16 +96,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointFarFieldNuaTildaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar1/adjointFarFieldTMVar1FvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar1/adjointFarFieldTMVar1FvPatchScalarField.H index 291ea991b0f..6e80cc55fd6 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar1/adjointFarFieldTMVar1FvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar1/adjointFarFieldTMVar1FvPatchScalarField.H @@ -88,15 +88,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointFarFieldTMVar1FvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointFarFieldTMVar1FvPatchScalarField ( @@ -104,16 +95,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointFarFieldTMVar1FvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar2/adjointFarFieldTMVar2FvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar2/adjointFarFieldTMVar2FvPatchScalarField.H index 99d5674c263..b3affc40f47 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar2/adjointFarFieldTMVar2FvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar2/adjointFarFieldTMVar2FvPatchScalarField.H @@ -88,15 +88,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointFarFieldTMVar2FvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointFarFieldTMVar2FvPatchScalarField ( @@ -104,16 +95,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointFarFieldTMVar2FvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.H index 06482f88890..dfc89cb3251 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.H @@ -92,15 +92,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointInletNuaTildaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointInletNuaTildaFvPatchScalarField ( @@ -108,16 +99,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointInletNuaTildaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletFlux/adjointOutletFluxFvPatchField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletFlux/adjointOutletFluxFvPatchField.H index 888ce70940a..3e8ed6f4d71 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletFlux/adjointOutletFluxFvPatchField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletFlux/adjointOutletFluxFvPatchField.H @@ -88,15 +88,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new adjointOutletFluxFvPatchField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletFluxFvPatchField ( @@ -104,16 +95,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new adjointOutletFluxFvPatchField(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletKa/adjointOutletKaFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletKa/adjointOutletKaFvPatchScalarField.H index ae73acd7c34..2ce51e82e2a 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletKa/adjointOutletKaFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletKa/adjointOutletKaFvPatchScalarField.H @@ -88,15 +88,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointOutletKaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletKaFvPatchScalarField ( @@ -104,16 +95,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointOutletKaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTilda/adjointOutletNuaTildaFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTilda/adjointOutletNuaTildaFvPatchScalarField.H index 8f20dcb0ea3..4a03b1af857 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTilda/adjointOutletNuaTildaFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTilda/adjointOutletNuaTildaFvPatchScalarField.H @@ -89,15 +89,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointOutletNuaTildaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletNuaTildaFvPatchScalarField ( @@ -105,16 +96,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointOutletNuaTildaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTildaFlux/adjointOutletNuaTildaFluxFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTildaFlux/adjointOutletNuaTildaFluxFvPatchScalarField.H index 246a33a557b..ace90b07d09 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTildaFlux/adjointOutletNuaTildaFluxFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTildaFlux/adjointOutletNuaTildaFluxFvPatchScalarField.H @@ -90,15 +90,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointOutletNuaTildaFluxFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletNuaTildaFluxFvPatchScalarField ( @@ -106,16 +97,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointOutletNuaTildaFluxFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletWa/adjointOutletWaFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletWa/adjointOutletWaFvPatchScalarField.H index dd04e830f3f..93fb25d2d93 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletWa/adjointOutletWaFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletWa/adjointOutletWaFvPatchScalarField.H @@ -88,15 +88,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new adjointOutletWaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference adjointOutletWaFvPatchScalarField ( @@ -104,16 +95,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new adjointOutletWaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/kaqRWallFunction/kaqRWallFunctionFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/kaqRWallFunction/kaqRWallFunctionFvPatchScalarField.H index 7f936024166..0c549f6a5bd 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/kaqRWallFunction/kaqRWallFunctionFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/kaqRWallFunction/kaqRWallFunctionFvPatchScalarField.H @@ -94,15 +94,6 @@ public: const kaqRWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new kaqRWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference kaqRWallFunctionFvPatchScalarField ( @@ -110,16 +101,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new kaqRWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/waWallFunction/waWallFunctionFvPatchScalarField.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/waWallFunction/waWallFunctionFvPatchScalarField.H index c1e95db2aac..f4ed962fbab 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/waWallFunction/waWallFunctionFvPatchScalarField.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/waWallFunction/waWallFunctionFvPatchScalarField.H @@ -102,15 +102,6 @@ public: const waWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new waWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference waWallFunctionFvPatchScalarField ( @@ -118,16 +109,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new waWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/overset/oversetPolyPatch/oversetFvPatchField.H b/src/overset/oversetPolyPatch/oversetFvPatchField.H index f681a9cd641..cb22fb67268 100644 --- a/src/overset/oversetPolyPatch/oversetFvPatchField.H +++ b/src/overset/oversetPolyPatch/oversetFvPatchField.H @@ -132,15 +132,6 @@ public: //- Construct as copy oversetFvPatchField(const oversetFvPatchField<Type>&); - //- Construct and return a clone - virtual tmp<fvPatchField<Type>> clone() const - { - return tmp<fvPatchField<Type>> - ( - new oversetFvPatchField<Type>(*this) - ); - } - //- Construct as copy setting internal field reference oversetFvPatchField ( @@ -148,16 +139,19 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<Type>> clone() const + { + return fvPatchField<Type>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<Type>> clone ( const DimensionedField<Type, volMesh>& iF ) const { - return tmp<fvPatchField<Type>> - ( - new oversetFvPatchField<Type>(*this, iF) - ); + return fvPatchField<Type>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.H index a9fac35aa3e..c48dbed8614 100644 --- a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.H +++ b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.H @@ -167,15 +167,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphaContactAngleFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphaContactAngleFvPatchScalarField ( @@ -183,16 +174,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphaContactAngleFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/derivedFvPatchFields/timeVaryingMassSorption/timeVaryingMassSorptionFvPatchScalarField.H b/src/phaseSystemModels/multiphaseInter/phasesSystem/derivedFvPatchFields/timeVaryingMassSorption/timeVaryingMassSorptionFvPatchScalarField.H index e054fd12dbf..de01803baf6 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/derivedFvPatchFields/timeVaryingMassSorption/timeVaryingMassSorptionFvPatchScalarField.H +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/derivedFvPatchFields/timeVaryingMassSorption/timeVaryingMassSorptionFvPatchScalarField.H @@ -175,15 +175,6 @@ public: const timeVaryingMassSorptionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new timeVaryingMassSorptionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference timeVaryingMassSorptionFvPatchScalarField ( @@ -191,16 +182,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new timeVaryingMassSorptionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.H index a28a4e5f54a..4c3ca140aaf 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.H +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.H @@ -204,15 +204,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphaContactAngleFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphaContactAngleFvPatchScalarField ( @@ -220,16 +211,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphaContactAngleFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H index dbf31cc0e80..7b89c0446f2 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H @@ -151,18 +151,6 @@ public: const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField ( @@ -170,20 +158,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H index 03bb661c89a..88d9a5418f0 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H @@ -182,18 +182,6 @@ public: const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField ( @@ -201,20 +189,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H index e00efd36344..3040f6566c9 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H @@ -460,15 +460,6 @@ public: const alphatWallBoilingWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphatWallBoilingWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphatWallBoilingWallFunctionFvPatchScalarField ( @@ -476,16 +467,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphatWallBoilingWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.H b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.H index 6c07141c7cb..97c4c47b84a 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.H +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.H @@ -127,15 +127,6 @@ public: const copiedFixedValueFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new copiedFixedValueFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference copiedFixedValueFvPatchScalarField ( @@ -143,16 +134,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new copiedFixedValueFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H index 7ec3dd8f9b6..28f6b789c56 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H @@ -145,15 +145,6 @@ public: const fixedMultiPhaseHeatFluxFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fixedMultiPhaseHeatFluxFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference fixedMultiPhaseHeatFluxFvPatchScalarField ( @@ -161,16 +152,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fixedMultiPhaseHeatFluxFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H index 77fb64736f6..49f5bde9e43 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H +++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H @@ -112,15 +112,6 @@ public: const JohnsonJacksonParticleSlipFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new JohnsonJacksonParticleSlipFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference JohnsonJacksonParticleSlipFvPatchVectorField ( @@ -128,16 +119,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new JohnsonJacksonParticleSlipFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H index cb4690bb41b..6396cdf9b68 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H +++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H @@ -115,15 +115,6 @@ public: const JohnsonJacksonParticleThetaFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new JohnsonJacksonParticleThetaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference JohnsonJacksonParticleThetaFvPatchScalarField ( @@ -131,16 +122,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new JohnsonJacksonParticleThetaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H index 6068281e183..45c49e2bf45 100644 --- a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H +++ b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H @@ -113,15 +113,6 @@ public: const JohnsonJacksonParticleSlipFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new JohnsonJacksonParticleSlipFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference JohnsonJacksonParticleSlipFvPatchVectorField ( @@ -129,16 +120,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new JohnsonJacksonParticleSlipFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H index bdad64bd4ef..cff941c9efb 100644 --- a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H +++ b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H @@ -116,15 +116,6 @@ public: const JohnsonJacksonParticleThetaFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new JohnsonJacksonParticleThetaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference JohnsonJacksonParticleThetaFvPatchScalarField ( @@ -132,16 +123,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new JohnsonJacksonParticleThetaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H index 56c805024d7..d9ae1a1e5d3 100644 --- a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H +++ b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H @@ -181,15 +181,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new velocityFilmShellFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference velocityFilmShellFvPatchVectorField ( @@ -197,16 +188,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new velocityFilmShellFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H b/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H index 1ee34af3e33..e5f98883e22 100644 --- a/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H +++ b/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H @@ -138,15 +138,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new thermalShellFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference thermalShellFvPatchScalarField ( @@ -154,16 +145,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new thermalShellFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H b/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H index af184d2aea7..f1720546d86 100644 --- a/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H +++ b/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H @@ -127,15 +127,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new vibrationShellFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference vibrationShellFvPatchScalarField ( @@ -143,16 +134,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new vibrationShellFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.H b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.H index 3b2c76c1e56..ea90811c9b1 100644 --- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.H +++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.H @@ -183,18 +183,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new filmPyrolysisRadiativeCoupledMixedFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference filmPyrolysisRadiativeCoupledMixedFvPatchScalarField ( @@ -202,20 +190,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new filmPyrolysisRadiativeCoupledMixedFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.H b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.H index 3cc10f5ce67..94e43f4ea85 100644 --- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.H +++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.H @@ -124,15 +124,6 @@ public: const filmPyrolysisTemperatureCoupledFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new filmPyrolysisTemperatureCoupledFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference filmPyrolysisTemperatureCoupledFvPatchScalarField ( @@ -140,16 +131,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new filmPyrolysisTemperatureCoupledFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.H b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.H index 6bbd16709ef..d8a77ee110c 100644 --- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.H +++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.H @@ -125,15 +125,6 @@ public: const filmPyrolysisVelocityCoupledFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new filmPyrolysisVelocityCoupledFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference filmPyrolysisVelocityCoupledFvPatchVectorField ( @@ -141,16 +132,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new filmPyrolysisVelocityCoupledFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.H b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.H index 91b6940c3bd..7327c991a23 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.H +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.H @@ -147,15 +147,6 @@ public: const filmHeightInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new filmHeightInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference filmHeightInletVelocityFvPatchVectorField ( @@ -163,16 +154,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new filmHeightInletVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.H b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.H index 39bb8a36ad2..8012c12ace7 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.H +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.H @@ -110,15 +110,6 @@ public: const inclinedFilmNusseltHeightFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new inclinedFilmNusseltHeightFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference inclinedFilmNusseltHeightFvPatchScalarField ( @@ -126,16 +117,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new inclinedFilmNusseltHeightFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.H b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.H index cd5d357264a..eadaf40e350 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.H +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.H @@ -110,15 +110,6 @@ public: const inclinedFilmNusseltInletVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new inclinedFilmNusseltInletVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference inclinedFilmNusseltInletVelocityFvPatchVectorField ( @@ -126,19 +117,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new inclinedFilmNusseltInletVelocityFvPatchVectorField - ( - *this, iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.H b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.H index 18f448f15f4..9f1cff6ee5a 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.H +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.H @@ -162,15 +162,6 @@ public: const alphatFilmWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphatFilmWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphatFilmWallFunctionFvPatchScalarField ( @@ -178,16 +169,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphatFilmWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H index d7ebbf2c457..0b4099ec0ec 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H @@ -158,15 +158,6 @@ public: const nutkFilmWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new nutkFilmWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference nutkFilmWallFunctionFvPatchScalarField ( @@ -174,16 +165,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new nutkFilmWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.H b/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.H index 26fdc2cf274..0402f973e09 100644 --- a/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.H +++ b/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.H @@ -301,16 +301,6 @@ public: const fvPatchFieldMapper& ); - - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new thermalBaffleFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference thermalBaffleFvPatchScalarField ( @@ -318,16 +308,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new thermalBaffleFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H b/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H index e67f00ff6ac..8102ff9bd1f 100644 --- a/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H +++ b/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H @@ -122,18 +122,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new sixDoFRigidBodyDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference sixDoFRigidBodyDisplacementPointPatchVectorField ( @@ -141,20 +129,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new sixDoFRigidBodyDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/sixDoFRigidBodyMotion/pointPatchFields/derived/uncoupledSixDoFRigidBodyDisplacement/uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField.H b/src/sixDoFRigidBodyMotion/pointPatchFields/derived/uncoupledSixDoFRigidBodyDisplacement/uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField.H index 9bc259d00e7..670ad02a3e1 100644 --- a/src/sixDoFRigidBodyMotion/pointPatchFields/derived/uncoupledSixDoFRigidBodyDisplacement/uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField.H +++ b/src/sixDoFRigidBodyMotion/pointPatchFields/derived/uncoupledSixDoFRigidBodyDisplacement/uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField.H @@ -97,18 +97,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField ( @@ -116,20 +104,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H index 836ce9249bc..9e7fcd048e5 100644 --- a/src/thermoTools/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H @@ -143,15 +143,6 @@ public: const convectiveHeatTransferFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new convectiveHeatTransferFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference convectiveHeatTransferFvPatchScalarField ( @@ -159,16 +150,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new convectiveHeatTransferFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H index bad3c6db95c..b711dbd2aef 100644 --- a/src/thermoTools/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H @@ -224,15 +224,6 @@ public: const externalWallHeatFluxTemperatureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new externalWallHeatFluxTemperatureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference externalWallHeatFluxTemperatureFvPatchScalarField ( @@ -240,16 +231,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new externalWallHeatFluxTemperatureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H index cb4aae6c513..5ae31ccddd0 100644 --- a/src/thermoTools/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H @@ -134,19 +134,6 @@ public: const fixedIncidentRadiationFvPatchScalarField& ); - - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fixedIncidentRadiationFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference fixedIncidentRadiationFvPatchScalarField ( @@ -154,27 +141,25 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fixedIncidentRadiationFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } // Member functions - - // Mapping functions + // Mapping functions //- Map (and resize as needed) from self given a mapping object virtual void autoMap(const fvPatchFieldMapper&); diff --git a/src/thermoTools/derivedFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.H index 64cfd0f070e..dba84d973bd 100644 --- a/src/thermoTools/derivedFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.H @@ -332,18 +332,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new humidityTemperatureCoupledMixedFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference humidityTemperatureCoupledMixedFvPatchScalarField ( @@ -351,20 +339,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new humidityTemperatureCoupledMixedFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/lumpedMassWallTemperature/lumpedMassWallTemperatureFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/lumpedMassWallTemperature/lumpedMassWallTemperatureFvPatchScalarField.H index c657b4cc72a..5d961e010c0 100644 --- a/src/thermoTools/derivedFvPatchFields/lumpedMassWallTemperature/lumpedMassWallTemperatureFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/lumpedMassWallTemperature/lumpedMassWallTemperatureFvPatchScalarField.H @@ -135,15 +135,6 @@ public: const lumpedMassWallTemperatureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new lumpedMassWallTemperatureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference lumpedMassWallTemperatureFvPatchScalarField ( @@ -151,16 +142,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new lumpedMassWallTemperatureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/outletMachNumberPressure/outletMachNumberPressureFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/outletMachNumberPressure/outletMachNumberPressureFvPatchScalarField.H index ea0a8ed59d6..ad4cf26abf1 100644 --- a/src/thermoTools/derivedFvPatchFields/outletMachNumberPressure/outletMachNumberPressureFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/outletMachNumberPressure/outletMachNumberPressureFvPatchScalarField.H @@ -216,15 +216,6 @@ public: const outletMachNumberPressureFvPatchScalarField& tppsf ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new outletMachNumberPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference outletMachNumberPressureFvPatchScalarField ( @@ -232,16 +223,19 @@ public: const DimensionedField<scalar, volMesh>& iF ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new outletMachNumberPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/outletMappedUniformInletHeatAddition/outletMappedUniformInletHeatAdditionFvPatchField.H b/src/thermoTools/derivedFvPatchFields/outletMappedUniformInletHeatAddition/outletMappedUniformInletHeatAdditionFvPatchField.H index 0640c2a39e5..844000f9049 100644 --- a/src/thermoTools/derivedFvPatchFields/outletMappedUniformInletHeatAddition/outletMappedUniformInletHeatAdditionFvPatchField.H +++ b/src/thermoTools/derivedFvPatchFields/outletMappedUniformInletHeatAddition/outletMappedUniformInletHeatAdditionFvPatchField.H @@ -142,15 +142,6 @@ public: const outletMappedUniformInletHeatAdditionFvPatchField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar>> clone() const - { - return tmp<fvPatchField<scalar>> - ( - new outletMappedUniformInletHeatAdditionFvPatchField(*this) - ); - } - //- Construct as copy setting internal field reference outletMappedUniformInletHeatAdditionFvPatchField ( @@ -158,16 +149,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar>> - ( - new outletMappedUniformInletHeatAdditionFvPatchField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleMassFraction/semiPermeableBaffleMassFractionFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleMassFraction/semiPermeableBaffleMassFractionFvPatchScalarField.H index db2c6292bc6..58ae15b2c45 100644 --- a/src/thermoTools/derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleMassFraction/semiPermeableBaffleMassFractionFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleMassFraction/semiPermeableBaffleMassFractionFvPatchScalarField.H @@ -143,15 +143,6 @@ public: const semiPermeableBaffleMassFractionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new semiPermeableBaffleMassFractionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference semiPermeableBaffleMassFractionFvPatchScalarField ( @@ -159,20 +150,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new semiPermeableBaffleMassFractionFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleVelocity/semiPermeableBaffleVelocityFvPatchVectorField.H b/src/thermoTools/derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleVelocity/semiPermeableBaffleVelocityFvPatchVectorField.H index 72824c12d80..56e08da2f22 100644 --- a/src/thermoTools/derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleVelocity/semiPermeableBaffleVelocityFvPatchVectorField.H +++ b/src/thermoTools/derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleVelocity/semiPermeableBaffleVelocityFvPatchVectorField.H @@ -126,15 +126,6 @@ public: const semiPermeableBaffleVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new semiPermeableBaffleVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference semiPermeableBaffleVelocityFvPatchVectorField ( @@ -142,20 +133,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new semiPermeableBaffleVelocityFvPatchVectorField - ( - *this, - iF - ) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H index 075b9dc26d6..69c61b466e7 100644 --- a/src/thermoTools/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H @@ -198,15 +198,6 @@ public: const thermalBaffle1DFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new thermalBaffle1DFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference thermalBaffle1DFvPatchScalarField ( @@ -214,16 +205,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new thermalBaffle1DFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H index 4a6faa495e0..d59c2bda695 100644 --- a/src/thermoTools/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H @@ -107,16 +107,6 @@ public: const totalFlowRateAdvectiveDiffusiveFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar>> clone() const - { - return tmp<fvPatchField<scalar>> - ( - new - totalFlowRateAdvectiveDiffusiveFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference totalFlowRateAdvectiveDiffusiveFvPatchScalarField ( @@ -124,28 +114,24 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar>> - ( - new - totalFlowRateAdvectiveDiffusiveFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } // Member functions - - // Mapping functions //- Map (and resize as needed) from self given a mapping object diff --git a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H index 7de8e9d7a37..e4e621a55cd 100644 --- a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H @@ -170,18 +170,6 @@ public: const turbulentTemperatureCoupledBaffleMixedFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new turbulentTemperatureCoupledBaffleMixedFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference turbulentTemperatureCoupledBaffleMixedFvPatchScalarField ( @@ -189,20 +177,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new turbulentTemperatureCoupledBaffleMixedFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H index 44a721daa25..0fc48788c6f 100644 --- a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H @@ -270,18 +270,6 @@ public: const turbulentTemperatureRadCoupledMixedFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new turbulentTemperatureRadCoupledMixedFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference turbulentTemperatureRadCoupledMixedFvPatchScalarField ( @@ -289,20 +277,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new turbulentTemperatureRadCoupledMixedFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H index 9a35d35a78b..ed6a596d40f 100644 --- a/src/thermoTools/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H @@ -171,15 +171,6 @@ public: const alphatJayatillekeWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphatJayatillekeWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphatJayatillekeWallFunctionFvPatchScalarField ( @@ -187,20 +178,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphatJayatillekeWallFunctionFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H index ae11c223a63..611c6ae15aa 100644 --- a/src/thermoTools/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H @@ -146,15 +146,6 @@ public: const alphatWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphatWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphatWallFunctionFvPatchScalarField ( @@ -162,16 +153,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphatWallFunctionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/wallFunctions/sorptionWallFunction/sorptionWallFunctionFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/wallFunctions/sorptionWallFunction/sorptionWallFunctionFvPatchScalarField.H index bcc7c2522ea..0f069a3df23 100644 --- a/src/thermoTools/derivedFvPatchFields/wallFunctions/sorptionWallFunction/sorptionWallFunctionFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/wallFunctions/sorptionWallFunction/sorptionWallFunctionFvPatchScalarField.H @@ -251,15 +251,6 @@ public: const sorptionWallFunctionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new sorptionWallFunctionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference sorptionWallFunctionFvPatchScalarField ( @@ -267,20 +258,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new sorptionWallFunctionFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermoTools/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H b/src/thermoTools/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H index 356273dc7dc..09ffb7826c0 100644 --- a/src/thermoTools/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H +++ b/src/thermoTools/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H @@ -121,15 +121,6 @@ public: const wallHeatTransferFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new wallHeatTransferFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference wallHeatTransferFvPatchScalarField ( @@ -137,16 +128,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new wallHeatTransferFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.H b/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.H index 86bd3df4ab5..674eebcfa8d 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.H +++ b/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.H @@ -100,15 +100,6 @@ public: const energyJumpFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar>> clone() const - { - return tmp<fvPatchField<scalar>> - ( - new energyJumpFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference energyJumpFvPatchScalarField ( @@ -116,16 +107,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar>> - ( - new energyJumpFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.H b/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.H index 8164adca40e..023632aaab8 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.H +++ b/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.H @@ -100,15 +100,6 @@ public: const energyJumpAMIFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar>> clone() const - { - return tmp<fvPatchField<scalar>> - ( - new energyJumpAMIFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference energyJumpAMIFvPatchScalarField ( @@ -116,16 +107,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar>> - ( - new energyJumpAMIFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/fixedEnergy/fixedEnergyFvPatchScalarField.H b/src/thermophysicalModels/basic/derivedFvPatchFields/fixedEnergy/fixedEnergyFvPatchScalarField.H index 6f6572a40d7..86afb41ab81 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/fixedEnergy/fixedEnergyFvPatchScalarField.H +++ b/src/thermophysicalModels/basic/derivedFvPatchFields/fixedEnergy/fixedEnergyFvPatchScalarField.H @@ -108,15 +108,6 @@ public: const fixedEnergyFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fixedEnergyFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference fixedEnergyFvPatchScalarField ( @@ -124,16 +115,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fixedEnergyFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/gradientEnergy/gradientEnergyFvPatchScalarField.H b/src/thermophysicalModels/basic/derivedFvPatchFields/gradientEnergy/gradientEnergyFvPatchScalarField.H index bf84e88d0bb..8e8c2a61dc7 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/gradientEnergy/gradientEnergyFvPatchScalarField.H +++ b/src/thermophysicalModels/basic/derivedFvPatchFields/gradientEnergy/gradientEnergyFvPatchScalarField.H @@ -123,15 +123,6 @@ public: const gradientEnergyFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new gradientEnergyFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference gradientEnergyFvPatchScalarField ( @@ -139,16 +130,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new gradientEnergyFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/mixedEnergy/mixedEnergyFvPatchScalarField.H b/src/thermophysicalModels/basic/derivedFvPatchFields/mixedEnergy/mixedEnergyFvPatchScalarField.H index 918300f68f4..e7b01cf743c 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/mixedEnergy/mixedEnergyFvPatchScalarField.H +++ b/src/thermophysicalModels/basic/derivedFvPatchFields/mixedEnergy/mixedEnergyFvPatchScalarField.H @@ -99,15 +99,6 @@ public: const mixedEnergyFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new mixedEnergyFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference mixedEnergyFvPatchScalarField ( @@ -115,16 +106,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new mixedEnergyFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.H b/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.H index 0f7e73da03d..2fde200cf80 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.H +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.H @@ -127,15 +127,6 @@ public: const MarshakRadiationFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new MarshakRadiationFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference MarshakRadiationFvPatchScalarField ( @@ -143,16 +134,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new MarshakRadiationFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiationFixedTemperature/MarshakRadiationFixedTemperatureFvPatchScalarField.H b/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiationFixedTemperature/MarshakRadiationFixedTemperatureFvPatchScalarField.H index 71da65c388d..ea583586243 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiationFixedTemperature/MarshakRadiationFixedTemperatureFvPatchScalarField.H +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiationFixedTemperature/MarshakRadiationFixedTemperatureFvPatchScalarField.H @@ -127,15 +127,6 @@ public: const MarshakRadiationFixedTemperatureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new MarshakRadiationFixedTemperatureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference MarshakRadiationFixedTemperatureFvPatchScalarField ( @@ -143,20 +134,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new MarshakRadiationFixedTemperatureFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.H b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.H index bab87648027..c66e6fabbc6 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.H +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.H @@ -151,15 +151,6 @@ public: const greyDiffusiveRadiationMixedFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new greyDiffusiveRadiationMixedFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference greyDiffusiveRadiationMixedFvPatchScalarField ( @@ -167,16 +158,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new greyDiffusiveRadiationMixedFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.H b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.H index c99ce057cd0..b8cd2bfd7ca 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.H +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.H @@ -125,15 +125,6 @@ public: const greyDiffusiveViewFactorFixedValueFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new greyDiffusiveViewFactorFixedValueFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference greyDiffusiveViewFactorFixedValueFvPatchScalarField ( @@ -141,20 +132,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new greyDiffusiveViewFactorFixedValueFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation/specularRadiationMixedFvPatchScalarField.H b/src/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation/specularRadiationMixedFvPatchScalarField.H index bc456ae4fe3..3fd12a61d78 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation/specularRadiationMixedFvPatchScalarField.H +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation/specularRadiationMixedFvPatchScalarField.H @@ -169,15 +169,6 @@ public: const specularRadiationMixedFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchField<scalar> > clone() const - { - return tmp<fvPatchField<scalar> > - ( - new specularRadiationMixedFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference specularRadiationMixedFvPatchScalarField ( @@ -185,16 +176,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchField<scalar> > clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchField<scalar> > - ( - new specularRadiationMixedFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.H b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.H index 112aa9610fa..baf4640efa7 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.H +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.H @@ -116,15 +116,6 @@ public: const wideBandDiffusiveRadiationMixedFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new wideBandDiffusiveRadiationMixedFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference wideBandDiffusiveRadiationMixedFvPatchScalarField ( @@ -132,23 +123,24 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new wideBandDiffusiveRadiationMixedFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } // Member functions - - // Evaluation functions //- Update the coefficients associated with the patch field diff --git a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.H b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.H index f232c79c714..87dde766df2 100644 --- a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.H +++ b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.H @@ -210,15 +210,6 @@ public: const enthalpySorptionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new enthalpySorptionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference enthalpySorptionFvPatchScalarField ( @@ -226,16 +217,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new enthalpySorptionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/fixedUnburntEnthalpy/fixedUnburntEnthalpyFvPatchScalarField.H b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/fixedUnburntEnthalpy/fixedUnburntEnthalpyFvPatchScalarField.H index e996cfcb5af..9ff483132a5 100644 --- a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/fixedUnburntEnthalpy/fixedUnburntEnthalpyFvPatchScalarField.H +++ b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/fixedUnburntEnthalpy/fixedUnburntEnthalpyFvPatchScalarField.H @@ -95,15 +95,6 @@ public: const fixedUnburntEnthalpyFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new fixedUnburntEnthalpyFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference fixedUnburntEnthalpyFvPatchScalarField ( @@ -111,16 +102,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new fixedUnburntEnthalpyFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/gradientUnburntEnthalpy/gradientUnburntEnthalpyFvPatchScalarField.H b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/gradientUnburntEnthalpy/gradientUnburntEnthalpyFvPatchScalarField.H index 2ca2ef4321e..99573406a24 100644 --- a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/gradientUnburntEnthalpy/gradientUnburntEnthalpyFvPatchScalarField.H +++ b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/gradientUnburntEnthalpy/gradientUnburntEnthalpyFvPatchScalarField.H @@ -95,15 +95,6 @@ public: const gradientUnburntEnthalpyFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new gradientUnburntEnthalpyFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference gradientUnburntEnthalpyFvPatchScalarField ( @@ -111,16 +102,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new gradientUnburntEnthalpyFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/mixedUnburntEnthalpy/mixedUnburntEnthalpyFvPatchScalarField.H b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/mixedUnburntEnthalpy/mixedUnburntEnthalpyFvPatchScalarField.H index c4f6c10172d..83986020192 100644 --- a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/mixedUnburntEnthalpy/mixedUnburntEnthalpyFvPatchScalarField.H +++ b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/mixedUnburntEnthalpy/mixedUnburntEnthalpyFvPatchScalarField.H @@ -95,15 +95,6 @@ public: const mixedUnburntEnthalpyFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new mixedUnburntEnthalpyFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference mixedUnburntEnthalpyFvPatchScalarField ( @@ -111,16 +102,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new mixedUnburntEnthalpyFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/speciesSorption/speciesSorptionFvPatchScalarField.H b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/speciesSorption/speciesSorptionFvPatchScalarField.H index 140492c752e..0608a848209 100644 --- a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/speciesSorption/speciesSorptionFvPatchScalarField.H +++ b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/speciesSorption/speciesSorptionFvPatchScalarField.H @@ -245,15 +245,6 @@ public: const speciesSorptionFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new speciesSorptionFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference speciesSorptionFvPatchScalarField ( @@ -261,16 +252,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new speciesSorptionFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H index 72dea9c83c2..74325b5d1ea 100644 --- a/src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H +++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H @@ -103,15 +103,6 @@ public: const constantAlphaContactAngleFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new constantAlphaContactAngleFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference constantAlphaContactAngleFvPatchScalarField ( @@ -119,16 +110,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new constantAlphaContactAngleFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H index 29f6444350d..97619869a19 100644 --- a/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H +++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H @@ -109,15 +109,6 @@ public: const dynamicAlphaContactAngleFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new dynamicAlphaContactAngleFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference dynamicAlphaContactAngleFvPatchScalarField ( @@ -125,16 +116,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new dynamicAlphaContactAngleFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/transportModels/twoPhaseProperties/alphaContactAngle/temperatureDependentAlphaContactAngle/temperatureDependentAlphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/temperatureDependentAlphaContactAngle/temperatureDependentAlphaContactAngleFvPatchScalarField.H index 8817bd35bf8..4193eeb2571 100644 --- a/src/transportModels/twoPhaseProperties/alphaContactAngle/temperatureDependentAlphaContactAngle/temperatureDependentAlphaContactAngleFvPatchScalarField.H +++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/temperatureDependentAlphaContactAngle/temperatureDependentAlphaContactAngleFvPatchScalarField.H @@ -128,18 +128,6 @@ public: const temperatureDependentAlphaContactAngleFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new temperatureDependentAlphaContactAngleFvPatchScalarField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference temperatureDependentAlphaContactAngleFvPatchScalarField ( @@ -147,20 +135,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new temperatureDependentAlphaContactAngleFvPatchScalarField - ( - *this, - iF - ) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H index 97ffe143311..b6167db8011 100644 --- a/src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H +++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H @@ -96,15 +96,6 @@ public: const fvPatchFieldMapper& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new timeVaryingAlphaContactAngleFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference timeVaryingAlphaContactAngleFvPatchScalarField ( @@ -112,16 +103,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new timeVaryingAlphaContactAngleFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H index 555939fda06..11f4ed7adab 100644 --- a/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H +++ b/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H @@ -97,15 +97,6 @@ public: const alphaFixedPressureFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new alphaFixedPressureFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference alphaFixedPressureFvPatchScalarField ( @@ -113,16 +104,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new alphaFixedPressureFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/waveModels/derivedFvPatchFields/waveAlpha/waveAlphaFvPatchScalarField.H b/src/waveModels/derivedFvPatchFields/waveAlpha/waveAlphaFvPatchScalarField.H index ce5855721fb..419aba0d1e9 100644 --- a/src/waveModels/derivedFvPatchFields/waveAlpha/waveAlphaFvPatchScalarField.H +++ b/src/waveModels/derivedFvPatchFields/waveAlpha/waveAlphaFvPatchScalarField.H @@ -117,15 +117,6 @@ public: const waveAlphaFvPatchScalarField& ); - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new waveAlphaFvPatchScalarField(*this) - ); - } - //- Construct as copy setting internal field reference waveAlphaFvPatchScalarField ( @@ -133,16 +124,19 @@ public: const DimensionedField<scalar, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone + //- Return a clone + virtual tmp<fvPatchField<scalar>> clone() const + { + return fvPatchField<scalar>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<scalar>> clone ( const DimensionedField<scalar, volMesh>& iF ) const { - return tmp<fvPatchScalarField> - ( - new waveAlphaFvPatchScalarField(*this, iF) - ); + return fvPatchField<scalar>::Clone(*this, iF); } diff --git a/src/waveModels/derivedFvPatchFields/waveVelocity/waveVelocityFvPatchVectorField.H b/src/waveModels/derivedFvPatchFields/waveVelocity/waveVelocityFvPatchVectorField.H index 6e3860fefe9..de82730c32d 100644 --- a/src/waveModels/derivedFvPatchFields/waveVelocity/waveVelocityFvPatchVectorField.H +++ b/src/waveModels/derivedFvPatchFields/waveVelocity/waveVelocityFvPatchVectorField.H @@ -117,15 +117,6 @@ public: const waveVelocityFvPatchVectorField& ); - //- Construct and return a clone - virtual tmp<fvPatchVectorField> clone() const - { - return tmp<fvPatchVectorField> - ( - new waveVelocityFvPatchVectorField(*this) - ); - } - //- Construct as copy setting internal field reference waveVelocityFvPatchVectorField ( @@ -133,16 +124,19 @@ public: const DimensionedField<vector, volMesh>& ); - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchVectorField> clone + //- Return a clone + virtual tmp<fvPatchField<vector>> clone() const + { + return fvPatchField<vector>::Clone(*this); + } + + //- Clone with an internal field reference + virtual tmp<fvPatchField<vector>> clone ( const DimensionedField<vector, volMesh>& iF ) const { - return tmp<fvPatchVectorField> - ( - new waveVelocityFvPatchVectorField(*this, iF) - ); + return fvPatchField<vector>::Clone(*this, iF); } diff --git a/src/waveModels/derivedPointPatchFields/waveMaker/waveMakerPointPatchVectorField.H b/src/waveModels/derivedPointPatchFields/waveMaker/waveMakerPointPatchVectorField.H index e71e9044efa..b82a92cccaf 100644 --- a/src/waveModels/derivedPointPatchFields/waveMaker/waveMakerPointPatchVectorField.H +++ b/src/waveModels/derivedPointPatchFields/waveMaker/waveMakerPointPatchVectorField.H @@ -248,18 +248,6 @@ public: const pointPatchFieldMapper& ); - //- Construct and return a clone - virtual autoPtr<pointPatchField<vector>> clone() const - { - return autoPtr<pointPatchField<vector>> - ( - new waveMakerPointPatchVectorField - ( - *this - ) - ); - } - //- Construct as copy setting internal field reference waveMakerPointPatchVectorField ( @@ -267,20 +255,19 @@ public: const DimensionedField<vector, pointMesh>& ); + //- Return a clone + virtual autoPtr<pointPatchField<vector>> clone() const + { + return pointPatchField<vector>::Clone(*this); + } + //- Construct and return a clone setting internal field reference virtual autoPtr<pointPatchField<vector>> clone ( const DimensionedField<vector, pointMesh>& iF ) const { - return autoPtr<pointPatchField<vector>> - ( - new waveMakerPointPatchVectorField - ( - *this, - iF - ) - ); + return pointPatchField<vector>::Clone(*this, iF); } -- GitLab From 3d0cb79be3d6d9bb476e20cf8d90009e7a98cd42 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 18 Jan 2024 16:11:32 +0000 Subject: [PATCH 022/231] ENH: mapped: keep coupling info. Fixes #3090 --- .../mappedPolyPatch/mappedPatchBase.C | 84 ++++++++++++++++++- .../mappedPolyPatch/mappedPatchBase.H | 26 +++++- .../mappedPolyPatch/mappedPatchBaseI.H | 19 ----- .../mappedPolyPatch/mappedPolyPatch.C | 15 ++-- .../mappedPolyPatch/mappedWallPolyPatch.C | 14 ++-- 5 files changed, 122 insertions(+), 36 deletions(-) diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C index e1b457edd05..3f281664211 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -86,6 +86,24 @@ Foam::mappedPatchBase::offsetModeNames_ // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // +void Foam::mappedPatchBase::calcGeometry(PstreamBuffers& pBufs) +{} + + +void Foam::mappedPatchBase::movePoints +( + PstreamBuffers& pBufs, + const pointField& p +) +{} + + +void Foam::mappedPatchBase::updateMesh(PstreamBuffers& pBufs) +{ + clearOut(); +} + + Foam::autoPtr<Foam::fileName> Foam::mappedPatchBase::readDatabase ( const dictionary& dict @@ -1569,8 +1587,9 @@ Foam::mappedPatchBase::~mappedPatchBase() void Foam::mappedPatchBase::clearOut() { mapPtr_.reset(nullptr); - surfPtr_.reset(nullptr); AMIPtr_->upToDate(false); + + //Note: no need to clear out surface since not mesh related } @@ -1674,6 +1693,67 @@ const Foam::polyPatch& Foam::mappedPatchBase::samplePolyPatch() const } +bool Foam::mappedPatchBase::upToDate() const +{ + const polyMesh& thisMesh = patch_.boundaryMesh().mesh(); + + bool thisUpToDate = thisMesh.upToDatePoints(updateMeshTime()); + bool sampleUpToDate = + ( + sameWorld() + ? sampleMesh().upToDatePoints(updateSampleMeshTime()) + : true + ); + + if (!thisUpToDate && thisMesh.moving()) + { + // Moving (but not topoChanging mesh) : do more accurate check: + // compare actual patch point position + + thisUpToDate = true; + for (const label pointi : patch_.meshPoints()) + { + const point& oldPt = thisMesh.oldPoints()[pointi]; + const point& thisPt = thisMesh.points()[pointi]; + if (mag(oldPt-thisPt) > SMALL) + { + thisUpToDate = false; + break; + } + } + Pstream::reduceAnd(thisUpToDate); + + if (thisUpToDate) + { + updateMeshTime().setUpToDate(); + } + } + + if (!sampleUpToDate && sampleMesh().moving()) + { + sampleUpToDate = true; + for (const label pointi : samplePolyPatch().meshPoints()) + { + const point& oldPt = sampleMesh().oldPoints()[pointi]; + const point& samplePt = sampleMesh().points()[pointi]; + if (mag(oldPt-samplePt) > SMALL) + { + sampleUpToDate = false; + break; + } + } + Pstream::reduceAnd(sampleUpToDate); + + if (sampleUpToDate) + { + updateSampleMeshTime().setUpToDate(); + } + } + + return (thisUpToDate && sampleUpToDate); +} + + Foam::tmp<Foam::pointField> Foam::mappedPatchBase::samplePoints ( const pointField& fc diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.H b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.H index f2a90f90917..de3715d2634 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.H +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.H @@ -301,6 +301,30 @@ protected: // Protected Member Functions + // polyPatch callbacks + + //- Initialise the calculation of the patch geometry + virtual void initGeometry(PstreamBuffers&) + {} + + //- Calculate the patch geometry + virtual void calcGeometry(PstreamBuffers&); + + //- Initialise the patches for moving points + virtual void initMovePoints(PstreamBuffers&, const pointField&) + {} + + //- Correct patches after moving points + virtual void movePoints(PstreamBuffers&, const pointField&); + + //- Initialise the update of the patch topology + virtual void initUpdateMesh(PstreamBuffers&) + {} + + //- Update of the patch topology + virtual void updateMesh(PstreamBuffers&); + + //- Add a world-world connection bool addWorldConnection(); @@ -532,7 +556,7 @@ public: //- Sample mesh upate time inline uniformDimensionedScalarField& updateMeshTime() const; - inline bool upToDate() const; + bool upToDate() const; //- Return reference to the parallel distribution map inline const mapDistribute& map() const; diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H index b2ebe51e9ff..5c267312207 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H @@ -252,25 +252,6 @@ Foam::mappedPatchBase::updateMeshTime() const } -inline bool Foam::mappedPatchBase::upToDate() const -{ - const polyMesh& thisMesh = patch_.boundaryMesh().mesh(); - - if (sameWorld()) - { - return - sampleMesh().upToDatePoints(updateSampleMeshTime()) - && thisMesh.upToDatePoints(updateMeshTime()); - } - else - { - // If not the same world we do not know what the other side is doing - // so only check our local side - return thisMesh.upToDatePoints(updateMeshTime()); - } -} - - inline const Foam::mapDistribute& Foam::mappedPatchBase::map() const { if (!upToDate()) diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPolyPatch.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPolyPatch.C index 76d7f2bb827..79ccb0a79bd 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPolyPatch.C +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPolyPatch.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -169,9 +169,7 @@ Foam::mappedPolyPatch::mappedPolyPatch // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::mappedPolyPatch::~mappedPolyPatch() -{ - mappedPatchBase::clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -179,13 +177,14 @@ Foam::mappedPolyPatch::~mappedPolyPatch() void Foam::mappedPolyPatch::initGeometry(PstreamBuffers& pBufs) { polyPatch::initGeometry(pBufs); + mappedPatchBase::initGeometry(pBufs); } void Foam::mappedPolyPatch::calcGeometry(PstreamBuffers& pBufs) { polyPatch::calcGeometry(pBufs); - mappedPatchBase::clearOut(); + mappedPatchBase::calcGeometry(pBufs); } @@ -196,6 +195,7 @@ void Foam::mappedPolyPatch::initMovePoints ) { polyPatch::initMovePoints(pBufs, p); + mappedPatchBase::initMovePoints(pBufs, p); } @@ -206,20 +206,21 @@ void Foam::mappedPolyPatch::movePoints ) { polyPatch::movePoints(pBufs, p); - mappedPatchBase::clearOut(); + mappedPatchBase::movePoints(pBufs, p); } void Foam::mappedPolyPatch::initUpdateMesh(PstreamBuffers& pBufs) { polyPatch::initUpdateMesh(pBufs); + mappedPatchBase::initUpdateMesh(pBufs); } void Foam::mappedPolyPatch::updateMesh(PstreamBuffers& pBufs) { polyPatch::updateMesh(pBufs); - mappedPatchBase::clearOut(); + mappedPatchBase::updateMesh(pBufs); } diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedWallPolyPatch.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedWallPolyPatch.C index 759e07aaa13..223bfc0aeec 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedWallPolyPatch.C +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedWallPolyPatch.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -175,9 +175,7 @@ Foam::mappedWallPolyPatch::mappedWallPolyPatch // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::mappedWallPolyPatch::~mappedWallPolyPatch() -{ - mappedPatchBase::clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -191,7 +189,7 @@ void Foam::mappedWallPolyPatch::initGeometry(PstreamBuffers& pBufs) void Foam::mappedWallPolyPatch::calcGeometry(PstreamBuffers& pBufs) { wallPolyPatch::calcGeometry(pBufs); - mappedPatchBase::clearOut(); + mappedPatchBase::calcGeometry(pBufs); } @@ -202,6 +200,7 @@ void Foam::mappedWallPolyPatch::initMovePoints ) { wallPolyPatch::initMovePoints(pBufs, p); + mappedPatchBase::initMovePoints(pBufs, p); } @@ -212,20 +211,21 @@ void Foam::mappedWallPolyPatch::movePoints ) { wallPolyPatch::movePoints(pBufs, p); - mappedPatchBase::clearOut(); + mappedPatchBase::movePoints(pBufs, p); } void Foam::mappedWallPolyPatch::initUpdateMesh(PstreamBuffers& pBufs) { wallPolyPatch::initUpdateMesh(pBufs); + mappedPatchBase::initUpdateMesh(pBufs); } void Foam::mappedWallPolyPatch::updateMesh(PstreamBuffers& pBufs) { wallPolyPatch::updateMesh(pBufs); - mappedPatchBase::clearOut(); + mappedPatchBase::updateMesh(pBufs); } -- GitLab From a889e5eba64ed519ccf120eeedd53103b5e80bc9 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 22 Jan 2024 10:20:32 +0000 Subject: [PATCH 023/231] STYLE: mappedPatchBase: abstract common code --- .../mappedPolyPatch/mappedPatchBase.C | 79 +++++++++---------- .../mappedPolyPatch/mappedPatchBase.H | 6 +- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C index 3f281664211..f66d7eb1d44 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C @@ -86,18 +86,6 @@ Foam::mappedPatchBase::offsetModeNames_ // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::mappedPatchBase::calcGeometry(PstreamBuffers& pBufs) -{} - - -void Foam::mappedPatchBase::movePoints -( - PstreamBuffers& pBufs, - const pointField& p -) -{} - - void Foam::mappedPatchBase::updateMesh(PstreamBuffers& pBufs) { clearOut(); @@ -1705,49 +1693,58 @@ bool Foam::mappedPatchBase::upToDate() const : true ); - if (!thisUpToDate && thisMesh.moving()) + + // Lambda to check for points on the patch being the same + auto checkPointMovement = [] + ( + const polyMesh& mesh, + const polyPatch& patch, + regIOobject& state + ) -> bool { - // Moving (but not topoChanging mesh) : do more accurate check: - // compare actual patch point position + bool upToDate = true; + const auto& oldPoints = mesh.oldPoints(); + const auto& points = mesh.points(); - thisUpToDate = true; - for (const label pointi : patch_.meshPoints()) + for (const label pointi : patch.meshPoints()) { - const point& oldPt = thisMesh.oldPoints()[pointi]; - const point& thisPt = thisMesh.points()[pointi]; - if (mag(oldPt-thisPt) > SMALL) + const point& oldPt = oldPoints[pointi]; + const point& currentPt = points[pointi]; + + if (mag(oldPt - currentPt) > SMALL) { - thisUpToDate = false; + upToDate = false; break; } } - Pstream::reduceAnd(thisUpToDate); - if (thisUpToDate) + Pstream::reduceAnd(upToDate); + + if (upToDate) { - updateMeshTime().setUpToDate(); + state.setUpToDate(); } + + return upToDate; + }; + + + if (!thisUpToDate && thisMesh.moving()) + { + // Moving (but not topoChanging mesh) : do more accurate check: + // compare actual patch point position + + thisUpToDate = checkPointMovement(thisMesh, patch_, updateMeshTime()); } if (!sampleUpToDate && sampleMesh().moving()) { - sampleUpToDate = true; - for (const label pointi : samplePolyPatch().meshPoints()) - { - const point& oldPt = sampleMesh().oldPoints()[pointi]; - const point& samplePt = sampleMesh().points()[pointi]; - if (mag(oldPt-samplePt) > SMALL) - { - sampleUpToDate = false; - break; - } - } - Pstream::reduceAnd(sampleUpToDate); - - if (sampleUpToDate) - { - updateSampleMeshTime().setUpToDate(); - } + sampleUpToDate = checkPointMovement + ( + sampleMesh(), + samplePolyPatch(), + updateSampleMeshTime() + ); } return (thisUpToDate && sampleUpToDate); diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.H b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.H index de3715d2634..b0d0d1fcab7 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.H +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.H @@ -308,14 +308,16 @@ protected: {} //- Calculate the patch geometry - virtual void calcGeometry(PstreamBuffers&); + virtual void calcGeometry(PstreamBuffers&) + {} //- Initialise the patches for moving points virtual void initMovePoints(PstreamBuffers&, const pointField&) {} //- Correct patches after moving points - virtual void movePoints(PstreamBuffers&, const pointField&); + virtual void movePoints(PstreamBuffers&, const pointField&) + {} //- Initialise the update of the patch topology virtual void initUpdateMesh(PstreamBuffers&) -- GitLab From 0ae3da8560d338df38ef699be264016bcdab453b Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 24 Jan 2024 19:18:17 +0100 Subject: [PATCH 024/231] COMP: using incomplete class edgeMesh --- .../basic/calculated/calculatedFaePatchFields.C | 15 +++++---------- .../basic/coupled/coupledFaePatchFields.C | 9 ++++----- .../basic/fixedValue/fixedValueFaePatchFields.C | 15 +++++---------- .../basic/sliced/slicedFaePatchFields.C | 3 ++- .../constraint/cyclic/cyclicFaePatchFields.C | 13 ++++--------- .../constraint/empty/emptyFaePatchFields.C | 15 +++++---------- .../processor/processorFaePatchFields.C | 13 ++++--------- .../constraint/symmetry/symmetryFaePatchFields.C | 13 ++++--------- .../constraint/wedge/wedgeFaePatchFields.C | 13 ++++--------- .../genericFaePatchField/genericFaePatchFields.C | 3 ++- 10 files changed, 39 insertions(+), 73 deletions(-) diff --git a/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchFields.C b/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchFields.C index f30f4c2c7a3..db80c8089e6 100644 --- a/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/basic/calculated/calculatedFaePatchFields.C @@ -25,21 +25,16 @@ License \*---------------------------------------------------------------------------*/ -#include "faePatchFields.H" #include "calculatedFaePatchFields.H" +#include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makeFaePatchFields(calculated); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam + makeFaePatchFields(calculated); +} // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/basic/coupled/coupledFaePatchFields.C b/src/finiteArea/fields/faePatchFields/basic/coupled/coupledFaePatchFields.C index 336c5e3910c..e4f608e77b7 100644 --- a/src/finiteArea/fields/faePatchFields/basic/coupled/coupledFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/basic/coupled/coupledFaePatchFields.C @@ -25,17 +25,16 @@ License \*---------------------------------------------------------------------------*/ -#include "faePatchFields.H" #include "coupledFaePatchFields.H" +#include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - -makeFaePatchFieldsTypeName(coupled); - -} // End namespace Foam + makeFaePatchFieldsTypeName(coupled); +} // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/basic/fixedValue/fixedValueFaePatchFields.C b/src/finiteArea/fields/faePatchFields/basic/fixedValue/fixedValueFaePatchFields.C index 25de776cde0..9a314ad5b8f 100644 --- a/src/finiteArea/fields/faePatchFields/basic/fixedValue/fixedValueFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/basic/fixedValue/fixedValueFaePatchFields.C @@ -25,21 +25,16 @@ License \*---------------------------------------------------------------------------*/ -#include "faePatchFields.H" #include "fixedValueFaePatchFields.H" +#include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makeFaePatchFields(fixedValue); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam + makeFaePatchFields(fixedValue); +} // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchFields.C b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchFields.C index d576a082d32..ed8e890046c 100644 --- a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchFields.C @@ -26,8 +26,9 @@ License \*---------------------------------------------------------------------------*/ #include "slicedFaePatchFields.H" -#include "addToRunTimeSelectionTable.H" #include "faePatchFields.H" +#include "edgeFaMesh.H" +#include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchFields.C b/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchFields.C index cc8e3a7dbf4..731f9e7fa2d 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchFields.C @@ -27,19 +27,14 @@ License #include "cyclicFaePatchFields.H" #include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makeFaePatchFields(cyclic); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam + makeFaePatchFields(cyclic); +} // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchFields.C b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchFields.C index a07507722d4..b2085e0bd4b 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchFields.C @@ -25,21 +25,16 @@ License \*---------------------------------------------------------------------------*/ -#include "faePatchFields.H" #include "emptyFaePatchFields.H" +#include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makeFaePatchFields(empty); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam + makeFaePatchFields(empty); +} // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/constraint/processor/processorFaePatchFields.C b/src/finiteArea/fields/faePatchFields/constraint/processor/processorFaePatchFields.C index 60e6ac337e7..d50cb717b5e 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/processor/processorFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/constraint/processor/processorFaePatchFields.C @@ -27,19 +27,14 @@ License #include "processorFaePatchFields.H" #include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makeFaePatchFields(processor); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam + makeFaePatchFields(processor); +} // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/constraint/symmetry/symmetryFaePatchFields.C b/src/finiteArea/fields/faePatchFields/constraint/symmetry/symmetryFaePatchFields.C index b45e2b67eed..922cf96c727 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/symmetry/symmetryFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/constraint/symmetry/symmetryFaePatchFields.C @@ -27,19 +27,14 @@ License #include "symmetryFaePatchFields.H" #include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makeFaePatchFields(symmetry); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam + makeFaePatchFields(symmetry); +} // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/constraint/wedge/wedgeFaePatchFields.C b/src/finiteArea/fields/faePatchFields/constraint/wedge/wedgeFaePatchFields.C index 7dec3700b1c..db9869f5360 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/wedge/wedgeFaePatchFields.C +++ b/src/finiteArea/fields/faePatchFields/constraint/wedge/wedgeFaePatchFields.C @@ -27,19 +27,14 @@ License #include "wedgeFaePatchFields.H" #include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Member * * * * * * * * * * * * * // namespace Foam { - -// * * * * * * * * * * * * * * Static Data Member * * * * * * * * * * * * * // - -makeFaePatchFields(wedge); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam + makeFaePatchFields(wedge); +} // ************************************************************************* // diff --git a/src/genericPatchFields/genericFaePatchField/genericFaePatchFields.C b/src/genericPatchFields/genericFaePatchField/genericFaePatchFields.C index 66f5fbc9b13..6948e084026 100644 --- a/src/genericPatchFields/genericFaePatchField/genericFaePatchFields.C +++ b/src/genericPatchFields/genericFaePatchField/genericFaePatchFields.C @@ -26,8 +26,9 @@ License \*---------------------------------------------------------------------------*/ #include "genericFaePatchFields.H" +#include "faePatchFields.H" +#include "edgeFaMesh.H" #include "addToRunTimeSelectionTable.H" -#include "edgeFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -- GitLab From 312c7a1c32d8ddb17bdf9d82e077096ad9507d0c Mon Sep 17 00:00:00 2001 From: Vaggelis Papoutsis <vaggelisp@gmail.com> Date: Wed, 24 Jan 2024 14:39:20 +0200 Subject: [PATCH 025/231] FIX: replaced temp internalField with DimensionedField::null (fixes #3082) --- .../adjointOptimisation/adjoint/global/boundaryFieldsFwd.H | 6 +++--- .../adjointOptimisation/adjoint/global/createZeroField.H | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/optimisation/adjointOptimisation/adjoint/global/boundaryFieldsFwd.H b/src/optimisation/adjointOptimisation/adjoint/global/boundaryFieldsFwd.H index 4a4292e4e18..0b1feeb72fc 100644 --- a/src/optimisation/adjointOptimisation/adjoint/global/boundaryFieldsFwd.H +++ b/src/optimisation/adjointOptimisation/adjoint/global/boundaryFieldsFwd.H @@ -50,13 +50,13 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//volFields +//- volFields typedef typename volScalarField::Boundary boundaryScalarField; typedef typename volVectorField::Boundary boundaryVectorField; typedef typename volTensorField::Boundary boundaryTensorField; -//pointFields - actually a plain list of fields with dimension equal to the -// number of points per patch +//- pointFields - actually a plain list of fields with dimension equal to the +//- number of points per patch typedef List<Field<scalar>> pointBoundaryScalarField; typedef List<Field<vector>> pointBoundaryVectorField; typedef List<Field<tensor>> pointBoundaryTensorField; diff --git a/src/optimisation/adjointOptimisation/adjoint/global/createZeroField.H b/src/optimisation/adjointOptimisation/adjoint/global/createZeroField.H index 93035d286f4..8f9d7734563 100644 --- a/src/optimisation/adjointOptimisation/adjoint/global/createZeroField.H +++ b/src/optimisation/adjointOptimisation/adjoint/global/createZeroField.H @@ -89,7 +89,7 @@ createZeroBoundaryPtr Boundary; // Make sure that the patchFields to be generated will be of type - // calculated, even if they are of constraint type + // calculated, even if they are of constraint type. // Necessary to avoid unexpected behaviour when computing sensitivities // on symmetry patches (not a good practice either way) const fvBoundaryMesh& bm = mesh.boundary(); @@ -113,7 +113,7 @@ createZeroBoundaryPtr new Boundary ( mesh.boundary(), - mesh.V()*pTraits<Type>::zero, // Dummy internal field, + DimensionedField<Type, volMesh>::null(), wordList(bm.size(), fvPatchFieldBase::calculatedType()), actualPatchTypes ) -- GitLab From 182afc27bafd634bb3a06a71772fc53042c148da Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 25 Jan 2024 10:02:52 +0100 Subject: [PATCH 026/231] STYLE: noexcept for nullObject functions STYLE: use nullObject for return values of NotImplemented STYLE: shallowCopy(nullptr) shortcut --- .../twoPhaseMixtureThermo.H | 8 ++-- .../multiphaseMixtureThermo.H | 8 ++-- .../twoPhaseMixtureEThermo.H | 8 ++-- .../test/nullObject/Test-nullObject.C | 22 +++++------ src/OpenFOAM/containers/Bits/bitSet/bitSet.H | 7 +++- src/OpenFOAM/containers/Bits/bitSet/bitSetI.H | 6 --- .../CompactListList/CompactListList.H | 7 +++- .../CompactListList/CompactListListI.H | 9 ----- .../containers/Lists/FixedList/FixedList.H | 11 ++++-- .../containers/Lists/FixedList/FixedListI.H | 9 ----- src/OpenFOAM/containers/Lists/List/List.H | 8 +++- src/OpenFOAM/containers/Lists/List/ListI.H | 7 ---- src/OpenFOAM/containers/Lists/List/SubList.H | 8 +++- src/OpenFOAM/containers/Lists/List/SubListI.H | 11 +----- src/OpenFOAM/containers/Lists/List/UList.H | 11 +++++- src/OpenFOAM/containers/Lists/List/UListI.H | 15 ++++---- .../containers/Lists/ListOps/ListOps.C | 2 +- .../Lists/ListOps/ListOpsTemplates.C | 2 +- .../Function1/Function1Expression.C | 2 +- .../DimensionedField/DimensionedField.H | 7 +++- .../DimensionedField/DimensionedFieldI.H | 8 ---- .../DimensionedField/SlicedDimensionedField.H | 2 +- .../fields/Fields/DynamicField/DynamicField.H | 4 +- src/OpenFOAM/fields/Fields/Field/Field.H | 8 +++- src/OpenFOAM/fields/Fields/Field/FieldI.H | 9 ----- src/OpenFOAM/fields/Fields/Field/SubField.H | 8 +++- src/OpenFOAM/fields/Fields/Field/SubFieldI.H | 9 ----- .../GeometricField/GeometricField.H | 7 +++- .../GeometricField/GeometricFieldI.H | 8 ---- .../SlicedGeometricField.C | 2 +- src/OpenFOAM/matrices/Matrix/Matrix.H | 8 +++- src/OpenFOAM/matrices/Matrix/MatrixI.H | 7 ---- .../processorCyclicGAMGInterfaceField.H | 2 +- src/OpenFOAM/meshes/lduMesh/lduMesh.C | 3 +- .../primitives/nullObject/nullObject.H | 37 ++++++++++++++----- .../primitives/strings/wordRes/wordRes.H | 8 +++- .../primitives/strings/wordRes/wordResI.H | 6 --- src/fileFormats/ensight/file/ensightFile.H | 2 +- src/fileFormats/ensight/file/ensightGeoFile.H | 2 +- .../basic/sliced/slicedFaPatchField.C | 2 +- .../basic/sliced/slicedFaePatchField.C | 2 +- .../basic/sliced/slicedFvPatchField.C | 2 +- .../basic/sliced/slicedFvsPatchField.C | 2 +- .../ddtSchemes/ddtScheme/ddtScheme.C | 21 ++--------- .../fvMatrices/fvMatrix/fvMatrix.C | 12 +++--- src/mesh/blockMesh/PDRblockMesh/PDRblock.C | 6 --- src/mesh/blockMesh/PDRblockMesh/PDRblock.H | 7 +++- .../boundaryAdjointContribution.C | 2 +- .../calculatedProcessorGAMGInterfaceField.H | 2 +- .../oversetGAMGInterfaceField.H | 2 +- .../multiphaseInterSystem.H | 2 +- .../PurePhaseModel/PurePhaseModel.C | 2 +- .../basicSolidChemistryModel.C | 18 ++------- .../reaction/Reactions/Reaction/Reaction.C | 4 +- 54 files changed, 170 insertions(+), 224 deletions(-) diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H index c712e5a47fe..9209cc41d27 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H @@ -135,14 +135,14 @@ public: virtual volScalarField& he() { NotImplemented; - return thermo1_->he(); + return const_cast<volScalarField&>(volScalarField::null()); } //- Enthalpy/Internal energy [J/kg] virtual const volScalarField& he() const { NotImplemented; - return thermo1_->he(); + return volScalarField::null(); } //- Enthalpy/Internal energy @@ -213,7 +213,7 @@ public: ) const { NotImplemented; - return tmp<scalarField>::New(p); + return nullptr; } //- Heat capacity at constant volume [J/kg/K] @@ -236,7 +236,7 @@ public: ) const { NotImplemented; - return tmp<scalarField>::New(p); + return nullptr; } //- Gamma = Cp/Cv [] diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H index 472bd285aaa..c5e90dada57 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H @@ -243,14 +243,14 @@ public: virtual volScalarField& he() { NotImplemented; - return phases_[0].thermo().he(); + return const_cast<volScalarField&>(volScalarField::null()); } //- Enthalpy/Internal energy [J/kg] virtual const volScalarField& he() const { NotImplemented; - return phases_[0].thermo().he(); + return volScalarField::null(); } //- Enthalpy/Internal energy @@ -327,7 +327,7 @@ public: ) const { NotImplemented; - return tmp<scalarField>::New(p); + return nullptr; } //- Heat capacity at constant volume [J/kg/K] @@ -350,7 +350,7 @@ public: ) const { NotImplemented; - return tmp<scalarField>::New(p); + return nullptr; } //- Gamma = Cp/Cv [] diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H index cedad45329b..ab5b58febe3 100644 --- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H +++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H @@ -86,14 +86,14 @@ public: virtual volScalarField& he() { NotImplemented; - return p(); + return const_cast<volScalarField&>(volScalarField::null()); } //- Return access to the internal energy field [J/Kg] virtual const volScalarField& he() const { NotImplemented; - return p(); + return volScalarField::null(); } //- Enthalpy/Internal energy @@ -182,7 +182,7 @@ public: ) const { NotImplemented; - return tmp<scalarField>::New(p); + return nullptr; } //- Return Cv of the mixture @@ -205,7 +205,7 @@ public: ) const { NotImplemented; - return tmp<scalarField>::New(p); + return nullptr; } //- Gamma = Cp/Cv [] diff --git a/applications/test/nullObject/Test-nullObject.C b/applications/test/nullObject/Test-nullObject.C index 5c86e4e5005..0f7cd10dad0 100644 --- a/applications/test/nullObject/Test-nullObject.C +++ b/applications/test/nullObject/Test-nullObject.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014 OpenFOAM Foundation - Copyright (C) 2019-2020 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,7 +48,7 @@ class SimpleClass public: //- Default construct - SimpleClass() {} + SimpleClass() = default; }; @@ -73,9 +73,8 @@ void printInfo(const UList<T>& list) int main() { // Test pointer and reference to a class - - SimpleClass* ptrToClass = new SimpleClass; - SimpleClass& refToClass(*ptrToClass); + auto ptrToClass = autoPtr<SimpleClass>::New(); + auto& refToClass = ptrToClass.ref(); std::cout << "nullObject addr=" << name(&(nullObjectPtr)) << nl @@ -89,13 +88,13 @@ int main() << " pointer:" << name(nullObjectPtr->pointer()) << nl << " value:" << nullObjectPtr->value() << nl << nl; - if (notNull(ptrToClass)) + if (notNull(ptrToClass.get())) { Info<< "Pass: ptrToClass is not null" << nl; } else { - Info<< "FAIL: refToClass is null" << nl; + Info<< "FAIL: ptrToClass is null" << nl; } if (notNull(refToClass)) @@ -110,8 +109,8 @@ int main() // Test pointer and reference to the nullObject - const SimpleClass* ptrToNull(NullObjectPtr<SimpleClass>()); - const SimpleClass& refToNull(*ptrToNull); + const SimpleClass* ptrToNull = NullObjectPtr<SimpleClass>(); + const SimpleClass& refToNull = (*ptrToNull); if (isNull(ptrToNull)) { @@ -131,9 +130,6 @@ int main() Info<< "FAIL: refToNull is not null" << nl; } - // Clean-up - delete ptrToClass; - // Test List casting { @@ -152,7 +148,7 @@ int main() // Looks pretty ugly though! NullObject::nullObject = "hello world"; - NullObject::nullObject = labelList({1, 2, 3}); + NullObject::nullObject = Foam::identity(5); Info<< nl; diff --git a/src/OpenFOAM/containers/Bits/bitSet/bitSet.H b/src/OpenFOAM/containers/Bits/bitSet/bitSet.H index 31d08d570fc..b1e4c7fdd48 100644 --- a/src/OpenFOAM/containers/Bits/bitSet/bitSet.H +++ b/src/OpenFOAM/containers/Bits/bitSet/bitSet.H @@ -120,8 +120,11 @@ public: // Static Member Functions - //- Return a null bitSet reference - inline static const bitSet& null(); + //- Return a null bitSet (reference to a nullObject). + static const bitSet& null() noexcept + { + return NullObjectRef<bitSet>(); + } //- Declare type-name (with debug switch) diff --git a/src/OpenFOAM/containers/Bits/bitSet/bitSetI.H b/src/OpenFOAM/containers/Bits/bitSet/bitSetI.H index 7e9eed87394..f035d0c99fc 100644 --- a/src/OpenFOAM/containers/Bits/bitSet/bitSetI.H +++ b/src/OpenFOAM/containers/Bits/bitSet/bitSetI.H @@ -405,12 +405,6 @@ inline Foam::label Foam::bitSet::find_next(label pos) const // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -inline const Foam::bitSet& Foam::bitSet::null() -{ - return NullObjectRef<bitSet>(); -} - - inline bool Foam::bitSet::all() const { if (empty()) return true; // SIC. boost convention diff --git a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.H b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.H index 34011791162..7935b876a24 100644 --- a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.H +++ b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.H @@ -138,8 +138,11 @@ public: // Static Member Functions - //- Return a CompactListList reference to a nullObject - inline static const CompactListList<T>& null(); + //- Return a null CompactListList (reference to a nullObject). + static const CompactListList<T>& null() noexcept + { + return NullObjectRef<CompactListList<T>>(); + } //- Construct by packing together the list of lists template<class SubListType = List<T>> diff --git a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H index f5a17ba86d5..5e5209fcb95 100644 --- a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H +++ b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H @@ -29,15 +29,6 @@ License #include "ListOps.H" #include "SubList.H" -// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // - -template<class T> -inline const Foam::CompactListList<T>& Foam::CompactListList<T>::null() -{ - return NullObjectRef<CompactListList<T>>(); -} - - // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template<class T> diff --git a/src/OpenFOAM/containers/Lists/FixedList/FixedList.H b/src/OpenFOAM/containers/Lists/FixedList/FixedList.H index 59e1188bee9..1c1f8c8476a 100644 --- a/src/OpenFOAM/containers/Lists/FixedList/FixedList.H +++ b/src/OpenFOAM/containers/Lists/FixedList/FixedList.H @@ -46,9 +46,10 @@ SourceFiles #include "zero.H" #include "contiguous.H" #include "stdFoam.H" -#include "autoPtr.H" +#include "nullObject.H" #include "Hash.H" #include "ListPolicy.H" +#include "autoPtr.H" // <algorithm> already included by stdFoam.H #include <iterator> @@ -139,8 +140,12 @@ public: // Static Functions - //- Return a null FixedList - inline static const FixedList<T, N>& null(); + //- Return a null FixedList (reference to a nullObject). + //- Read/write access is questionable + static const FixedList<T, N>& null() noexcept + { + return NullObjectRef<FixedList<T, N>>(); + } // Constructors diff --git a/src/OpenFOAM/containers/Lists/FixedList/FixedListI.H b/src/OpenFOAM/containers/Lists/FixedList/FixedListI.H index 4bef6f07b30..7d590c37994 100644 --- a/src/OpenFOAM/containers/Lists/FixedList/FixedListI.H +++ b/src/OpenFOAM/containers/Lists/FixedList/FixedListI.H @@ -28,15 +28,6 @@ License #include "UList.H" -// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // - -template<class T, unsigned N> -inline const Foam::FixedList<T, N>& Foam::FixedList<T, N>::null() -{ - return NullObjectRef<FixedList<T, N>>(); -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class T, unsigned N> diff --git a/src/OpenFOAM/containers/Lists/List/List.H b/src/OpenFOAM/containers/Lists/List/List.H index 65caab9fd8b..87b9bf9019b 100644 --- a/src/OpenFOAM/containers/Lists/List/List.H +++ b/src/OpenFOAM/containers/Lists/List/List.H @@ -129,8 +129,12 @@ public: // Static Member Functions - //- Return a null List - inline static const List<T>& null(); + //- Return a null List (reference to a nullObject). + //- Behaves like an empty List. + static const List<T>& null() noexcept + { + return NullObjectRef<List<T>>(); + } // Constructors diff --git a/src/OpenFOAM/containers/Lists/List/ListI.H b/src/OpenFOAM/containers/Lists/List/ListI.H index 6bab28191b2..5bac2f0ee4b 100644 --- a/src/OpenFOAM/containers/Lists/List/ListI.H +++ b/src/OpenFOAM/containers/Lists/List/ListI.H @@ -133,13 +133,6 @@ inline Foam::autoPtr<Foam::List<T>> Foam::List<T>::clone() const // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class T> -inline const Foam::List<T>& Foam::List<T>::null() -{ - return NullObjectRef<List<T>>(); -} - - template<class T> inline void Foam::List<T>::clear() { diff --git a/src/OpenFOAM/containers/Lists/List/SubList.H b/src/OpenFOAM/containers/Lists/List/SubList.H index e34f27fcd09..42f2a1dcd64 100644 --- a/src/OpenFOAM/containers/Lists/List/SubList.H +++ b/src/OpenFOAM/containers/Lists/List/SubList.H @@ -73,8 +73,12 @@ public: // Static Functions - //- Return a null SubList - inline static const SubList<T>& null(); + //- Return a null SubList (reference to a nullObject). + //- Behaves like an empty SubList. + static const SubList<T>& null() noexcept + { + return NullObjectRef<SubList<T>>(); + } // Generated Methods diff --git a/src/OpenFOAM/containers/Lists/List/SubListI.H b/src/OpenFOAM/containers/Lists/List/SubListI.H index 3b15f4c9e13..f18c31646bb 100644 --- a/src/OpenFOAM/containers/Lists/List/SubListI.H +++ b/src/OpenFOAM/containers/Lists/List/SubListI.H @@ -28,15 +28,6 @@ License #include "FixedList.H" -// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // - -template<class T> -inline const Foam::SubList<T>& Foam::SubList<T>::null() -{ - return NullObjectRef<SubList<T>>(); -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class T> @@ -124,7 +115,7 @@ inline Foam::SubList<T>::SubList template<class T> inline Foam::UList<T>& Foam::SubList<T>::reset(std::nullptr_t) noexcept { - UList<T>::shallowCopy(nullptr, 0); + UList<T>::shallowCopy(nullptr); return *this; } diff --git a/src/OpenFOAM/containers/Lists/List/UList.H b/src/OpenFOAM/containers/Lists/List/UList.H index 252ec61cc34..ceb50199c5a 100644 --- a/src/OpenFOAM/containers/Lists/List/UList.H +++ b/src/OpenFOAM/containers/Lists/List/UList.H @@ -183,8 +183,12 @@ public: // Static Functions - //- Return a UList reference to a nullObject - inline static const UList<T>& null(); + //- Return a null UList (reference to a nullObject). + //- Behaves like an empty UList. + static const UList<T>& null() noexcept + { + return NullObjectRef<UList<T>>(); + } // Public Classes @@ -367,6 +371,9 @@ public: //- Copy the pointer and size inline void shallowCopy(T* __restrict__ ptr, const label len) noexcept; + //- Copy nullptr and zero size + inline void shallowCopy(std::nullptr_t) noexcept; + //- Copy the pointer and size held by the given UList inline void shallowCopy(const UList<T>& list) noexcept; diff --git a/src/OpenFOAM/containers/Lists/List/UListI.H b/src/OpenFOAM/containers/Lists/List/UListI.H index b143475599a..74cd4c3bbe0 100644 --- a/src/OpenFOAM/containers/Lists/List/UListI.H +++ b/src/OpenFOAM/containers/Lists/List/UListI.H @@ -93,13 +93,6 @@ inline void Foam::UList<T>::fill_uniform(const Foam::zero) // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class T> -inline const Foam::UList<T>& Foam::UList<T>::null() -{ - return NullObjectRef<UList<T>>(); -} - - template<class T> inline Foam::label Foam::UList<T>::fcIndex(const label i) const noexcept { @@ -330,6 +323,14 @@ inline void Foam::UList<T>::shallowCopy } +template<class T> +inline void Foam::UList<T>::shallowCopy(std::nullptr_t) noexcept +{ + size_ = 0; + v_ = nullptr; +} + + template<class T> inline void Foam::UList<T>::shallowCopy(const UList<T>& list) noexcept { diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOps.C b/src/OpenFOAM/containers/Lists/ListOps/ListOps.C index 9e4dbd83b7d..dd73a696863 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOps.C +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOps.C @@ -116,7 +116,7 @@ Foam::labelListList Foam::invertOneToMany const labelUList& map ) { - labelList sizes(len, Zero); + labelList sizes(len, Foam::zero{}); for (const label newIdx : map) { diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C index 4c70358920e..e1914040e3e 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C @@ -707,7 +707,7 @@ void Foam::invertManyToMany ) { // The output list sizes - labelList sizes(len, Zero); + labelList sizes(len, Foam::zero{}); for (const InputIntListType& sublist : input) { diff --git a/src/OpenFOAM/expressions/Function1/Function1Expression.C b/src/OpenFOAM/expressions/Function1/Function1Expression.C index dd45c913e74..532344efa86 100644 --- a/src/OpenFOAM/expressions/Function1/Function1Expression.C +++ b/src/OpenFOAM/expressions/Function1/Function1Expression.C @@ -115,7 +115,7 @@ Type Foam::Function1Types::Function1Expression<Type>::integrate ) const { NotImplemented; - return Zero; + return Type(); } diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H index c193f7e1766..e7b4d21c6f1 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H @@ -137,8 +137,11 @@ public: // Static Member Functions - //- Return a NullObjectRef DimensionedField - inline static const DimensionedField<Type, GeoMesh>& null(); + //- Return a null DimensionedField (reference to a nullObject). + static const DimensionedField<Type, GeoMesh>& null() noexcept + { + return NullObjectRef<DimensionedField<Type, GeoMesh>>(); + } // Constructors diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldI.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldI.H index 5f898c1e6b1..3391dc32f46 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldI.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldI.H @@ -28,14 +28,6 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class Type, class GeoMesh> -inline const Foam::DimensionedField<Type, GeoMesh>& -Foam::DimensionedField<Type, GeoMesh>::null() -{ - return NullObjectRef<DimensionedField<Type, GeoMesh>>(); -} - - template<class Type, class GeoMesh> inline const typename GeoMesh::Mesh& Foam::DimensionedField<Type, GeoMesh>::mesh() const noexcept diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/SlicedDimensionedField.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/SlicedDimensionedField.H index 9f6df361ac9..de0eb8a6ccb 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/SlicedDimensionedField.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/SlicedDimensionedField.H @@ -85,7 +85,7 @@ public: ~SlicedDimensionedField() { // Set internalField to nullptr to avoid deletion of underlying field - UList<Type>::shallowCopy(UList<Type>()); + UList<Type>::shallowCopy(nullptr); } }; diff --git a/src/OpenFOAM/fields/Fields/DynamicField/DynamicField.H b/src/OpenFOAM/fields/Fields/DynamicField/DynamicField.H index 7debed435ba..602e6f1cce0 100644 --- a/src/OpenFOAM/fields/Fields/DynamicField/DynamicField.H +++ b/src/OpenFOAM/fields/Fields/DynamicField/DynamicField.H @@ -97,8 +97,8 @@ public: // Static Member Functions - //- Return a null field - inline static const DynamicField<T, SizeMin>& null() + //- Return a null DynamicField (reference to a nullObject). + static const DynamicField<T, SizeMin>& null() noexcept { return NullObjectRef<DynamicField<T, SizeMin>>(); } diff --git a/src/OpenFOAM/fields/Fields/Field/Field.H b/src/OpenFOAM/fields/Fields/Field/Field.H index 9a2d17c7a44..fb7851edc6d 100644 --- a/src/OpenFOAM/fields/Fields/Field/Field.H +++ b/src/OpenFOAM/fields/Fields/Field/Field.H @@ -122,8 +122,12 @@ public: // Static Member Functions - //- Return nullObject reference Field - inline static const Field<Type>& null(); + //- Return a null Field (reference to a nullObject). + //- Behaves like an empty Field. + static const Field<Type>& null() noexcept + { + return NullObjectRef<Field<Type>>(); + } // Constructors diff --git a/src/OpenFOAM/fields/Fields/Field/FieldI.H b/src/OpenFOAM/fields/Fields/Field/FieldI.H index a5c37b841b0..4c34df88b14 100644 --- a/src/OpenFOAM/fields/Fields/Field/FieldI.H +++ b/src/OpenFOAM/fields/Fields/Field/FieldI.H @@ -25,15 +25,6 @@ License \*---------------------------------------------------------------------------*/ -// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // - -template<class Type> -inline const Foam::Field<Type>& Foam::Field<Type>::null() -{ - return NullObjectRef<Field<Type>>(); -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class Type> diff --git a/src/OpenFOAM/fields/Fields/Field/SubField.H b/src/OpenFOAM/fields/Fields/Field/SubField.H index 48cc8530ffa..15e09522a71 100644 --- a/src/OpenFOAM/fields/Fields/Field/SubField.H +++ b/src/OpenFOAM/fields/Fields/Field/SubField.H @@ -69,8 +69,12 @@ public: // Static Member Functions - //- Return nullObject reference SubField - inline static const SubField<Type>& null(); + //- Return a null SubField (reference to a nullObject). + //- Behaves like an empty SubField. + static const SubField<Type>& null() noexcept + { + return NullObjectRef<SubField<Type>>(); + } // Constructors diff --git a/src/OpenFOAM/fields/Fields/Field/SubFieldI.H b/src/OpenFOAM/fields/Fields/Field/SubFieldI.H index 738096e0396..235f981da7e 100644 --- a/src/OpenFOAM/fields/Fields/Field/SubFieldI.H +++ b/src/OpenFOAM/fields/Fields/Field/SubFieldI.H @@ -26,15 +26,6 @@ License \*---------------------------------------------------------------------------*/ -// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // - -template<class Type> -inline const Foam::SubField<Type>& Foam::SubField<Type>::null() -{ - return NullObjectRef<SubField<Type>>(); -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class Type> diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H index 8c66779bf2f..427009b2455 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H @@ -154,8 +154,11 @@ public: // Static Member Functions - //- Return a null geometric field - inline static const GeometricField<Type, PatchField, GeoMesh>& null(); + //- Return a null GeometricField (reference to a nullObject). + static const GeometricField<Type, PatchField, GeoMesh>& null() noexcept + { + return NullObjectRef<GeometricField<Type, PatchField, GeoMesh>>(); + } // Constructors diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldI.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldI.H index 90b57d17a4a..0f3083ae48b 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldI.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldI.H @@ -28,14 +28,6 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class Type, template<class> class PatchField, class GeoMesh> -inline const Foam::GeometricField<Type, PatchField, GeoMesh>& -Foam::GeometricField<Type, PatchField, GeoMesh>::null() -{ - return NullObjectRef<GeometricField<Type, PatchField, GeoMesh>>(); -} - - template<class Type, template<class> class PatchField, class GeoMesh> inline const typename Foam::GeometricField<Type, PatchField, GeoMesh>::Internal& diff --git a/src/OpenFOAM/fields/GeometricFields/SlicedGeometricField/SlicedGeometricField.C b/src/OpenFOAM/fields/GeometricFields/SlicedGeometricField/SlicedGeometricField.C index 2b378137fd4..f77ccd0bfab 100644 --- a/src/OpenFOAM/fields/GeometricFields/SlicedGeometricField/SlicedGeometricField.C +++ b/src/OpenFOAM/fields/GeometricFields/SlicedGeometricField/SlicedGeometricField.C @@ -368,7 +368,7 @@ Foam::SlicedGeometricField<Type, PatchField, SlicedPatchField, GeoMesh>:: ~SlicedGeometricField() { // Set internalField to nullptr to avoid deletion of underlying field - UList<Type>::shallowCopy(UList<Type>()); + UList<Type>::shallowCopy(nullptr); } diff --git a/src/OpenFOAM/matrices/Matrix/Matrix.H b/src/OpenFOAM/matrices/Matrix/Matrix.H index 7bff0b2a773..cdfa892253b 100644 --- a/src/OpenFOAM/matrices/Matrix/Matrix.H +++ b/src/OpenFOAM/matrices/Matrix/Matrix.H @@ -114,8 +114,12 @@ public: // Static Member Functions - //- Return a null Matrix - inline static const Matrix<Form, Type>& null(); + //- Return a null Matrix (reference to a nullObject). + //- Behaves like a empty Matrix. + static const Matrix<Form, Type>& null() noexcept + { + return NullObjectRef<Matrix<Form, Type>>(); + } // Iterators diff --git a/src/OpenFOAM/matrices/Matrix/MatrixI.H b/src/OpenFOAM/matrices/Matrix/MatrixI.H index 17f35969ccc..b1dc3b1267c 100644 --- a/src/OpenFOAM/matrices/Matrix/MatrixI.H +++ b/src/OpenFOAM/matrices/Matrix/MatrixI.H @@ -85,13 +85,6 @@ Foam::Matrix<Form, Type>::clone() const // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class Form, class Type> -inline const Foam::Matrix<Form, Type>& Foam::Matrix<Form, Type>::null() -{ - return NullObjectRef<Matrix<Form, Type>>(); -} - - template<class Form, class Type> inline Foam::label Foam::Matrix<Form, Type>::size() const { diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/processorCyclicGAMGInterfaceField/processorCyclicGAMGInterfaceField.H b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/processorCyclicGAMGInterfaceField/processorCyclicGAMGInterfaceField.H index 376631dd7d2..5096b8cfbbb 100644 --- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/processorCyclicGAMGInterfaceField/processorCyclicGAMGInterfaceField.H +++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/processorCyclicGAMGInterfaceField/processorCyclicGAMGInterfaceField.H @@ -102,7 +102,7 @@ public: ) const { NotImplemented; - return autoPtr<GAMGInterfaceField>(nullptr); + return nullptr; } diff --git a/src/OpenFOAM/meshes/lduMesh/lduMesh.C b/src/OpenFOAM/meshes/lduMesh/lduMesh.C index 16e73ddf7c1..a6c62c3811b 100644 --- a/src/OpenFOAM/meshes/lduMesh/lduMesh.C +++ b/src/OpenFOAM/meshes/lduMesh/lduMesh.C @@ -42,8 +42,7 @@ namespace Foam const Foam::objectRegistry& Foam::lduMesh::thisDb() const { NotImplemented; - const objectRegistry* orPtr_ = nullptr; - return *orPtr_; + return NullObjectRef<objectRegistry>(); } diff --git a/src/OpenFOAM/primitives/nullObject/nullObject.H b/src/OpenFOAM/primitives/nullObject/nullObject.H index 8d3793f50c9..f8d1fc269e6 100644 --- a/src/OpenFOAM/primitives/nullObject/nullObject.H +++ b/src/OpenFOAM/primitives/nullObject/nullObject.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014 OpenFOAM Foundation - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -158,7 +158,7 @@ extern const NullObject* nullObjectPtr; // IOstream Operators -//- Read from Istream consumes no content +//- Read from Istream consumes no content, does not change NullObject inline Istream& operator>>(Istream& is, const NullObject&) noexcept { return is; @@ -173,31 +173,48 @@ inline Ostream& operator<<(Ostream& os, const NullObject&) noexcept // Global Functions -//- Pointer (of type T) to the nullObject +//- Const pointer (of type T) to the nullObject template<class T> -inline const T* NullObjectPtr() +inline const T* NullObjectPtr() noexcept { return reinterpret_cast<const T*>(nullObjectPtr); } -//- Reference (of type T) to the nullObject +//- Non-const pointer (of type T) to the nullObject. +//- Only use when nothing will be written into it! template<class T> -inline const T& NullObjectRef() +inline T* NullObjectPtr_constCast() noexcept +{ + return reinterpret_cast<T*>(const_cast<NullObject*>(nullObjectPtr)); +} + + +//- Const reference (of type T) to the nullObject +template<class T> +inline const T& NullObjectRef() noexcept { return *reinterpret_cast<const T*>(nullObjectPtr); } +//- Non-const reference (of type T) to the nullObject +//- Only use when nothing will be written into it! +template<class T> +inline T& NullObjectRef_constCast() noexcept +{ + return *reinterpret_cast<T*>(const_cast<NullObject*>(nullObjectPtr)); +} + //- True if ptr is a pointer (of type T) to the nullObject template<class T> -inline bool isNull(const T* ptr) +inline bool isNull(const T* ptr) noexcept { return ptr == NullObjectPtr<T>(); } //- True if obj is a reference (of type T) to the nullObject template<class T> -inline bool isNull(const T& obj) +inline bool isNull(const T& obj) noexcept { return &obj == NullObjectPtr<T>(); } @@ -205,14 +222,14 @@ inline bool isNull(const T& obj) //- True if ptr is not a pointer (of type T) to the nullObject template<class T> -inline bool notNull(const T* ptr) +inline bool notNull(const T* ptr) noexcept { return ptr != NullObjectPtr<T>(); } //- True if obj is not a reference (of type T) to the nullObject template<class T> -inline bool notNull(const T& obj) +inline bool notNull(const T& obj) noexcept { return &obj != NullObjectPtr<T>(); } diff --git a/src/OpenFOAM/primitives/strings/wordRes/wordRes.H b/src/OpenFOAM/primitives/strings/wordRes/wordRes.H index de7c5d56aaa..e665f4d52dc 100644 --- a/src/OpenFOAM/primitives/strings/wordRes/wordRes.H +++ b/src/OpenFOAM/primitives/strings/wordRes/wordRes.H @@ -86,8 +86,12 @@ public: // Static Data / Methods - //- Return a null wordRes - a reference to the NullObject - inline static const wordRes& null(); + //- Return a null wordRes (reference to a nullObject). + //- Behaves like a empty wordRes. + static const wordRes& null() noexcept + { + return NullObjectRef<wordRes>(); + } //- Return a wordRes with duplicate entries filtered out. // No distinction made between literals and regular expressions. diff --git a/src/OpenFOAM/primitives/strings/wordRes/wordResI.H b/src/OpenFOAM/primitives/strings/wordRes/wordResI.H index e82a49c89f6..2b72076d961 100644 --- a/src/OpenFOAM/primitives/strings/wordRes/wordResI.H +++ b/src/OpenFOAM/primitives/strings/wordRes/wordResI.H @@ -27,12 +27,6 @@ License // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // -inline const Foam::wordRes& Foam::wordRes::null() -{ - return NullObjectRef<wordRes>(); -} - - inline Foam::label Foam::wordRes::first_match ( const UList<wordRe>& selectors, diff --git a/src/fileFormats/ensight/file/ensightFile.H b/src/fileFormats/ensight/file/ensightFile.H index e565f3eb2cb..2e16f0e95d2 100644 --- a/src/fileFormats/ensight/file/ensightFile.H +++ b/src/fileFormats/ensight/file/ensightFile.H @@ -92,7 +92,7 @@ public: // Static Functions //- Return a null ensightFile - static const ensightFile& null() + static const ensightFile& null() noexcept { return NullObjectRef<ensightFile>(); } diff --git a/src/fileFormats/ensight/file/ensightGeoFile.H b/src/fileFormats/ensight/file/ensightGeoFile.H index 86d2d9beed7..54c8078a6a7 100644 --- a/src/fileFormats/ensight/file/ensightGeoFile.H +++ b/src/fileFormats/ensight/file/ensightGeoFile.H @@ -72,7 +72,7 @@ public: // Static Functions //- Return a null ensightGeoFile - static const ensightGeoFile& null() + static const ensightGeoFile& null() noexcept { return NullObjectRef<ensightGeoFile>(); } diff --git a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.C b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.C index fb9846b1482..650beb7daa8 100644 --- a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.C @@ -127,7 +127,7 @@ template<class Type> Foam::slicedFaPatchField<Type>::~slicedFaPatchField() { // Set to nullptr to avoid deletion of underlying field - UList<Type>::shallowCopy(UList<Type>()); + UList<Type>::shallowCopy(nullptr); } diff --git a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C index fd746a305e8..9f0e1818aba 100644 --- a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C +++ b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C @@ -127,7 +127,7 @@ template<class Type> Foam::slicedFaePatchField<Type>::~slicedFaePatchField() { // Set to nullptr to avoid deletion of underlying field - UList<Type>::shallowCopy(UList<Type>()); + UList<Type>::shallowCopy(nullptr); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C index a15239c2bb3..c053c9b9344 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C @@ -127,7 +127,7 @@ template<class Type> Foam::slicedFvPatchField<Type>::~slicedFvPatchField() { // Set to nullptr to avoid deletion of underlying field - UList<Type>::shallowCopy(UList<Type>()); + UList<Type>::shallowCopy(nullptr); } diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C index 08179b72e84..717918883f4 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C @@ -127,7 +127,7 @@ template<class Type> Foam::slicedFvsPatchField<Type>::~slicedFvsPatchField() { // Set to nullptr to avoid deletion of underlying field - UList<Type>::shallowCopy(UList<Type>()); + UList<Type>::shallowCopy(nullptr); } diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C index 94a00c2a683..06209c1334c 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C @@ -96,11 +96,7 @@ tmp<GeometricField<Type, fvPatchField, volMesh>> ddtScheme<Type>::fvcDdt ) { NotImplemented; - - return tmp<GeometricField<Type, fvPatchField, volMesh>> - ( - GeometricField<Type, fvPatchField, volMesh>::null() - ); + return nullptr; } @@ -113,13 +109,7 @@ tmp<fvMatrix<Type>> ddtScheme<Type>::fvmDdt ) { NotImplemented; - - return tmp<fvMatrix<Type>>::New - ( - vf, - alpha.dimensions()*rho.dimensions() - *vf.dimensions()*dimVol/dimTime - ); + return nullptr; } @@ -130,15 +120,10 @@ tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> ddtScheme<Type>::fvcDdt ) { NotImplemented; - - return tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> - ( - GeometricField<Type, fvsPatchField, surfaceMesh>::null() - ); + return nullptr; } - template<class Type> tmp<surfaceScalarField> ddtScheme<Type>::fvcDdtPhiCoeff ( diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C index 6b15f83645a..716a2b18960 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -894,13 +894,13 @@ void Foam::fvMatrix<Type>::transferFvMatrixCoeffs() template<class Type> Foam::lduPrimitiveMeshAssembly* Foam::fvMatrix<Type>::lduMeshPtr() { - const lduPrimitiveMeshAssembly* lduAssemMeshPtr = - psi_.mesh().thisDb().objectRegistry::template findObject + return + ( + psi_.mesh().thisDb().objectRegistry::template getObjectPtr < lduPrimitiveMeshAssembly - > (lduAssemblyName_); - - return const_cast<lduPrimitiveMeshAssembly*>(lduAssemMeshPtr); + > (lduAssemblyName_) + ); } diff --git a/src/mesh/blockMesh/PDRblockMesh/PDRblock.C b/src/mesh/blockMesh/PDRblockMesh/PDRblock.C index 5e27e500751..10db4aeb8af 100644 --- a/src/mesh/blockMesh/PDRblockMesh/PDRblock.C +++ b/src/mesh/blockMesh/PDRblockMesh/PDRblock.C @@ -106,12 +106,6 @@ bool Foam::PDRblock::checkMonotonic } -const Foam::PDRblock& Foam::PDRblock::null() -{ - return NullObjectRef<PDRblock>(); -} - - // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // void Foam::PDRblock::addDefaultPatches() diff --git a/src/mesh/blockMesh/PDRblockMesh/PDRblock.H b/src/mesh/blockMesh/PDRblockMesh/PDRblock.H index 8df077c4f44..d0302b075b5 100644 --- a/src/mesh/blockMesh/PDRblockMesh/PDRblock.H +++ b/src/mesh/blockMesh/PDRblockMesh/PDRblock.H @@ -429,8 +429,11 @@ public: // Static Member Functions - //- Return a PDRblock reference to a nullObject - static const PDRblock& null(); + //- Return a null PDRblock (reference to a nullObject). + static const PDRblock& null() noexcept + { + return NullObjectRef<PDRblock>(); + } // Constructors diff --git a/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContribution/boundaryAdjointContribution.C b/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContribution/boundaryAdjointContribution.C index a8220f2639d..a36d646dff2 100644 --- a/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContribution/boundaryAdjointContribution.C +++ b/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContribution/boundaryAdjointContribution.C @@ -144,7 +144,7 @@ tmp<fvPatchScalarField> boundaryAdjointContribution::turbulentDiffusivity() const { NotImplemented; - return tmp<fvPatchScalarField>(nullptr); + return nullptr; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/overset/lduPrimitiveProcessorInterface/GAMG/calculatedProcessorGAMGInterfaceField.H b/src/overset/lduPrimitiveProcessorInterface/GAMG/calculatedProcessorGAMGInterfaceField.H index d1e78eed35c..f06a90edb86 100644 --- a/src/overset/lduPrimitiveProcessorInterface/GAMG/calculatedProcessorGAMGInterfaceField.H +++ b/src/overset/lduPrimitiveProcessorInterface/GAMG/calculatedProcessorGAMGInterfaceField.H @@ -133,7 +133,7 @@ public: ) const { NotImplemented; - return autoPtr<GAMGInterfaceField>(nullptr); + return nullptr; } diff --git a/src/overset/oversetCoupledPolyPatch/oversetGAMGInterfaceField/oversetGAMGInterfaceField.H b/src/overset/oversetCoupledPolyPatch/oversetGAMGInterfaceField/oversetGAMGInterfaceField.H index 5edbd651f61..640a9940a26 100644 --- a/src/overset/oversetCoupledPolyPatch/oversetGAMGInterfaceField/oversetGAMGInterfaceField.H +++ b/src/overset/oversetCoupledPolyPatch/oversetGAMGInterfaceField/oversetGAMGInterfaceField.H @@ -105,7 +105,7 @@ public: ) const { NotImplemented; - return autoPtr<GAMGInterfaceField>(nullptr); + return nullptr; } diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseInterSystem/multiphaseInterSystem.H b/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseInterSystem/multiphaseInterSystem.H index fbcacaefbc2..b9dfffb4a45 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseInterSystem/multiphaseInterSystem.H +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseInterSystem/multiphaseInterSystem.H @@ -367,7 +367,7 @@ public: ) const { NotImplemented; - return tmp<scalarField>::New(p); + return nullptr; } //- Return Cv of the mixture diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/PurePhaseModel/PurePhaseModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/PurePhaseModel/PurePhaseModel.C index 6279a080a45..de620d523a1 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/PurePhaseModel/PurePhaseModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/PurePhaseModel/PurePhaseModel.C @@ -88,7 +88,7 @@ Foam::PurePhaseModel<BasePhaseModel>::Y(const word& name) const << "Cannot get a species fraction by name from a pure phase" << exit(FatalError); - return NullObjectRef<volScalarField>(); + return volScalarField::null(); } diff --git a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.C index 5076b34ca88..2653f238cef 100644 --- a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.C +++ b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.C @@ -59,7 +59,7 @@ const Foam::DimensionedField<Foam::scalar, Foam::volMesh>& Foam::basicSolidChemistryModel::RR(const label i) const { NotImplemented; - return (volScalarField::Internal::null()); + return volScalarField::Internal::null(); } @@ -67,14 +67,11 @@ Foam::DimensionedField<Foam::scalar, Foam::volMesh>& Foam::basicSolidChemistryModel::RR(const label i) { NotImplemented; - - return dynamic_cast<volScalarField::Internal&> - ( + return const_cast<volScalarField::Internal&> ( volScalarField::Internal::null() - ) - ); + ); } @@ -86,14 +83,7 @@ Foam::basicSolidChemistryModel::calculateRR ) const { NotImplemented; - - return dynamic_cast<tmp<volScalarField::Internal>&> - ( - const_cast<volScalarField::Internal&> - ( - volScalarField::Internal::null() - ) - ); + return nullptr; } diff --git a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C index 89b9fa51e23..ad096ee103a 100644 --- a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C +++ b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C @@ -441,7 +441,7 @@ const Foam::List<typename Foam::Reaction<ReactionThermo>::specieCoeffs>& Foam::Reaction<ReactionThermo>::glhs() const { NotImplemented; - return NullObjectRef<List<specieCoeffs>>(); + return List<specieCoeffs>::null(); } @@ -450,7 +450,7 @@ const Foam::List<typename Foam::Reaction<ReactionThermo>::specieCoeffs>& Foam::Reaction<ReactionThermo>::grhs() const { NotImplemented; - return NullObjectRef<List<specieCoeffs>>(); + return List<specieCoeffs>::null(); } -- GitLab From f9bbd06e57ea2f15025025e54da76009a63e260a Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 31 Jan 2024 13:11:55 +0000 Subject: [PATCH 027/231] ENH: mapped: avoid patch check. See #3090 --- .../mappedPatches/mappedPolyPatch/mappedPatchBase.C | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C index f66d7eb1d44..26afc27e3a3 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C @@ -1737,7 +1737,16 @@ bool Foam::mappedPatchBase::upToDate() const thisUpToDate = checkPointMovement(thisMesh, patch_, updateMeshTime()); } - if (!sampleUpToDate && sampleMesh().moving()) + if + ( + !sampleUpToDate + && sampleMesh().moving() + && ( + mode_ == NEARESTPATCHFACE + || mode_ == NEARESTPATCHFACEAMI + || mode_ == NEARESTPATCHPOINT + ) + ) { sampleUpToDate = checkPointMovement ( -- GitLab From fc9820b08aa36f0bd3d09b044e39a756cec077cd Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 31 Jan 2024 13:49:26 +0000 Subject: [PATCH 028/231] STYLE: mapped: remove defaults from mapped --- .../pisoFoam/LES/pitzDailyMapped/system/blockMeshDict | 2 -- .../RAS/wallBoiling1D_2phase/system/blockMeshDict | 2 -- .../RAS/wallBoiling1D_3phase/system/blockMeshDict | 2 -- .../RAS/wallBoiling/system/blockMeshDict | 2 -- .../RAS/wallBoiling1D/system/blockMeshDict | 2 -- .../RAS/wallBoilingIATE/system/blockMeshDict | 2 -- 6 files changed, 12 deletions(-) diff --git a/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict index cb9f0f87b16..4f94ddd9a63 100644 --- a/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict +++ b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict @@ -91,9 +91,7 @@ boundary { type mappedPatch; offset (0.0495 0 0); - sampleRegion region0; sampleMode nearestCell; - samplePatch none; faces ( diff --git a/tutorials/multiphase/reactingMultiphaseEulerFoam/RAS/wallBoiling1D_2phase/system/blockMeshDict b/tutorials/multiphase/reactingMultiphaseEulerFoam/RAS/wallBoiling1D_2phase/system/blockMeshDict index 1eb87bf2ca0..320564c7f8f 100644 --- a/tutorials/multiphase/reactingMultiphaseEulerFoam/RAS/wallBoiling1D_2phase/system/blockMeshDict +++ b/tutorials/multiphase/reactingMultiphaseEulerFoam/RAS/wallBoiling1D_2phase/system/blockMeshDict @@ -39,9 +39,7 @@ boundary { type mappedPatch; offset (0 0.1 0); - sampleRegion region0; sampleMode nearestCell; - samplePatch none; faces ( diff --git a/tutorials/multiphase/reactingMultiphaseEulerFoam/RAS/wallBoiling1D_3phase/system/blockMeshDict b/tutorials/multiphase/reactingMultiphaseEulerFoam/RAS/wallBoiling1D_3phase/system/blockMeshDict index 1eb87bf2ca0..320564c7f8f 100644 --- a/tutorials/multiphase/reactingMultiphaseEulerFoam/RAS/wallBoiling1D_3phase/system/blockMeshDict +++ b/tutorials/multiphase/reactingMultiphaseEulerFoam/RAS/wallBoiling1D_3phase/system/blockMeshDict @@ -39,9 +39,7 @@ boundary { type mappedPatch; offset (0 0.1 0); - sampleRegion region0; sampleMode nearestCell; - samplePatch none; faces ( diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/blockMeshDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/blockMeshDict index 074f51fe4f6..d2109f566c1 100644 --- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/blockMeshDict +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/blockMeshDict @@ -39,9 +39,7 @@ boundary { type mappedPatch; offset (0 0.1 0); - sampleRegion region0; sampleMode nearestCell; - samplePatch none; faces ( diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/system/blockMeshDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/system/blockMeshDict index 1eb87bf2ca0..320564c7f8f 100644 --- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/system/blockMeshDict +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/system/blockMeshDict @@ -39,9 +39,7 @@ boundary { type mappedPatch; offset (0 0.1 0); - sampleRegion region0; sampleMode nearestCell; - samplePatch none; faces ( diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/blockMeshDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/blockMeshDict index 074f51fe4f6..d2109f566c1 100644 --- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/blockMeshDict +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/blockMeshDict @@ -39,9 +39,7 @@ boundary { type mappedPatch; offset (0 0.1 0); - sampleRegion region0; sampleMode nearestCell; - samplePatch none; faces ( -- GitLab From 9ad3754ed74fec808a283fb895276a9cdb8ed983 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 24 Jan 2024 12:58:20 +0100 Subject: [PATCH 029/231] ENH: remove obsolete Pstream functions (#3087) - the old Pstream::scatter routines (which were largely a misnomer) have been superseded by various broadcast routines, but were left in the code with #ifndef/#ifdef Foam_Pstream_scatter_nobroadcast guards. Now noisily deprecate them, and remove the old manual tree communication in favour of MPI broadcast and/or serialize/de-serialize with wrapped Pstream::broadcast - consolidate various gather methods to include the communication structure directly. No functional change, but reduces the number of methods. ENH: add parallel guard to UPstream::whichCommunication() method - returns List::null() as the schedule for non-parallel instead of an inappropriate linear or tree schedule ENH: Pstream::listGatherValues, Pstream::listScatterValues - like the existing UPstream versions but supporting non-contiguous --- applications/test/gatherValues1/Make/files | 2 +- ...gatherValues1.C => Test-gatherValues1.cxx} | 66 +-- src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H | 179 +++----- .../db/IOstreams/Pstreams/PstreamBroadcast.C | 26 +- .../IOstreams/Pstreams/PstreamCombineGather.C | 414 +----------------- .../db/IOstreams/Pstreams/PstreamGather.C | 222 ++++++---- .../db/IOstreams/Pstreams/PstreamGatherList.C | 26 +- .../db/IOstreams/Pstreams/PstreamReduceOps.H | 35 +- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C | 1 + src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H | 23 +- .../db/IOstreams/Pstreams/UPstreamTemplates.C | 103 ++--- 11 files changed, 378 insertions(+), 719 deletions(-) rename applications/test/gatherValues1/{Test-gatherValues1.C => Test-gatherValues1.cxx} (81%) diff --git a/applications/test/gatherValues1/Make/files b/applications/test/gatherValues1/Make/files index 31bbb718f07..b5fc79cbe09 100644 --- a/applications/test/gatherValues1/Make/files +++ b/applications/test/gatherValues1/Make/files @@ -1,3 +1,3 @@ -Test-gatherValues1.C +Test-gatherValues1.cxx EXE = $(FOAM_USER_APPBIN)/Test-gatherValues1 diff --git a/applications/test/gatherValues1/Test-gatherValues1.C b/applications/test/gatherValues1/Test-gatherValues1.cxx similarity index 81% rename from applications/test/gatherValues1/Test-gatherValues1.C rename to applications/test/gatherValues1/Test-gatherValues1.cxx index 69ce09ce122..02bb8597edd 100644 --- a/applications/test/gatherValues1/Test-gatherValues1.C +++ b/applications/test/gatherValues1/Test-gatherValues1.cxx @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,7 +52,7 @@ int main(int argc, char *argv[]) const labelList localValues ( - identity(2 *(Pstream::myProcNo()+1), -5*Pstream::myProcNo()) + identity(2 *(UPstream::myProcNo()+1), -5*UPstream::myProcNo()) ); // Test resize @@ -76,8 +76,8 @@ int main(int argc, char *argv[]) // One-sided sizing! master only const globalIndex allProcAddr ( - sendData.size(), - globalIndex::gatherOnly{} + globalIndex::gatherOnly{}, + sendData.size() ); Pout<< "listGather sizes: " << flatOutput(allProcAddr.sizes()) << nl; @@ -98,8 +98,8 @@ int main(int argc, char *argv[]) // One-sided sizing! master only const globalIndex allProcAddr ( - sendData.size(), - globalIndex::gatherOnly{} + globalIndex::gatherOnly{}, + sendData.size() ); Pout<< "listGather sizes: " << flatOutput(allProcAddr.sizes()) << nl; @@ -116,7 +116,7 @@ int main(int argc, char *argv[]) { const labelList::subList& sendData = ( - Pstream::master() + UPstream::master() ? SubList<label>(localValues, 0) // exclude : SubList<label>(localValues) ); @@ -147,11 +147,11 @@ int main(int argc, char *argv[]) << UPstream::listScatterValues(subProcAddr.offsets()) << nl; - Pout<< endl << "local list [" << Pstream::myProcNo() << "] " + Pout<< endl << "local list [" << UPstream::myProcNo() << "] " << flatOutput(localValues) << nl; - Pout<< endl << "local send [" << Pstream::myProcNo() << "] " + Pout<< endl << "local send [" << UPstream::myProcNo() << "] " << sendSize << nl; @@ -163,7 +163,7 @@ int main(int argc, char *argv[]) Pout<< "off-proc: " << allValues << endl; - if (Pstream::master()) + if (UPstream::master()) { Info<< "master: " << flatOutput(localValues) << nl; @@ -196,7 +196,7 @@ int main(int argc, char *argv[]) { globalIndex glob ( - globalIndex:gatherNone{}, + globalIndex::gatherNone{}, labelList(Foam::one{}, 0) ); Info<< "single:" << nl; @@ -208,35 +208,37 @@ int main(int argc, char *argv[]) } } - // This will likely fail - not declared as is_contiguous - // Cannot even catch since it triggers an abort() - - #if 0 + // Non-contiguous gather - use Pstream, not UPstream! { - std::pair<label,vector> sendData(Pstream::myProcNo(), vector::one); + typedef std::pair<label,vector> valueType; - const bool oldThrowingError = FatalError.throwing(true); + valueType sendData(UPstream::myProcNo(), vector::one); - try - { - List<std::pair<label,vector>> countValues - ( - UPstream::listGatherValues<std::pair<label, vector>> - ( - sendData - ) - ); + List<valueType> countValues + ( + Pstream::listGatherValues(sendData) + ); - Pout<< "listGather: " << flatOutput(countValues) << nl; - } - catch (const Foam::error& err) + Pout<< "listGather: " << flatOutput(countValues) << nl; + } + + // Non-contiguous scatter - use Pstream, not UPstream! + { + List<fileName> allValues; + + if (UPstream::master()) { - Info<< err.message().c_str() << nl; + allValues.resize(UPstream::nProcs()); + forAll(allValues, proci) + { + allValues[proci] = "processor" + Foam::name(proci); + } } - FatalError.throwing(oldThrowingError); + fileName procName = Pstream::listScatterValues(allValues); + + Pout<< "listScatter: " << procName << nl; } - #endif Info<< "\nEnd\n" << endl; diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H index dbcfe69c56d..fe251cbf91e 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H @@ -47,9 +47,6 @@ SourceFiles #include "UPstream.H" #include "DynamicList.H" -// Legacy -// #define Foam_Pstream_scatter_nobroadcast - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam @@ -130,22 +127,9 @@ public: // Gather - //- Gather (reduce) data, appyling \c bop to combine \c value - //- from different processors. The basis for Foam::reduce(). - // Uses the specified communication schedule. - template<class T, class BinaryOp> - static void gather - ( - const List<commsStruct>& comms, - T& value, - const BinaryOp& bop, - const int tag, - const label comm - ); - //- Gather (reduce) data, applying \c bop to combine \c value //- from different processors. The basis for Foam::reduce(). - // Uses linear/tree communication. + // Uses linear/tree communication (with parallel guard). template<class T, class BinaryOp> static void gather ( @@ -155,6 +139,34 @@ public: const label comm = UPstream::worldComm ); + //- Gather individual values into list locations. + // On master list length == nProcs, otherwise zero length. + // \n + // For \b non-parallel : + // the returned list length is 1 with localValue. + template<class T> + static List<T> listGatherValues + ( + const T& localValue, + const label comm = UPstream::worldComm, + //! Only used for non-contiguous types + const int tag = UPstream::msgType() + ); + + //- Scatter individual values from list locations. + // On master input list length == nProcs, ignored on other procs. + // \n + // For \b non-parallel : + // returns the first list element (or default initialized). + template<class T> + static T listScatterValues + ( + const UList<T>& allValues, + const label comm = UPstream::worldComm, + //! Only used for non-contiguous types + const int tag = UPstream::msgType() + ); + // Gather/combine data // Inplace combine values from processors. @@ -162,20 +174,7 @@ public: //- Gather data, applying \c cop to inplace combine \c value //- from different processors. - // Uses the specified communication schedule. - template<class T, class CombineOp> - static void combineGather - ( - const List<commsStruct>& comms, - T& value, - const CombineOp& cop, - const int tag, - const label comm - ); - - //- Gather data, applying \c cop to inplace combine \c value - //- from different processors. - // Uses linear/tree communication. + // Uses linear/tree communication (with parallel guard). template<class T, class CombineOp> static void combineGather ( @@ -185,22 +184,6 @@ public: const label comm = UPstream::worldComm ); - //- Reduce inplace (cf. MPI Allreduce) - //- applying \c cop to inplace combine \c value - //- from different processors. - //- After completion all processors have the same data. - // Uses the specified communication schedule. - // Wraps combineGather/broadcast (may change in the future). - template<class T, class CombineOp> - static void combineReduce - ( - const List<commsStruct>& comms, - T& value, - const CombineOp& cop, - const int tag = UPstream::msgType(), - const label comm = UPstream::worldComm - ); - //- Reduce inplace (cf. MPI Allreduce) //- applying \c cop to inplace combine \c value //- from different processors. @@ -232,17 +215,8 @@ public: // Combine variants working on whole List at a time. - template<class T, class CombineOp> - static void listCombineGather - ( - const List<commsStruct>& comms, - List<T>& values, - const CombineOp& cop, - const int tag, - const label comm - ); - - //- Like above but switches between linear/tree communication + //- Combines List elements. + // Uses linear/tree communication (with parallel guard). template<class T, class CombineOp> static void listCombineGather ( @@ -252,7 +226,9 @@ public: const label comm = UPstream::worldComm ); + //- Combines List elements. //- After completion all processors have the same data. + // Uses linear/tree communication (with parallel guard). template<class T, class CombineOp> static void listCombineReduce ( @@ -279,17 +255,8 @@ public: // Combine variants working on whole map at a time. // Container needs iterators, find() and insert methods defined. - template<class Container, class CombineOp> - static void mapCombineGather - ( - const List<commsStruct>& comms, - Container& values, - const CombineOp& cop, - const int tag, - const label comm - ); - - //- Like above but switches between linear/tree communication + //- Combine Map elements. + // Uses linear/tree communication (with parallel guard). template<class Container, class CombineOp> static void mapCombineGather ( @@ -355,7 +322,7 @@ public: ); //- Gather data, but keep individual values separate. - //- Uses linear/tree communication. + //- Uses MPI_Allgather or manual linear/tree communication. // After completion all processors have the same data. // Wraps gatherList/scatterList (may change in the future). template<class T> @@ -369,91 +336,43 @@ public: // Scatter - //- Broadcast data: Distribute without modification. - // \note comms and tag parameters only used when - // Foam_Pstream_scatter_nobroadcast is defined + //- Broadcast data template<class T> + FOAM_DEPRECATED_FOR(2024-01, "broadcast()") static void scatter ( - const List<commsStruct>& comms, T& value, - const int tag, - const label comm - ); - - //- Broadcast data: Distribute without modification. - // \note tag parameter only used when - // Foam_Pstream_scatter_nobroadcast is defined - template<class T> - static void scatter - ( - T& value, - const int tag = UPstream::msgType(), + const int tag = UPstream::msgType(), //!< ignored const label comm = UPstream::worldComm ); - //- Broadcast data: Distribute without modification. - // \note tag parameter only used when - // Foam_Pstream_scatter_nobroadcast is defined + //- Broadcast data template<class T> + FOAM_DEPRECATED_FOR(2024-01, "broadcast()") static void combineScatter ( - const List<commsStruct>& comms, T& value, - const int tag, - const label comm - ); - - //- Broadcast data: Distribute without modification. - // \note tag parameter only used when - // Foam_Pstream_scatter_nobroadcast is defined - template<class T> - static void combineScatter - ( - T& value, - const int tag = UPstream::msgType(), + const int tag = UPstream::msgType(), //!< ignored const label comm = UPstream::worldComm ); - //- Broadcast data: Distribute without modification. - // \note comms and tag parameters only used when - // Foam_Pstream_scatter_nobroadcast is defined + //- Broadcast data template<class T> + FOAM_DEPRECATED_FOR(2024-01, "broadcast()") static void listCombineScatter ( - const List<commsStruct>& comms, List<T>& value, - const int tag, - const label comm - ); - - //- Broadcast data: Distribute without modification. - // \note comms and tag parameters only used when - // Foam_Pstream_scatter_nobroadcast is defined - template<class T> - static void listCombineScatter - ( - List<T>& value, - const int tag = UPstream::msgType(), + const int tag = UPstream::msgType(), //!< ignored const label comm = UPstream::worldComm ); - //- Broadcast data: Distribute without modification. - template<class Container> - static void mapCombineScatter - ( - const List<commsStruct>& comms, - Container& values, - const int tag, - const label comm - ); - - //- Like above but switches between linear/tree communication + //- Broadcast data template<class Container> + FOAM_DEPRECATED_FOR(2024-01, "broadcast()") static void mapCombineScatter ( Container& values, - const int tag = UPstream::msgType(), + const int tag = UPstream::msgType(), //!< ignored const label comm = UPstream::worldComm ); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C index 1f39cca6931..e9e2ce98bc7 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -137,4 +137,28 @@ void Foam::Pstream::broadcastList(ListType& list, const label comm) } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Convenience wrappers - defined after all specialisations are known + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//- Return a broadcasted value (uses a copy internally) +template<class Type> +Type returnBroadcast(const Type& value, const label comm) +{ + Type work(value); + Pstream::broadcast(work, comm); + return work; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + + // ************************************************************************* // diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C index 41d427635b6..4696d005928 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -25,7 +25,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Description - Variant of gather, scatter. + Variant of gather. Normal gather uses: - default construct and read (>>) from Istream - binary operator and assignment operator to combine values @@ -46,7 +46,6 @@ Description template<class T, class CombineOp> void Foam::Pstream::combineGather ( - const List<UPstream::commsStruct>& comms, T& value, const CombineOp& cop, const int tag, @@ -55,8 +54,10 @@ void Foam::Pstream::combineGather { if (UPstream::is_parallel(comm)) { - // My communication order - const commsStruct& myComm = comms[UPstream::myProcNo(comm)]; + // Communication order + const auto& comms = UPstream::whichCommunication(comm); + // if (comms.empty()) return; // extra safety? + const auto& myComm = comms[UPstream::myProcNo(comm)]; // Receive from my downstairs neighbours for (const label belowID : myComm.below()) @@ -89,7 +90,7 @@ void Foam::Pstream::combineGather ( UPstream::commsTypes::scheduled, belowID, - 0, + 0, // bufsize tag, comm ); @@ -132,7 +133,7 @@ void Foam::Pstream::combineGather ( UPstream::commsTypes::scheduled, myComm.above(), - 0, + 0, // bufsize tag, comm ); @@ -143,144 +144,6 @@ void Foam::Pstream::combineGather } -template<class T> -void Foam::Pstream::combineScatter -( - const List<UPstream::commsStruct>& comms, - T& value, - const int tag, - const label comm -) -{ - #ifndef Foam_Pstream_scatter_nobroadcast - Pstream::broadcast(value, comm); - #else - if (UPstream::is_parallel(comm)) - { - // My communication order - const UPstream::commsStruct& myComm = comms[UPstream::myProcNo(comm)]; - - // Receive from up - if (myComm.above() != -1) - { - if (is_contiguous<T>::value) - { - UIPstream::read - ( - UPstream::commsTypes::scheduled, - myComm.above(), - reinterpret_cast<char*>(&value), - sizeof(T), - tag, - comm - ); - } - else - { - IPstream fromAbove - ( - UPstream::commsTypes::scheduled, - myComm.above(), - 0, - tag, - comm - ); - value = T(fromAbove); - } - } - - // Send to my downstairs neighbours - forAllReverse(myComm.below(), belowI) - { - const label belowID = myComm.below()[belowI]; - - if (is_contiguous<T>::value) - { - UOPstream::write - ( - UPstream::commsTypes::scheduled, - belowID, - reinterpret_cast<const char*>(&value), - sizeof(T), - tag, - comm - ); - } - else - { - OPstream toBelow - ( - UPstream::commsTypes::scheduled, - belowID, - 0, - tag, - comm - ); - toBelow << value; - } - } - } - #endif -} - - -template<class T, class CombineOp> -void Foam::Pstream::combineGather -( - T& value, - const CombineOp& cop, - const int tag, - const label comm -) -{ - Pstream::combineGather - ( - UPstream::whichCommunication(comm), - value, - cop, - tag, - comm - ); -} - - -template<class T> -void Foam::Pstream::combineScatter -( - T& value, - const int tag, - const label comm -) -{ - #ifndef Foam_Pstream_scatter_nobroadcast - Pstream::broadcast(value, comm); - #else - Pstream::combineScatter - ( - UPstream::whichCommunication(comm), - value, - tag, - comm - ); - #endif -} - - -template<class T, class CombineOp> -void Foam::Pstream::combineReduce -( - const List<UPstream::commsStruct>& comms, - T& value, - const CombineOp& cop, - const int tag, - const label comm -) -{ - Pstream::combineGather(comms, value, cop, tag, comm); - Pstream::broadcast(value, comm); -} - - template<class T, class CombineOp> void Foam::Pstream::combineReduce ( @@ -292,9 +155,7 @@ void Foam::Pstream::combineReduce { if (UPstream::is_parallel(comm)) { - const auto& comms = UPstream::whichCommunication(comm); - - Pstream::combineGather(comms, value, cop, tag, comm); + Pstream::combineGather(value, cop, tag, comm); Pstream::broadcast(value, comm); } } @@ -305,7 +166,6 @@ void Foam::Pstream::combineReduce template<class T, class CombineOp> void Foam::Pstream::listCombineGather ( - const List<UPstream::commsStruct>& comms, List<T>& values, const CombineOp& cop, const int tag, @@ -314,8 +174,10 @@ void Foam::Pstream::listCombineGather { if (UPstream::is_parallel(comm)) { - // My communication order - const commsStruct& myComm = comms[UPstream::myProcNo(comm)]; + // Communication order + const auto& comms = UPstream::whichCommunication(comm); + // if (comms.empty()) return; // extra safety? + const auto& myComm = comms[UPstream::myProcNo(comm)]; // Receive from my downstairs neighbours for (const label belowID : myComm.below()) @@ -351,7 +213,7 @@ void Foam::Pstream::listCombineGather ( UPstream::commsTypes::scheduled, belowID, - 0, + 0, // bufsize tag, comm ); @@ -397,7 +259,7 @@ void Foam::Pstream::listCombineGather ( UPstream::commsTypes::scheduled, myComm.above(), - 0, + 0, // bufsize tag, comm ); @@ -408,129 +270,6 @@ void Foam::Pstream::listCombineGather } -template<class T> -void Foam::Pstream::listCombineScatter -( - const List<UPstream::commsStruct>& comms, - List<T>& values, - const int tag, - const label comm -) -{ - #ifndef Foam_Pstream_scatter_nobroadcast - Pstream::broadcast(values, comm); - #else - if (UPstream::is_parallel(comm)) - { - // My communication order - const UPstream::commsStruct& myComm = comms[UPstream::myProcNo(comm)]; - - // Receive from up - if (myComm.above() != -1) - { - if (is_contiguous<T>::value) - { - UIPstream::read - ( - UPstream::commsTypes::scheduled, - myComm.above(), - values.data_bytes(), - values.size_bytes(), - tag, - comm - ); - } - else - { - IPstream fromAbove - ( - UPstream::commsTypes::scheduled, - myComm.above(), - 0, - tag, - comm - ); - fromAbove >> values; - } - } - - // Send to my downstairs neighbours - forAllReverse(myComm.below(), belowI) - { - const label belowID = myComm.below()[belowI]; - - if (is_contiguous<T>::value) - { - UOPstream::write - ( - UPstream::commsTypes::scheduled, - belowID, - values.cdata_bytes(), - values.size_bytes(), - tag, - comm - ); - } - else - { - OPstream toBelow - ( - UPstream::commsTypes::scheduled, - belowID, - 0, - tag, - comm - ); - toBelow << values; - } - } - } - #endif -} - - -template<class T, class CombineOp> -void Foam::Pstream::listCombineGather -( - List<T>& values, - const CombineOp& cop, - const int tag, - const label comm -) -{ - Pstream::listCombineGather - ( - UPstream::whichCommunication(comm), - values, - cop, - tag, - comm - ); -} - - -template<class T> -void Foam::Pstream::listCombineScatter -( - List<T>& values, - const int tag, - const label comm -) -{ - #ifndef Foam_Pstream_scatter_nobroadcast - Pstream::broadcast(values, comm); - #else - Pstream::listCombineScatter - ( - UPstream::whichCommunication(comm), - values, - tag, - comm - ); - #endif -} - - template<class T, class CombineOp> void Foam::Pstream::listCombineReduce ( @@ -542,9 +281,7 @@ void Foam::Pstream::listCombineReduce { if (UPstream::is_parallel(comm)) { - const auto& comms = UPstream::whichCommunication(comm); - - Pstream::listCombineGather(comms, values, cop, tag, comm); + Pstream::listCombineGather(values, cop, tag, comm); Pstream::broadcast(values, comm); } } @@ -555,7 +292,6 @@ void Foam::Pstream::listCombineReduce template<class Container, class CombineOp> void Foam::Pstream::mapCombineGather ( - const List<UPstream::commsStruct>& comms, Container& values, const CombineOp& cop, const int tag, @@ -564,8 +300,10 @@ void Foam::Pstream::mapCombineGather { if (UPstream::is_parallel(comm)) { - // My communication order - const commsStruct& myComm = comms[UPstream::myProcNo(comm)]; + // Communication order + const auto& comms = UPstream::whichCommunication(comm); + // if (comms.empty()) return; // extra safety? + const auto& myComm = comms[UPstream::myProcNo(comm)]; // Receive from my downstairs neighbours for (const label belowID : myComm.below()) @@ -576,7 +314,7 @@ void Foam::Pstream::mapCombineGather ( UPstream::commsTypes::scheduled, belowID, - 0, + 0, // bufsize tag, comm ); @@ -623,7 +361,7 @@ void Foam::Pstream::mapCombineGather ( UPstream::commsTypes::scheduled, myComm.above(), - 0, + 0, // bufsize tag, comm ); @@ -633,110 +371,6 @@ void Foam::Pstream::mapCombineGather } -template<class Container> -void Foam::Pstream::mapCombineScatter -( - const List<UPstream::commsStruct>& comms, - Container& values, - const int tag, - const label comm -) -{ - #ifndef Foam_Pstream_scatter_nobroadcast - Pstream::broadcast(values, comm); - #else - if (UPstream::is_parallel(comm)) - { - // My communication order - const UPstream::commsStruct& myComm = comms[UPstream::myProcNo(comm)]; - - // Receive from up - if (myComm.above() != -1) - { - IPstream fromAbove - ( - UPstream::commsTypes::scheduled, - myComm.above(), - 0, - tag, - comm - ); - fromAbove >> values; - - if (debug & 2) - { - Pout<< " received from " - << myComm.above() << " data:" << values << endl; - } - } - - // Send to my downstairs neighbours - forAllReverse(myComm.below(), belowI) - { - const label belowID = myComm.below()[belowI]; - - if (debug & 2) - { - Pout<< " sending to " << belowID << " data:" << values << endl; - } - - OPstream toBelow - ( - UPstream::commsTypes::scheduled, - belowID, - 0, - tag, - comm - ); - toBelow << values; - } - } - #endif -} - - -template<class Container, class CombineOp> -void Foam::Pstream::mapCombineGather -( - Container& values, - const CombineOp& cop, - const int tag, - const label comm -) -{ - Pstream::mapCombineGather - ( - UPstream::whichCommunication(comm), - values, - cop, - tag, - comm - ); -} - - -template<class Container> -void Foam::Pstream::mapCombineScatter -( - Container& values, - const int tag, - const label comm -) -{ - #ifndef Foam_Pstream_scatter_nobroadcast - Pstream::broadcast(values, comm); - #else - Pstream::mapCombineScatter - ( - UPstream::whichCommunication(comm), - values, - tag, - comm - ); - #endif -} - - template<class Container, class CombineOp> void Foam::Pstream::mapCombineReduce ( @@ -748,9 +382,7 @@ void Foam::Pstream::mapCombineReduce { if (UPstream::is_parallel(comm)) { - const auto& comms = UPstream::whichCommunication(comm); - - Pstream::mapCombineGather(comms, values, cop, tag, comm); + Pstream::mapCombineGather(values, cop, tag, comm); Pstream::broadcast(values, comm); } } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C index daeb052876f..f879f912838 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,7 +41,6 @@ Description template<class T, class BinaryOp> void Foam::Pstream::gather ( - const List<UPstream::commsStruct>& comms, T& value, const BinaryOp& bop, const int tag, @@ -50,8 +49,10 @@ void Foam::Pstream::gather { if (UPstream::is_parallel(comm)) { - // My communication order - const commsStruct& myComm = comms[UPstream::myProcNo(comm)]; + // Communication order + const auto& comms = UPstream::whichCommunication(comm); + // if (comms.empty()) return; // extra safety? + const auto& myComm = comms[UPstream::myProcNo(comm)]; // Receive from my downstairs neighbours for (const label belowID : myComm.below()) @@ -76,7 +77,7 @@ void Foam::Pstream::gather ( UPstream::commsTypes::scheduled, belowID, - 0, + 0, // bufsize tag, comm ); @@ -107,7 +108,7 @@ void Foam::Pstream::gather ( UPstream::commsTypes::scheduled, myComm.above(), - 0, + 0, // bufsize tag, comm ); @@ -119,110 +120,181 @@ void Foam::Pstream::gather template<class T> -void Foam::Pstream::scatter +Foam::List<T> Foam::Pstream::listGatherValues ( - const List<UPstream::commsStruct>& comms, - T& value, - const int tag, - const label comm + const T& localValue, + const label comm, + const int tag ) { - #ifndef Foam_Pstream_scatter_nobroadcast - Pstream::broadcast(value, comm); - #else + // OR + // if (is_contiguous<T>::value) + // { + // return UPstream::listGatherValues(localValue, comm); + // } + + List<T> allValues; + if (UPstream::is_parallel(comm)) { - // My communication order - const commsStruct& myComm = comms[UPstream::myProcNo(comm)]; + const label numProc = UPstream::nProcs(comm); - // Receive from up - if (myComm.above() != -1) + if (UPstream::master(comm)) { - if (is_contiguous<T>::value) + allValues.resize(numProc); + } + + if (is_contiguous<T>::value) + { + UPstream::mpiGather + ( + reinterpret_cast<const char*>(&localValue), + allValues.data_bytes(), + sizeof(T), // The send/recv size per rank + comm + ); + } + else + { + if (UPstream::master(comm)) { - UIPstream::read - ( - UPstream::commsTypes::scheduled, - myComm.above(), - reinterpret_cast<char*>(&value), - sizeof(T), - tag, - comm - ); + // Non-trivial to manage non-blocking gather without a + // PEX/NBX approach (eg, PstreamBuffers) but leave with + // with simple exchange for now + + allValues[0] = localValue; + + for (int proci = 1; proci < numProc; ++proci) + { + IPstream fromProc + ( + UPstream::commsTypes::scheduled, + proci, + 0, // bufsize + tag, + comm + ); + fromProc >> allValues[proci]; + } } - else + else if (UPstream::is_rank(comm)) { - IPstream fromAbove + OPstream toProc ( UPstream::commsTypes::scheduled, - myComm.above(), - 0, + UPstream::masterNo(), + 0, // bufsize tag, comm ); - fromAbove >> value; + toProc << localValue; } } + } + else + { + // non-parallel: return own value + // TBD: only when UPstream::is_rank(comm) as well? + allValues.resize(1); + allValues[0] = localValue; + } + + return allValues; +} + + +template<class T> +T Foam::Pstream::listScatterValues +( + const UList<T>& allValues, + const label comm, + const int tag +) +{ + // OR + // if (is_contiguous<T>::value) + // { + // return UPstream::listScatterValues(allValues, comm); + // } + + T localValue{}; + + if (UPstream::is_parallel(comm)) + { + const label numProc = UPstream::nProcs(comm); - // Send to my downstairs neighbours. Note reverse order (compared to - // receiving). This is to make sure to send to the critical path - // (only when using a tree schedule!) first. - forAllReverse(myComm.below(), belowI) + if (UPstream::master(comm) && allValues.size() < numProc) { - const label belowID = myComm.below()[belowI]; + FatalErrorInFunction + << "Attempting to send " << allValues.size() + << " values to " << numProc << " processors" << endl + << Foam::abort(FatalError); + } - if (is_contiguous<T>::value) + if (is_contiguous<T>::value) + { + UPstream::mpiScatter + ( + allValues.cdata_bytes(), + reinterpret_cast<char*>(&localValue), + sizeof(T), // The send/recv size per rank + comm + ); + } + else + { + if (UPstream::master(comm)) { - UOPstream::write - ( - UPstream::commsTypes::scheduled, - belowID, - reinterpret_cast<const char*>(&value), - sizeof(T), - tag, - comm - ); + const label startOfRequests = UPstream::nRequests(); + + List<DynamicList<char>> sendBuffers(numProc); + + for (int proci = 1; proci < numProc; ++proci) + { + UOPstream toProc + ( + UPstream::commsTypes::nonBlocking, + proci, + sendBuffers[proci], + tag, + comm + ); + toProc << allValues[proci]; + } + + // Wait for outstanding requests + UPstream::waitRequests(startOfRequests); + + return allValues[0]; } - else + else if (UPstream::is_rank(comm)) { - OPstream toBelow + IPstream fromProc ( UPstream::commsTypes::scheduled, - belowID, - 0, + UPstream::masterNo(), + 0, // bufsize tag, comm ); - toBelow << value; + fromProc >> localValue; } } } - #endif -} + else + { + // non-parallel: return first value + // TBD: only when UPstream::is_rank(comm) as well? + if (!allValues.empty()) + { + return allValues[0]; + } + } -template<class T, class BinaryOp> -void Foam::Pstream::gather -( - T& value, - const BinaryOp& bop, - const int tag, - const label comm -) -{ - Pstream::gather(UPstream::whichCommunication(comm), value, bop, tag, comm); + return localValue; } -template<class T> -void Foam::Pstream::scatter(T& value, const int tag, const label comm) -{ - #ifndef Foam_Pstream_scatter_nobroadcast - Pstream::broadcast(value, comm); - #else - Pstream::scatter(UPstream::whichCommunication(comm), value, tag, comm); - #endif -} - // ************************************************************************* // diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C index e4dd9f84401..d009e43eb80 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,7 +51,7 @@ void Foam::Pstream::gatherList const label comm ) { - if (UPstream::is_parallel(comm)) + if (!comms.empty() && UPstream::is_parallel(comm)) { if (values.size() < UPstream::nProcs(comm)) { @@ -62,7 +62,7 @@ void Foam::Pstream::gatherList } // My communication order - const commsStruct& myComm = comms[UPstream::myProcNo(comm)]; + const auto& myComm = comms[UPstream::myProcNo(comm)]; // Receive from my downstairs neighbours for (const label belowID : myComm.below()) @@ -199,7 +199,7 @@ void Foam::Pstream::scatterList // between scatterList() and using broadcast(List<T>&) or a regular // scatter(List<T>&) is that processor-local data is skipped. - if (UPstream::is_parallel(comm)) + if (!comms.empty() && UPstream::is_parallel(comm)) { if (values.size() < UPstream::nProcs(comm)) { @@ -210,7 +210,7 @@ void Foam::Pstream::scatterList } // My communication order - const commsStruct& myComm = comms[UPstream::myProcNo(comm)]; + const auto& myComm = comms[UPstream::myProcNo(comm)]; // Receive from up if (myComm.above() != -1) @@ -323,7 +323,13 @@ void Foam::Pstream::gatherList const label comm ) { - Pstream::gatherList(UPstream::whichCommunication(comm), values, tag, comm); + Pstream::gatherList + ( + UPstream::whichCommunication(comm), + values, + tag, + comm + ); } @@ -336,7 +342,13 @@ void Foam::Pstream::scatterList const label comm ) { - Pstream::scatterList(UPstream::whichCommunication(comm), values, tag, comm); + Pstream::scatterList + ( + UPstream::whichCommunication(comm), + values, + tag, + comm + ); } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H index 7c114a54e87..aff75a17c0a 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,28 +46,6 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//- Reduce inplace (cf. MPI Allreduce) -//- using specified communication schedule. -template<class T, class BinaryOp> -void reduce -( - const List<UPstream::commsStruct>& comms, - T& value, - const BinaryOp& bop, - const int tag, - const label comm -) -{ - if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) - { - Pout<< "** reducing:" << value << " with comm:" << comm << endl; - error::printStack(Pout); - } - Pstream::gather(comms, value, bop, tag, comm); - Pstream::broadcast(value, comm); -} - - //- Reduce inplace (cf. MPI Allreduce) //- using linear/tree communication schedule template<class T, class BinaryOp> @@ -81,7 +59,13 @@ void reduce { if (UPstream::is_parallel(comm)) { - Foam::reduce(UPstream::whichCommunication(comm), value, bop, tag, comm); + if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) + { + Pout<< "** reducing:" << value << " with comm:" << comm << endl; + error::printStack(Pout); + } + Pstream::gather(value, bop, tag, comm); + Pstream::broadcast(value, comm); } } @@ -436,8 +420,7 @@ Pstream_SumReduce(double); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Convenience wrappers for some reduction operations -// - defined after all specialisations are known +// Convenience wrappers - defined after all specialisations are known //- Perform reduction on a copy, using specified binary operation // \return the resulting value diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C index 6e9fa98636f..5c96b9a3808 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C @@ -52,6 +52,7 @@ Foam::UPstream::commsTypeNames ({ { commsTypes::blocking, "blocking" }, { commsTypes::scheduled, "scheduled" }, + // { commsTypes::nonBlocking, "non-blocking" }, { commsTypes::nonBlocking, "nonBlocking" }, }); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H index 83b24683fe8..83760dfc3e1 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -895,21 +895,32 @@ public: ); //- Communication schedule for tree all-to-master (proc 0) - static const List<commsStruct>& treeCommunication + static const List<commsStruct>& + treeCommunication ( const label communicator = worldComm ); - //- Communication schedule for linear/tree all-to-master (proc 0). - //- Chooses based on the value of UPstream::nProcsSimpleSum + //- Communication schedule for all-to-master (proc 0) as + //- linear/tree/none with switching based on UPstream::nProcsSimpleSum + //- and the is_parallel() state static const List<commsStruct>& whichCommunication ( const label communicator = worldComm ) { + const label np + ( + parRun_ && is_rank(communicator) // cf. is_parallel() + ? nProcs(communicator) + : 0 + ); + return ( - nProcs(communicator) < nProcsSimpleSum + np <= 1 + ? List<commsStruct>::null() + : np < nProcsSimpleSum ? linearCommunication(communicator) : treeCommunication(communicator) ); @@ -1138,7 +1149,7 @@ public: // On master input list length == nProcs, ignored on other procs. // \n // For \b non-parallel : - // returns the first list element (or zero). + // returns the first list element (or default initialized). template<class T> static T listScatterValues ( diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstreamTemplates.C b/src/OpenFOAM/db/IOstreams/Pstreams/UPstreamTemplates.C index 10065bff3f6..6f71ec548f8 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstreamTemplates.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstreamTemplates.C @@ -34,14 +34,6 @@ Foam::List<T> Foam::UPstream::allGatherValues const label comm ) { - if (!is_contiguous<T>::value) - { - FatalErrorInFunction - << "Cannot all-gather values for non-contiguous types" << endl - << Foam::abort(FatalError); - } - - List<T> allValues; if (UPstream::is_parallel(comm)) @@ -49,7 +41,17 @@ Foam::List<T> Foam::UPstream::allGatherValues allValues.resize(UPstream::nProcs(comm)); allValues[UPstream::myProcNo(comm)] = localValue; - UPstream::mpiAllGather(allValues.data_bytes(), sizeof(T), comm); + if (is_contiguous<T>::value) + { + UPstream::mpiAllGather(allValues.data_bytes(), sizeof(T), comm); + } + else + { + FatalErrorInFunction + << "Cannot all-gather values for non-contiguous types" + " - consider Pstream variant instead" << endl + << Foam::abort(FatalError); + } } else { @@ -70,14 +72,6 @@ Foam::List<T> Foam::UPstream::listGatherValues const label comm ) { - if (!is_contiguous<T>::value) - { - FatalErrorInFunction - << "Cannot gather values for non-contiguous types" << endl - << Foam::abort(FatalError); - } - - List<T> allValues; if (UPstream::is_parallel(comm)) @@ -87,13 +81,23 @@ Foam::List<T> Foam::UPstream::listGatherValues allValues.resize(UPstream::nProcs(comm)); } - UPstream::mpiGather - ( - reinterpret_cast<const char*>(&localValue), - allValues.data_bytes(), - sizeof(T), // The send/recv size per rank - comm - ); + if (is_contiguous<T>::value) + { + UPstream::mpiGather + ( + reinterpret_cast<const char*>(&localValue), + allValues.data_bytes(), + sizeof(T), // The send/recv size per rank + comm + ); + } + else + { + FatalErrorInFunction + << "Cannot gather values for non-contiguous types" + " - consider Pstream variant instead" << endl + << Foam::abort(FatalError); + } } else { @@ -114,47 +118,46 @@ T Foam::UPstream::listScatterValues const label comm ) { - if (!is_contiguous<T>::value) - { - FatalErrorInFunction - << "Cannot scatter values for non-contiguous types" << endl - << Foam::abort(FatalError); - } - - - T localValue; + T localValue{}; if (UPstream::is_parallel(comm)) { - const label nproc = UPstream::nProcs(comm); + const label numProc = UPstream::nProcs(comm); - if (UPstream::master(comm) && allValues.size() < nproc) + if (UPstream::master(comm) && allValues.size() < numProc) { FatalErrorInFunction << "Attempting to send " << allValues.size() - << " values to " << nproc << " processors" << endl + << " values to " << numProc << " processors" << endl << Foam::abort(FatalError); } - UPstream::mpiScatter - ( - allValues.cdata_bytes(), - reinterpret_cast<char*>(&localValue), - sizeof(T), // The send/recv size per rank - comm - ); + if (is_contiguous<T>::value) + { + UPstream::mpiScatter + ( + allValues.cdata_bytes(), + reinterpret_cast<char*>(&localValue), + sizeof(T), // The send/recv size per rank + comm + ); + } + else + { + FatalErrorInFunction + << "Cannot scatter values for non-contiguous types" + " - consider Pstream variant instead" << endl + << Foam::abort(FatalError); + } } else { - // non-parallel: return local value + // non-parallel: return first value + // TBD: only when UPstream::is_rank(comm) as well? - if (UPstream::is_rank(comm) && !allValues.empty()) - { - localValue = allValues[0]; - } - else + if (!allValues.empty()) { - localValue = Zero; + return allValues[0]; } } -- GitLab From 6dadd3d33e803221123827bb7beb14818e4a3e97 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 1 Feb 2024 15:43:42 +0100 Subject: [PATCH 030/231] ENH: include cloudFunction results in vtkCloud writing (#3094) - process the contents of the cloud object registry, which enables output support for calculated values such as Reynolds, Weber numbers etc. ENH: select any/all clouds by default instead of defaultCloud - adds robustness --- .../lagrangian/dataCloud/dataCloud.C | 37 +++++++--- .../lagrangian/dataCloud/dataCloud.H | 12 ++-- .../lagrangian/dataCloud/dataCloudTemplates.C | 8 +-- .../lagrangian/vtkCloud/vtkCloud.C | 68 +++++++++++++------ .../lagrangian/vtkCloud/vtkCloud.H | 8 +-- .../lagrangian/vtkCloud/vtkCloudTemplates.C | 20 ++++-- 6 files changed, 102 insertions(+), 51 deletions(-) diff --git a/src/functionObjects/lagrangian/dataCloud/dataCloud.C b/src/functionObjects/lagrangian/dataCloud/dataCloud.C index e34be5bc705..8ff65489f56 100644 --- a/src/functionObjects/lagrangian/dataCloud/dataCloud.C +++ b/src/functionObjects/lagrangian/dataCloud/dataCloud.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,12 +52,16 @@ bool Foam::functionObjects::dataCloud::writeCloud const word& cloudName ) { - const auto* objPtr = mesh_.findObject<cloud>(cloudName); - if (!objPtr) + applyFilter_ = false; + + const auto* cloudPtr = mesh_.findObject<cloud>(cloudName); + if (!cloudPtr) { return false; } + const auto& currCloud = *cloudPtr; + objectRegistry obrTmp ( IOobject @@ -71,7 +75,7 @@ bool Foam::functionObjects::dataCloud::writeCloud ) ); - objPtr->writeObjects(obrTmp); + currCloud.writeObjects(obrTmp); const auto* pointsPtr = cloud::findIOPosition(obrTmp); @@ -86,7 +90,10 @@ bool Foam::functionObjects::dataCloud::writeCloud // Number of parcels (locally) - label nParcels = (applyFilter_ ? parcelAddr_.count() : pointsPtr->size()); + const label nParcels + ( + applyFilter_ ? parcelAddr_.count() : pointsPtr->size() + ); // Total number of parcels on all processes const label nTotParcels = returnReduce(nParcels, sumOp<label>()); @@ -104,9 +111,9 @@ bool Foam::functionObjects::dataCloud::writeCloud return false; } - if (Pstream::master()) + if (UPstream::master()) { - mkDir(outputName.path()); + Foam::mkDir(outputName.path()); } return @@ -163,12 +170,15 @@ bool Foam::functionObjects::dataCloud::read(const dictionary& dict) selectClouds_.clear(); dict.readIfPresent("clouds", selectClouds_); + selectClouds_.uniq(); if (selectClouds_.empty()) { - selectClouds_.resize(1); - selectClouds_.first() = - dict.getOrDefault<word>("cloud", cloud::defaultName); + word cloudName; + if (dict.readIfPresent("cloud", cloudName)) + { + selectClouds_.push_back(std::move(cloudName)); + } } dict.readEntry("field", fieldName_); @@ -209,7 +219,12 @@ bool Foam::functionObjects::dataCloud::execute() bool Foam::functionObjects::dataCloud::write() { - const wordList cloudNames(mesh_.sortedNames<cloud>(selectClouds_)); + const wordList cloudNames + ( + selectClouds_.empty() + ? mesh_.sortedNames<cloud>() + : mesh_.sortedNames<cloud>(selectClouds_) + ); if (cloudNames.empty()) { diff --git a/src/functionObjects/lagrangian/dataCloud/dataCloud.H b/src/functionObjects/lagrangian/dataCloud/dataCloud.H index 4943ccf1c70..33b2791b6bb 100644 --- a/src/functionObjects/lagrangian/dataCloud/dataCloud.H +++ b/src/functionObjects/lagrangian/dataCloud/dataCloud.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,10 +48,10 @@ Description \heading Basic Usage \table Property | Description | Required | Default - type | Type name: dataCloud | yes | + type | Type name: dataCloud | yes | clouds | List of clouds (name or regex) | no | - cloud | Cloud name | no | defaultCloud - field | Name of the field | yes | + cloud | Cloud name | no | + field | Name of the field | yes | selection | Parcel selection control | no | empty-dict \endtable @@ -103,7 +103,7 @@ class dataCloud public fvMeshFunctionObject, public Foam::Detail::parcelSelection { - // Private data + // Private Data //- The printf format for zero-padding names string printf_; @@ -177,7 +177,7 @@ class dataCloud bool writeField ( const fileName& outputName, - const objectRegistry& obrTmp + const objectRegistry& obr ) const; diff --git a/src/functionObjects/lagrangian/dataCloud/dataCloudTemplates.C b/src/functionObjects/lagrangian/dataCloud/dataCloudTemplates.C index d2b6e16b130..67319c08efe 100644 --- a/src/functionObjects/lagrangian/dataCloud/dataCloudTemplates.C +++ b/src/functionObjects/lagrangian/dataCloud/dataCloudTemplates.C @@ -171,10 +171,10 @@ template<class Type> bool Foam::functionObjects::dataCloud::writeField ( const fileName& outputName, - const objectRegistry& obrTmp + const objectRegistry& obr ) const { - const auto* pointsPtr = cloud::findIOPosition(obrTmp); + const auto* pointsPtr = cloud::findIOPosition(obr); if (!pointsPtr) { @@ -185,8 +185,8 @@ bool Foam::functionObjects::dataCloud::writeField // Fields are not always on all processors (eg, multi-component parcels). // Thus need to resolve between all processors. - const List<Type>* fldPtr = obrTmp.findObject<IOField<Type>>(fieldName_); - const List<Type>& values = (fldPtr ? *fldPtr : List<Type>()); + const List<Type>* fldPtr = obr.findObject<IOField<Type>>(fieldName_); + const List<Type>& values = (fldPtr ? *fldPtr : List<Type>::null()); if (!returnReduceOr(fldPtr != nullptr)) { diff --git a/src/functionObjects/lagrangian/vtkCloud/vtkCloud.C b/src/functionObjects/lagrangian/vtkCloud/vtkCloud.C index 08557fd4014..223fa2feab4 100644 --- a/src/functionObjects/lagrangian/vtkCloud/vtkCloud.C +++ b/src/functionObjects/lagrangian/vtkCloud/vtkCloud.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -101,12 +101,16 @@ bool Foam::functionObjects::vtkCloud::writeCloud const word& cloudName ) { - const auto* objPtr = mesh_.findObject<cloud>(cloudName); - if (!objPtr) + applyFilter_ = false; + + const auto* cloudPtr = mesh_.cfindObject<cloud>(cloudName); + if (!cloudPtr) { return false; } + const auto& currCloud = *cloudPtr; + objectRegistry obrTmp ( IOobject @@ -120,7 +124,7 @@ bool Foam::functionObjects::vtkCloud::writeCloud ) ); - objPtr->writeObjects(obrTmp); + currCloud.writeObjects(obrTmp); const auto* pointsPtr = cloud::findIOPosition(obrTmp); @@ -135,7 +139,10 @@ bool Foam::functionObjects::vtkCloud::writeCloud // Number of parcels (locally) - label nParcels = (applyFilter_ ? parcelAddr_.count() : pointsPtr->size()); + const label nParcels + ( + applyFilter_ ? parcelAddr_.count() : pointsPtr->size() + ); // Total number of parcels on all processes const label nTotParcels = returnReduce(nParcels, sumOp<label>()); @@ -163,9 +170,9 @@ bool Foam::functionObjects::vtkCloud::writeCloud << exit(FatalError); } - if (Pstream::master()) + if (UPstream::master()) { - mkDir(file.path()); + Foam::mkDir(file.path()); os.open(file); format = writeOpts_.newFormatter(os); @@ -238,7 +245,7 @@ bool Foam::functionObjects::vtkCloud::writeCloud } - if (Pstream::master()) + if (UPstream::master()) { format().flush(); format().endDataArray(); @@ -270,7 +277,7 @@ bool Foam::functionObjects::vtkCloud::writeCloud // Write fields - if (Pstream::master()) + if (UPstream::master()) { if (useVerts_) { @@ -282,13 +289,28 @@ bool Foam::functionObjects::vtkCloud::writeCloud } } - DynamicList<word> written(obrTmp.size()); + DynamicList<word> written(obrTmp.size() + currCloud.objectRegistry::size()); - written.append(writeFields<label>(format, obrTmp, nTotParcels)); - written.append(writeFields<scalar>(format, obrTmp, nTotParcels)); - written.append(writeFields<vector>(format, obrTmp, nTotParcels)); + written.push_back + ( + writeFields<label>(format, obrTmp, nTotParcels) + ); + written.push_back + ( + writeFields<scalar>(format, obrTmp, nTotParcels) + ); + written.push_back + ( + writeFields<vector>(format, obrTmp, nTotParcels) + ); + + // Any cloudFunctions results + written.push_back + ( + writeFields<scalar>(format, currCloud, nTotParcels) + ); - if (Pstream::master()) + if (UPstream::master()) { if (useVerts_) { @@ -415,12 +437,15 @@ bool Foam::functionObjects::vtkCloud::read(const dictionary& dict) selectClouds_.clear(); dict.readIfPresent("clouds", selectClouds_); + selectClouds_.uniq(); if (selectClouds_.empty()) { - selectClouds_.resize(1); - selectClouds_.first() = - dict.getOrDefault<word>("cloud", cloud::defaultName); + word cloudName; + if (dict.readIfPresent("cloud", cloudName)) + { + selectClouds_.push_back(std::move(cloudName)); + } } selectFields_.clear(); @@ -463,7 +488,12 @@ bool Foam::functionObjects::vtkCloud::execute() bool Foam::functionObjects::vtkCloud::write() { - const wordList cloudNames(mesh_.sortedNames<cloud>(selectClouds_)); + const wordList cloudNames + ( + selectClouds_.empty() + ? mesh_.sortedNames<cloud>() + : mesh_.sortedNames<cloud>(selectClouds_) + ); if (cloudNames.empty()) { @@ -498,7 +528,7 @@ bool Foam::functionObjects::vtkCloud::write() Log << " cloud : " << time_.relativePath(outputName) << endl; - if (Pstream::master()) + if (UPstream::master()) { // Add to file-series and emit as JSON fileName seriesName(vtk::seriesWriter::base(outputName)); diff --git a/src/functionObjects/lagrangian/vtkCloud/vtkCloud.H b/src/functionObjects/lagrangian/vtkCloud/vtkCloud.H index 9511de0db04..648414eb2c3 100644 --- a/src/functionObjects/lagrangian/vtkCloud/vtkCloud.H +++ b/src/functionObjects/lagrangian/vtkCloud/vtkCloud.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -81,7 +81,7 @@ Description Property | Description | Required | Default type | Type name: vtkCloud | yes | clouds | List of clouds (name or regex) | no | - cloud | Cloud name | no | defaultCloud + cloud | Cloud name | no | fields | List of fields (name or regex) | no | selection | Parcel selection control | no | empty-dict \endtable @@ -160,7 +160,7 @@ class vtkCloud public fvMeshFunctionObject, public Foam::Detail::parcelSelection { - // Private data + // Private Data //- Writer options vtk::outputOptions writeOpts_; @@ -209,7 +209,7 @@ class vtkCloud wordList writeFields ( autoPtr<vtk::formatter>& format, - const objectRegistry& obrTmp, + const objectRegistry& obr, const label nTotParcels ) const; diff --git a/src/functionObjects/lagrangian/vtkCloud/vtkCloudTemplates.C b/src/functionObjects/lagrangian/vtkCloud/vtkCloudTemplates.C index c28bc1fe4c7..f61c1de41e6 100644 --- a/src/functionObjects/lagrangian/vtkCloud/vtkCloudTemplates.C +++ b/src/functionObjects/lagrangian/vtkCloud/vtkCloudTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -33,7 +33,7 @@ template<class Type> Foam::wordList Foam::functionObjects::vtkCloud::writeFields ( autoPtr<vtk::formatter>& format, - const objectRegistry& obrTmp, + const objectRegistry& obr, const label nTotParcels ) const { @@ -55,16 +55,22 @@ Foam::wordList Foam::functionObjects::vtkCloud::writeFields // Fields are not always on all processors (eg, multi-component parcels). // Thus need to resolve names between all processors. - wordList fieldNames(obrTmp.names<IOField<Type>>()); + wordList fieldNames = + ( + selectFields_.size() + ? obr.names<IOField<Type>>(selectFields_) + : obr.names<IOField<Type>>() + ); + Pstream::combineReduce(fieldNames, ListOps::uniqueEqOp<word>()); Foam::sort(fieldNames); // Consistent order for (const word& fieldName : fieldNames) { - const List<Type>* fldPtr = obrTmp.findObject<IOField<Type>>(fieldName); - const List<Type>& values = (fldPtr ? *fldPtr : List<Type>()); + const List<Type>* fldPtr = obr.findObject<IOField<Type>>(fieldName); + const List<Type>& values = (fldPtr ? *fldPtr : List<Type>::null()); - if (Pstream::master()) + if (UPstream::master()) { if (std::is_same<label, typename pTraits<Type>::cmptType>::value) { @@ -93,7 +99,7 @@ Foam::wordList Foam::functionObjects::vtkCloud::writeFields vtk::writeListParallel(format.ref(), values); } - if (Pstream::master()) + if (UPstream::master()) { // Non-legacy format().flush(); -- GitLab From 4ae4f0928d275665f739f53c6c19ba4d6f0d579c Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 2 Feb 2024 12:27:51 +0100 Subject: [PATCH 031/231] ENH: ensightFile writeInt() method to replace two-parameter write - more explicit/transparent handling - avoids compiler warnings about non-virtual methods --- src/fileFormats/ensight/file/ensightFile.C | 63 ++++++++++--------- src/fileFormats/ensight/file/ensightFile.H | 19 ++++-- .../conversion/ensight/ensightOutputCloud.C | 4 +- 3 files changed, 49 insertions(+), 37 deletions(-) diff --git a/src/fileFormats/ensight/file/ensightFile.C b/src/fileFormats/ensight/file/ensightFile.C index dca789e4c15..6ee8f464baf 100644 --- a/src/fileFormats/ensight/file/ensightFile.C +++ b/src/fileFormats/ensight/file/ensightFile.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -221,7 +221,7 @@ Foam::Ostream& Foam::ensightFile::write } -Foam::Ostream& Foam::ensightFile::write(const int32_t val) +void Foam::ensightFile::writeInt(const int32_t val, const int fieldWidth) { if (format() == IOstreamOption::BINARY) { @@ -233,24 +233,22 @@ Foam::Ostream& Foam::ensightFile::write(const int32_t val) } else { - stdStream().width(10); + stdStream().width(fieldWidth); stdStream() << val; syncState(); } - - return *this; } -Foam::Ostream& Foam::ensightFile::write(const int64_t val) +void Foam::ensightFile::writeInt(const int64_t val, const int fieldWidth) { - int32_t ivalue(narrowInt32(val)); + int32_t work(narrowInt32(val)); - return write(ivalue); + writeInt(work, fieldWidth); } -Foam::Ostream& Foam::ensightFile::write(const float val) +void Foam::ensightFile::writeFloat(const float val, const int fieldWidth) { if (format() == IOstreamOption::BINARY) { @@ -262,40 +260,45 @@ Foam::Ostream& Foam::ensightFile::write(const float val) } else { - stdStream().width(12); + stdStream().width(fieldWidth); stdStream() << val; syncState(); } +} - return *this; + +void Foam::ensightFile::writeFloat(const double val, const int fieldWidth) +{ + float work(narrowFloat(val)); + + writeFloat(work, fieldWidth); } -Foam::Ostream& Foam::ensightFile::write(const double val) +Foam::Ostream& Foam::ensightFile::write(const int32_t val) { - float fvalue(narrowFloat(val)); + writeInt(val, 10); + return *this; +} + - return write(fvalue); +Foam::Ostream& Foam::ensightFile::write(const int64_t val) +{ + writeInt(val, 10); + return *this; } -Foam::Ostream& Foam::ensightFile::write -( - const label value, - const label fieldWidth -) +Foam::Ostream& Foam::ensightFile::write(const float val) { - if (format() == IOstreamOption::BINARY) - { - write(value); - } - else - { - stdStream().width(fieldWidth); - stdStream() << value; - syncState(); - } + writeFloat(val, 12); + return *this; +} + +Foam::Ostream& Foam::ensightFile::write(const double val) +{ + writeFloat(val, 12); return *this; } @@ -376,7 +379,7 @@ void Foam::ensightFile::beginParticleCoordinates(const label nparticles) { writeString("particle coordinates"); newline(); - write(nparticles, 8); // unusual width + writeInt(nparticles, 8); // Warning: unusual width newline(); } diff --git a/src/fileFormats/ensight/file/ensightFile.H b/src/fileFormats/ensight/file/ensightFile.H index 2e16f0e95d2..79ed2f0a7b5 100644 --- a/src/fileFormats/ensight/file/ensightFile.H +++ b/src/fileFormats/ensight/file/ensightFile.H @@ -163,6 +163,18 @@ public: //- Write string as "%79s" or as binary (max 80 chars) void writeString(const std::string& str); + //- Write integer value with specified width or as binary + void writeInt(const int32_t val, const int fieldWidth); + + //- Write (narrowed) integer value with specified width or as binary + void writeInt(const int64_t val, const int fieldWidth); + + //- Write floating-point with specified width or as binary + void writeFloat(const float val, const int fieldWidth); + + //- Write (narrowed) floating-point with specified width or as binary + void writeFloat(const double val, const int fieldWidth); + //- Write undef value void writeUndef(); @@ -197,15 +209,12 @@ public: //- Write string, uses writeString() virtual Ostream& write(const std::string& str) override; - //- Write integer as "%10d" or as binary + //- Write integer value as "%10d" or as binary virtual Ostream& write(const int32_t val) override; - //- Write integer as "%10d" or as binary + //- Write integer value as "%10d" or as binary (narrowed to int32_t) virtual Ostream& write(const int64_t val) override; - //- Write integer with specified width or as binary - Ostream& write(const label value, const label fieldWidth); - //- Write floating-point as "%12.5e" or as binary virtual Ostream& write(const float val) override; diff --git a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C index d81b259444b..747bb0abebf 100644 --- a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C +++ b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,7 +61,7 @@ static inline label writeMeasured_ascii { for (const floatVector& p : points) { - os.write(++pointId, 8); // 1-index and an unusual width + os.writeInt(++pointId, 8); // 1-index and an unusual width os.write(p.x()); os.write(p.y()); os.write(p.z()); -- GitLab From cb416fb3ec92f87e2d6ce6fa6898bfcda0147b33 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 1 Feb 2024 12:41:37 +0100 Subject: [PATCH 032/231] ENH: add ensight writeBox method (eg, for simple 'placeholder' geometry) - related to issue #3095. Some type of geometry is required when loading "measured" ensight data. ENH: emit a fallback geometry-box for foamToEnsight - eg, with "foamToEnsight -no-internal -no-boundary" and lagrangian --- src/fileFormats/ensight/mesh/ensightMesh.C | 15 ++++++- src/fileFormats/ensight/mesh/ensightMesh.H | 14 ++++--- .../ensight/part/cells/ensightCells.H | 13 +++++- .../ensight/part/cells/ensightCellsIO.C | 42 ++++++++++++++++++- src/finiteArea/output/ensight/ensightFaMesh.H | 4 +- 5 files changed, 78 insertions(+), 10 deletions(-) diff --git a/src/fileFormats/ensight/mesh/ensightMesh.C b/src/fileFormats/ensight/mesh/ensightMesh.C index 8681c14abbc..d57478fa2d8 100644 --- a/src/fileFormats/ensight/mesh/ensightMesh.C +++ b/src/fileFormats/ensight/mesh/ensightMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -449,6 +449,19 @@ void Foam::ensightMesh::write { faceZoneParts_[id].write(os, mesh_, parallel); } + + // No geometry parts written? + // - with lagrangian-only output the VTK EnsightReader still + // needs a volume geometry, and ensight usually does too + if + ( + cellZoneParts_.empty() + && boundaryParts_.empty() + && faceZoneParts_.empty() + ) + { + ensightCells::writeBox(os, mesh_.bounds()); + } } diff --git a/src/fileFormats/ensight/mesh/ensightMesh.H b/src/fileFormats/ensight/mesh/ensightMesh.H index fb61d716ebd..a0cc1cbf54d 100644 --- a/src/fileFormats/ensight/mesh/ensightMesh.H +++ b/src/fileFormats/ensight/mesh/ensightMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -216,18 +216,22 @@ public: // Output - //- Write geometry to file. Normally in parallel + //- Write geometry to file (normally in parallel). + // If all geometry is disabled, it will simply writes the mesh + // bounding box (to ensure that the geometry file is non-empty) void write ( ensightGeoFile& os, - bool parallel = Pstream::parRun() + bool parallel = UPstream::parRun() ) const; - //- Write geometry to file. Normally in parallel + //- Write geometry to file (normally in parallel). + // If all geometry is disabled, it will simply writes the mesh + // bounding box (to ensure that the geometry file is non-empty) inline void write ( autoPtr<ensightGeoFile>& os, - bool parallel = Pstream::parRun() + bool parallel = UPstream::parRun() ) const; }; diff --git a/src/fileFormats/ensight/part/cells/ensightCells.H b/src/fileFormats/ensight/part/cells/ensightCells.H index ac64cd0d81c..5b2197a2069 100644 --- a/src/fileFormats/ensight/part/cells/ensightCells.H +++ b/src/fileFormats/ensight/part/cells/ensightCells.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,6 +46,7 @@ namespace Foam // Forward Declarations class bitSet; +class boundBox; class polyMesh; template<class T> class InfoProxy; @@ -279,6 +280,16 @@ public: const polyMesh& mesh, bool parallel ) const; + + //- Write bounding box geometry. + //- All parameters are only relevant on master + static void writeBox + ( + ensightGeoFile& os, + const boundBox& bb, + const label partIndex = 0, + const word& partName = "geometry-box" + ); }; diff --git a/src/fileFormats/ensight/part/cells/ensightCellsIO.C b/src/fileFormats/ensight/part/cells/ensightCellsIO.C index f45f70a4176..2223861df62 100644 --- a/src/fileFormats/ensight/part/cells/ensightCellsIO.C +++ b/src/fileFormats/ensight/part/cells/ensightCellsIO.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,9 @@ License #include "ensightCells.H" #include "ensightOutput.H" #include "InfoProxy.H" +#include "boundBox.H" #include "polyMesh.H" +#include "cellModel.H" #include "globalIndex.H" #include "globalMeshData.H" #include "manifoldCellsMeshObject.H" @@ -330,6 +332,44 @@ void Foam::ensightCells::write } +void Foam::ensightCells::writeBox +( + ensightGeoFile& os, + const boundBox& bb, + const label partIndex, + const word& partName +) +{ + pointField points; + cellShapeList shapes; + + if (UPstream::master()) + { + points = bb.hexCorners(); + shapes.emplace_back(cellModel::HEX, identity(8)); + } + + ensightOutput::Detail::writeCoordinates + ( + os, + partIndex, + partName, + 8, // nPoints (global) + points, + false // serial only! (parallel=false) + ); + + if (UPstream::master()) + { + os.writeKeyword(ensightCells::key(ensightCells::elemType::HEXA8)); + os.write(shapes.size()); // one cell (global) + os.newline(); + + ensightOutput::writeCellShapes(os, shapes); + } +} + + // * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // template<> diff --git a/src/finiteArea/output/ensight/ensightFaMesh.H b/src/finiteArea/output/ensight/ensightFaMesh.H index 394b4d5463e..ce3deb7534a 100644 --- a/src/finiteArea/output/ensight/ensightFaMesh.H +++ b/src/finiteArea/output/ensight/ensightFaMesh.H @@ -148,14 +148,14 @@ public: void write ( ensightGeoFile& os, - bool parallel = Pstream::parRun() + bool parallel = UPstream::parRun() ) const; //- Write geometry to file. Normally in parallel inline void write ( autoPtr<ensightGeoFile>& os, - bool parallel = Pstream::parRun() + bool parallel = UPstream::parRun() ) const; }; -- GitLab From fe1d7e01d6c67c885740ac98d77b8314e914865f Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 20:24:23 +0100 Subject: [PATCH 033/231] ENH: extend ensightCloud write-measured support - related to issue #3095 --- .../conversion/ensight/ensightOutputCloud.C | 159 +++++++++++------- .../conversion/ensight/ensightOutputCloud.H | 51 +++++- .../ensight/ensightOutputCloudTemplates.C | 39 +++-- 3 files changed, 175 insertions(+), 74 deletions(-) diff --git a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C index 747bb0abebf..720ad68a457 100644 --- a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C +++ b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C @@ -43,7 +43,7 @@ static inline void writeMeasured_binary const UList<floatVector>& points ) { - for (const floatVector& p : points) + for (const auto& p : points) { os.write(p.x()); os.write(p.y()); @@ -59,7 +59,7 @@ static inline label writeMeasured_ascii const UList<floatVector>& points ) { - for (const floatVector& p : points) + for (const auto& p : points) { os.writeInt(++pointId, 8); // 1-index and an unusual width os.write(p.x()); @@ -79,75 +79,24 @@ static inline label writeMeasured_ascii bool Foam::ensightOutput::writeCloudPositions ( ensightFile& os, - const fvMesh& mesh, - const word& cloudName, - bool exists + DynamicList<floatVector>& positions, + const globalIndex& procAddr ) { - label nLocalParcels(0); - autoPtr<Cloud<passiveParticle>> parcelsPtr; + // Total number of parcels across all ranks + const label nTotParcels = procAddr.totalSize(); - if (exists) - { - parcelsPtr.reset(new Cloud<passiveParticle>(mesh, cloudName, false)); - nLocalParcels = parcelsPtr().size(); - } - - // Total number of parcels on all processes - const label nTotParcels = returnReduce(nLocalParcels, sumOp<label>()); + bool noCloud(!procAddr.totalSize()); + Pstream::broadcast(noCloud); if (UPstream::master()) { os.beginParticleCoordinates(nTotParcels); } - if (!nTotParcels) - { - return false; // DONE - } - - - // Gather sizes (offsets irrelevant) - const globalIndex procAddr(globalIndex::gatherOnly{}, nLocalParcels); - - - DynamicList<floatVector> positions; - positions.reserve(UPstream::master() ? procAddr.maxSize() : nLocalParcels); - - // Extract positions from parcel. - // Store as floatVector, since that is what Ensight will write anyhow - - if (parcelsPtr) + if (noCloud) { - const auto& parcels = *parcelsPtr; - - positions.resize_nocopy(parcels.size()); // same as nLocalParcels - - auto outIter = positions.begin(); - - if (std::is_same<float, vector::cmptType>::value) - { - for (const passiveParticle& p : parcels) - { - *outIter = p.position(); - ++outIter; - } - } - else - { - for (const passiveParticle& p : parcels) - { - vector pos(p.position()); - - (*outIter).x() = narrowFloat(pos.x()); - (*outIter).y() = narrowFloat(pos.y()); - (*outIter).z() = narrowFloat(pos.z()); - - ++outIter; - } - } - - parcelsPtr.reset(nullptr); + return false; // All empty } if (UPstream::master()) @@ -178,6 +127,9 @@ bool Foam::ensightOutput::writeCloudPositions } + positions.clear(); + positions.reserve_nocopy(procAddr.maxNonLocalSize()); + // Receive and write for (const label proci : procAddr.subProcs()) { @@ -186,6 +138,7 @@ bool Foam::ensightOutput::writeCloudPositions if (procSize) { positions.resize_nocopy(procSize); + UIPstream::read ( UPstream::commsTypes::scheduled, @@ -205,7 +158,7 @@ bool Foam::ensightOutput::writeCloudPositions } } } - else + else if (UPstream::is_subrank()) { if (positions.size()) { @@ -223,4 +176,86 @@ bool Foam::ensightOutput::writeCloudPositions } +bool Foam::ensightOutput::writeCloudPositions +( + ensightFile& os, + DynamicList<floatVector>& positions +) +{ + return ensightOutput::writeCloudPositions + ( + os, + positions, + // Gather sizes (offsets irrelevant) + globalIndex(globalIndex::gatherOnly{}, positions.size()) + ); +} + + +bool Foam::ensightOutput::writeCloudPositions +( + ensightFile& os, + const fvMesh& mesh, + const word& cloudName, + bool exists +) +{ + autoPtr<Cloud<passiveParticle>> parcelsPtr; + + if (exists) + { + parcelsPtr.reset(new Cloud<passiveParticle>(mesh, cloudName, false)); + } + + const label nLocalParcels + ( + parcelsPtr ? parcelsPtr->size() : 0 + ); + + // Gather sizes (offsets irrelevant) + // and total number of parcels (all processes) + const globalIndex procAddr(globalIndex::gatherOnly{}, nLocalParcels); + + // Extract positions from parcel. + // Store as floatVector, since that is what Ensight will write anyhow + + DynamicList<floatVector> positions; + positions.reserve(UPstream::master() ? procAddr.maxSize() : nLocalParcels); + + if (parcelsPtr) + { + const auto& parcels = *parcelsPtr; + + positions.resize_nocopy(parcels.size()); // same as nLocalParcels + + auto iter = positions.begin(); + + if (std::is_same<float, vector::cmptType>::value) + { + for (const auto& p : parcels) + { + *iter = p.position(); + ++iter; + } + } + else + { + for (const auto& p : parcels) + { + const vector pos(p.position()); + + (*iter).x() = narrowFloat(pos.x()); + (*iter).y() = narrowFloat(pos.y()); + (*iter).z() = narrowFloat(pos.z()); + ++iter; + } + } + + parcelsPtr.reset(nullptr); + } + + return ensightOutput::writeCloudPositions(os, positions, procAddr); +} + + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.H b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.H index e83fbecec0c..323296eb261 100644 --- a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.H +++ b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,6 +40,8 @@ SourceFiles #include "ensightFile.H" #include "IOField.H" +#include "DynamicList.H" +#include "vector.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -48,6 +50,7 @@ namespace Foam // Forward Declarations class fvMesh; +class globalIndex; namespace ensightOutput { @@ -55,6 +58,34 @@ namespace ensightOutput // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +//- Write cloud positions +bool writeCloudPositions +( + //! Output file (must be valid on master) + ensightFile& os, + + //! The positions (measured data) to write. + //! Also used as intermediate buffer (on master) + DynamicList<floatVector>& positions, + + //! The global sizes of \p positions (must be valid on master) + //! and consistent with \p positions dimensions + const globalIndex& procAddr +); + + +//- Write cloud positions +bool writeCloudPositions +( + //! Output file (must be valid on master) + ensightFile& os, + + //! The positions (measured data) to write. + //! Also used as intermediate buffer (on master) + DynamicList<floatVector>& positions +); + + //- Write cloud positions bool writeCloudPositions ( @@ -80,7 +111,23 @@ bool writeCloudField ensightFile& os, //! The cloud field - const IOField<Type>& field + const UList<Type>& field, + + //! The global sizes of \p field (must be valid on master) + //! and consistent with \p field dimensions + const globalIndex& procAddr +); + + +//- Write cloud field, returning true if the field is non-empty. +template<class Type> +bool writeCloudField +( + //! Output file (must be valid on master) + ensightFile& os, + + //! The cloud field + const UList<Type>& field ); diff --git a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloudTemplates.C b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloudTemplates.C index cc865cc7d3b..85b5d8a898a 100644 --- a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloudTemplates.C +++ b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloudTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -39,7 +39,6 @@ Foam::label Foam::ensightOutput::Detail::writeCloudFieldContent label count ) { - // Write master data for (Type val : field) // <-- working on a copy! { if (mag(val) < 1e-90) // approximately root(ROOTVSMALL) @@ -70,18 +69,20 @@ template<class Type> bool Foam::ensightOutput::writeCloudField ( ensightFile& os, - const IOField<Type>& field + const UList<Type>& field, + const globalIndex& procAddr ) { - if (returnReduceAnd(field.empty())) + bool allEmpty(!procAddr.totalSize()); + Pstream::broadcast(allEmpty); + + if (allEmpty) { - return false; + return false; // All empty } - // Gather sizes (offsets irrelevant) - const globalIndex procAddr(globalIndex::gatherOnly{}, field.size()); - if (Pstream::master()) + if (UPstream::master()) { // 6 values per line label count = 0; @@ -128,7 +129,7 @@ bool Foam::ensightOutput::writeCloudField os.newline(); } } - else + else if (UPstream::is_subrank()) { if (field.size()) { @@ -146,6 +147,23 @@ bool Foam::ensightOutput::writeCloudField } +template<class Type> +bool Foam::ensightOutput::writeCloudField +( + ensightFile& os, + const UList<Type>& field +) +{ + return ensightOutput::writeCloudField + ( + os, + field, + // Gather sizes (offsets irrelevant) + globalIndex(globalIndex::gatherOnly{}, field.size()) + ); +} + + template<class Type> bool Foam::ensightOutput::readWriteCloudField ( @@ -162,10 +180,11 @@ bool Foam::ensightOutput::readWriteCloudField IOobject io(fieldObject); io.readOpt(IOobject::READ_IF_PRESENT); + io.registerObject(IOobject::NO_REGISTER); IOField<Type> field(io); - writeCloudField(os, field); + ensightOutput::writeCloudField(os, field); } return true; -- GitLab From 52f5a6d0390d0fb05791df6da3d13dcef342124d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 26 Jan 2024 14:13:35 +0100 Subject: [PATCH 034/231] ENH: additional ensightCloud function object (#3095) --- src/functionObjects/lagrangian/Make/files | 1 + .../ensightCloud/ensightCloudWriteObject.H | 266 +++++++++++ .../ensightCloud/ensightCloudWriteObject.cxx | 425 ++++++++++++++++++ .../ensightCloudWriteObjectImpl.cxx | 106 +++++ 4 files changed, 798 insertions(+) create mode 100644 src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.H create mode 100644 src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.cxx create mode 100644 src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObjectImpl.cxx diff --git a/src/functionObjects/lagrangian/Make/files b/src/functionObjects/lagrangian/Make/files index e349d4f5454..51e5c3b1128 100644 --- a/src/functionObjects/lagrangian/Make/files +++ b/src/functionObjects/lagrangian/Make/files @@ -5,5 +5,6 @@ icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.C dsmcFields/dsmcFields.C vtkCloud/vtkCloud.C +ensightCloud/ensightCloudWriteObject.cxx LIB = $(FOAM_LIBBIN)/liblagrangianFunctionObjects diff --git a/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.H b/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.H new file mode 100644 index 00000000000..ea10e6bcd74 --- /dev/null +++ b/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.H @@ -0,0 +1,266 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::functionObjects::ensightCloudWriteObject + +Group + grpLagrangianFunctionObjects + +Description + This functionObject writes cloud(s) in ensight format + + Example of function object specification: + \verbatim + cloudWrite1 + { + type ensightCloud; + libs (lagrangianFunctionObjects); + writeControl writeTime; + writeInterval 1; + format ascii; + + timeFormat scientific; + timePrecision 5; + + cloud myCloud; + fields (T U rho); + width 4; // file-padding + + selection + { + stride + { + // every 10th parcelId + action add; + source stride; + stride 10; + } + Umin + { + // Remove slow parcels + action subtract; + source field; + field U; + accept (less 1e-3); + } + diam + { + // Only particular diameter ranges + action subset; + source field; + field d; + accept (greater 1e-3) and (less 1e-3); + } + } + } + \endverbatim + + \heading Basic Usage + \table + Property | Description | Required | Default + type | Type name: ensightCloud | yes | + clouds | List of clouds (name or regex) | no | + cloud | Cloud name | no | + fields | List of fields (name or regex) | no | + selection | Parcel selection control | no | empty-dict + \endtable + + \heading Output Options + \table + Property | Description | Required | Default + format | Format as ascii or binary | no | binary + width | Mask width for \c data/XXXX | no | 8 + directory | The output directory name | no | postProcessing/NAME + overwrite | Remove existing directory | no | false + consecutive | Consecutive output numbering | no | false + width | Padding width for file name | no | 8 + prune | Suppress writing of empty clouds | no | false + timeFormat | Time format (ensight case) | no | scientific + timePrecision | Time precision (ensight case) | no | 5 + writeControl | Output control | recommended | timeStep + \endtable + + The output filename and fields are added to the functionObjectProperties + information. For the previous example specification: + + \verbatim + cloudWrite1 + { + myCloud + { + file "<case>/simulation.case"; + fields (T U rho); + } + } + \endverbatim + +Note + The selection dictionary can be used for finer control of the parcel + output. It contains a set of (add,subtract,subset,clear,invert) + selection actions and sources. + Omitting the selection dictionary is the same as specifying the + conversion of all parcels (in the selected clouds). + More syntax details are to be found in the corresponding + Foam::Detail::parcelSelection class. + +See also + Foam::Detail::parcelSelection + Foam::functionObjects::vtkCloud + Foam::functionObjects::ensightWrite + Foam::functionObjects::fvMeshFunctionObject + Foam::functionObjects::timeControl + +SourceFiles + ensightCloudWriteObject.cxx + ensightCloudWriteObjectImpl.cxx + +\*---------------------------------------------------------------------------*/ + +#ifndef functionObjects_ensightCloudWriteObject_H +#define functionObjects_ensightCloudWriteObject_H + +#include "fvMeshFunctionObject.H" +#include "ensightCase.H" +#include "globalIndex.H" +#include "parcelSelectionDetail.H" +#include "wordRes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace functionObjects +{ + +/*---------------------------------------------------------------------------*\ + Class ensightCloudWriteObject Declaration +\*---------------------------------------------------------------------------*/ + +class ensightCloudWriteObject +: + public fvMeshFunctionObject, + public Foam::Detail::parcelSelection +{ + // Private Data + + //- Ensight output options + ensightCase::options caseOpts_; + + //- Output directory + fileName outputDir_; + + //- Consecutive output numbering + bool consecutive_; + + //- Suppress writing of empty clouds + bool pruneEmpty_; + + //- Apply output filter (for the current cloud) + bool applyFilter_; + + //- Sizing of selected parcels (including any filtering) + globalIndex procAddr_; + + //- Requested names of clouds to process + wordRes selectClouds_; + + //- Subset of cloud fields to process + wordRes selectFields_; + + //- Ensight case handler + autoPtr<ensightCase> ensCase_; + + + // Private Member Functions + + //- Ensight case handler + ensightCase& ensCase() { return *ensCase_; } + + //- Write a cloud to disk (creates parent directory), + //- and record on the cloud OutputProperties. + // \param file is the output file name, with extension. + bool writeCloud(const word& cloudName); + + //- Write fields of IOField<Type> + template<class Type> + wordList writeFields + ( + const word& cloudName, + const objectRegistry& obrTmp + ); + + + //- No copy construct + ensightCloudWriteObject(const ensightCloudWriteObject&) = delete; + + //- No copy assignment + void operator=(const ensightCloudWriteObject&) = delete; + + +public: + + //- Runtime type information + TypeName("ensightCloud"); + + + // Constructors + + //- Construct from Time and dictionary + ensightCloudWriteObject + ( + const word& name, + const Time& runTime, + const dictionary& dict + ); + + + //- Destructor + virtual ~ensightCloudWriteObject() = default; + + + // Member Functions + + //- Read the ensightCloud specification + virtual bool read(const dictionary& dict); + + //- Execute, currently does nothing + virtual bool execute(); + + //- Write fields + virtual bool write(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace functionObjects +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.cxx b/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.cxx new file mode 100644 index 00000000000..01b6cdb083d --- /dev/null +++ b/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.cxx @@ -0,0 +1,425 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "ensightCloudWriteObject.H" +#include "ensightCells.H" +#include "Cloud.H" +#include "dictionary.H" +#include "fvMesh.H" +#include "ensightOutputCloud.H" +#include "addToRunTimeSelectionTable.H" +#include "pointList.H" +#include "stringOps.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace functionObjects +{ + defineTypeNameAndDebug(ensightCloudWriteObject, 0); + + addToRunTimeSelectionTable + ( + functionObject, + ensightCloudWriteObject, + dictionary + ); +} +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Implementation +#include "ensightCloudWriteObjectImpl.cxx" + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +bool Foam::functionObjects::ensightCloudWriteObject::writeCloud +( + const word& cloudName +) +{ + applyFilter_ = false; + procAddr_.clear(); + + const auto* cloudPtr = mesh_.cfindObject<cloud>(cloudName); + if (!cloudPtr) + { + return false; + } + + const auto& currCloud = *cloudPtr; + + objectRegistry obrTmp + ( + IOobject + ( + "ensight::ensightCloud::" + cloudName, + mesh_.time().constant(), + mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ) + ); + + currCloud.writeObjects(obrTmp); + + const auto* pointsPtr = cloud::findIOPosition(obrTmp); + + if (!pointsPtr) + { + // This should be impossible + return false; + } + + applyFilter_ = calculateFilter(obrTmp, log); + Pstream::reduceOr(applyFilter_); + + // Number of parcels (locally) + const label nParcels = + ( + applyFilter_ ? parcelAddr_.count() : pointsPtr->size() + ); + + // Gather sizes (offsets irrelevant) + procAddr_.reset(globalIndex::gatherOnly{}, nParcels); + + bool noCloud(!procAddr_.totalSize()); + Pstream::broadcast(noCloud); + + if (applyFilter_) + { + // Report filtered/unfiltered count + Log << "After filtering using " + << procAddr_.totalSize() << '/' + << (returnReduce(pointsPtr->size(), sumOp<label>())) + << " parcels" << nl; + } + + if (pruneEmpty_ && noCloud) + { + return false; + } + + + // Copy positions (for simplicity and for filtering). + // Store as floatVector, since that is what Ensight will write anyhow + + DynamicList<floatVector> positions; + positions.reserve(UPstream::master() ? procAddr_.maxSize() : nParcels); + + { + const auto& points = *pointsPtr; + + positions.resize_nocopy(nParcels); + + auto iter = positions.begin(); + + if (applyFilter_) + { + if (std::is_same<float, vector::cmptType>::value) + { + for (const label idx : parcelAddr_) + { + *iter = points[idx]; + ++iter; + } + } + else + { + for (const label idx : parcelAddr_) + { + const auto& pos = points[idx]; + + (*iter).x() = narrowFloat(pos.x()); + (*iter).y() = narrowFloat(pos.y()); + (*iter).z() = narrowFloat(pos.z()); + ++iter; + } + } + } + else + { + if (std::is_same<float, vector::cmptType>::value) + { + for (const auto& pos : points) + { + *iter = pos; + ++iter; + } + } + else + { + for (const auto& pos : points) + { + (*iter).x() = narrowFloat(pos.x()); + (*iter).y() = narrowFloat(pos.y()); + (*iter).z() = narrowFloat(pos.z()); + ++iter; + } + } + } + } + + + // Write positions + { + autoPtr<ensightFile> os = ensCase().newCloud(cloudName); + + ensightOutput::writeCloudPositions + ( + os.ref(), + positions, + procAddr_ + ); + } + + // Prevent any possible conversion of positions as a field + obrTmp.filterKeys + ( + [](const word& k) + { + return k.starts_with("position") || k.starts_with("coordinate"); + }, + true // prune + ); + + + // Write fields + + DynamicList<word> written(obrTmp.size() + currCloud.objectRegistry::size()); + + written.push_back + ( + writeFields<label>(cloudName, obrTmp) + ); + written.push_back + ( + writeFields<scalar>(cloudName, obrTmp) + ); + written.push_back + ( + writeFields<vector>(cloudName, obrTmp) + ); + + // Any cloudFunctions results + written.push_back + ( + writeFields<scalar>(cloudName, currCloud) + ); + + // Record information into the state (all processors) + // + // foName + // { + // cloudName + // { + // file "<case>/postProcessing/name/casename.case"; + // fields (U T rho); + // } + // } + + const fileName& file = ensCase().path(); + + // Case-local file name with "<case>" to make relocatable + dictionary propsDict; + propsDict.add + ( + "file", + time_.relativePath(file, true) + ); + propsDict.add("fields", written); + + setObjectProperty(name(), cloudName, propsDict); + + return true; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::functionObjects::ensightCloudWriteObject::ensightCloudWriteObject +( + const word& name, + const Time& runTime, + const dictionary& dict +) +: + fvMeshFunctionObject(name, runTime, dict), + caseOpts_("format", dict, IOstreamOption::BINARY), + outputDir_(), + consecutive_(false), + pruneEmpty_(false), + applyFilter_(false), + procAddr_() +{ + // May still want this? + // if (postProcess) + // { + // // Disable for post-process mode. + // // Emit as FatalError for the try/catch in the caller. + // FatalError + // << type() << " disabled in post-process mode" + // << exit(FatalError); + // } + + read(dict); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::functionObjects::ensightCloudWriteObject::read +( + const dictionary& dict +) +{ + fvMeshFunctionObject::read(dict); + + // Case/writer options + consecutive_ = dict.getOrDefault("consecutive", false); + + caseOpts_.width(dict.getOrDefault<label>("width", 8)); + caseOpts_.overwrite(dict.getOrDefault("overwrite", false)); + + caseOpts_.timeFormat("timeFormat", dict); + caseOpts_.timePrecision("timePrecision", dict); + + + pruneEmpty_ = dict.getOrDefault("prune", false); + + selectClouds_.clear(); + dict.readIfPresent("clouds", selectClouds_); + selectClouds_.uniq(); + if (selectClouds_.empty()) + { + word cloudName; + if (dict.readIfPresent("cloud", cloudName)) + { + selectClouds_.push_back(std::move(cloudName)); + } + } + + selectFields_.clear(); + dict.readIfPresent("fields", selectFields_); + selectFields_.uniq(); + + // Actions to define selection + parcelSelect_ = dict.subOrEmptyDict("selection"); + + + // Output directory + + outputDir_.clear(); + dict.readIfPresent("directory", outputDir_); + + if (outputDir_.size()) + { + // User-defined output directory + outputDir_.expand(); + if (!outputDir_.isAbsolute()) + { + outputDir_ = time_.globalPath()/outputDir_; + } + } + else + { + // Standard postProcessing/ naming + outputDir_ = time_.globalPath()/functionObject::outputPrefix/name(); + } + outputDir_.clean(); // Remove unneeded ".." + + return true; +} + + +bool Foam::functionObjects::ensightCloudWriteObject::execute() +{ + return true; +} + + +bool Foam::functionObjects::ensightCloudWriteObject::write() +{ + const wordList cloudNames + ( + selectClouds_.empty() + ? mesh_.sortedNames<cloud>() + : mesh_.sortedNames<cloud>(selectClouds_) + ); + + if (cloudNames.empty()) + { + return true; // skip - nothing available + } + + if (!ensCase_) + { + ensCase_.reset + ( + new ensightCase(outputDir_, time_.globalCaseName(), caseOpts_) + ); + + // Generate a (non-moving) dummy geometry + // - ParaView ensight-reader needs this, and usually ensight does too + autoPtr<ensightGeoFile> os = ensCase().newGeometry(false); + ensightCells::writeBox(os.ref(), mesh_.bounds()); + } + + if (consecutive_) + { + ensCase().nextTime(time_.value()); + } + else + { + ensCase().setTime(time_.value(), time_.timeIndex()); + } + + Log << type() << ' ' << name() << " write" << nl; + + // Each cloud separately + for (const word& cloudName : cloudNames) + { + // writeCloud() includes mkDir (on master) + + if (writeCloud(cloudName)) + { + Log << " cloud : " << endl; + } + } + + ensCase().write(); // Flush case information + + return true; +} + + +// ************************************************************************* // diff --git a/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObjectImpl.cxx b/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObjectImpl.cxx new file mode 100644 index 00000000000..01fcf08b148 --- /dev/null +++ b/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObjectImpl.cxx @@ -0,0 +1,106 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "IOField.H" +#include "ensightOutputCloud.H" + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template<class Type> +Foam::wordList Foam::functionObjects::ensightCloudWriteObject::writeFields +( + const word& cloudName, + const objectRegistry& obrTmp +) +{ + static_assert + ( + ( + std::is_same<label, typename pTraits<Type>::cmptType>::value + || std::is_floating_point<typename pTraits<Type>::cmptType>::value + ), + "Label and Floating-point vector space only" + ); + + // Other integral types (eg, bool etc) would need cast/convert to label. + // Similarly for labelVector etc. + + + // Fields are not always on all processors (eg, multi-component parcels). + // Thus need to resolve names between all processors. + + wordList fieldNames = + ( + selectFields_.size() + ? obrTmp.names<IOField<Type>>(selectFields_) + : obrTmp.names<IOField<Type>>() + ); + + Pstream::combineReduce(fieldNames, ListOps::uniqueEqOp<word>()); + Foam::sort(fieldNames); // Consistent order + + DynamicList<Type> scratch; + + for (const word& fieldName : fieldNames) + { + const List<Type>* fldPtr = obrTmp.findObject<IOField<Type>>(fieldName); + const List<Type>& values = (fldPtr ? *fldPtr : List<Type>::null()); + + autoPtr<ensightFile> os = + ensCase().newCloudData<Type>(cloudName, fieldName); + + if (applyFilter_) + { + scratch.resize_nocopy(parcelAddr_.count()); + + auto iter = scratch.begin(); + + for (const label idx : parcelAddr_) + { + *iter = values[idx]; + ++iter; + } + + // TBD: + // recalculate globalIndex instead of relying on procAddr_ ? + + ensightOutput::writeCloudField(os.ref(), scratch, procAddr_); + } + else + { + // TBD: + // recalculate globalIndex instead of relying on procAddr_ ? + + ensightOutput::writeCloudField(os.ref(), values, procAddr_); + } + } + + return fieldNames; +} + + +// ************************************************************************* // -- GitLab From fcf090410a8440bb0359280b7057a6c511e8c1e2 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 2 Feb 2024 15:26:33 +0100 Subject: [PATCH 035/231] ENH: additional constructors for triangle and triPoints STYLE: use Foam::zero{} in expression parsers --- .../indexedCell/indexedCellI.H | 4 +-- .../CompactListList/CompactListList.C | 2 +- .../CompactListList/CompactListListI.H | 14 ++++----- .../fields/fieldExprLemonParser.lyy-m4 | 4 +-- src/OpenFOAM/meshes/meshShapes/face/face.H | 2 +- src/OpenFOAM/meshes/meshShapes/face/faceI.H | 4 +-- .../meshes/meshShapes/triFace/triFace.H | 2 +- .../primitiveShapes/triangle/triangle.H | 22 +++++++++++-- .../primitiveShapes/triangle/triangleI.H | 31 ++++++++++++++++++- .../patch/patchExprLemonParser.lyy-m4 | 4 +-- .../volume/volumeExprLemonParser.lyy-m4 | 4 +-- 11 files changed, 70 insertions(+), 23 deletions(-) diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellI.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellI.H index 6ebf8ca3475..e5904be854e 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellI.H +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellI.H @@ -579,8 +579,8 @@ inline bool CGAL::indexedCell<Gt, Cb>::potentialCoplanarCell() const if (nMasters == 2 && nSlaves == 2) { - Foam::vector vp0(Foam::Zero); - Foam::vector vp1(Foam::Zero); + Foam::vector vp0(Foam::zero{}); + Foam::vector vp1(Foam::zero{}); if ( diff --git a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.C b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.C index cf451306676..0684c31d18c 100644 --- a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.C +++ b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.C @@ -81,7 +81,7 @@ Foam::CompactListList<T> Foam::CompactListList<T>::pack_impl if (len) { - newOffsets.resize(len+1, Zero); + newOffsets.resize(len+1, Foam::zero{}); for (label i = 0; i < len; ++i) { diff --git a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H index 5e5209fcb95..e5c76d8c855 100644 --- a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H +++ b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H @@ -89,7 +89,7 @@ inline Foam::CompactListList<T>::CompactListList const label nVals ) : - offsets_(mRows+1, Zero), + offsets_(mRows+1, Foam::zero{}), values_(nVals) { // Optionally: enforceSizeSanity(); @@ -104,8 +104,8 @@ inline Foam::CompactListList<T>::CompactListList const Foam::zero ) : - offsets_(mRows+1, Zero), - values_(nVals, Zero) + offsets_(mRows+1, Foam::zero{}), + values_(nVals, Foam::zero{}) { // Optionally: enforceSizeSanity(); } @@ -119,7 +119,7 @@ inline Foam::CompactListList<T>::CompactListList const T& val ) : - offsets_(mRows+1, Zero), + offsets_(mRows+1, Foam::zero{}), values_(nVals, val) { // Optionally: enforceSizeSanity(); @@ -378,7 +378,7 @@ inline void Foam::CompactListList<T>::resize } else { - offsets_.resize(mRows+1, Zero); + offsets_.resize(mRows+1, Foam::zero{}); values_.resize(nVals); } } @@ -399,7 +399,7 @@ inline void Foam::CompactListList<T>::resize_nocopy } else { - offsets_.resize(mRows+1, Zero); + offsets_.resize(mRows+1, Foam::zero{}); values_.resize_nocopy(nVals); } } @@ -421,7 +421,7 @@ inline void Foam::CompactListList<T>::resize } else { - offsets_.resize(mRows+1, Zero); + offsets_.resize(mRows+1, Foam::zero{}); values_.resize(nVals, val); } } diff --git a/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 b/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 index ce845dda4ab..678afef0c9f 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 +++ b/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 @@ -7,7 +7,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -163,7 +163,7 @@ operator_precedence() svalue (lhs) ::= NUMBER (tok) . { lhs = (tok).scalarValue; } // scanToken -svalue (lhs) ::= ZERO . { lhs = Foam::Zero; } +svalue (lhs) ::= ZERO . { lhs = Foam::zero{}; } svalue (lhs) ::= PI LPAREN RPAREN . { lhs = Foam::constant::mathematical::pi; } svalue (lhs) ::= DEG_TO_RAD LPAREN RPAREN . { lhs = Foam::degToRad(); } svalue (lhs) ::= RAD_TO_DEG LPAREN RPAREN . { lhs = Foam::radToDeg(); } diff --git a/src/OpenFOAM/meshes/meshShapes/face/face.H b/src/OpenFOAM/meshes/meshShapes/face/face.H index b103c0256e2..7d9a1bd170b 100644 --- a/src/OpenFOAM/meshes/meshShapes/face/face.H +++ b/src/OpenFOAM/meshes/meshShapes/face/face.H @@ -395,7 +395,7 @@ public: // Face splitting utilities //- Number of triangles after splitting - inline label nTriangles() const; + inline label nTriangles() const noexcept; //- Number of triangles after splitting label nTriangles(const UList<point>& unused) const; diff --git a/src/OpenFOAM/meshes/meshShapes/face/faceI.H b/src/OpenFOAM/meshes/meshShapes/face/faceI.H index 320b05e6c7a..36c535a9ce6 100644 --- a/src/OpenFOAM/meshes/meshShapes/face/faceI.H +++ b/src/OpenFOAM/meshes/meshShapes/face/faceI.H @@ -199,9 +199,9 @@ inline Foam::label Foam::face::prevLabel(const label i) const } -inline Foam::label Foam::face::nTriangles() const +inline Foam::label Foam::face::nTriangles() const noexcept { - return size() - 2; + return labelList::size() - 2; } diff --git a/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H b/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H index cee935febc7..3145dca25ad 100644 --- a/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H +++ b/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H @@ -93,7 +93,7 @@ public: //- Construct from an initializer list of three vertex labels inline explicit triFace(std::initializer_list<label> list); - //- Copy construct from a list of three vertex labels. + //- Copy construct from a list of three vertex labels. inline explicit triFace(const labelUList& list); //- Copy construct from a subset of vertex labels diff --git a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H index 88693507abc..f9767cd3dbb 100644 --- a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H +++ b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -110,6 +110,15 @@ public: const FixedList<label, 3>& indices ); + //- Copy construct from subset of points + inline triPoints + ( + const UList<point>& points, + const label p0, + const label p1, + const label p2 + ); + // Member Functions @@ -275,7 +284,7 @@ public: //- Construct from three points inline triangle(const FixedList<Point, 3>& pts); - //- Construct from three points in the list of points + //- Construct from three points out of the list of points // The indices could be from triFace etc. inline triangle ( @@ -283,6 +292,15 @@ public: const FixedList<label, 3>& indices ); + //- Construct from three points out of the list of points + inline triangle + ( + const UList<Point>& points, + const label p0, + const label p1, + const label p2 + ); + //- Construct from Istream inline explicit triangle(Istream& is); diff --git a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H index 0c84feb0b46..1014b569621 100644 --- a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H +++ b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -69,6 +69,20 @@ inline Foam::triPoints::triPoints {} +inline Foam::triPoints::triPoints +( + const UList<point>& points, + const label p0, + const label p1, + const label p2 +) +{ + a() = points[p0]; + b() = points[p1]; + c() = points[p2]; +} + + template<class Point, class PointRef> inline Foam::triangle<Point, PointRef>::triangle ( @@ -108,6 +122,21 @@ inline Foam::triangle<Point, PointRef>::triangle {} +template<class Point, class PointRef> +inline Foam::triangle<Point, PointRef>::triangle +( + const UList<Point>& points, + const label p0, + const label p1, + const label p2 +) +: + a_(points[p0]), + b_(points[p1]), + c_(points[p2]) +{} + + template<class Point, class PointRef> inline Foam::triangle<Point, PointRef>::triangle(Istream& is) { diff --git a/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 b/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 index 71b22356690..3251f09d225 100644 --- a/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 +++ b/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 @@ -7,7 +7,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -129,7 +129,7 @@ identifier (lhs) ::= IDENTIFIER (tok) . %type svalue { Foam::scalar } svalue (lhs) ::= NUMBER (tok) . { lhs = (tok).scalarValue; } // scanToken -svalue (lhs) ::= ZERO . { lhs = Foam::Zero; } +svalue (lhs) ::= ZERO . { lhs = Foam::zero{}; } svalue (lhs) ::= PI LPAREN RPAREN . { lhs = Foam::constant::mathematical::pi; } svalue (lhs) ::= DEG_TO_RAD LPAREN RPAREN . { lhs = Foam::degToRad(); } svalue (lhs) ::= RAD_TO_DEG LPAREN RPAREN . { lhs = Foam::radToDeg(); } diff --git a/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 b/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 index c280458f594..6b55f9787bf 100644 --- a/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 +++ b/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 @@ -7,7 +7,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -170,7 +170,7 @@ identifier (lhs) ::= IDENTIFIER (tok) . %type svalue { Foam::scalar } svalue (lhs) ::= NUMBER (tok) . { lhs = (tok).scalarValue; } // scanToken -svalue (lhs) ::= ZERO . { lhs = Foam::Zero; } +svalue (lhs) ::= ZERO . { lhs = Foam::zero{}; } svalue (lhs) ::= PI LPAREN RPAREN . { lhs = Foam::constant::mathematical::pi; } svalue (lhs) ::= DEG_TO_RAD LPAREN RPAREN . { lhs = Foam::degToRad(); } svalue (lhs) ::= RAD_TO_DEG LPAREN RPAREN . { lhs = Foam::radToDeg(); } -- GitLab From 91a1eaa01b8fd2890dbb53dc7cb6cd87f7e7e7b9 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 6 Feb 2024 15:43:41 +0100 Subject: [PATCH 036/231] ENH: support invisible formattingEntry --- .../test/dictionary3/Test-dictionary3.cxx | 14 ++++++-- src/OpenFOAM/db/IOstreams/token/token.H | 2 +- .../formattingEntry/formattingEntry.C | 25 ++++++--------- .../formattingEntry/formattingEntry.H | 32 +++++++++++++++++-- 4 files changed, 51 insertions(+), 22 deletions(-) diff --git a/applications/test/dictionary3/Test-dictionary3.cxx b/applications/test/dictionary3/Test-dictionary3.cxx index 425fbd16382..8dae613c923 100644 --- a/applications/test/dictionary3/Test-dictionary3.cxx +++ b/applications/test/dictionary3/Test-dictionary3.cxx @@ -64,6 +64,7 @@ int main(int argc, char *argv[]) // Add some more entries { + label idx = 0; dictionary subdict; subdict.add("key", 100); @@ -72,23 +73,30 @@ int main(int argc, char *argv[]) subdict.add ( - new formattingEntry(10, "// comment - without newline.") + new formattingEntry(++idx, "// comment - without newline.") ); subdict.add ( // NB newline must be part of the content! - new formattingEntry(11, "// some comment - with newline?\n") + new formattingEntry(++idx, "// some comment - with newline?\n") ); subdict.add ( // NB newline must be part of the content! - new formattingEntry(12, "/* other comment */\n") + new formattingEntry(++idx, "/* other comment */\n") ); + // Other - invisible + subdict.add(new formattingEntry(++idx, token(123), false)); + + // Other - visible (probably not what anyone wants!) + subdict.add(new formattingEntry(++idx, token(456))); + subdict.add("val", 42); + Info<< "subdict keys:" << flatOutput(subdict.toc()) << nl; dict.add("subdict", std::move(subdict)); } diff --git a/src/OpenFOAM/db/IOstreams/token/token.H b/src/OpenFOAM/db/IOstreams/token/token.H index a9b2d9cd15b..07180d10504 100644 --- a/src/OpenFOAM/db/IOstreams/token/token.H +++ b/src/OpenFOAM/db/IOstreams/token/token.H @@ -541,7 +541,7 @@ public: // No character stripping inline explicit token(tokenType typ, const std::string&, label line=0); - //- Copy construct word/string token with the specified variant. + //- Move construct word/string token with the specified variant. // A invalid word/string variant type is silently treated as STRING. // No character stripping inline explicit token(tokenType typ, std::string&&, label line=0); diff --git a/src/OpenFOAM/db/dictionary/formattingEntry/formattingEntry.C b/src/OpenFOAM/db/dictionary/formattingEntry/formattingEntry.C index ba45223d962..a3f80dd28f1 100644 --- a/src/OpenFOAM/db/dictionary/formattingEntry/formattingEntry.C +++ b/src/OpenFOAM/db/dictionary/formattingEntry/formattingEntry.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2023 Sergey Lesnik - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,7 +35,7 @@ namespace Foam { // Write tokens without keyword, suppress/ignore bad tokens. -// Mostly like primitiveEntry::write(os, false); +// Mostly like primitiveEntry::write(os, true); static void writeTokens(Ostream& os, const tokenList& toks) { @@ -56,11 +56,11 @@ static void writeTokens(Ostream& os, const tokenList& toks) started = true; } - // Output token with direct handling in Ostream(s), - // or use normal '<<' output operator + // Token output via direct handling in Ostream(s), + // or normal '<<' output operator if (!os.write(tok)) { - os << tok; + os << tok; } if (tok.isCharData()) @@ -73,18 +73,10 @@ static void writeTokens(Ostream& os, const tokenList& toks) if (s.starts_with("//") && !s.ends_with('\n')) { os << '\n'; - started = false; // already have newline as separator + started = false; // Does not need further space separator } } } - - // Always finish up with a newline? - // eg, - // - // if (started) - // { - // os << nl; - // } } } // End namespace Foam @@ -141,7 +133,10 @@ Foam::formattingEntry::formattingEntry void Foam::formattingEntry::write(Ostream& os) const { - writeTokens(os, *this); + if (active_) + { + writeTokens(os, *this); + } } diff --git a/src/OpenFOAM/db/dictionary/formattingEntry/formattingEntry.H b/src/OpenFOAM/db/dictionary/formattingEntry/formattingEntry.H index c672ac08ffc..fb517c258e4 100644 --- a/src/OpenFOAM/db/dictionary/formattingEntry/formattingEntry.H +++ b/src/OpenFOAM/db/dictionary/formattingEntry/formattingEntry.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2023 Sergey Lesnik - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,12 +51,17 @@ class formattingEntry : public primitiveEntry { + // Private Data + + //- The output visibility + bool active_ = true; + public: // Static Member Functions - //- Generate a default entry keyword: "__format-entry__NNN" - // The generated names are unlikely to collide with user dictionaries + //- Generate an entry keyword: "__format-entry__NNN". + //- The generated names are unlikely to collide with user dictionaries static keyType defaultName(label n) { return keyType @@ -99,6 +104,12 @@ public: formattingEntry(defaultName(n), std::move(content)) {} + //- Construct with token data, using a generated keyword + formattingEntry(const label n, token&& tok, bool visible=true) + : + primitiveEntry(defaultName(n), std::move(tok)), + active_(visible) + {} //- Clone the entry virtual autoPtr<entry> clone(const dictionary&) const @@ -112,6 +123,21 @@ public: // Member Functions + //- Set output visibility on/off. + // \return the previous value + bool active(bool on) noexcept + { + bool old(active_); + active_ = on; + return old; + } + + //- Get the output visibility + bool active() const noexcept + { + return active_; + } + //- Write content without the keyword. // Special properties: // - ignores any bad tokens on output. -- GitLab From 47c44a5783014527115d8caa345afe3932b08f1e Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 2 Feb 2024 17:48:33 +0100 Subject: [PATCH 037/231] ENH: use UList instead of List for some Pstream gather/scatter - can use UList signature since the routines do not resize the list or attempt to broadcast it: useful for SubList handling. ENH: add IPstream/OPstream send/recv static methods --- .../test/parallel-comm1/Test-parallel-comm1.C | 22 +-- applications/test/parallel/Test-parallel.C | 99 ++++------- applications/test/treeComms/Test-treeComms.C | 6 +- src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H | 29 +++- src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H | 69 +++++++- src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H | 160 ++++++++++-------- .../db/IOstreams/Pstreams/PstreamBroadcast.C | 6 +- .../IOstreams/Pstreams/PstreamCombineGather.C | 8 +- .../db/IOstreams/Pstreams/PstreamGather.C | 4 +- .../db/IOstreams/Pstreams/PstreamGatherList.C | 50 +++--- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H | 2 + .../parallel/globalIndex/globalIndex.C | 4 +- .../parallel/globalIndex/globalIndex.H | 27 ++- .../globalIndex/globalIndexTemplates.C | 31 +++- 14 files changed, 323 insertions(+), 194 deletions(-) diff --git a/applications/test/parallel-comm1/Test-parallel-comm1.C b/applications/test/parallel-comm1/Test-parallel-comm1.C index ed8ce385168..d0bc966a5d9 100644 --- a/applications/test/parallel-comm1/Test-parallel-comm1.C +++ b/applications/test/parallel-comm1/Test-parallel-comm1.C @@ -50,37 +50,37 @@ scalar sumReduce ) { scalar sum = 0; - if (Pstream::parRun()) + if (UPstream::parRun()) { if (UPstream::master(comm)) { - // Add master value and all slaves + // Add master value and all sub-procs sum = localValue; - for (const int slave : UPstream::subProcs(comm)) + for (const int proci : UPstream::subProcs(comm)) { - scalar slaveValue; + scalar procValue; UIPstream::read ( - Pstream::commsTypes::blocking, - slave, - reinterpret_cast<char*>(&slaveValue), + UPstream::commsTypes::blocking, + proci, + reinterpret_cast<char*>(&procValue), sizeof(scalar), UPstream::msgType(), // tag comm // communicator ); - sum += slaveValue; + sum += procValue; } - // Send back to slaves + // Send back - for (const int slave : UPstream::subProcs(comm)) + for (const int proci : UPstream::subProcs(comm)) { UOPstream::write ( UPstream::commsTypes::blocking, - slave, + proci, reinterpret_cast<const char*>(&sum), sizeof(scalar), UPstream::msgType(), // tag diff --git a/applications/test/parallel/Test-parallel.C b/applications/test/parallel/Test-parallel.C index 580ae453a8a..7479a499225 100644 --- a/applications/test/parallel/Test-parallel.C +++ b/applications/test/parallel/Test-parallel.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,27 +52,27 @@ void testMapDistribute() // Generate random data. List<Tuple2<label, List<scalar>>> complexData(100); - forAll(complexData, i) + for (auto& data : complexData) { - complexData[i].first() = rndGen.position(0, Pstream::nProcs()-1); - complexData[i].second().setSize(3); - complexData[i].second()[0] = 1; - complexData[i].second()[1] = 2; - complexData[i].second()[2] = 3; + data.first() = rndGen.position(0, UPstream::nProcs()-1); + data.second().resize(3); + data.second()[0] = 1; + data.second()[1] = 2; + data.second()[2] = 3; } // Send all ones to processor indicated by .first() // Count how many to send - labelList nSend(Pstream::nProcs(), Zero); - forAll(complexData, i) + labelList nSend(UPstream::nProcs(), Foam::zero{}); + for (const auto& data : complexData) { - const label proci = complexData[i].first(); + const label proci = data.first(); nSend[proci]++; } // Collect items to be sent - labelListList sendMap(Pstream::nProcs()); + labelListList sendMap(UPstream::nProcs()); forAll(sendMap, proci) { sendMap[proci].resize_nocopy(nSend[proci]); @@ -116,40 +116,31 @@ void testTransfer(const T& input) { T data = input; - if (Pstream::master()) + if (UPstream::master()) { Perr<<"test transfer (" << (typeid(T).name()) << "): "; perrInfo(data) << nl << endl; - } - if (Pstream::master()) - { - for (const int slave : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - Perr<< "master receiving from slave " << slave << endl; - IPstream fromSlave(Pstream::commsTypes::blocking, slave); - fromSlave >> data; + Perr<< "master receiving from proc:" << proci << endl; + IPstream::recv(data, proci); perrInfo(data) << endl; } - for (const int slave : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - Perr<< "master sending to slave " << slave << endl; - OPstream toSlave(Pstream::commsTypes::blocking, slave); - toSlave << data; + Perr<< "master sending to proc:" << proci << endl; + OPstream::bsend(data, proci); } } else { - { - Perr<< "slave sending to master " << Pstream::masterNo() << endl; - OPstream toMaster(Pstream::commsTypes::blocking, Pstream::masterNo()); - toMaster << data; - } + Perr<< "proc sending to master" << endl; + OPstream::bsend(data, UPstream::masterNo()); - Perr<< "slave receiving from master " << Pstream::masterNo() << endl; - IPstream fromMaster(Pstream::commsTypes::blocking, Pstream::masterNo()); - fromMaster >> data; + Perr<< "proc receiving from master" << endl; + IPstream::recv(data, UPstream::masterNo()); perrInfo(data) << endl; } } @@ -160,49 +151,31 @@ void testTokenized(const T& data) { token tok; - if (Pstream::master()) + if (UPstream::master()) { - Perr<<"test tokenized \"" << data << "\"" << nl << endl; - } + Perr<< "test tokenized \"" << data << "\"" << nl << endl; - if (Pstream::master()) - { - for (const int slave : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - Perr<< "master receiving from slave " << slave << endl; - IPstream fromSlave(Pstream::commsTypes::blocking, slave); - fromSlave >> tok; + Perr<< "master receiving from proc:" << proci << endl; + IPstream::recv(tok, proci); Perr<< tok.info() << endl; } - for (const int slave : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - Perr<< "master sending to slave " << slave << endl; - OPstream toSlave(Pstream::commsTypes::blocking, slave); - toSlave << data; + Perr<< "master sending to proc:" << proci << endl; + OPstream::bsend(tok, proci); } } else { - { - Perr<< "slave sending to master " << Pstream::masterNo() << endl; - OPstream toMaster - ( - Pstream::commsTypes::blocking, - Pstream::masterNo() - ); - - toMaster << data; - } + Perr<< "proc sending to master" << endl; + OPstream::bsend(tok, UPstream::masterNo()); - Perr<< "slave receiving from master " << Pstream::masterNo() << endl; - IPstream fromMaster - ( - Pstream::commsTypes::blocking, - Pstream::masterNo() - ); + Perr<< "proc receiving from master" << endl; + IPstream::recv(tok, UPstream::masterNo()); - fromMaster >> tok; Perr<< tok.info() << endl; } } @@ -212,12 +185,14 @@ void testTokenized(const T& data) int main(int argc, char *argv[]) { + argList::noCheckProcessorDirectories(); + #include "setRootCase.H" #include "createTime.H" testMapDistribute(); - if (!Pstream::parRun()) + if (!UPstream::parRun()) { Info<< "\nWarning: not parallel - skipping further tests\n" << endl; return 0; diff --git a/applications/test/treeComms/Test-treeComms.C b/applications/test/treeComms/Test-treeComms.C index 94588bd7976..d31cc696940 100644 --- a/applications/test/treeComms/Test-treeComms.C +++ b/applications/test/treeComms/Test-treeComms.C @@ -51,7 +51,7 @@ void printConnection(Ostream& os, const label proci, const labelUList& below) // The number of receives - as per gatherList (v2112) void printRecvCount_gatherList ( - const List<UPstream::commsStruct>& comms, + const UList<UPstream::commsStruct>& comms, const label comm = UPstream::worldComm ) { @@ -91,7 +91,7 @@ void printRecvCount_gatherList // The number of sends - as per scatterList (v2112) void printSendCount_scatterList ( - const List<UPstream::commsStruct>& comms, + const UList<UPstream::commsStruct>& comms, const label comm = UPstream::worldComm ) { @@ -131,7 +131,7 @@ void printSendCount_scatterList // Transmission widths (contiguous data) void printWidths ( - const List<UPstream::commsStruct>& comms, + const UList<UPstream::commsStruct>& comms, const label comm = UPstream::worldComm ) { diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H index 5dda9b6e6eb..87844b933ee 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,6 +71,33 @@ public: const label comm = UPstream::worldComm, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); + + + // Static Functions + + //- Receive and deserialize a value. + //- Uses \c operator>> for de-serialization + template<class Type> + static void recv + ( + Type& value, + const int fromProcNo, + const int tag = UPstream::msgType(), + const label comm = UPstream::worldComm, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + { + IPstream is + ( + UPstream::commsTypes::scheduled, + fromProcNo, + 0, // bufSize + tag, + comm, + fmt + ); + is >> value; + } }; diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H index 154ed87d318..bd1f6953e30 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,6 +71,73 @@ public: const label comm = UPstream::worldComm, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); + + + // Static Functions + + //- Serialize a value and send (buffered/blocking or standard mode). + //- Uses \c operator<< for serialization + template<class Type> + static void send + ( + const Type& value, + //! blocking or scheduled only! + const UPstream::commsTypes commsType, + const int toProcNo, + const int tag = UPstream::msgType(), + const label comm = UPstream::worldComm, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + { + OPstream os(commsType, toProcNo, 0, tag, comm, fmt); + os << value; + } + + //- Serialize a value and send (buffered/blocking mode). + //- Uses \c operator<< for serialization + template<class Type> + static void bsend + ( + const Type& value, + const int toProcNo, + const int tag = UPstream::msgType(), + const label comm = UPstream::worldComm, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + { + OPstream::send + ( + value, + UPstream::commsTypes::blocking, + toProcNo, + tag, + comm, + fmt + ); + } + + //- Serialize a value and send (standard mode). + //- Uses \c operator<< for serialization + template<class Type> + static void send + ( + const Type& value, + const int toProcNo, + const int tag = UPstream::msgType(), + const label comm = UPstream::worldComm, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + { + OPstream::send + ( + value, + UPstream::commsTypes::scheduled, + toProcNo, + tag, + comm, + fmt + ); + } }; diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H index fe251cbf91e..04e30095037 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -170,7 +170,7 @@ public: // Gather/combine data // Inplace combine values from processors. - // (Uses construct from Istream instead of <<) + // (Uses construct from Istream instead of \c << operator) //- Gather data, applying \c cop to inplace combine \c value //- from different processors. @@ -178,6 +178,7 @@ public: template<class T, class CombineOp> static void combineGather ( + //! [in,out] T& value, const CombineOp& cop, const int tag = UPstream::msgType(), @@ -193,6 +194,7 @@ public: template<class T, class CombineOp> static void combineReduce ( + //! [in,out] T& value, const CombineOp& cop, const int tag = UPstream::msgType(), @@ -220,7 +222,8 @@ public: template<class T, class CombineOp> static void listCombineGather ( - List<T>& values, + //! [in,out] + UList<T>& values, const CombineOp& cop, const int tag = UPstream::msgType(), const label comm = UPstream::worldComm @@ -232,6 +235,7 @@ public: template<class T, class CombineOp> static void listCombineReduce ( + //! [in,out] - List (not UList) due to broadcast() List<T>& values, const CombineOp& cop, const int tag = UPstream::msgType(), @@ -242,6 +246,7 @@ public: template<class T, class CombineOp> static void listCombineAllGather ( + //! [in,out] - List (not UList) due to broadcast() List<T>& values, const CombineOp& cop, const int tag = UPstream::msgType(), @@ -305,8 +310,9 @@ public: template<class T> static void gatherList ( - const List<commsStruct>& comms, - List<T>& values, + const UList<commsStruct>& comms, + //! [in,out] + UList<T>& values, const int tag, const label comm ); @@ -316,7 +322,8 @@ public: template<class T> static void gatherList ( - List<T>& values, + //! [in,out] + UList<T>& values, const int tag = UPstream::msgType(), const label comm = UPstream::worldComm ); @@ -328,73 +335,35 @@ public: template<class T> static void allGatherList ( - List<T>& values, + //! [in,out] + UList<T>& values, const int tag = UPstream::msgType(), const label comm = UPstream::worldComm ); - // Scatter - - //- Broadcast data - template<class T> - FOAM_DEPRECATED_FOR(2024-01, "broadcast()") - static void scatter - ( - T& value, - const int tag = UPstream::msgType(), //!< ignored - const label comm = UPstream::worldComm - ); - - //- Broadcast data - template<class T> - FOAM_DEPRECATED_FOR(2024-01, "broadcast()") - static void combineScatter - ( - T& value, - const int tag = UPstream::msgType(), //!< ignored - const label comm = UPstream::worldComm - ); - - //- Broadcast data - template<class T> - FOAM_DEPRECATED_FOR(2024-01, "broadcast()") - static void listCombineScatter - ( - List<T>& value, - const int tag = UPstream::msgType(), //!< ignored - const label comm = UPstream::worldComm - ); - - //- Broadcast data - template<class Container> - FOAM_DEPRECATED_FOR(2024-01, "broadcast()") - static void mapCombineScatter - ( - Container& values, - const int tag = UPstream::msgType(), //!< ignored - const label comm = UPstream::worldComm - ); - - - //- Scatter data. Reverse of gatherList - template<class T> - static void scatterList - ( - const List<commsStruct>& comms, - List<T>& values, - const int tag, - const label comm - ); - - //- Like above but switches between linear/tree communication - template<class T> - static void scatterList - ( - List<T>& values, - const int tag = UPstream::msgType(), - const label comm = UPstream::worldComm - ); + // Scatter + + //- Inverse of gatherList. + //- Uses the specified communication schedule. + template<class T> + static void scatterList + ( + const UList<commsStruct>& comms, + UList<T>& values, + const int tag, + const label comm + ); + + //- Inverse of gatherList. + //- Uses linear/tree communication. + template<class T> + static void scatterList + ( + UList<T>& values, + const int tag = UPstream::msgType(), + const label comm = UPstream::worldComm + ); // Exchange @@ -573,6 +542,61 @@ public: const label comm, const bool wait = true //!< (ignored) ); + + + // Housekeeping + + //- \deprecated(2024-01) Broadcast data + template<class T> + FOAM_DEPRECATED_FOR(2024-01, "Pstream::broadcast()") + static void scatter + ( + T& value, + const int tag = UPstream::msgType(), //!< ignored + const label comm = UPstream::worldComm + ) + { + Pstream::broadcast(value, comm); + } + + //- \deprecated(2024-01) Broadcast data + template<class T> + FOAM_DEPRECATED_FOR(2024-01, "Pstream::broadcast()") + static void combineScatter + ( + T& value, + const int tag = UPstream::msgType(), //!< ignored + const label comm = UPstream::worldComm + ) + { + Pstream::broadcast(value, comm); + } + + //- \deprecated(2024-01) Broadcast data + template<class T> + FOAM_DEPRECATED_FOR(2024-01, "Pstream::broadcast()") + static void listCombineScatter + ( + List<T>& value, + const int tag = UPstream::msgType(), //!< ignored + const label comm = UPstream::worldComm + ) + { + Pstream::broadcast(value, comm); + } + + //- \deprecated(2024-01) Broadcast data + template<class Container> + FOAM_DEPRECATED_FOR(2024-01, "Pstream::broadcast()") + static void mapCombineScatter + ( + Container& values, + const int tag = UPstream::msgType(), //!< ignored + const label comm = UPstream::worldComm + ) + { + Pstream::broadcast(values, comm); + } }; diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C index e9e2ce98bc7..7bba29d4fbb 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C @@ -148,7 +148,11 @@ namespace Foam //- Return a broadcasted value (uses a copy internally) template<class Type> -Type returnBroadcast(const Type& value, const label comm) +Type returnBroadcast +( + const Type& value, + const label comm = UPstream::worldComm +) { Type work(value); Pstream::broadcast(work, comm); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C index 4696d005928..6b280517e0d 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C @@ -107,7 +107,7 @@ void Foam::Pstream::combineGather } // Send up value - if (myComm.above() != -1) + if (myComm.above() >= 0) { if (debug & 2) { @@ -166,7 +166,7 @@ void Foam::Pstream::combineReduce template<class T, class CombineOp> void Foam::Pstream::listCombineGather ( - List<T>& values, + UList<T>& values, const CombineOp& cop, const int tag, const label comm @@ -233,7 +233,7 @@ void Foam::Pstream::listCombineGather } // Send up values - if (myComm.above() != -1) + if (myComm.above() >= 0) { if (debug & 2) { @@ -349,7 +349,7 @@ void Foam::Pstream::mapCombineGather } // Send up values - if (myComm.above() != -1) + if (myComm.above() >= 0) { if (debug & 2) { diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C index f879f912838..920a9a22168 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C @@ -26,7 +26,7 @@ License Description Gather data from all processors onto single processor according to some - communication schedule (usually linear-to-master or tree-to-master). + communication schedule (usually tree-to-master). The gathered data will be a single value constructed from the values on individual processors using a user-specified operator. @@ -88,7 +88,7 @@ void Foam::Pstream::gather } // Send up value - if (myComm.above() != -1) + if (myComm.above() >= 0) { if (is_contiguous<T>::value) { diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C index d009e43eb80..74af324b34c 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C @@ -26,7 +26,7 @@ License Description Gather data from all processors onto single processor according to some - communication schedule (usually linear-to-master or tree-to-master). + communication schedule (usually tree-to-master). The gathered data will be a list with element procID the data from processor procID. Before calling every processor should insert its value into values[UPstream::myProcNo(comm)]. @@ -45,24 +45,27 @@ Description template<class T> void Foam::Pstream::gatherList ( - const List<UPstream::commsStruct>& comms, - List<T>& values, + const UList<UPstream::commsStruct>& comms, + UList<T>& values, const int tag, const label comm ) { if (!comms.empty() && UPstream::is_parallel(comm)) { - if (values.size() < UPstream::nProcs(comm)) + const label myProci = UPstream::myProcNo(comm); + const label numProc = UPstream::nProcs(comm); + + if (values.size() < numProc) { FatalErrorInFunction - << "List of values is too small:" << values.size() - << " vs numProcs:" << UPstream::nProcs(comm) << nl + << "List of values:" << values.size() + << " < numProcs:" << numProc << nl << Foam::abort(FatalError); } // My communication order - const auto& myComm = comms[UPstream::myProcNo(comm)]; + const auto& myComm = comms[myProci]; // Receive from my downstairs neighbours for (const label belowID : myComm.below()) @@ -127,21 +130,21 @@ void Foam::Pstream::gatherList // Send up from values: // - my own value first // - all belowLeaves next - if (myComm.above() != -1) + if (myComm.above() >= 0) { const labelList& belowLeaves = myComm.allBelow(); if (debug & 2) { Pout<< " sending to " << myComm.above() - << " data from me:" << UPstream::myProcNo(comm) - << " data:" << values[UPstream::myProcNo(comm)] << endl; + << " data from me:" << myProci + << " data:" << values[myProci] << endl; } if (is_contiguous<T>::value) { List<T> sending(belowLeaves.size() + 1); - sending[0] = values[UPstream::myProcNo(comm)]; + sending[0] = values[myProci]; forAll(belowLeaves, leafI) { @@ -168,7 +171,7 @@ void Foam::Pstream::gatherList tag, comm ); - toAbove << values[UPstream::myProcNo(comm)]; + toAbove << values[myProci]; for (const label leafID : belowLeaves) { @@ -189,8 +192,8 @@ void Foam::Pstream::gatherList template<class T> void Foam::Pstream::scatterList ( - const List<UPstream::commsStruct>& comms, - List<T>& values, + const UList<UPstream::commsStruct>& comms, + UList<T>& values, const int tag, const label comm ) @@ -201,19 +204,22 @@ void Foam::Pstream::scatterList if (!comms.empty() && UPstream::is_parallel(comm)) { - if (values.size() < UPstream::nProcs(comm)) + const label myProci = UPstream::myProcNo(comm); + const label numProc = UPstream::nProcs(comm); + + if (values.size() < numProc) { FatalErrorInFunction - << "List of values is too small:" << values.size() - << " vs numProcs:" << UPstream::nProcs(comm) << nl + << "List of values:" << values.size() + << " < numProcs:" << numProc << nl << Foam::abort(FatalError); } // My communication order - const auto& myComm = comms[UPstream::myProcNo(comm)]; + const auto& myComm = comms[myProci]; // Receive from up - if (myComm.above() != -1) + if (myComm.above() >= 0) { const labelList& notBelowLeaves = myComm.allNotBelow(); @@ -318,7 +324,7 @@ void Foam::Pstream::scatterList template<class T> void Foam::Pstream::gatherList ( - List<T>& values, + UList<T>& values, const int tag, const label comm ) @@ -337,7 +343,7 @@ void Foam::Pstream::gatherList template<class T> void Foam::Pstream::scatterList ( - List<T>& values, + UList<T>& values, const int tag, const label comm ) @@ -355,7 +361,7 @@ void Foam::Pstream::scatterList template<class T> void Foam::Pstream::allGatherList ( - List<T>& values, + UList<T>& values, const int tag, const label comm ) diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H index 83760dfc3e1..de61d0e46a9 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H @@ -1202,6 +1202,7 @@ public: //- Process index of first sub-process // \deprecated(2020-09) use subProcs() method instead + FOAM_DEPRECATED_FOR(2020-09, "subProcs() method") static constexpr int firstSlave() noexcept { return 1; @@ -1209,6 +1210,7 @@ public: //- Process index of last sub-process // \deprecated(2020-09) use subProcs() method instead + FOAM_DEPRECATED_FOR(2020-09, "subProcs() or allProcs() method") static int lastSlave(const label communicator = worldComm) { return nProcs(communicator) - 1; diff --git a/src/OpenFOAM/parallel/globalIndex/globalIndex.C b/src/OpenFOAM/parallel/globalIndex/globalIndex.C index 8f314ba3280..218869d33b3 100644 --- a/src/OpenFOAM/parallel/globalIndex/globalIndex.C +++ b/src/OpenFOAM/parallel/globalIndex/globalIndex.C @@ -290,7 +290,7 @@ Foam::globalIndex::bin if (!globalIds.empty()) { labelList& binOffsets = bins.offsets(); - binOffsets.resize(offsets.size(), Zero); + binOffsets.resize(offsets.size(), Foam::zero{}); labelList& binValues = bins.values(); binValues = UIndirectList<label>(globalIds, order); @@ -372,7 +372,7 @@ void Foam::globalIndex::reset // TBD: check for (proci >= 0) ? const auto proci = UPstream::myProcNo(comm); - counts.resize(len, Zero); + counts.resize(len, Foam::zero{}); counts[proci] = localSize; } diff --git a/src/OpenFOAM/parallel/globalIndex/globalIndex.H b/src/OpenFOAM/parallel/globalIndex/globalIndex.H index faad801f7d5..f5b82a44cf9 100644 --- a/src/OpenFOAM/parallel/globalIndex/globalIndex.H +++ b/src/OpenFOAM/parallel/globalIndex/globalIndex.H @@ -83,6 +83,14 @@ class globalIndex DynamicList<label>& validBins ); + // Cannot use non-blocking for non-contiguous data. + // template<class Type> + // inline static UPstream::commsTypes getCommsType + // ( + // const UPstream::commsTypes preferred + // = UPstream::commsTypes::nonBlocking + // ); + //- Report overflow at specified (non-negative) index static void reportOverflowAndExit ( @@ -187,7 +195,7 @@ public: inline label length() const noexcept; //- Global sum of localSizes. Same as totalSize() - FOAM_DEPRECATED_STRICT(2022-10, "totalSize() - less ambiguous") + FOAM_DEPRECATED_STRICT(2022-10, "totalSize() - unambiguous") inline label size() const; //- The span size covered by the offsets, zero if empty @@ -722,10 +730,11 @@ public: //- Inplace collect data in processor order on master //- (in serial: a no-op). // Communication with default/specified communicator, message tag. - // After the gather, the field is zero-sized on the slaves. + // After the gather, the field is zero-sized on non-master. template<class Type> void gatherInplace ( + //! [in,out] List<Type>& fld, const int tag = UPstream::msgType(), const UPstream::commsTypes = UPstream::commsTypes::nonBlocking, @@ -737,12 +746,11 @@ public: // Communication with default/specified communicator. // \attention The nProcs for globalIndex and communicator // must match!! - // - // The allData is output (master), zero-sized on non-master template<class Type, class OutputContainer = List<Type>> void mpiGather ( const UList<Type>& sendData, + //! [out] output on master, zero-sized on non-master OutputContainer& allData, const label comm = UPstream::worldComm, //!< communicator @@ -780,6 +788,7 @@ public: template<class Type> void mpiGatherInplace ( + //! [in,out] List<Type>& fld, const label comm = UPstream::worldComm, //!< communicator @@ -833,6 +842,7 @@ public: template<class Type> static void mpiGatherInplaceOp ( + //! [in,out] List<Type>& fld, const label comm = UPstream::worldComm, //!< communicator @@ -844,12 +854,11 @@ public: //- Collect data in processor order on master //- (in serial: performs a simple copy). // Communication with default/specified communicator, message tag. - // - // The allFld is output (master), zero-sized on non-master template<class Type> static void gatherOp ( const UList<Type>& sendData, + //! [out] output on master, zero-sized on non-master List<Type>& allData, const int tag = UPstream::msgType(), const UPstream::commsTypes = UPstream::commsTypes::nonBlocking, @@ -859,12 +868,11 @@ public: //- Collect data in processor order on master //- (in serial: performs a simple copy). // Communication with default/specified communicator, message tag. - // - // The allFld is output (master), zero-sized on non-master template<class Type, class Addr> static void gatherOp ( const IndirectListBase<Type, Addr>& sendData, + //! [out] output on master, zero-sized on non-master List<Type>& allData, const int tag = UPstream::msgType(), const UPstream::commsTypes = UPstream::commsTypes::nonBlocking, @@ -903,10 +911,11 @@ public: //- (in serial: a no-op). // Communication with default/specified communicator, message tag. // - // After the gather, the field is zero-sized on the slaves. + // After the gather, the field is zero-sized on non-master. template<class Type> static void gatherInplaceOp ( + //! [in,out] List<Type>& fld, const int tag = UPstream::msgType(), const UPstream::commsTypes = UPstream::commsTypes::nonBlocking, diff --git a/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C b/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C index 3898913fe9c..71c66727542 100644 --- a/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C +++ b/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C @@ -30,6 +30,25 @@ License // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // +// Cannot use non-blocking for non-contiguous data. +// template<class Type> +// inline Foam::UPstream::commsTypes getCommsType +// ( +// const UPstream::commsTypes preferred +// ) +// { +// return +// ( +// ( +// !is_contiguous<Type>::value +// && UPstream::commsTypes::nonBlocking == preferred +// ) +// ? UPstream::commsTypes::scheduled +// : preferred +// ); +// } + + template<class Addr> Foam::labelList Foam::globalIndex::calcOffsets @@ -115,8 +134,7 @@ void Foam::globalIndex::gatherValues { // low-level: no parRun guard - // Automatically change from nonBlocking to scheduled for - // non-contiguous data. + // Cannot use non-blocking for non-contiguous data. const UPstream::commsTypes commsType = ( ( @@ -202,8 +220,7 @@ void Foam::globalIndex::gather { // low-level: no parRun guard - // Automatically change from nonBlocking to scheduled for - // non-contiguous data. + // Cannot use non-blocking for non-contiguous data. const UPstream::commsTypes commsType = ( ( @@ -322,8 +339,7 @@ void Foam::globalIndex::gather return; } - // Automatically change from nonBlocking to scheduled for - // non-contiguous data. + // Cannot use non-blocking for non-contiguous data. const UPstream::commsTypes commsType = ( ( @@ -907,8 +923,7 @@ void Foam::globalIndex::scatter { // low-level: no parRun guard - // Automatically change from nonBlocking to scheduled for - // non-contiguous data. + // Cannot use non-blocking for non-contiguous data. const UPstream::commsTypes commsType = ( ( -- GitLab From 84a1fc9b4f47fc58b35755b427ae860fc0a2189a Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 22 Jan 2024 11:57:35 +0100 Subject: [PATCH 038/231] TEST: add standalone test application: Test-checkIOspeed --- applications/test/checkIOspeed/Make/files | 3 + applications/test/checkIOspeed/Make/options | 7 + .../test/checkIOspeed/Test-checkIOspeed.cxx | 400 ++++++++++++++++++ .../test/fileHandler-writing/Make/files | 2 +- ...writing.C => Test-fileHandler-writing.cxx} | 14 +- 5 files changed, 423 insertions(+), 3 deletions(-) create mode 100644 applications/test/checkIOspeed/Make/files create mode 100644 applications/test/checkIOspeed/Make/options create mode 100644 applications/test/checkIOspeed/Test-checkIOspeed.cxx rename applications/test/fileHandler-writing/{Test-fileHandler-writing.C => Test-fileHandler-writing.cxx} (95%) diff --git a/applications/test/checkIOspeed/Make/files b/applications/test/checkIOspeed/Make/files new file mode 100644 index 00000000000..67cce419cf0 --- /dev/null +++ b/applications/test/checkIOspeed/Make/files @@ -0,0 +1,3 @@ +Test-checkIOspeed.cxx + +EXE = $(FOAM_USER_APPBIN)/Test-checkIOspeed diff --git a/applications/test/checkIOspeed/Make/options b/applications/test/checkIOspeed/Make/options new file mode 100644 index 00000000000..18b23366ad8 --- /dev/null +++ b/applications/test/checkIOspeed/Make/options @@ -0,0 +1,7 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/mesh/blockMesh/lnInclude + +EXE_LIBS = \ + -lfiniteVolume \ + -lblockMesh diff --git a/applications/test/checkIOspeed/Test-checkIOspeed.cxx b/applications/test/checkIOspeed/Test-checkIOspeed.cxx new file mode 100644 index 00000000000..a92159dde3b --- /dev/null +++ b/applications/test/checkIOspeed/Test-checkIOspeed.cxx @@ -0,0 +1,400 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Application + Test-checkIOspeed + +Description + Simple test of file writing, including timings + +\*---------------------------------------------------------------------------*/ + +#include "argList.H" +#include "profiling.H" +#include "clockTime.H" + +#include "fileName.H" +#include "fileOperation.H" +#include "IOstreams.H" +#include "OSspecific.H" +#include "globalIndex.H" +#include "volFields.H" +#include "IOField.H" +#include "PDRblock.H" + +// Not really great since CoherentMesh only works with reading! +#ifdef USE_COHERENT +#include "OFCstream.H" +#include "SliceStreamRepo.H" +#endif + +#include <numeric> + +using namespace Foam; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Main program: + +int main(int argc, char *argv[]) +{ + argList::addNote("Rewrites fields multiple times"); + + argList::noFunctionObjects(); // Disallow function objects + argList::noCheckProcessorDirectories(); + + argList::addVerboseOption("additional verbosity"); + argList::addOption + ( + "output", + "N", + "Begin output iteration (default: 10000)" + ); + argList::addOption + ( + "count", + "N", + "Number of writes (default: 1)" + ); + argList::addOption + ( + "fields", + "N", + "Number of fields to write (default: 1)" + ); + argList::addOption + ( + "global", + "N", + "Global field size" + ); + argList::addOption + ( + "local", + "N", + "Local fields size (default: 1000)" + ); + argList::addOption + ( + "mesh", + "(nx ny nz)", + "Create with a mesh" + ); + argList::addOption + ( + "exclude", + "(int ... )", + "zero-sized on ranks with specified modulo" + ); + + argList::addBoolOption("coherent", "Force coherent output"); + + #include "setRootCase.H" + #include "createTime.H" + + const label firstOutput = args.getOrDefault("output", 10000); + const label nOutput = args.getOrDefault("count", 1); + const label nFields = args.getOrDefault("fields", 1); + labelVector meshCells(0, 0, 0); + + const int verbose = args.verbose(); + + const bool useCoherent = args.found("coherent"); + + labelList excludes; + args.readListIfPresent("exclude", excludes); + + bool writeOnProc = true; + + const label myProci = UPstream::myProcNo(); + + for (const label excl : excludes) + { + if (excl > 1 && myProci > 0 && (myProci % excl) == 0) + { + writeOnProc = false; + break; + } + } + + const label nProcsEff = + returnReduce((writeOnProc ? 1 : 0), sumOp<label>()); + + Info<< "Output " << nProcsEff + << "/" << UPstream::nProcs() + << " ranks" << nl; + + + if (args.readIfPresent("mesh", meshCells)) + { + if (!writeOnProc) + { + meshCells = Zero; + } + + PDRblock block(boundBox(point::zero, point::one), meshCells); + + // Advance time + // - coherent currently still needs to read the mesh itself! + runTime.setTime(firstOutput, firstOutput); + + IOobject meshIO + ( + polyMesh::defaultRegion, + runTime.timeName(), + runTime, + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ); + + autoPtr<polyMesh> pmeshPtr(block.innerMesh(meshIO)); + + fvMesh mesh + ( + meshIO, + pointField(pmeshPtr->points()), + faceList(pmeshPtr->faces()), + labelList(pmeshPtr->faceOwner()), + labelList(pmeshPtr->faceNeighbour()) + ); + + pmeshPtr.reset(nullptr); + + const label fieldSize = mesh.nCells(); + + const globalIndex giCells(fieldSize); + + // Create fields + Info<< nl << "Create " << nFields << " fields" << nl + << "field-size:" << fieldSize + << " total-size:" << giCells.totalSize() << nl; + + // Dimensioned field (no proc boundaries) + + PtrList<volScalarField::Internal> fields(nFields); + + { + IOobject io + ( + "field", + runTime.timeName(), + runTime, + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ); + + forAll(fields, fieldi) + { + io.resetHeader("field" + Foam::name(fieldi)); + + fields.set + ( + fieldi, + new volScalarField::Internal(io, mesh, dimless) + ); + + auto& fld = fields[fieldi]; + std::iota(fld.begin(), fld.end(), scalar(0)); + } + } + + IOstreamOption streamOpt(IOstreamOption::BINARY); + + if (useCoherent) + { + #ifdef USE_COHERENT + streamOpt.format(IOstreamOption::COHERENT); + runTime.writeFormat(IOstreamOption::COHERENT); + + mesh.writeObject(streamOpt, true); + + Info<< nl + << "Specified -coherent (instance: " + << mesh.pointsInstance() << ")" << endl; + + const auto& coherent = CoherentMesh::New(mesh); + + Info<< " points = " + << coherent.globalPointOffsets().totalSize() << nl + << " cells = " + << coherent.globalCellOffsets().totalSize() << nl + << " patches = " + << coherent.nNonProcessorPatches() << nl; + + #else + Info<< "Warning: -coherent ignored" << nl; + #endif + } + + Info<< nl + << "Writing " << nOutput << " times starting at " + << firstOutput << nl; + + clockTime timing; + + if (verbose) Info<< "Time:"; + + for + ( + label timeIndex = firstOutput, count = 0; + count < nOutput; + ++timeIndex, ++count + ) + { + runTime.setTime(timeIndex, timeIndex); + if (verbose) Info<< ' ' << runTime.timeName() << flush; + runTime.writeNow(); + + for (const auto& fld : fields) + { + fld.regIOobject::writeObject(streamOpt, writeOnProc); + } + } + + if (useCoherent) + { + #ifdef USE_COHERENT + SliceStreamRepo::closeInstance(); + #endif + } + + if (verbose) Info<< nl; + Info<< nl << "Writing took " + << timing.timeIncrement() << "s" << endl; + + Info<< nl + << "Cleanup newly generated files with" << nl << nl + << " foamListTimes -rm -time " + << firstOutput << ":" << nl + << " foamListTimes -processor -rm -time " + << firstOutput << ":" << nl; + } + else + { + label fieldSize = 1000; + + if (args.readIfPresent("global", fieldSize)) + { + fieldSize /= nProcsEff; + } + else + { + args.readIfPresent("local", fieldSize); + } + + if (!writeOnProc) + { + fieldSize = 0; + } + + const globalIndex giCells(fieldSize); + + // Create fields + Info<< nl << "Create " << nFields << " fields" << nl + << "field-size:" << fieldSize + << " total-size:" << giCells.totalSize() << nl; + + + PtrList<IOField<scalar>> fields(nFields); + + { + IOobject io + ( + "field", + runTime.timeName(), + runTime, + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ); + + forAll(fields, fieldi) + { + io.resetHeader("field" + Foam::name(fieldi)); + + fields.set + ( + fieldi, + new IOField<scalar>(io, fieldSize) + ); + + auto& fld = fields[fieldi]; + std::iota(fld.begin(), fld.end(), scalar(0)); + } + } + + IOstreamOption streamOpt(IOstreamOption::BINARY); + + if (useCoherent) + { + Info<< "Warning: -coherent ignored" << nl; + } + + Info<< nl + << "Writing " << nOutput << " times starting at " + << firstOutput << nl; + + clockTime timing; + + if (verbose) Info<< "Time:"; + + for + ( + label timeIndex = firstOutput, count = 0; + count < nOutput; + ++timeIndex, ++count + ) + { + runTime.setTime(timeIndex, timeIndex); + if (verbose) Info<< ' ' << runTime.timeName() << flush; + runTime.writeNow(); + + for (const auto& fld : fields) + { + fld.regIOobject::writeObject(streamOpt, writeOnProc); + } + } + + if (verbose) Info<< nl; + Info<< nl << "Writing took " + << timing.timeIncrement() << "s" << endl; + + Info<< nl + << "Cleanup newly generated files with" << nl << nl + << " foamListTimes -rm -time " + << firstOutput << ":" << nl + << " foamListTimes -processor -rm -time " + << firstOutput << ":" << nl; + } + + + Info<< "\nEnd\n" << endl; + return 0; +} + + +// ************************************************************************* // diff --git a/applications/test/fileHandler-writing/Make/files b/applications/test/fileHandler-writing/Make/files index f85b2cccecd..df7161d2b9d 100644 --- a/applications/test/fileHandler-writing/Make/files +++ b/applications/test/fileHandler-writing/Make/files @@ -1,3 +1,3 @@ -Test-fileHandler-writing.C +Test-fileHandler-writing.cxx EXE = $(FOAM_USER_APPBIN)/Test-fileHandler-writing diff --git a/applications/test/fileHandler-writing/Test-fileHandler-writing.C b/applications/test/fileHandler-writing/Test-fileHandler-writing.cxx similarity index 95% rename from applications/test/fileHandler-writing/Test-fileHandler-writing.C rename to applications/test/fileHandler-writing/Test-fileHandler-writing.cxx index 03caeab26df..a029befb7b5 100644 --- a/applications/test/fileHandler-writing/Test-fileHandler-writing.C +++ b/applications/test/fileHandler-writing/Test-fileHandler-writing.cxx @@ -56,8 +56,18 @@ int main(int argc, char *argv[]) argList::noFunctionObjects(); // Disallow function objects argList::addVerboseOption("additional verbosity"); - argList::addOption("output", "Begin output iteration (default: 10000)"); - argList::addOption("count", "Number of writes (default: 1)"); + argList::addOption + ( + "output", + "N", + "Begin output iteration (default: 10000)" + ); + argList::addOption + ( + "count", + "N", + "Number of writes (default: 1)" + ); #include "setRootCase.H" #include "createTime.H" -- GitLab From e3b7c2e6ee47fd4009cdb6ef4d346c33ad05b8ce Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 2 Feb 2024 15:28:05 +0100 Subject: [PATCH 039/231] ENH: replace masterUncollatedFileOperation::scatterList() - use Pstream::listScatterValues() instead of the old hand-rolled method. Reduces code and since it is mostly used with primitives it will use MPI_Scatter directly (see #3087) COMP: fix some inconsistent masterOp return types --- .../masterUncollatedFileOperation.C | 46 ++++---- .../masterUncollatedFileOperation.H | 9 +- .../masterUncollatedFileOperationTemplates.C | 106 +++++++----------- 3 files changed, 67 insertions(+), 94 deletions(-) diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index 182b5267061..ef9b1faac1b 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017-2018 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -875,11 +875,11 @@ bool Foam::fileOperations::masterUncollatedFileOperation::mkDir mode_t mode ) const { - return masterOp<mode_t> + return masterOp<bool> ( dir, mkDirOp(mode), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -891,11 +891,11 @@ bool Foam::fileOperations::masterUncollatedFileOperation::chMod mode_t mode ) const { - return masterOp<mode_t> + return masterOp<bool> ( fName, chModOp(mode), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -911,7 +911,7 @@ mode_t Foam::fileOperations::masterUncollatedFileOperation::mode ( fName, modeOp(followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -925,11 +925,11 @@ Foam::fileName::Type Foam::fileOperations::masterUncollatedFileOperation::type { return fileName::Type ( - masterOp<label> + masterOp<int> ( fName, typeOp(followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ) ); @@ -947,7 +947,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::exists ( fName, existsOp(checkGzip, followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -963,7 +963,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::isDir ( fName, isDirOp(followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -980,7 +980,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::isFile ( fName, isFileOp(checkGzip, followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -996,7 +996,7 @@ off_t Foam::fileOperations::masterUncollatedFileOperation::fileSize ( fName, fileSizeOp(followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1012,7 +1012,7 @@ time_t Foam::fileOperations::masterUncollatedFileOperation::lastModified ( fName, lastModifiedOp(followLink), - Pstream::msgType(), + UPstream::msgType(), UPstream::worldComm ); } @@ -1028,7 +1028,7 @@ double Foam::fileOperations::masterUncollatedFileOperation::highResLastModified ( fName, highResLastModifiedOp(followLink), - Pstream::msgType(), + UPstream::msgType(), UPstream::worldComm ); } @@ -1044,7 +1044,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::mvBak ( fName, mvBakOp(ext), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1059,7 +1059,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::rm ( fName, rmOp(), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1076,7 +1076,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::rmDir ( dir, rmDirOp(silent, emptyOnly), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1094,7 +1094,7 @@ Foam::fileNameList Foam::fileOperations::masterUncollatedFileOperation::readDir ( dir, readDirOp(type, filtergz, followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1112,7 +1112,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::cp src, dst, cpOp(followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1129,7 +1129,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::ln src, dst, lnOp(), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1147,7 +1147,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::mv src, dst, mvOp(followLink), - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1293,7 +1293,7 @@ Foam::fileName Foam::fileOperations::masterUncollatedFileOperation::filePath ( io.objectPath(), fileOrNullOp(true), // isFile=true - Pstream::msgType(), + UPstream::msgType(), comm_ ); } @@ -1451,7 +1451,7 @@ Foam::fileName Foam::fileOperations::masterUncollatedFileOperation::dirPath ( io.objectPath(), fileOrNullOp(false), // isFile=false - Pstream::msgType(), + UPstream::msgType(), comm_ ); } diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H index b705312b4f0..c2fff0d611d 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -162,8 +162,8 @@ protected: followLink_(followLink) {} - // Returns label not fileName::Type for reductions - label operator()(const fileName& f) const + // Returns int (for reductions) instead of fileName::Type + int operator()(const fileName& f) const { return Foam::type(f, followLink_); } @@ -390,9 +390,6 @@ protected: // Private Member Functions - template<class Type> - Type scatterList(const UList<Type>&, const int, const label comm) const; - template<class Type, class FileOp> Type masterOp ( diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperationTemplates.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperationTemplates.C index 7ff45acacaa..949676b0f39 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperationTemplates.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperationTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017-2018 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,41 +31,6 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class Type> -Type Foam::fileOperations::masterUncollatedFileOperation::scatterList -( - const UList<Type>& allValues, - const int tag, - const label comm -) const -{ - // TBD: more efficient scatter - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking, tag, comm); - if (Pstream::master(comm)) - { - for (const int proci : Pstream::subProcs(comm)) - { - UOPstream os(proci, pBufs); - os << allValues[proci]; - } - } - pBufs.finishedScatters(); - - Type value; - - if (Pstream::master(comm)) - { - value = allValues[0]; - } - else - { - UIPstream is(Pstream::masterNo(), pBufs); - is >> value; - } - return value; -} - - template<class Type, class FileOp> Type Foam::fileOperations::masterUncollatedFileOperation::masterOp ( @@ -81,17 +46,24 @@ Type Foam::fileOperations::masterUncollatedFileOperation::masterOp << typeid(FileOp).name() << " on " << fName << endl; } - if (Pstream::parRun()) + + if (UPstream::is_parallel(comm)) { - List<fileName> filePaths(Pstream::nProcs(comm)); - filePaths[Pstream::myProcNo(comm)] = fName; + const label myProci = UPstream::myProcNo(comm); + const label numProc = UPstream::nProcs(comm); + + List<fileName> filePaths(numProc); + filePaths[myProci] = fName; Pstream::gatherList(filePaths, tag, comm); + // OR filePaths = Pstream::listGatherValues(fName, comm, tag) - List<Type> result(filePaths.size()); - if (Pstream::master(comm)) + List<Type> result; + if (UPstream::master(comm)) { + result.resize(numProc); result = fop(filePaths[0]); - for (label i = 1; i < filePaths.size(); i++) + + for (label i = 1; i < numProc; ++i) { if (filePaths[i] != filePaths[0]) { @@ -100,12 +72,10 @@ Type Foam::fileOperations::masterUncollatedFileOperation::masterOp } } - return scatterList(result, tag, comm); - } - else - { - return fop(fName); + return Pstream::listScatterValues(result, comm, tag); } + + return fop(fName); } @@ -124,35 +94,41 @@ Type Foam::fileOperations::masterUncollatedFileOperation::masterOp Pout<< "masterUncollatedFileOperation : Operation on src:" << src << " dest:" << dest << endl; } - if (Pstream::parRun()) + + if (UPstream::is_parallel(comm)) { - List<fileName> srcs(Pstream::nProcs(comm)); - srcs[Pstream::myProcNo(comm)] = src; - Pstream::gatherList(srcs, tag, comm); + const label myProci = UPstream::myProcNo(comm); + const label numProc = UPstream::nProcs(comm); - List<fileName> dests(srcs.size()); - dests[Pstream::myProcNo(comm)] = dest; - Pstream::gatherList(dests, tag, comm); + List<Pair<fileName>> filePaths(numProc); + filePaths[myProci].first() = src; + filePaths[myProci].second() = dest; + Pstream::gatherList(filePaths, tag, comm); + // OR + // Pair<fileName> tup(src, dest); + // filePaths = Pstream::listGatherValues(tup, comm, tag) - List<Type> result(Pstream::nProcs(comm)); - if (Pstream::master(comm)) + List<Type> result; + if (UPstream::master(comm)) { - result = fop(srcs[0], dests[0]); - for (label i = 1; i < srcs.size(); i++) + result.resize(numProc); + result = fop(filePaths[0].first(), filePaths[0].second()); + + for (label i = 1; i < numProc; ++i) { - if (srcs[i] != srcs[0]) + // TBD: also check second() ? + if (filePaths[i].first() != filePaths[0].first()) { - result[i] = fop(srcs[i], dests[i]); + result[i] = + fop(filePaths[i].first(), filePaths[i].second()); } } } - return scatterList(result, tag, comm); - } - else - { - return fop(src, dest); + return Pstream::listScatterValues(result, comm, tag); } + + return fop(src, dest); } -- GitLab From ff567dbe71c5ae7686c5fd3e9acc5f8a1954f327 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 7 Sep 2023 14:34:30 +0200 Subject: [PATCH 040/231] CONFIG: adjust compile-time value of maxThreadFileBufferSize to 0 - consistent with etc/controlDict default STYLE: update banner message for collated --- etc/controlDict | 2 +- .../collatedFileOperation.C | 45 ++++++++++++------- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/etc/controlDict b/etc/controlDict index fc3d73ae544..f084663716d 100644 --- a/etc/controlDict +++ b/etc/controlDict @@ -114,7 +114,7 @@ OptimisationSwitches // (sized with magnitude of value) is large enough to hold all // outstanding writes so will not try to initialise the Pstream with // threading support. - // Default: 1e9 + // Default: 0 maxThreadFileBufferSize 0; //- masterUncollated: non-blocking buffer size. diff --git a/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C b/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C index 5bfe78a1f4a..bb0b861f955 100644 --- a/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C @@ -59,7 +59,7 @@ namespace fileOperations float collatedFileOperation::maxThreadFileBufferSize ( - debug::floatOptimisationSwitch("maxThreadFileBufferSize", 1e9) + debug::floatOptimisationSwitch("maxThreadFileBufferSize", 0) ); registerOptSwitch ( @@ -90,26 +90,41 @@ void Foam::fileOperations::collatedFileOperation::printBanner DetailInfo << "I/O : " << this->type(); - if (maxThreadFileBufferSize == 0) - { - DetailInfo - << " [unthreaded] (maxThreadFileBufferSize = 0)." << nl - << " Writing may be slow for large file sizes." - << endl; - } - else + if (mag(maxThreadFileBufferSize) > 1) { + // FUTURE: deprecate or remove threading? DetailInfo << " [threaded] (maxThreadFileBufferSize = " << maxThreadFileBufferSize << ")." << nl << " Requires buffer large enough to collect all data" - " or thread support" << nl - << " enabled in MPI. If MPI thread support cannot be" - " enabled, deactivate" << nl - << " threading by setting maxThreadFileBufferSize" - " to 0 in" << nl + " or MPI thread support." << nl + << " To avoid MPI threading [slow], set" + " (maxThreadFileBufferSize = 0) in" << nl << " OpenFOAM etc/controlDict" << endl; } + else + { + DetailInfo + << " [unthreaded] (maxThreadFileBufferSize = 0)." << nl; + + if (mag(maxMasterFileBufferSize) < 1) + { + DetailInfo + << " With scheduled transfer" << nl; + } + else if (maxMasterFileBufferSize >= 1) + { + DetailInfo + << " With non-blocking transfer," + " buffer-size = " << maxMasterFileBufferSize << nl; + } + else + { + DetailInfo + << " With non-blocking transfer," + " minimal buffer size" << nl; + } + } if (withRanks) { @@ -455,7 +470,7 @@ bool Foam::fileOperations::collatedFileOperation::writeObject { // Re-check static maxThreadFileBufferSize variable to see // if needs to use threading - const bool useThread = (maxThreadFileBufferSize != 0); + const bool useThread = (mag(maxThreadFileBufferSize) > 1); if (debug) { -- GitLab From 732c8b3330ca976454f12b51269ee1fd79ab939c Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 8 Feb 2024 15:52:48 +0100 Subject: [PATCH 041/231] STYLE: more explicit method name PtrList::count() -> count_nonnull() STYLE: use two-parameter shallowCopy --- applications/test/PtrList/Test-PtrList.C | 2 +- src/ODE/ODESolvers/ODESolver/ODESolver.H | 21 ++++++++-------- src/ODE/ODESolvers/ODESolver/ODESolverI.H | 25 +++---------------- .../PtrLists/PtrListDetail/PtrListDetail.C | 4 +-- .../PtrLists/PtrListDetail/PtrListDetail.H | 6 ++--- .../PtrLists/PtrListDetail/PtrListDetailIO.C | 6 ++--- .../containers/PtrLists/UPtrList/UPtrList.H | 10 +++++--- .../containers/PtrLists/UPtrList/UPtrListI.H | 6 ++--- .../matrices/LUscalarMatrix/procLduMatrix.C | 17 +++---------- 9 files changed, 36 insertions(+), 61 deletions(-) diff --git a/applications/test/PtrList/Test-PtrList.C b/applications/test/PtrList/Test-PtrList.C index b10794ffb09..2df2c5cbf03 100644 --- a/applications/test/PtrList/Test-PtrList.C +++ b/applications/test/PtrList/Test-PtrList.C @@ -412,7 +412,7 @@ int main(int argc, char *argv[]) } { - Info<< "range-for of list (" << list1.count() << '/' + Info<< "range-for of list (" << list1.count_nonnull() << '/' << list1.size() << ") non-null entries" << nl << "(" << nl; for (const auto& item : list1) diff --git a/src/ODE/ODESolvers/ODESolver/ODESolver.H b/src/ODE/ODESolvers/ODESolver/ODESolver.H index 066dc86483d..b274234ea75 100644 --- a/src/ODE/ODESolvers/ODESolver/ODESolver.H +++ b/src/ODE/ODESolvers/ODESolver/ODESolver.H @@ -38,8 +38,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef ODESolver_H -#define ODESolver_H +#ifndef Foam_ODESolver_H +#define Foam_ODESolver_H #include "ODESystem.H" #include "typeInfo.H" @@ -56,10 +56,9 @@ namespace Foam class ODESolver { - protected: - // Protected data + // Protected Data //- Reference to ODESystem const ODESystem& odes_; @@ -106,7 +105,7 @@ public: class stepState { - public: + public: const bool forward; scalar dxTry; @@ -171,14 +170,14 @@ public: // Member Functions - //- Return the number of equations to solve - inline label nEqns() const; + //- The number of equations to solve + label nEqns() const noexcept { return n_; } - //- Return access to the absolute tolerance field - inline scalarField& absTol(); + //- Access to the absolute tolerance field + scalarField& absTol() noexcept { return absTol_; } - //- Return access to the relative tolerance field - inline scalarField& relTol(); + //- Access to the relative tolerance field + scalarField& relTol() noexcept { return relTol_; } //- Resize the ODE solver virtual bool resize() = 0; diff --git a/src/ODE/ODESolvers/ODESolver/ODESolverI.H b/src/ODE/ODESolvers/ODESolver/ODESolverI.H index acf77d7a50b..bee196abbfd 100644 --- a/src/ODE/ODESolvers/ODESolver/ODESolverI.H +++ b/src/ODE/ODESolvers/ODESolver/ODESolverI.H @@ -27,36 +27,19 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -inline Foam::label Foam::ODESolver::nEqns() const -{ - return n_; -} - - -inline Foam::scalarField& Foam::ODESolver::absTol() -{ - return absTol_; -} - - -inline Foam::scalarField& Foam::ODESolver::relTol() -{ - return relTol_; -} - - template<class Type> inline void Foam::ODESolver::resizeField(UList<Type>& f, const label n) { - f.shallowCopy(UList<Type>(f.begin(), n)); + // shallowResize + f.shallowCopy(f.data(), n); } template<class Type> inline void Foam::ODESolver::resizeField(UList<Type>& f) const { - resizeField(f, n_); + // shallowResize + f.shallowCopy(f.data(), n_); } diff --git a/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetail.C b/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetail.C index d3456228d32..c0917472a4b 100644 --- a/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetail.C +++ b/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetail.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,7 +30,7 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class T> -Foam::label Foam::Detail::PtrListDetail<T>::count() const noexcept +Foam::label Foam::Detail::PtrListDetail<T>::count_nonnull() const noexcept { label n = 0; diff --git a/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetail.H b/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetail.H index faed8ae374c..cc789422728 100644 --- a/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetail.H +++ b/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetail.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -95,8 +95,8 @@ public: //- Return pointer to element or nullptr for out-of-range access. inline T* get(const label i); - //- Return the number of non-null entries - label count() const noexcept; + //- The number of non-nullptr entries in the list + label count_nonnull() const noexcept; //- FatalError if any null exists in the list inline void checkNonNull() const; diff --git a/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetailIO.C b/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetailIO.C index e17dfc320c6..f3713841d96 100644 --- a/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetailIO.C +++ b/src/OpenFOAM/containers/PtrLists/PtrListDetail/PtrListDetailIO.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,8 +40,8 @@ Foam::Ostream& Foam::Detail::PtrListDetail<T>::write { const label len = this->size(); - // The net length (after trimming any nullptr) - const label netLen = (trimNull ? this->count() : len); + // The net length, optionally after trimming any nullptr + const label netLen = (trimNull ? this->count_nonnull() : len); if (!netLen) { diff --git a/src/OpenFOAM/containers/PtrLists/UPtrList/UPtrList.H b/src/OpenFOAM/containers/PtrLists/UPtrList/UPtrList.H index 3b180f36169..24c93e4a457 100644 --- a/src/OpenFOAM/containers/PtrLists/UPtrList/UPtrList.H +++ b/src/OpenFOAM/containers/PtrLists/UPtrList/UPtrList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -257,8 +257,8 @@ public: //- Size of the underlying storage. inline label capacity() const noexcept; - //- The number of non-null entries in the list - inline label count() const noexcept; + //- The number of non-nullptr entries in the list + inline label count_nonnull() const noexcept; //- Reference to the first element of the list inline T& front(); @@ -648,6 +648,10 @@ public: //- Move append another list to the end of this list. //FOAM_DEPRECATED_FOR(2022-10, "push_back()") void append(UPtrList<T>&& other) { this->push_back(std::move(other)); } + + //- The number of non-nullptr entries in the list + FOAM_DEPRECATED_FOR(2024-01, "count_nonnull()") + label count() const noexcept { return count_nonnull(); } }; diff --git a/src/OpenFOAM/containers/PtrLists/UPtrList/UPtrListI.H b/src/OpenFOAM/containers/PtrLists/UPtrList/UPtrListI.H index c7763cf9aa9..681b6497ae2 100644 --- a/src/OpenFOAM/containers/PtrLists/UPtrList/UPtrListI.H +++ b/src/OpenFOAM/containers/PtrLists/UPtrList/UPtrListI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -124,9 +124,9 @@ inline Foam::label Foam::UPtrList<T>::capacity() const noexcept template<class T> -inline Foam::label Foam::UPtrList<T>::count() const noexcept +inline Foam::label Foam::UPtrList<T>::count_nonnull() const noexcept { - return ptrs_.count(); + return ptrs_.count_nonnull(); } diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.C b/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.C index 267a5c54c68..9670e99e146 100644 --- a/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.C +++ b/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,22 +43,11 @@ Foam::procLduMatrix::procLduMatrix lowerAddr_(ldum.lduAddr().lowerAddr()), diag_(ldum.diag()), upper_(ldum.upper()), - lower_(ldum.lower()) + lower_(ldum.lower()), + interfaces_(interfaces.count_nonnull()) { label nInterfaces = 0; - forAll(interfaces, i) - { - if (interfaces.set(i)) - { - nInterfaces++; - } - } - - interfaces_.setSize(nInterfaces); - - nInterfaces = 0; - forAll(interfaces, i) { if (interfaces.set(i)) @@ -73,7 +63,6 @@ Foam::procLduMatrix::procLduMatrix ); } } - } -- GitLab From 5a0fba84b464e8cfb7fa380c46ab6074c5165546 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 9 Feb 2024 11:03:48 +0100 Subject: [PATCH 042/231] ENH: consolidate stream allocators - add count() member for output span streams (consistency) - ITstream construct/parse from span/view COMP: remove old/unused first()/last() methods from SubStrings --- .../db/IOstreams/Fstreams/fstreamPointer.H | 6 +- .../db/IOstreams/Fstreams/fstreamPointers.C | 12 +- .../db/IOstreams/IOstreams/IOstream.H | 37 +++++- .../db/IOstreams/StringStreams/StringStream.H | 112 +++++++----------- src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C | 49 ++------ src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H | 103 +++++++++++++++- .../db/IOstreams/hashes/OSHA1stream.H | 39 ++---- .../db/IOstreams/memory/ICharStream.H | 37 +----- .../db/IOstreams/memory/ISpanStream.H | 39 +----- .../db/IOstreams/memory/OCharStream.H | 50 +++----- .../db/IOstreams/memory/OCountStream.H | 46 ++----- .../db/IOstreams/memory/OSpanStream.H | 52 +++----- .../primitives/strings/lists/SubStrings.H | 21 ++-- .../MeshedSurfaceIOAllocator.C | 8 -- .../MeshedSurfaceIOAllocator.H | 19 ++- 15 files changed, 279 insertions(+), 351 deletions(-) diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H index ce94bcd6ff7..e3c98907936 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -132,7 +132,7 @@ public: // Member Functions //- True if compiled with libz support - static bool supports_gz(); + static bool supports_gz() noexcept; // Access @@ -276,7 +276,7 @@ public: // Member Functions //- True if compiled with libz support - static bool supports_gz(); + static bool supports_gz() noexcept; // Access diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C index 2f69d064f34..89cb40857ba 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C +++ b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,7 +40,7 @@ License // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // -bool Foam::ifstreamPointer::supports_gz() +bool Foam::ifstreamPointer::supports_gz() noexcept { #ifdef HAVE_LIBZ return true; @@ -50,7 +50,7 @@ bool Foam::ifstreamPointer::supports_gz() } -bool Foam::ofstreamPointer::supports_gz() +bool Foam::ofstreamPointer::supports_gz() noexcept { #ifdef HAVE_LIBZ return true; @@ -71,7 +71,7 @@ Foam::ifstreamPointer::ifstreamPointer IOstreamOption streamOpt // Currently unused ) : - ptr_(nullptr) + ptr_() { open(pathname, streamOpt); } @@ -82,7 +82,7 @@ Foam::ifstreamPointer::ifstreamPointer const fileName& pathname ) : - ptr_(nullptr) + ptr_() { open(pathname); } @@ -110,7 +110,7 @@ Foam::ofstreamPointer::ofstreamPointer const bool atomic ) : - ptr_(nullptr), + ptr_(), atomic_(atomic) { std::ios_base::openmode mode diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H index b05e073cb3d..5f5ecc8a941 100644 --- a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H +++ b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -468,6 +468,41 @@ inline IOstream& scientific(IOstream& io) namespace Detail { +/*---------------------------------------------------------------------------*\ + Class Detail::StreamAllocator Declaration +\*---------------------------------------------------------------------------*/ + +//- A wrapper to hold a std::stream type for OpenFOAM wrapped streams. +//- This is necessary since the OpenFOAM streams hold a reference to +//- the normal std::stream +template<class StreamType> +class StreamAllocator +{ +protected: + + // Protected Data + + //- The std::stream + StreamType stream_; + + + // Constructors + + //- Default construct (empty) + StreamAllocator() = default; +}; + + +} // End namespace Detail + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Functions/Algorithms + +namespace Detail +{ + //- Termination for input looping (no-op) template<class IS> inline void inputLoop(IS&) {} diff --git a/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H b/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H index 66d766562f0..0950df267a0 100644 --- a/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H +++ b/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,60 +46,6 @@ SourceFiles namespace Foam { -namespace Detail -{ - -/*---------------------------------------------------------------------------*\ - Class Detail::StringStreamAllocator Declaration -\*---------------------------------------------------------------------------*/ - -//- Allocator for variants of a std stringstream -template<class StreamType> -class StringStreamAllocator -{ -protected: - - // Protected Member Data - - //- The stream type - typedef StreamType stream_type; - - //- The input/output stream. - stream_type stream_; - - - // Constructors - - //- Default construct - StringStreamAllocator() = default; - - //- Copy construct from string - StringStreamAllocator(const std::string& s) - : - stream_(s) - {} - - -public: - - // Member Functions - - //- Get the string - as Foam::string rather than std::string - Foam::string str() const - { - return Foam::string(stream_.str()); - } - - //- Set the string - void str(const std::string& s) - { - stream_.str(s); - } -}; - -} // End namespace Detail - - /*---------------------------------------------------------------------------*\ Class IStringStream Declaration \*---------------------------------------------------------------------------*/ @@ -107,10 +53,12 @@ public: //- Input from string buffer, using a ISstream. Always UNCOMPRESSED. class IStringStream : - public Detail::StringStreamAllocator<std::istringstream>, - public ISstream + public Foam::Detail::StreamAllocator<std::istringstream>, + public Foam::ISstream { - typedef Detail::StringStreamAllocator<std::istringstream> allocator_type; + typedef + Foam::Detail::StreamAllocator<std::istringstream> + allocator_type; public: @@ -133,9 +81,11 @@ public: IOstreamOption streamOpt = IOstreamOption() ) : - allocator_type(s), + allocator_type(), ISstream(stream_, "input", streamOpt.format(), streamOpt.version()) - {} + { + stream_.str(s); + } //- Construct from char* explicit IStringStream @@ -144,20 +94,32 @@ public: IOstreamOption streamOpt = IOstreamOption() ) : - allocator_type(s), + allocator_type(), ISstream(stream_, "input", streamOpt.format(), streamOpt.version()) - {} + { + stream_.str(s); + } //- Copy construct, copies content and format IStringStream(const IStringStream& str) : - allocator_type(str.str()), + allocator_type(), ISstream(stream_, str.name(), static_cast<IOstreamOption>(str)) - {} + { + stream_.str(str.str()); + } // Member Functions + //- Get the string. + //- As Foam::string instead of std::string (may change in future) + Foam::string str() const { return Foam::string(stream_.str()); } + + //- Set the string + void str(const std::string& s) { stream_.str(s); } + + //- Reset the input buffer and rewind the stream virtual void reset(const std::string& s) { @@ -220,10 +182,12 @@ public: //- Output to string buffer, using a OSstream. Always UNCOMPRESSED. class OStringStream : - public Detail::StringStreamAllocator<std::ostringstream>, - public OSstream + public Foam::Detail::StreamAllocator<std::ostringstream>, + public Foam::OSstream { - typedef Detail::StringStreamAllocator<std::ostringstream> allocator_type; + typedef + Foam::Detail::StreamAllocator<std::ostringstream> + allocator_type; public: @@ -242,13 +206,23 @@ public: //- Copy construct, copies content and format OStringStream(const OStringStream& str) : - allocator_type(str.str()), + allocator_type(), OSstream(stream_, str.name(), static_cast<IOstreamOption>(str)) - {} + { + stream_.str(str.str()); + } // Member Functions + //- Get the string. + //- As Foam::string instead of std::string (may change in future) + Foam::string str() const { return Foam::string(stream_.str()); } + + //- Set the string + void str(const std::string& s) { stream_.str(s); } + + //- Reset the output buffer and rewind the stream void reset() { diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C index 2a8e1d676e7..618bbf3bc99 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C @@ -91,13 +91,14 @@ Foam::ITstream& Foam::ITstream::empty_stream() } -Foam::tokenList Foam::ITstream::parse +Foam::tokenList Foam::ITstream::parse_chars ( - const UList<char>& input, + const char* s, + size_t nbytes, IOstreamOption streamOpt ) { - ISpanStream is(input, streamOpt); + ISpanStream is(s, nbytes, streamOpt); tokenList tokens; parseStream(is, tokens); @@ -105,31 +106,14 @@ Foam::tokenList Foam::ITstream::parse } -Foam::tokenList Foam::ITstream::parse -( - const std::string& input, - IOstreamOption streamOpt -) -{ - ISpanStream is(input, streamOpt); - - tokenList tokens; - parseStream(is, tokens); - return tokens; -} - +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -Foam::tokenList Foam::ITstream::parse -( - const char* input, - IOstreamOption streamOpt -) +void Foam::ITstream::reset(const char* input, size_t nbytes) { - ISpanStream is(input, strlen(input), streamOpt); + ISpanStream is(input, nbytes, static_cast<IOstreamOption>(*this)); - tokenList tokens; - parseStream(is, tokens); - return tokens; + parseStream(is, static_cast<tokenList&>(*this)); + ITstream::seek(0); // rewind(), but bypasss virtual } @@ -254,10 +238,7 @@ Foam::ITstream::ITstream : ITstream(streamOpt, name) { - ISpanStream is(input, streamOpt); - - parseStream(is, static_cast<tokenList&>(*this)); - ITstream::seek(0); // rewind(), but bypasss virtual + reset(input.cdata(), input.size_bytes()); } @@ -270,10 +251,7 @@ Foam::ITstream::ITstream : ITstream(streamOpt, name) { - ISpanStream is(input, streamOpt); - - parseStream(is, static_cast<tokenList&>(*this)); - ITstream::seek(0); // rewind(), but bypasss virtual + reset(input.data(), input.size()); } @@ -286,10 +264,7 @@ Foam::ITstream::ITstream : ITstream(streamOpt, name) { - ISpanStream is(input, strlen(input), streamOpt); - - parseStream(is, static_cast<tokenList&>(*this)); - ITstream::seek(0); // rewind(), but bypasss virtual + reset(input, strlen(input)); } diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H index 4cc396c52c6..480878bd37d 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H @@ -77,6 +77,18 @@ class ITstream // but leave any excess capacity (ie, like reserve). void reserveCapacity(const label newCapacity); + //- Convert input sequence into a list of tokens, + static tokenList parse_chars + ( + const char* s, + size_t nbytes, + IOstreamOption streamOpt + ); + + //- Convert input sequence into a list of tokens, + //- using the existing stream format. Rewinds the stream + void reset(const char* input, size_t nbytes); + //- Failsafe read-access to token at specified location //- or undefinedToken inline const token& peekNoFail(const label i) const @@ -158,6 +170,47 @@ public: const string& name = "input" ); + #if __cplusplus >= 201703L + //- Construct token list by parsing the input character sequence + // Uses static parse function internally. + explicit ITstream + ( + std::string_view s, + IOstreamOption streamOpt = IOstreamOption() + ) + : + ITstream(streamOpt) + { + reset(s.data(), s.size()); + } + #endif + + //- Construct token list by parsing the input character sequence + // Uses static parse function internally. + explicit ITstream + ( + stdFoam::span<char> s, + IOstreamOption streamOpt = IOstreamOption() + ) + : + ITstream(streamOpt) + { + reset(s.data(), s.size()); + } + + //- Construct token list by parsing the input character sequence + // Uses static parse function internally. + explicit ITstream + ( + stdFoam::span<const char> s, + IOstreamOption streamOpt = IOstreamOption() + ) + : + ITstream(streamOpt) + { + reset(s.data(), s.size()); + } + // Additional constructors @@ -207,7 +260,10 @@ public: ( const UList<char>& input, IOstreamOption streamOpt = IOstreamOption() - ); + ) + { + return parse_chars(input.cdata(), input.size(), streamOpt); + } //- Create token list by parsing the input string //- until no good tokens remain. @@ -215,7 +271,10 @@ public: ( const std::string& input, IOstreamOption streamOpt = IOstreamOption() - ); + ) + { + return parse_chars(input.data(), input.size(), streamOpt); + } //- Create token list by parsing the input character sequence //- until no good tokens remain. @@ -223,7 +282,45 @@ public: ( const char* input, IOstreamOption streamOpt = IOstreamOption() - ); + ) + { + return parse_chars(input, strlen(input), streamOpt); + } + + #if __cplusplus >= 201703L + //- Create token list by parsing the input character sequence + //- until no good tokens remain. + static tokenList parse + ( + std::string_view s, + IOstreamOption streamOpt = IOstreamOption() + ) + { + return parse_chars(s.data(), s.size(), streamOpt); + } + #endif + + //- Create token list by parsing the input character sequence + //- until no good tokens remain. + static tokenList parse + ( + stdFoam::span<char> s, + IOstreamOption streamOpt = IOstreamOption() + ) + { + return parse_chars(s.data(), s.size(), streamOpt); + } + + //- Create token list by parsing the input character sequence + //- until no good tokens remain. + static tokenList parse + ( + stdFoam::span<const char> s, + IOstreamOption streamOpt = IOstreamOption() + ) + { + return parse_chars(s.data(), s.size(), streamOpt); + } // Member Functions diff --git a/src/OpenFOAM/db/IOstreams/hashes/OSHA1stream.H b/src/OpenFOAM/db/IOstreams/hashes/OSHA1stream.H index 69491d2b90f..623f34d30df 100644 --- a/src/OpenFOAM/db/IOstreams/hashes/OSHA1stream.H +++ b/src/OpenFOAM/db/IOstreams/hashes/OSHA1stream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,8 +35,8 @@ Description #ifndef Foam_OSHA1stream_H #define Foam_OSHA1stream_H -#include "OSstream.H" #include "SHA1.H" +#include "OSstream.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -114,33 +114,6 @@ public: }; -namespace Detail -{ - -/*---------------------------------------------------------------------------*\ - Class Detail::OSHA1streamAllocator Declaration -\*---------------------------------------------------------------------------*/ - -//- An allocator for holding Foam::osha1stream -class OSHA1streamAllocator -{ -protected: - - // Protected Data - - //- The output stream - Foam::osha1stream stream_; - - - // Constructors - - //- Default construct - OSHA1streamAllocator() = default; -}; - -} // End namespace Detail - - /*---------------------------------------------------------------------------*\ Class OSHA1stream Declaration \*---------------------------------------------------------------------------*/ @@ -148,10 +121,12 @@ protected: //- The output stream for calculating SHA1 digests class OSHA1stream : - public Detail::OSHA1streamAllocator, - public OSstream + public Foam::Detail::StreamAllocator<Foam::osha1stream>, + public Foam::OSstream { - typedef Detail::OSHA1streamAllocator allocator_type; + typedef + Foam::Detail::StreamAllocator<Foam::osha1stream> + allocator_type; public: diff --git a/src/OpenFOAM/db/IOstreams/memory/ICharStream.H b/src/OpenFOAM/db/IOstreams/memory/ICharStream.H index c242b9d08df..866a7d2135c 100644 --- a/src/OpenFOAM/db/IOstreams/memory/ICharStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/ICharStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,8 +42,6 @@ See Also #define Foam_ICharStream_H #include "ISpanStream.H" -#include "List.H" -#include "DynamicList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -205,33 +203,6 @@ public: }; -namespace Detail -{ - -/*---------------------------------------------------------------------------*\ - Class Detail::ICharStreamAllocator Declaration -\*---------------------------------------------------------------------------*/ - -//- An allocator for holding Foam::icharstream -class ICharStreamAllocator -{ -protected: - - // Protected Data - - //- The stream - Foam::icharstream stream_; - - - // Constructors - - //- Default construct - ICharStreamAllocator() = default; -}; - -} // End namespace Detail - - /*---------------------------------------------------------------------------*\ Class ICharStream Declaration \*---------------------------------------------------------------------------*/ @@ -239,10 +210,12 @@ protected: //- An ISstream with internal List storage. Always UNCOMPRESSED. class ICharStream : - public Detail::ICharStreamAllocator, + public Foam::Detail::StreamAllocator<Foam::icharstream>, public Foam::ISstream { - typedef Detail::ICharStreamAllocator allocator_type; + typedef + Foam::Detail::StreamAllocator<Foam::icharstream> + allocator_type; public: diff --git a/src/OpenFOAM/db/IOstreams/memory/ISpanStream.H b/src/OpenFOAM/db/IOstreams/memory/ISpanStream.H index 8f89db282c3..9b03bf7bbda 100644 --- a/src/OpenFOAM/db/IOstreams/memory/ISpanStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/ISpanStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -65,7 +65,6 @@ See Also #define Foam_ISpanStream_H #include "memoryStreamBuffer.H" -#include "UList.H" #include "ISstream.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -213,49 +212,23 @@ public: //- Some information about the input buffer position/capacity void debug_info(Ostream& os) const { - os << "get=" - << input_pos() << '/' << capacity(); + os << "get=" << input_pos() << '/' << capacity(); } }; -namespace Detail -{ - -/*---------------------------------------------------------------------------*\ - Class Detail::ISpanStreamAllocator Declaration -\*---------------------------------------------------------------------------*/ - -//- An allocator for holding Foam::ispanstream -class ISpanStreamAllocator -{ -protected: - - // Protected Data - - //- The stream - Foam::ispanstream stream_; - - - // Constructors - - //- Default construct (empty) - ISpanStreamAllocator() = default; -}; - -} // End namespace Detail - - /*---------------------------------------------------------------------------*\ Class ISpanStream Declaration \*---------------------------------------------------------------------------*/ class ISpanStream : - public Detail::ISpanStreamAllocator, + public Foam::Detail::StreamAllocator<Foam::ispanstream>, public Foam::ISstream { - typedef Detail::ISpanStreamAllocator allocator_type; + typedef + Foam::Detail::StreamAllocator<Foam::ispanstream> + allocator_type; public: diff --git a/src/OpenFOAM/db/IOstreams/memory/OCharStream.H b/src/OpenFOAM/db/IOstreams/memory/OCharStream.H index 9b45472eaed..8849c4a55db 100644 --- a/src/OpenFOAM/db/IOstreams/memory/OCharStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/OCharStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -109,7 +109,13 @@ public: //- The current output position within the buffer (tellp) std::streampos output_pos() const { - return (buffer_type::span_tellp()); + return buffer_type::span_tellp(); + } + + //- The number of bytes outputted + std::streamsize count() const + { + return buffer_type::size_bytes(); } //- The put buffer capacity @@ -189,33 +195,6 @@ public: }; -namespace Detail -{ - -/*---------------------------------------------------------------------------*\ - Class Detail::OCharStreamAllocator Declaration -\*---------------------------------------------------------------------------*/ - -//- An allocator for holding Foam::ocharstream -class OCharStreamAllocator -{ -protected: - - // Protected Data - - //- The stream - Foam::ocharstream stream_; - - - // Constructors - - //- Default construct - empty - OCharStreamAllocator() = default; -}; - -} // End namespace Detail - - /*---------------------------------------------------------------------------*\ Class OCharStream Declaration \*---------------------------------------------------------------------------*/ @@ -223,10 +202,12 @@ protected: //- An OSstream with internal List storage class OCharStream : - public Detail::OCharStreamAllocator, + public Foam::Detail::StreamAllocator<Foam::ocharstream>, public Foam::OSstream { - typedef Detail::OCharStreamAllocator allocator_type; + typedef + Foam::Detail::StreamAllocator<Foam::ocharstream> + allocator_type; public: @@ -277,8 +258,11 @@ public: //- The current output position within the buffer (tellp) std::streampos output_pos() const { return stream_.output_pos(); } - //- The current output size. Same as tellp(), output_pos() - label size() const { return label(stream_.output_pos()); } + //- The number of bytes outputted + std::streamsize count() const { return stream_.count(); } + + //- The current output size. Same as count(), output_pos(), tellp(). + label size() const { return label(stream_.count()); } //- The put buffer capacity std::streamsize capacity() const { return stream_.capacity(); } diff --git a/src/OpenFOAM/db/IOstreams/memory/OCountStream.H b/src/OpenFOAM/db/IOstreams/memory/OCountStream.H index 1618dd51daa..c1c92fc36d5 100644 --- a/src/OpenFOAM/db/IOstreams/memory/OCountStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/OCountStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,7 +35,6 @@ Description #define Foam_OScountStream_H #include "OSstream.H" -#include <iostream> // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -126,7 +125,7 @@ class ocountstream // Member Functions - //- The number of bytes counted. + //- The number of bytes counted std::streamsize count() const noexcept { return size_; } //- Reset the count @@ -155,7 +154,7 @@ public: //- This hides both signatures of std::basic_ios::rdbuf() countbuf* rdbuf() { return &buf_; } - //- \return The number of bytes counted + //- The number of bytes counted std::streamsize count() const noexcept { return buf_.count(); } //- Reset the count @@ -173,33 +172,6 @@ public: }; -namespace Detail -{ - -/*---------------------------------------------------------------------------*\ - Class Detail::OCountStreamAllocator Declaration -\*---------------------------------------------------------------------------*/ - -//- An allocator for holding Foam::ocountstream -class OCountStreamAllocator -{ -protected: - - // Protected Data - - //- The output stream - Foam::ocountstream stream_; - - - // Constructors - - //- Default construct - OCountStreamAllocator() = default; -}; - -} // End namespace Detail - - /*---------------------------------------------------------------------------*\ Class OCountStream Declaration \*---------------------------------------------------------------------------*/ @@ -207,10 +179,12 @@ protected: //- An output stream for calculating byte counts class OCountStream : - public Detail::OCountStreamAllocator, - public OSstream + public Foam::Detail::StreamAllocator<Foam::ocountstream>, + public Foam::OSstream { - typedef Detail::OCountStreamAllocator allocator_type; + typedef + Foam::Detail::StreamAllocator<Foam::ocountstream> + allocator_type; public: @@ -238,10 +212,10 @@ public: // Member Functions - //- \return The number of bytes counted + //- The number of bytes counted std::streamsize count() const noexcept { return stream_.count(); } - //- \return The number of bytes counted + //- The number of bytes counted std::streamsize size() const noexcept { return stream_.count(); } //- Reset the count diff --git a/src/OpenFOAM/db/IOstreams/memory/OSpanStream.H b/src/OpenFOAM/db/IOstreams/memory/OSpanStream.H index 1903c5a6b6c..58cf0e0b398 100644 --- a/src/OpenFOAM/db/IOstreams/memory/OSpanStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/OSpanStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,7 +83,6 @@ See Also #define Foam_OSpanStream_H #include "memoryStreamBuffer.H" -#include "DynamicList.H" #include "OSstream.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -141,6 +140,12 @@ public: return buffer_type::span_tellp(); } + //- The number of bytes outputted + std::streamsize count() const + { + return buffer_type::size_bytes(); + } + //- The put buffer capacity std::streamsize capacity() const { @@ -199,49 +204,23 @@ public: //- Some information about the output buffer position/capacity void debug_info(Ostream& os) const { - os << "put=" - << output_pos() << '/' << capacity(); + os << "put=" << output_pos() << '/' << capacity(); } }; -namespace Detail -{ - -/*---------------------------------------------------------------------------*\ - Class Detail::OSpanStreamAllocator Declaration -\*---------------------------------------------------------------------------*/ - -//- An allocator for holding Foam::ospanstream -class OSpanStreamAllocator -{ -protected: - - // Protected Data - - //- The stream - Foam::ospanstream stream_; - - - // Constructors - - //- Default construct (empty) - OSpanStreamAllocator() = default; -}; - -} // End namespace Detail - - /*---------------------------------------------------------------------------*\ Class OSpanStream Declaration \*---------------------------------------------------------------------------*/ class OSpanStream : - public Detail::OSpanStreamAllocator, + public Foam::Detail::StreamAllocator<Foam::ospanstream>, public Foam::OSstream { - typedef Detail::OSpanStreamAllocator allocator_type; + typedef + Foam::Detail::StreamAllocator<Foam::ospanstream> + allocator_type; public: @@ -314,8 +293,11 @@ public: //- The current output position within the buffer (tellp) std::streampos output_pos() const { return stream_.output_pos(); } - //- The current output size. Same as tellp(), output_pos() - label size() const { return label(stream_.output_pos()); } + //- The number of bytes outputted + std::streamsize count() const { return stream_.count(); } + + //- The current output size. Same as count(), output_pos(), tellp(). + label size() const { return label(stream_.count()); } //- The put buffer capacity std::streamsize capacity() const { return stream_.capacity(); } diff --git a/src/OpenFOAM/primitives/strings/lists/SubStrings.H b/src/OpenFOAM/primitives/strings/lists/SubStrings.H index 8279d2d10df..4892d7976ca 100644 --- a/src/OpenFOAM/primitives/strings/lists/SubStrings.H +++ b/src/OpenFOAM/primitives/strings/lists/SubStrings.H @@ -109,19 +109,14 @@ public: this->push_back(range); } - //- Const reference to the first element, - //- for consistency with other OpenFOAM containers - auto first() const -> decltype(this->front()) - { - return this->front(); - } - - //- Const reference to the last element, - //- for consistency with other OpenFOAM containers - auto last() const -> decltype(this->back()) - { - return this->back(); - } + // FUTURE? + // #if __cplusplus >= 201703L + // std::string_view view(size_t pos) const + // {} + // #else + // stdFoam::span<const char> view(size_t pos) const + // {} + // #endif }; diff --git a/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.C b/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.C index 7115ca125c8..8769fe76abf 100644 --- a/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.C +++ b/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.C @@ -63,14 +63,6 @@ Foam::Detail::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::Detail::MeshedSurfaceIOAllocator::~MeshedSurfaceIOAllocator() -{ - clear(); -} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // void Foam::Detail::MeshedSurfaceIOAllocator::setInstance diff --git a/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.H b/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.H index 7fd3b4a9b23..f07b0a2f0c3 100644 --- a/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.H +++ b/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -39,7 +39,7 @@ SourceFiles #define Foam_MeshedSurfaceIOAllocator_H #include "pointIOField.H" -#include "faceIOList.H" +#include "faceIOList.H" // faceIOList and faceCompactIOList // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -62,8 +62,9 @@ class MeshedSurfaceIOAllocator //- Faces faceCompactIOList faces_; +public: - // Private Member Functions + // Generated Methods //- No copy construct MeshedSurfaceIOAllocator(const MeshedSurfaceIOAllocator&) = delete; @@ -72,8 +73,6 @@ class MeshedSurfaceIOAllocator void operator=(const MeshedSurfaceIOAllocator&) = delete; -public: - // Constructors //- Read construct from IOobjects @@ -99,7 +98,7 @@ public: //- Destructor - virtual ~MeshedSurfaceIOAllocator(); + virtual ~MeshedSurfaceIOAllocator() = default; // Member Functions @@ -116,25 +115,25 @@ public: // Access //- Non-const access to the points - pointIOField& storedIOPoints() + pointIOField& storedIOPoints() noexcept { return points_; } //- Non-const access to the faces - faceCompactIOList& storedIOFaces() + faceCompactIOList& storedIOFaces() noexcept { return faces_; } //- Const access to the points - const pointIOField& storedIOPoints() const + const pointIOField& storedIOPoints() const noexcept { return points_; } //- Const access to the faces - const faceCompactIOList& storedIOFaces() const + const faceCompactIOList& storedIOFaces() const noexcept { return faces_; } -- GitLab From 0c20009587bc5448b79648b5bf1124c28c2db3d2 Mon Sep 17 00:00:00 2001 From: Pete Bachant <petebachant@gmail.com> Date: Sun, 11 Feb 2024 19:13:22 -0800 Subject: [PATCH 043/231] ENH: support time-dependent actuationDiskSource disk direction (#3099) --- CONTRIBUTORS.md | 1 + .../actuationDiskSource/actuationDiskSource.C | 41 +++++++++++-------- .../actuationDiskSource/actuationDiskSource.H | 18 ++++---- .../actuationDiskSourceTemplates.C | 16 ++++---- .../radialActuationDiskSourceTemplates.C | 5 +-- .../turbineSiting/constant/fvOptions | 6 +-- 6 files changed, 46 insertions(+), 41 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index d4744fce468..8d6cc649474 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -9,6 +9,7 @@ It is likely incomplete... - Yu Ankun - Tetsuo Aoyagi - Akira Azami +- Pete Bachant - William Bainbridge - Gabriel Barajas - Kutalmis Bercin diff --git a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C index 5ecac54e417..13105085df0 100644 --- a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C +++ b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C @@ -90,6 +90,8 @@ void Foam::fv::actuationDiskSource::writeFileHeader(Ostream& os) writeFile::writeCommented(os, "P"); } + writeFile::writeCommented(os, "diskDir"); + os << endl; } @@ -208,14 +210,7 @@ Foam::fv::actuationDiskSource::actuationDiskSource scalarMinMax::ge(VSMALL) ) ), - diskDir_ - ( - coeffs_.getCheck<vector> - ( - "diskDir", - [&](const vector& vec){ return mag(vec) > VSMALL; } - ).normalise() - ), + diskDir_(Function1<vector>::New("diskDir", coeffs_, &mesh)), UvsCpPtr_(Function1<scalar>::New("Cp", coeffs_, &mesh)), UvsCtPtr_(Function1<scalar>::New("Ct", coeffs_, &mesh)), monitorCells_() @@ -237,6 +232,25 @@ Foam::fv::actuationDiskSource::actuationDiskSource // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +Foam::vector Foam::fv::actuationDiskSource::diskDir() const +{ + const scalar t = mesh_.time().timeOutputValue(); + const vector dir(diskDir_->value(t)); + const scalar magDir = Foam::mag(dir); + + if (magDir < SMALL) + { + FatalErrorInFunction + << "Actuator disk surface-normal vector is zero: " << dir + << " at time=" << t + << exit(FatalError); + } + + // normalised: + return dir/magDir; +} + + void Foam::fv::actuationDiskSource::addSup ( fvMatrix<vector>& eqn, @@ -295,19 +309,10 @@ bool Foam::fv::actuationDiskSource::read(const dictionary& dict) << exit(FatalIOError); } - dict.readIfPresent("diskDir", diskDir_); - diskDir_.normalise(); - if (mag(diskDir_) < VSMALL) - { - FatalIOErrorInFunction(dict) - << "Actuator disk surface-normal vector is zero: " - << "diskDir = " << diskDir_ - << exit(FatalIOError); - } + // TBD: runTime re-reading of "diskDir" ? return true; } - return false; } diff --git a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.H b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.H index 18304a53307..dea4009435a 100644 --- a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.H +++ b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.H @@ -170,7 +170,7 @@ Usage type | Type name: actuationDiskSource | word | yes | - diskArea | Actuator disk planar surface area | scalar | yes | - diskDir | Surface-normal vector of the actuator disk <!-- - --> pointing downstream | vector | yes | - + --> pointing downstream | Function1 | yes | - Cp | Power coefficient | Function1 | yes | - Ct | Thrust coefficient | Function1 | yes | - monitorMethod | Type of incoming velocity monitoring method <!-- @@ -207,8 +207,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef actuationDiskSource_H -#define actuationDiskSource_H +#ifndef Foam_actuationDiskSource_H +#define Foam_actuationDiskSource_H #include "cellSetOption.H" #include "writeFile.H" @@ -276,7 +276,8 @@ protected: scalar diskArea_; //- Surface-normal vector of the actuator disk pointing downstream - vector diskDir_; + //- as a function of time + autoPtr<Function1<vector>> diskDir_; //- Velocity vs power coefficients autoPtr<Function1<scalar>> UvsCpPtr_; @@ -364,14 +365,11 @@ public: // Access - //- Normal disk direction - const vector& diskDir() const - { - return diskDir_; - } + //- Normal disk direction, evaluated at timeOutputValue + vector diskDir() const; //- Disk area - scalar diskArea() const + scalar diskArea() const noexcept { return diskArea_; } diff --git a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSourceTemplates.C b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSourceTemplates.C index 8c70582dcd3..76f5669aa31 100644 --- a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSourceTemplates.C +++ b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSourceTemplates.C @@ -110,12 +110,13 @@ void Foam::fv::actuationDiskSource::calcFroudeMethod } // (BJSB:Eq. 3.9) + const vector diskDir = this->diskDir(); const scalar a = 1.0 - Cp/Ct; - const scalar T = 2.0*rhoRef*diskArea_*magSqr(Uref & diskDir_)*a*(1 - a); + const scalar T = 2.0*rhoRef*diskArea_*magSqr(Uref & diskDir)*a*(1 - a); for (const label celli : cells_) { - Usource[celli] += ((cellsV[celli]/V())*T)*diskDir_; + Usource[celli] += ((cellsV[celli]/V())*T)*diskDir; } if @@ -128,7 +129,7 @@ void Foam::fv::actuationDiskSource::calcFroudeMethod writeCurrentTime(os); os << Uref << tab << Cp << tab << Ct << tab << a << tab << T - << endl; + << tab << diskDir << endl; } } @@ -221,12 +222,13 @@ void Foam::fv::actuationDiskSource::calcVariableScalingMethod const scalar CpStar = Cp*pow3(magUref/magUdisk); // Compute calibrated thrust/power (LSRMTK:Eq. 5) - const scalar T = 0.5*rhoRef*diskArea_*magSqr(Udisk & diskDir_)*CtStar; - const scalar P = 0.5*rhoRef*diskArea_*pow3(mag(Udisk & diskDir_))*CpStar; + const vector diskDir = this->diskDir(); + const scalar T = 0.5*rhoRef*diskArea_*magSqr(Udisk & diskDir)*CtStar; + const scalar P = 0.5*rhoRef*diskArea_*pow3(mag(Udisk & diskDir))*CpStar; for (const label celli : cells_) { - Usource[celli] += (cellsV[celli]/totalV*T)*diskDir_; + Usource[celli] += (cellsV[celli]/totalV*T)*diskDir; } if @@ -240,7 +242,7 @@ void Foam::fv::actuationDiskSource::calcVariableScalingMethod os << Uref << tab << Cp << tab << Ct << tab << Udisk << tab << CpStar << tab << CtStar << tab << T << tab << P - << endl; + << tab << diskDir << endl; } } diff --git a/src/fvOptions/sources/derived/radialActuationDiskSource/radialActuationDiskSourceTemplates.C b/src/fvOptions/sources/derived/radialActuationDiskSource/radialActuationDiskSourceTemplates.C index 8bf97af9e78..4903cb1197c 100644 --- a/src/fvOptions/sources/derived/radialActuationDiskSource/radialActuationDiskSourceTemplates.C +++ b/src/fvOptions/sources/derived/radialActuationDiskSource/radialActuationDiskSourceTemplates.C @@ -48,9 +48,8 @@ addRadialActuationDiskAxialInertialResistance scalarField Tr(cells.size()); tensor E(Zero); - E.xx() = diskDir_.x(); - E.yy() = diskDir_.y(); - E.zz() = diskDir_.z(); + const vector diskDir = this->diskDir(); + E.diag(diskDir); const Field<vector> zoneCellCentres(mesh().cellCentres(), cells); const Field<scalar> zoneCellVolumes(mesh().cellVolumes(), cells); diff --git a/tutorials/incompressible/simpleFoam/turbineSiting/constant/fvOptions b/tutorials/incompressible/simpleFoam/turbineSiting/constant/fvOptions index c6f021b016c..bfb188142fe 100644 --- a/tutorials/incompressible/simpleFoam/turbineSiting/constant/fvOptions +++ b/tutorials/incompressible/simpleFoam/turbineSiting/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -21,7 +21,7 @@ disk1 selectionMode cellSet; cellSet actuationDisk1; diskArea 40; - diskDir (1 0 0); + diskDir constant (1 0 0); // Or other Function1 writeToFile true; sink true; Cp 0.386; @@ -45,7 +45,7 @@ disk2 Cp 0.53; Ct 0.58; diskArea 40; - diskDir (1 0 0); + diskDir (1 0 0); // Or other Function1 upstreamPoint (581753 4785663 1070); } -- GitLab From 506802bbea85b000e08071a77ab1f1fe426b9eac Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 14 Feb 2024 13:39:29 +0000 Subject: [PATCH 044/231] BUG: wallHeatFlux: avoid field-name inconsistency (fixes #3102) --- src/functionObjects/field/wallHeatFlux/wallHeatFlux.C | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C index a86d780a0fa..a97ed64ed0e 100644 --- a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C +++ b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C @@ -108,6 +108,10 @@ Foam::functionObjects::wallHeatFlux::wallHeatFlux writeFile(obr_, name, typeName, dict), qrName_("qr") { + read(dict); + + writeFileHeader(file()); + volScalarField* wallHeatFluxPtr ( new volScalarField @@ -127,10 +131,6 @@ Foam::functionObjects::wallHeatFlux::wallHeatFlux ); mesh_.objectRegistry::store(wallHeatFluxPtr); - - read(dict); - - writeFileHeader(file()); } -- GitLab From 8b85e5c9322a3e30d0177fd455781cb3033c0b08 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 8 Feb 2024 14:58:10 +0000 Subject: [PATCH 045/231] ENH: cyclicAMI - clear finished send/recv requests --- .../cyclicACMI/cyclicACMIFvPatchField.C | 68 ++++++++++++------- .../cyclicAMI/cyclicAMIFvPatchField.C | 55 ++++++++++++++- .../cyclicACMIGAMGInterfaceField.C | 17 ++++- .../cyclicAMIGAMGInterfaceField.C | 17 ++++- 4 files changed, 129 insertions(+), 28 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C index 3bc1a504bb3..7c139b2f9f4 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -444,7 +444,14 @@ void Foam::cyclicACMIFvPatchField<Type>::initEvaluate << " starting send&receive" << endl; - if (!this->ready()) + // Bypass polyPatch to get nbrId. + // - use cyclicACMIFvPatch::neighbPatch() virtual instead + const cyclicACMIFvPatch& neighbPatch = cyclicACMIPatch_.neighbPatch(); + const labelUList& nbrFaceCells = neighbPatch.faceCells(); + const Field<Type> pnf(this->primitiveField(), nbrFaceCells); + + // Assert that all receives are known to have finished + if (!recvRequests_.empty()) { FatalErrorInFunction << "Outstanding recv request(s) on patch " @@ -453,11 +460,8 @@ void Foam::cyclicACMIFvPatchField<Type>::initEvaluate << abort(FatalError); } - // By-pass polyPatch to get nbrId. Instead use cyclicACMIFvPatch virtual - // neighbPatch() - const cyclicACMIFvPatch& neighbPatch = cyclicACMIPatch_.neighbPatch(); - const labelUList& nbrFaceCells = neighbPatch.faceCells(); - const Field<Type> pnf(this->primitiveField(), nbrFaceCells); + // Assume that sends are also OK + sendRequests_.clear(); cyclicACMIPatch_.initInterpolate ( @@ -515,6 +519,10 @@ void Foam::cyclicACMIFvPatchField<Type>::evaluate ).ptr() ); + // Receive requests all handled by last function call + recvRequests_.clear(); + + auto& patchNeighbourField = patchNeighbourFieldPtr_.ref(); if (doTransform()) @@ -559,7 +567,16 @@ void Foam::cyclicACMIFvPatchField<Type>::initInterfaceMatrixUpdate << " starting send&receive" << endl; - if (!this->ready()) + const labelUList& nbrFaceCells = + lduAddr.patchAddr(cyclicACMIPatch_.neighbPatchID()); + + solveScalarField pnf(psiInternal, nbrFaceCells); + + // Transform according to the transformation tensors + transformCoupleField(pnf, cmpt); + + // Assert that all receives are known to have finished + if (!recvRequests_.empty()) { FatalErrorInFunction << "Outstanding recv request(s) on patch " @@ -568,13 +585,8 @@ void Foam::cyclicACMIFvPatchField<Type>::initInterfaceMatrixUpdate << abort(FatalError); } - const labelUList& nbrFaceCells = - lduAddr.patchAddr(cyclicACMIPatch_.neighbPatchID()); - - solveScalarField pnf(psiInternal, nbrFaceCells); - - // Transform according to the transformation tensors - transformCoupleField(pnf, cmpt); + // Assume that sends are also OK + sendRequests_.clear(); cyclicACMIPatch_.initInterpolate ( @@ -635,6 +647,9 @@ void Foam::cyclicACMIFvPatchField<Type>::updateInterfaceMatrix recvRequests_, scalarRecvBufs_ ); + + // Receive requests all handled by last function call + recvRequests_.clear(); } else { @@ -676,7 +691,16 @@ void Foam::cyclicACMIFvPatchField<Type>::initInterfaceMatrixUpdate << exit(FatalError); } - if (!this->ready()) + const labelUList& nbrFaceCells = + lduAddr.patchAddr(cyclicACMIPatch_.neighbPatchID()); + + Field<Type> pnf(psiInternal, nbrFaceCells); + + // Transform according to the transformation tensors + transformCoupleField(pnf); + + // Assert that all receives are known to have finished + if (!recvRequests_.empty()) { FatalErrorInFunction << "Outstanding recv request(s) on patch " @@ -685,13 +709,8 @@ void Foam::cyclicACMIFvPatchField<Type>::initInterfaceMatrixUpdate << abort(FatalError); } - const labelUList& nbrFaceCells = - lduAddr.patchAddr(cyclicACMIPatch_.neighbPatchID()); - - Field<Type> pnf(psiInternal, nbrFaceCells); - - // Transform according to the transformation tensors - transformCoupleField(pnf); + // Assume that sends are also OK + sendRequests_.clear(); cyclicACMIPatch_.initInterpolate ( @@ -741,6 +760,9 @@ void Foam::cyclicACMIFvPatchField<Type>::updateInterfaceMatrix recvRequests_, recvBufs_ ); + + // Receive requests all handled by last function call + recvRequests_.clear(); } else { diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C index b732866cb09..452d119105b 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -446,14 +446,27 @@ void Foam::cyclicAMIFvPatchField<Type>::initEvaluate // Start sending - // By-pass polyPatch to get nbrId. Instead use cyclicAMIFvPatch virtual - // neighbPatch() + // Bypass polyPatch to get nbrId. + // - use cyclicACMIFvPatch::neighbPatch() virtual instead const cyclicAMIFvPatch& neighbPatch = cyclicAMIPatch_.neighbPatch(); const labelUList& nbrFaceCells = neighbPatch.faceCells(); const Field<Type> pnf(this->primitiveField(), nbrFaceCells); const cyclicAMIPolyPatch& cpp = cyclicAMIPatch_.cyclicAMIPatch(); + // Assert that all receives are known to have finished + if (!recvRequests_.empty()) + { + FatalErrorInFunction + << "Outstanding recv request(s) on patch " + << cyclicAMIPatch_.name() + << " field " << this->internalField().name() + << abort(FatalError); + } + + // Assume that sends are also OK + sendRequests_.clear(); + cpp.initInterpolate ( pnf, @@ -516,6 +529,10 @@ void Foam::cyclicAMIFvPatchField<Type>::evaluate defaultValues ).ptr() ); + + // Receive requests all handled by last function call + recvRequests_.clear(); + auto& patchNeighbourField = patchNeighbourFieldPtr_.ref(); if (doTransform()) @@ -563,6 +580,19 @@ void Foam::cyclicAMIFvPatchField<Type>::initInterfaceMatrixUpdate const cyclicAMIPolyPatch& cpp = cyclicAMIPatch_.cyclicAMIPatch(); + // Assert that all receives are known to have finished + if (!recvRequests_.empty()) + { + FatalErrorInFunction + << "Outstanding recv request(s) on patch " + << cyclicAMIPatch_.name() + << " field " << this->internalField().name() + << abort(FatalError); + } + + // Assume that sends are also OK + sendRequests_.clear(); + cpp.initInterpolate ( pnf, @@ -624,6 +654,9 @@ void Foam::cyclicAMIFvPatchField<Type>::updateInterfaceMatrix scalarRecvBufs_, defaultValues ); + + // Receive requests all handled by last function call + recvRequests_.clear(); } else { @@ -682,6 +715,19 @@ void Foam::cyclicAMIFvPatchField<Type>::initInterfaceMatrixUpdate const cyclicAMIPolyPatch& cpp = cyclicAMIPatch_.cyclicAMIPatch(); + // Assert that all receives are known to have finished + if (!recvRequests_.empty()) + { + FatalErrorInFunction + << "Outstanding recv request(s) on patch " + << cyclicAMIPatch_.name() + << " field " << this->internalField().name() + << abort(FatalError); + } + + // Assume that sends are also OK + sendRequests_.clear(); + cpp.initInterpolate ( pnf, @@ -742,6 +788,9 @@ void Foam::cyclicAMIFvPatchField<Type>::updateInterfaceMatrix recvBufs_, defaultValues ); + + // Receive requests all handled by last function call + recvRequests_.clear(); } else { diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C b/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C index 5f41ba8cefc..2d4491ca778 100644 --- a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C +++ b/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013 OpenFOAM Foundation - Copyright (C) 2019,2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -217,6 +217,18 @@ void Foam::cyclicACMIGAMGInterfaceField::initInterfaceMatrixUpdate : AMI.srcMap() ); + // Assert that all receives are known to have finished + if (!recvRequests_.empty()) + { + FatalErrorInFunction + << "Outstanding recv request(s) on patch " + << cyclicACMIInterface_.index() + << abort(FatalError); + } + + // Assume that sends are also OK + sendRequests_.clear(); + // Insert send/receive requests (non-blocking). See e.g. // cyclicAMIPolyPatchTemplates.C const label oldWarnComm = UPstream::commWarn(AMI.comm()); @@ -276,6 +288,9 @@ void Foam::cyclicACMIGAMGInterfaceField::updateInterfaceMatrix solveScalarField work; map.receive(recvRequests_, scalarRecvBufs_, work); + // Receive requests all handled by last function call + recvRequests_.clear(); + solveScalarField pnf(faceCells.size(), Zero); AMI.weightedSum ( diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicAMIGAMGInterfaceField/cyclicAMIGAMGInterfaceField.C b/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicAMIGAMGInterfaceField/cyclicAMIGAMGInterfaceField.C index 793fe4bfa49..68d19e6c1d7 100644 --- a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicAMIGAMGInterfaceField/cyclicAMIGAMGInterfaceField.C +++ b/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicAMIGAMGInterfaceField/cyclicAMIGAMGInterfaceField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2019,2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -218,6 +218,18 @@ void Foam::cyclicAMIGAMGInterfaceField::initInterfaceMatrixUpdate : AMI.srcMap() ); + // Assert that all receives are known to have finished + if (!recvRequests_.empty()) + { + FatalErrorInFunction + << "Outstanding recv request(s) on patch " + << cyclicAMIInterface_.index() + << abort(FatalError); + } + + // Assume that sends are also OK + sendRequests_.clear(); + // Insert send/receive requests (non-blocking). See e.g. // cyclicAMIPolyPatchTemplates.C const label oldWarnComm = UPstream::commWarn(AMI.comm()); @@ -290,6 +302,9 @@ void Foam::cyclicAMIGAMGInterfaceField::updateInterfaceMatrix solveScalarField work; map.receive(recvRequests_, scalarRecvBufs_, work); + // Receive requests all handled by last function call + recvRequests_.clear(); + solveScalarField pnf(faceCells.size(), Zero); AMI.weightedSum ( -- GitLab From ec3bca90fc0f33f9ae56e8da6eb714540de87ff3 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 14 Feb 2024 14:22:48 +0100 Subject: [PATCH 046/231] ENH: update polySurface and sampledSurfaces - surfaceWriter TryNew() factory methods for more failure tolerant handling - reduce communication for sampledSurfaces. Track non-empty surfaces as bool, only updated on change (expire/update). --- .../sampledSurface/sampledSurfaceRegister.C | 31 +++--- .../sampledSurfaces/sampledSurfaces.C | 105 ++++++------------ .../sampledSurfaces/sampledSurfaces.H | 30 ++--- .../sampledSurfacesTemplates.C | 26 ++--- .../polySurface/fields/polySurfaceGeoMesh.H | 9 +- .../fields/polySurfacePointGeoMesh.H | 9 +- src/surfMesh/polySurface/polySurface.C | 83 +++++++++----- src/surfMesh/polySurface/polySurface.H | 95 +++++++++++----- src/surfMesh/polySurface/polySurfaceClear.C | 1 - .../polySurface/polySurfaceTemplates.C | 99 ++++++++++++----- src/surfMesh/surfMesh/fields/surfGeoMesh.H | 2 +- .../surfMesh/fields/surfPointGeoMesh.H | 2 +- src/surfMesh/surfMesh/surfMesh.H | 69 +++++++++--- src/surfMesh/surfMesh/surfMeshTemplates.C | 90 +++++++++++---- src/surfMesh/writers/common/surfaceWriter.C | 99 +++++++++++------ src/surfMesh/writers/common/surfaceWriter.H | 21 +++- .../writers/proxy/proxySurfaceWriter.C | 32 +++++- .../writers/proxy/proxySurfaceWriter.H | 17 ++- 18 files changed, 534 insertions(+), 286 deletions(-) diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurfaceRegister.C b/src/sampling/sampledSurface/sampledSurface/sampledSurfaceRegister.C index 17de846f1fe..28f23ce6a64 100644 --- a/src/sampling/sampledSurface/sampledSurface/sampledSurfaceRegister.C +++ b/src/sampling/sampledSurface/sampledSurface/sampledSurfaceRegister.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,12 +36,12 @@ Foam::polySurface* Foam::sampledSurface::getRegistrySurface word lookupName ) const { - if (lookupName.empty()) - { - lookupName = this->name(); - } - - return obr.getObjectPtr<polySurface>(lookupName); + return + ( + lookupName.empty() + ? obr.getObjectPtr<polySurface>(this->name()) + : obr.getObjectPtr<polySurface>(lookupName) + ); } @@ -56,15 +56,16 @@ Foam::polySurface* Foam::sampledSurface::storeRegistrySurface lookupName = this->name(); } - polySurface* surfptr = getRegistrySurface(obr, lookupName); + auto* surfptr = obr.getObjectPtr<polySurface>(lookupName); if (!surfptr) { - // Default construct and add to registry (owned by registry) - surfptr = new polySurface(lookupName, obr, true); + surfptr = new polySurface(lookupName, obr); + regIOobject::store(surfptr); } - surfptr->copySurface(*this); // Copy in geometry (removes old fields) + // Copy in geometry (removes existing fields if sizes have changed) + surfptr->copySurface(*this); return surfptr; } @@ -76,8 +77,12 @@ bool Foam::sampledSurface::removeRegistrySurface word lookupName ) const { - polySurface* surfptr = getRegistrySurface(obr, lookupName); - return obr.checkOut(surfptr); + return + ( + lookupName.empty() + ? polySurface::Delete(this->name(), obr) + : polySurface::Delete(lookupName, obr) + ); } diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C index d7de7db89d4..e6e912f6b07 100644 --- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C +++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,41 +57,15 @@ Foam::scalar Foam::sampledSurfaces::mergeTol_ = 1e-10; // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -Foam::polySurface* Foam::sampledSurfaces::getRegistrySurface -( - const sampledSurface& s -) const -{ - return s.getRegistrySurface - ( - storedObjects(), - IOobject::groupName(name(), s.name()) - ); -} - - -Foam::polySurface* Foam::sampledSurfaces::storeRegistrySurface +void Foam::sampledSurfaces::storeRegistrySurface ( const sampledSurface& s ) { - return s.storeRegistrySurface + s.storeRegistrySurface ( storedObjects(), - IOobject::groupName(name(), s.name()) - ); -} - - -bool Foam::sampledSurfaces::removeRegistrySurface -( - const sampledSurface& s -) -{ - return s.removeRegistrySurface - ( - storedObjects(), - IOobject::groupName(name(), s.name()) + IOobject::groupName(name(), s.name()) // surfaceName ); } @@ -129,7 +103,7 @@ Foam::IOobjectList Foam::sampledSurfaces::preCheckFields() { if (!ListOps::found(allFields, fieldSelection_[i])) { - missed.append(i); + missed.push_back(i); } } @@ -153,11 +127,11 @@ Foam::IOobjectList Foam::sampledSurfaces::preCheckFields() const word& clsName = iter.key(); const label n = iter.val().size(); - if (fieldTypes::volume.found(clsName)) + if (fieldTypes::volume.contains(clsName)) { nVolumeFields += n; } - else if (fieldTypes::surface.found(clsName)) + else if (fieldTypes::surface.contains(clsName)) { nSurfaceFields += n; } @@ -224,13 +198,7 @@ Foam::sampledSurfaces::sampledSurfaces outputPath_ ( time_.globalPath()/functionObject::outputPrefix/name - ), - fieldSelection_(), - sampleFaceScheme_(), - sampleNodeScheme_(), - writers_(), - actions_(), - nFaces_() + ) { outputPath_.clean(); // Remove unneeded ".." @@ -254,13 +222,7 @@ Foam::sampledSurfaces::sampledSurfaces outputPath_ ( time_.globalPath()/functionObject::outputPrefix/name - ), - fieldSelection_(), - sampleFaceScheme_(), - sampleNodeScheme_(), - writers_(), - actions_(), - nFaces_() + ) { outputPath_.clean(); // Remove unneeded ".." @@ -270,7 +232,7 @@ Foam::sampledSurfaces::sampledSurfaces // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::sampledSurfaces::verbose(const bool on) noexcept +bool Foam::sampledSurfaces::verbose(bool on) noexcept { bool old(verbose_); verbose_ = on; @@ -285,7 +247,7 @@ bool Foam::sampledSurfaces::read(const dictionary& dict) PtrList<sampledSurface>::clear(); writers_.clear(); actions_.clear(); - nFaces_.clear(); + hasFaces_.clear(); fieldSelection_.clear(); verbose_ = dict.getOrDefault("verbose", false); @@ -312,7 +274,6 @@ bool Foam::sampledSurfaces::read(const dictionary& dict) actions_.resize(surfs.size(), ACTION_WRITE); // Default action writers_.resize(surfs.size()); - nFaces_.resize(surfs.size(), Zero); label surfi = 0; @@ -385,7 +346,6 @@ bool Foam::sampledSurfaces::read(const dictionary& dict) actions_.resize(surfs.size(), ACTION_WRITE); // Default action writers_.resize(surfs.size()); - nFaces_.resize(surfs.size(), Zero); label surfi = 0; @@ -436,10 +396,11 @@ bool Foam::sampledSurfaces::read(const dictionary& dict) // Have some surfaces, so sort out which fields are needed and report + hasFaces_.resize_nocopy(surfs.size()); + hasFaces_ = false; + if (surfs.size()) { - nFaces_.resize(surfs.size(), Zero); - dict.readEntry("fields", fieldSelection_); fieldSelection_.uniq(); @@ -466,7 +427,7 @@ bool Foam::sampledSurfaces::read(const dictionary& dict) Info<< nl; } - if (debug && Pstream::master()) + if (debug && UPstream::master()) { Pout<< "sample fields:" << fieldSelection_ << nl << "sample surfaces:" << nl << '(' << nl; @@ -499,12 +460,15 @@ bool Foam::sampledSurfaces::performAction(unsigned request) if (s.update()) { writers_[surfi].expire(); + hasFaces_[surfi] = false; } - nFaces_[surfi] = returnReduce(s.faces().size(), sumOp<label>()); - - ok = ok || nFaces_[surfi]; + if (!hasFaces_[surfi]) + { + hasFaces_[surfi] = returnReduceOr(s.faces().size()); + } + ok = ok || hasFaces_[surfi]; // Store surfaces (even empty ones) otherwise we miss geometry // updates. @@ -536,7 +500,7 @@ bool Foam::sampledSurfaces::performAction(unsigned request) { const sampledSurface& s = (*this)[surfi]; - if (((request & actions_[surfi]) & ACTION_WRITE) && nFaces_[surfi]) + if (((request & actions_[surfi]) & ACTION_WRITE) && hasFaces_[surfi]) { surfaceWriter& outWriter = writers_[surfi]; @@ -589,7 +553,7 @@ bool Foam::sampledSurfaces::performAction(unsigned request) testAny ( surfaces(), - [] (const sampledSurface& s) { return s.withSurfaceFields(); } + [](const sampledSurface& s) { return s.withSurfaceFields(); } ) ) { @@ -604,7 +568,7 @@ bool Foam::sampledSurfaces::performAction(unsigned request) // Finish this time step forAll(writers_, surfi) { - if (((request & actions_[surfi]) & ACTION_WRITE) && nFaces_[surfi]) + if (((request & actions_[surfi]) & ACTION_WRITE) && hasFaces_[surfi]) { // Write geometry if no fields were written so that we still // can have something to look at @@ -688,7 +652,7 @@ bool Foam::sampledSurfaces::expire(const bool force) // Dimension as fraction of mesh bounding box const scalar mergeDim = mergeTol_ * mesh_.bounds().mag(); - label nChanged = 0; + bool changed = false; forAll(*this, surfi) { @@ -701,16 +665,16 @@ bool Foam::sampledSurfaces::expire(const bool force) } if (s.expire()) { - ++nChanged; + changed = true; } writers_[surfi].expire(); writers_[surfi].mergeDim(mergeDim); - nFaces_[surfi] = 0; + hasFaces_[surfi] = false; } // True if any surfaces just expired - return nChanged; + return changed; } @@ -721,7 +685,7 @@ bool Foam::sampledSurfaces::update() return false; } - label nUpdated = 0; + bool changed = false; forAll(*this, surfi) { @@ -729,14 +693,13 @@ bool Foam::sampledSurfaces::update() if (s.update()) { - ++nUpdated; + changed = true; writers_[surfi].expire(); + hasFaces_[surfi] = returnReduceOr(s.faces().size()); } - - nFaces_[surfi] = returnReduce(s.faces().size(), sumOp<label>()); } - return nUpdated; + return changed; } @@ -746,9 +709,9 @@ Foam::scalar Foam::sampledSurfaces::mergeTol() noexcept } -Foam::scalar Foam::sampledSurfaces::mergeTol(const scalar tol) noexcept +Foam::scalar Foam::sampledSurfaces::mergeTol(scalar tol) noexcept { - const scalar old(mergeTol_); + scalar old(mergeTol_); mergeTol_ = tol; return old; } diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H index f0424c07706..95de9440240 100644 --- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H +++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -205,8 +205,8 @@ class sampledSurfaces //- Per-surface selection of store/write actions List<unsigned> actions_; - //- Cached values of the global number of faces per-surface - labelList nFaces_; + //- Per-surface status of the surfaces + List<bool> hasFaces_; // Private Member Functions @@ -266,21 +266,12 @@ class sampledSurfaces ); - //- Get surface from registry if available. - // \return surface or nullptr - polySurface* getRegistrySurface(const sampledSurface& s) const; + //- Put surface onto registry + void storeRegistrySurface(const sampledSurface& s); - //- Put surface onto registry, when enabled. - // \return surface or nullptr it surface should not be stored - polySurface* storeRegistrySurface(const sampledSurface& s); - - //- Remove surface from registry. - // \return True if surface existed and was removed - bool removeRegistrySurface(const sampledSurface& s); - - //- Store sampled field onto surface registry if it exists + //- Store sampled field onto surface registry (if surface exists) template<class Type, class GeoMeshType> - bool storeRegistryField + void storeRegistryField ( const sampledSurface& s, const word& fieldName, @@ -288,7 +279,8 @@ class sampledSurfaces Field<Type>&& values ); - //- Test surfaces for condition + //- Test surfaces for condition. + //- Like std::any_of() but without any iterator requirements template<class Container, class Predicate> static bool testAny(const Container& items, const Predicate& pred); @@ -347,7 +339,7 @@ public: //- Enable/disable verbose output // \return old value - bool verbose(const bool on) noexcept; + bool verbose(bool on) noexcept; //- Return names of fields to sample const wordRes& fieldNames() const noexcept { return fieldSelection_; } @@ -374,7 +366,7 @@ public: static scalar mergeTol() noexcept; //- Set merge tolerance and return old value - static scalar mergeTol(const scalar tol) noexcept; + static scalar mergeTol(scalar tol) noexcept; }; diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C index 10ef1e8514d..72090e95632 100644 --- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C +++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,7 +56,7 @@ void Foam::sampledSurfaces::writeSurface template<class Type, class GeoMeshType> -bool Foam::sampledSurfaces::storeRegistryField +void Foam::sampledSurfaces::storeRegistryField ( const sampledSurface& s, const word& fieldName, @@ -64,13 +64,13 @@ bool Foam::sampledSurfaces::storeRegistryField Field<Type>&& values ) { - return s.storeRegistryField<Type, GeoMeshType> + s.storeRegistryField<Type, GeoMeshType> ( storedObjects(), fieldName, dims, std::move(values), - IOobject::groupName(name(), s.name()) + IOobject::groupName(name(), s.name()) // surfaceName ); } @@ -94,13 +94,10 @@ void Foam::sampledSurfaces::performAction forAll(*this, surfi) { - const sampledSurface& s = operator[](surfi); + // Skip empty surfaces (eg, failed cut-plane) + if (!hasFaces_[surfi]) continue; - // Skip surface without faces (eg, failed cut-plane) - if (!nFaces_[surfi]) - { - continue; - } + const sampledSurface& s = operator[](surfi); Field<Type> values; @@ -170,13 +167,10 @@ void Foam::sampledSurfaces::performAction forAll(*this, surfi) { - const sampledSurface& s = (*this)[surfi]; + // Skip empty surfaces (eg, failed cut-plane) + if (!hasFaces_[surfi]) continue; - // Skip surface without faces (eg, failed cut-plane) - if (!nFaces_[surfi]) - { - continue; - } + const sampledSurface& s = (*this)[surfi]; Field<Type> values(s.sample(fld)); diff --git a/src/surfMesh/polySurface/fields/polySurfaceGeoMesh.H b/src/surfMesh/polySurface/fields/polySurfaceGeoMesh.H index ca27467eb42..9adff973152 100644 --- a/src/surfMesh/polySurface/fields/polySurfaceGeoMesh.H +++ b/src/surfMesh/polySurface/fields/polySurfaceGeoMesh.H @@ -27,7 +27,7 @@ Class Foam::polySurfaceGeoMesh Description - The polySurface GeoMesh (for holding fields). + The polySurface GeoMesh for face fields. \*---------------------------------------------------------------------------*/ @@ -74,6 +74,13 @@ public: { return size(mesh_); } + + // FUTURE? + // //- Return the object registry for face fields + // const objectRegistry& thisDb() const + // { + // return mesh_.faceData(); + // } }; diff --git a/src/surfMesh/polySurface/fields/polySurfacePointGeoMesh.H b/src/surfMesh/polySurface/fields/polySurfacePointGeoMesh.H index ac4a761d9cd..8ccca1e11a3 100644 --- a/src/surfMesh/polySurface/fields/polySurfacePointGeoMesh.H +++ b/src/surfMesh/polySurface/fields/polySurfacePointGeoMesh.H @@ -27,7 +27,7 @@ Class Foam::polySurfacePointGeoMesh Description - The polySurface GeoMesh (for holding point fields). + The polySurface GeoMesh for point fields. \*---------------------------------------------------------------------------*/ @@ -74,6 +74,13 @@ public: { return size(mesh_); } + + // FUTURE? + // //- Return the object registry for point fields + // const objectRegistry& thisDb() const + // { + // return mesh_.pointData(); + // } }; diff --git a/src/surfMesh/polySurface/polySurface.C b/src/surfMesh/polySurface/polySurface.C index 553fce0d633..70d81f775a4 100644 --- a/src/surfMesh/polySurface/polySurface.C +++ b/src/surfMesh/polySurface/polySurface.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,15 +52,12 @@ void Foam::polySurface::calculateZoneIds(const UList<surfZone>& zones) // Extra safety, ensure we have at some zones // and they cover all the faces - fix start silently - zoneIds_.resize(size(), Zero); + zoneIds_.resize_nocopy(size()); label off = 0; for (const surfZone& zn : zones) { - const label sz = zn.size(); - - SubList<label>(zoneIds_, sz, off) = zn.index(); - + SubList<label>(zoneIds_, zn.size(), off) = zn.index(); off += zn.size(); } @@ -69,7 +66,7 @@ void Foam::polySurface::calculateZoneIds(const UList<surfZone>& zones) WarningInFunction << "More faces " << size() << " than zones " << off << endl; - SubList<label>(zoneIds_, size()-off, off) = zones.back().index(); + zoneIds_.slice(off) = (zones.empty() ? 0 : zones.back().index()); } else if (size() < off) { @@ -96,8 +93,7 @@ Foam::polySurface::polySurface(const IOobject& io, bool doCheckIn) IOobjectOption::REGISTER ) ), - MeshReference(faceList(), pointField()), - zoneIds_() + MeshReference(faceList(), pointField()) { // Created without a point field sub-registry @@ -157,6 +153,36 @@ Foam::polySurface::polySurface } +// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // + +Foam::polySurface& Foam::polySurface::New +( + const word& surfName, + const objectRegistry& obr +) +{ + auto* ptr = obr.getObjectPtr<polySurface>(surfName); + + if (!ptr) + { + ptr = new polySurface(surfName, obr); + regIOobject::store(ptr); + } + + return *ptr; +} + + +bool Foam::polySurface::Delete +( + const word& surfName, + const objectRegistry& obr +) +{ + return obr.checkOut(obr.getObjectPtr<polySurface>(surfName)); +} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::polySurface::~polySurface() @@ -169,21 +195,19 @@ Foam::polySurface::~polySurface() Foam::label Foam::polySurface::nFaceData() const { - label count = objectRegistry::size(); - - // Remove PointData sub-registry from being included in the count + // Do not include sub-registry in the count if (objectRegistry::foundObject<objectRegistry>(pointDataName)) { - --count; + return (objectRegistry::size() - 1); } - return count; + return objectRegistry::size(); } Foam::label Foam::polySurface::nPointData() const { - const objectRegistry* subreg = + const auto* subreg = objectRegistry::cfindObject<objectRegistry>(pointDataName); if (subreg) @@ -213,11 +237,13 @@ Foam::polySurface::queryFieldAssociation(const word& fieldName) const { unsigned where(FieldAssociation::NO_DATA); + const objectRegistry* subreg = nullptr; + // Face Data { - const objectRegistry* regptr = this; + subreg = this; - if (regptr && regptr->found(fieldName)) + if (subreg && subreg->contains(fieldName)) { where |= FieldAssociation::FACE_DATA; } @@ -225,10 +251,9 @@ Foam::polySurface::queryFieldAssociation(const word& fieldName) const // Point Data { - const objectRegistry* regptr = - cfindObject<objectRegistry>(pointDataName); + subreg = cfindObject<objectRegistry>(pointDataName); - if (regptr && regptr->found(fieldName)) + if (subreg && subreg->contains(fieldName)) { where |= FieldAssociation::POINT_DATA; } @@ -248,13 +273,14 @@ const Foam::regIOobject* Foam::polySurface::findFieldObject const regIOobject* ioptr = nullptr; + const objectRegistry* subreg = nullptr; // Face Data if (where & FieldAssociation::FACE_DATA) { - const objectRegistry* regptr = this; + subreg = this; - if (regptr && (ioptr = regptr->cfindObject<regIOobject>(fieldName))) + if (subreg && (ioptr = subreg->cfindObject<regIOobject>(fieldName))) { return ioptr; } @@ -263,10 +289,9 @@ const Foam::regIOobject* Foam::polySurface::findFieldObject // Point Data if (where & FieldAssociation::POINT_DATA) { - const objectRegistry* regptr = - cfindObject<objectRegistry>(pointDataName); + subreg = cfindObject<objectRegistry>(pointDataName); - if (regptr && (ioptr = regptr->cfindObject<regIOobject>(fieldName))) + if (subreg && (ioptr = subreg->cfindObject<regIOobject>(fieldName))) { return ioptr; } @@ -466,7 +491,7 @@ const regIOobject* polySurface::findFieldObject<polySurfacePointGeoMesh> { // Point Data (sub-registry) - const objectRegistry* subreg = + const auto* subreg = objectRegistry::cfindObject<objectRegistry>(pointDataName); if (subreg) @@ -488,7 +513,7 @@ const objectRegistry* polySurface::whichRegistry<polySurfaceGeoMesh> // Face Data (main registry) const objectRegistry* subreg = this; - if (subreg->found(fieldName)) + if (subreg->contains(fieldName)) { return subreg; } @@ -505,10 +530,10 @@ const objectRegistry* polySurface::whichRegistry<polySurfacePointGeoMesh> { // Point Data (sub registry) - const objectRegistry* subreg = + const auto* subreg = objectRegistry::cfindObject<objectRegistry>(pointDataName); - if (subreg && subreg->found(fieldName)) + if (subreg && subreg->contains(fieldName)) { return subreg; } diff --git a/src/surfMesh/polySurface/polySurface.H b/src/surfMesh/polySurface/polySurface.H index faa59e1054a..d49c7ac1e35 100644 --- a/src/surfMesh/polySurface/polySurface.H +++ b/src/surfMesh/polySurface/polySurface.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -87,7 +87,8 @@ private: // Private Typedefs //- Internal mesh storage type - typedef PrimitivePatch<::Foam::List<face>, pointField> + typedef + PrimitivePatch<::Foam::List<face>, pointField> MeshReference; @@ -102,12 +103,6 @@ private: //- Calculate per-face zone/region information void calculateZoneIds(const UList<surfZone>& zones); - //- No copy construct - polySurface(const polySurface&) = delete; - - //- No copy assignment - void operator=(const polySurface&) = delete; - protected: @@ -122,7 +117,11 @@ protected: //- Non-const access to the faces faceList& storedFaces() { - return static_cast<faceList&>(static_cast<MeshReference&>(*this)); + return + static_cast<faceList&> + ( + static_cast<MeshReference&>(*this) + ); } //- Const access to the faces @@ -154,14 +153,23 @@ public: TypeName("polySurface"); + // Generated Methods + + //- No copy construct + polySurface(const polySurface&) = delete; + + //- No copy assignment + void operator=(const polySurface&) = delete; + + // Constructors - //- Construct null with NO_READ, NO_WRITE + //- Default construct with NO_READ, NO_WRITE //- optionally with a checkIn on the parent registry. // Created without a PointData sub-registry explicit polySurface(const IOobject& io, bool doCheckIn = false); - //- Construct null with specified name on the given registry, + //- Default construct with specified name on the given registry, //- optionally with a checkIn on the parent registry. // Created without a PointData sub-registry polySurface @@ -198,6 +206,15 @@ public: virtual ~polySurface(); + // Factory Methods + + //- Get or create (NO_READ, NO_WRITE) named surface on registry + static polySurface& New(const word& surfName, const objectRegistry&); + + //- Remove named surface from specified registry + static bool Delete(const word& surfName, const objectRegistry&); + + // Member Functions // Resolve iterator ambiguity in favour of Patch (not registry) @@ -268,30 +285,36 @@ public: // Modification - //- Update with new contents + //- Update with new contents. + //- Removes existing fields if sizes have changed void copySurface ( const pointField& points, const faceList& faces, + //! validate the zone coverage (ignored) bool unused=false ); - //- Update with new contents + //- Update with new contents. + //- Removes existing fields if sizes have changed void copySurface ( const meshedSurf& surf, + //! validate the zone coverage (ignored) bool unused=false ); - //- Update with new contents + //- Update with new contents. + //- Removes existing fields if sizes have changed void copySurface ( const MeshedSurface<face>& surf, + //! validate the zone coverage (ignored) bool unused=false ); - //- Transfer the contents of the argument and annul the argument - // Optionally validate the zone coverage. + //- Transfer the contents (and annul the parameters). + //- Removes existing fields. void transfer ( pointField&& points, @@ -299,11 +322,12 @@ public: labelList&& zoneIds = labelList() ); - //- Transfer the contents of the argument and annul the argument - // Optionally validate the zone coverage. + //- Transfer the contents (and annul the parameters). + //- Removes existing fields. void transfer ( MeshedSurface<face>& surf, + //! validate the zone coverage bool validate=false ); @@ -353,19 +377,37 @@ public: const objectRegistry& faceData() const; //- Point data are stored in a sub-registry - // Note that this method with automatically create the corresponding + // Note that this method will automatically create the corresponding // sub-registry if it did not previously exist. // Use the nPointData() methods instead if you wish to test for // content without this side-effect. const objectRegistry& pointData() const; + //- Create/store named zero field as face or point data + //- (template parameter). + // + // - Default is face-data (polySurfaceGeoMesh as template). + // - For point-data use polySurfacePointGeoMesh as template. + // + // \return reference to the field + template<class Type, class GeoMeshType = polySurfaceGeoMesh> + DimensionedField<Type, GeoMeshType>& + newField + ( + const word& fieldName, + const dimensionSet& dims + ); + //- Copy/store named field as face or point data (template parameter). // - // Default is face-data (polySurfaceGeoMesh as template). - // For point data use (polySurfacePointGeoMesh as template). + // - Default is face-data (polySurfaceGeoMesh as template). + // - For point-data use polySurfacePointGeoMesh as template. + // + // \return reference to the field template<class Type, class GeoMeshType = polySurfaceGeoMesh> - void storeField + DimensionedField<Type, GeoMeshType>& + storeField ( const word& fieldName, const dimensionSet& dims, @@ -374,10 +416,13 @@ public: //- Move/store named field as face or point data (template parameter). // - // Default is face-data (polySurfaceGeoMesh as template). - // For point data use (polySurfacePointGeoMesh as template). + // - Default is face-data (polySurfaceGeoMesh as template). + // - For point-data use polySurfacePointGeoMesh as template. + // + // \return reference to the field template<class Type, class GeoMeshType = polySurfaceGeoMesh> - void storeField + DimensionedField<Type, GeoMeshType>& + storeField ( const word& fieldName, const dimensionSet& dims, diff --git a/src/surfMesh/polySurface/polySurfaceClear.C b/src/surfMesh/polySurface/polySurfaceClear.C index f8148f4fcc7..c7ad1165d69 100644 --- a/src/surfMesh/polySurface/polySurfaceClear.C +++ b/src/surfMesh/polySurface/polySurfaceClear.C @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "polySurface.H" -#include "globalMeshData.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // diff --git a/src/surfMesh/polySurface/polySurfaceTemplates.C b/src/surfMesh/polySurface/polySurfaceTemplates.C index b557b44c402..9d64593fbbf 100644 --- a/src/surfMesh/polySurface/polySurfaceTemplates.C +++ b/src/surfMesh/polySurface/polySurfaceTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -49,7 +49,7 @@ const Foam::regIOobject* Foam::polySurface::findFieldObject forAllConstIters(obr, iter) { - const objectRegistry* subreg = isA<objectRegistry>(iter.val()); + const auto* subreg = isA<objectRegistry>(iter.val()); if (subreg && (ioptr = subreg->cfindObject<regIOobject>(fieldName))) { @@ -71,16 +71,16 @@ const Foam::objectRegistry* Foam::polySurface::whichRegistry const objectRegistry& obr = *this; - if (obr.found(fieldName)) + if (obr.contains(fieldName)) { return this; } forAllConstIters(obr, iter) { - const objectRegistry* subreg = isA<objectRegistry>(iter.val()); + const auto* subreg = isA<objectRegistry>(iter.val()); - if (subreg && subreg->found(fieldName)) + if (subreg && subreg->contains(fieldName)) { return subreg; } @@ -91,32 +91,76 @@ const Foam::objectRegistry* Foam::polySurface::whichRegistry template<class Type, class GeoMeshType> -void Foam::polySurface::storeField +Foam::DimensionedField<Type, GeoMeshType>& +Foam::polySurface::newField +( + const word& fieldName, + const dimensionSet& dims +) +{ + typedef DimensionedField<Type, GeoMeshType> fieldType; + + // Force creates field database if needed. + const objectRegistry& fieldDb = this->fieldData<GeoMeshType>(); + + auto* fldptr = fieldDb.getObjectPtr<fieldType>(fieldName); + + if (fldptr) + { + fldptr->dimensions().reset(dims); // Dimensions may have changed + fldptr->field() = Foam::zero{}; + } + else + { + fldptr = new fieldType + ( + fieldDb.newIOobject + ( + fieldName, + IOobjectOption::NO_READ, + IOobjectOption::NO_WRITE, + IOobjectOption::REGISTER + ), + *this, + Foam::zero{}, + dims + ); + + regIOobject::store(fldptr); + } + + return *fldptr; +} + + +template<class Type, class GeoMeshType> +Foam::DimensionedField<Type, GeoMeshType>& +Foam::polySurface::storeField ( const word& fieldName, const dimensionSet& dims, const Field<Type>& values ) { + typedef DimensionedField<Type, GeoMeshType> fieldType; + // Force creates field database if needed. const objectRegistry& fieldDb = this->fieldData<GeoMeshType>(); - auto* dimfield = - fieldDb.getObjectPtr<DimensionedField<Type, GeoMeshType>>(fieldName); + auto* fldptr = fieldDb.getObjectPtr<fieldType>(fieldName); - if (dimfield) + if (fldptr) { - dimfield->dimensions().reset(dims); // Dimensions may have changed - dimfield->field() = values; + fldptr->dimensions().reset(dims); // Dimensions may have changed + fldptr->field() = values; } else { - dimfield = new DimensionedField<Type, GeoMeshType> + fldptr = new fieldType ( - IOobject + fieldDb.newIOobject ( fieldName, - fieldDb, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::REGISTER @@ -126,38 +170,41 @@ void Foam::polySurface::storeField values ); - dimfield->store(); + regIOobject::store(fldptr); } + + return *fldptr; } template<class Type, class GeoMeshType> -void Foam::polySurface::storeField +Foam::DimensionedField<Type, GeoMeshType>& +Foam::polySurface::storeField ( const word& fieldName, const dimensionSet& dims, Field<Type>&& values ) { + typedef DimensionedField<Type, GeoMeshType> fieldType; + // Force creates field database if needed. const objectRegistry& fieldDb = this->fieldData<GeoMeshType>(); - auto* dimfield = - fieldDb.getObjectPtr<DimensionedField<Type, GeoMeshType>>(fieldName); + auto* fldptr = fieldDb.getObjectPtr<fieldType>(fieldName); - if (dimfield) + if (fldptr) { - dimfield->dimensions().reset(dims); // Dimensions may have changed - dimfield->field() = std::move(values); + fldptr->dimensions().reset(dims); // Dimensions may have changed + fldptr->field() = std::move(values); } else { - dimfield = new DimensionedField<Type, GeoMeshType> + fldptr = new fieldType ( - IOobject + fieldDb.newIOobject ( fieldName, - fieldDb, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::REGISTER @@ -167,8 +214,10 @@ void Foam::polySurface::storeField std::move(values) ); - dimfield->store(); + regIOobject::store(fldptr); } + + return *fldptr; } diff --git a/src/surfMesh/surfMesh/fields/surfGeoMesh.H b/src/surfMesh/surfMesh/fields/surfGeoMesh.H index ae142479dcc..4d4dd20d876 100644 --- a/src/surfMesh/surfMesh/fields/surfGeoMesh.H +++ b/src/surfMesh/surfMesh/fields/surfGeoMesh.H @@ -28,7 +28,7 @@ Class Foam::surfGeoMesh Description - The surfMesh GeoMesh (for holding fields). + The surfMesh GeoMesh for face fields. \*---------------------------------------------------------------------------*/ diff --git a/src/surfMesh/surfMesh/fields/surfPointGeoMesh.H b/src/surfMesh/surfMesh/fields/surfPointGeoMesh.H index f3bc8745b78..6a152d3fe72 100644 --- a/src/surfMesh/surfMesh/fields/surfPointGeoMesh.H +++ b/src/surfMesh/surfMesh/fields/surfPointGeoMesh.H @@ -28,7 +28,7 @@ Class Foam::surfPointGeoMesh Description - The surfMesh GeoMesh (for holding fields). + The surfMesh GeoMesh for point fields. Similar to surfGeoMesh, but refers to the surface points. diff --git a/src/surfMesh/surfMesh/surfMesh.H b/src/surfMesh/surfMesh/surfMesh.H index 67a47d1f3e2..bb7f5c76ddc 100644 --- a/src/surfMesh/surfMesh/surfMesh.H +++ b/src/surfMesh/surfMesh/surfMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,6 +31,9 @@ Description A surface mesh consisting of general polygon faces that has IO capabilities and a registry for storing fields. +Note + In many places the Foam::polySurface class may be more flexible. + SourceFiles surfMesh.C surfMeshClear.C @@ -88,10 +91,13 @@ private: // Private Typedefs //- Memory and IO management - typedef Detail::MeshedSurfaceIOAllocator Allocator; + typedef + Detail::MeshedSurfaceIOAllocator + Allocator; //- Internal mesh storage type - typedef PrimitivePatch<::Foam::UList<face>, const pointField&> + typedef + PrimitivePatch<::Foam::UList<face>, const pointField&> MeshReference; @@ -101,15 +107,6 @@ private: surfZoneIOList surfZones_; - // Private Member Functions - - //- No copy construct - surfMesh(const surfMesh&) = delete; - - //- No copy assignment - void operator=(const surfMesh&) = delete; - - protected: // Protected Member Functions @@ -154,6 +151,15 @@ public: static word meshSubDir; + // Generated Methods + + //- No copy construct + surfMesh(const surfMesh&) = delete; + + //- No copy assignment + void operator=(const surfMesh&) = delete; + + // Constructors //- Read construct from IOobject. @@ -164,7 +170,7 @@ public: // Writing = NO_WRITE surfMesh(const IOobject& io, const word& surfName); - //- Construct null with specified name on the given registry. + //- Construct empty with specified name on the given registry. surfMesh(const word& surfName, const objectRegistry& obr); //- Copy construct from MeshedSurface<face> @@ -301,7 +307,11 @@ public: //- Transfer the contents of the argument and annul the argument // Optionally validate the zone coverage. - void transfer(MeshedSurface<face>& surf, bool validate=false); + void transfer + ( + MeshedSurface<face>& surf, + bool validate=false + ); //- Update mesh based on the files saved in time directories virtual readUpdateState readUpdate(); @@ -309,11 +319,30 @@ public: // Fields + //- Create/store named zero field as face or point data + //- (template parameter). + // + // - Default is face-data (surfGeoMesh as template). + // - For point-data use surfPointGeoMesh as template. + // + // \return reference to the field + template<class Type, class GeoMeshType = surfGeoMesh> + DimensionedField<Type, GeoMeshType>& + newField + ( + const word& fieldName, + const dimensionSet& dims + ); + //- Copy/store named field as face or point data (template parameter). // - // Default is face-data (surfGeoMesh as template). + // - Default is face-data (surfGeoMesh as template). + // - For point-data use surfPointGeoMesh as template. + // + // \return reference to the field template<class Type, class GeoMeshType = surfGeoMesh> - void storeField + DimensionedField<Type, GeoMeshType>& + storeField ( const word& fieldName, const dimensionSet& dims, @@ -322,9 +351,13 @@ public: //- Move/store named field as face or point data (template parameter). // - // Default is face-data (surfGeoMesh as template). + // - Default is face-data (surfGeoMesh as template). + // - For point-data use surfPointGeoMesh as template. + // + // \return reference to the field template<class Type, class GeoMeshType = surfGeoMesh> - void storeField + DimensionedField<Type, GeoMeshType>& + storeField ( const word& fieldName, const dimensionSet& dims, diff --git a/src/surfMesh/surfMesh/surfMeshTemplates.C b/src/surfMesh/surfMesh/surfMeshTemplates.C index 6bb6576710c..9ed9da405e5 100644 --- a/src/surfMesh/surfMesh/surfMeshTemplates.C +++ b/src/surfMesh/surfMesh/surfMeshTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,31 +31,74 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type, class GeoMeshType> -void Foam::surfMesh::storeField +Foam::DimensionedField<Type, GeoMeshType>& +Foam::surfMesh::newField +( + const word& fieldName, + const dimensionSet& dims +) +{ + typedef DimensionedField<Type, GeoMeshType> fieldType; + + const objectRegistry& fieldDb = *this; + + auto* fldptr = fieldDb.getObjectPtr<fieldType>(fieldName); + + if (fldptr) + { + fldptr->dimensions().reset(dims); // Dimensions may have changed + fldptr->field() = Foam::zero{}; + } + else + { + fldptr = new fieldType + ( + fieldDb.newIOobject + ( + fieldName, + IOobjectOption::NO_READ, + IOobjectOption::NO_WRITE, + IOobjectOption::REGISTER + ), + *this, + Foam::zero{}, + dims + ); + + regIOobject::store(fldptr); + } + + return *fldptr; +} + + +template<class Type, class GeoMeshType> +Foam::DimensionedField<Type, GeoMeshType>& +Foam::surfMesh::storeField ( const word& fieldName, const dimensionSet& dims, const Field<Type>& values ) { + typedef DimensionedField<Type, GeoMeshType> fieldType; + const objectRegistry& fieldDb = *this; - auto* dimfield = - fieldDb.getObjectPtr<DimensionedField<Type, GeoMeshType>>(fieldName); + auto* fldptr = fieldDb.getObjectPtr<fieldType>(fieldName); - if (dimfield) + if (fldptr) { - dimfield->dimensions().reset(dims); // Dimensions may have changed - dimfield->field() = values; + fldptr->dimensions().reset(dims); // Dimensions may have changed + fldptr->field() = values; } else { - dimfield = new DimensionedField<Type, GeoMeshType> + fldptr = new fieldType ( - IOobject + fieldDb.newIOobject ( fieldName, - fieldDb, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::REGISTER @@ -65,37 +108,40 @@ void Foam::surfMesh::storeField values ); - dimfield->store(); + regIOobject::store(fldptr); } + + return *fldptr; } template<class Type, class GeoMeshType> -void Foam::surfMesh::storeField +Foam::DimensionedField<Type, GeoMeshType>& +Foam::surfMesh::storeField ( const word& fieldName, const dimensionSet& dims, Field<Type>&& values ) { + typedef DimensionedField<Type, GeoMeshType> fieldType; + const objectRegistry& fieldDb = *this; - auto* dimfield = - fieldDb.getObjectPtr<DimensionedField<Type, GeoMeshType>>(fieldName); + auto* fldptr = fieldDb.getObjectPtr<fieldType>(fieldName); - if (dimfield) + if (fldptr) { - dimfield->dimensions().reset(dims); // Dimensions may have changed - dimfield->field() = std::move(values); + fldptr->dimensions().reset(dims); // Dimensions may have changed + fldptr->field() = std::move(values); } else { - dimfield = new DimensionedField<Type, GeoMeshType> + fldptr = new fieldType ( - IOobject + fieldDb.newIOobject ( fieldName, - fieldDb, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::REGISTER @@ -105,8 +151,10 @@ void Foam::surfMesh::storeField std::move(values) ); - dimfield->store(); + regIOobject::store(fldptr); } + + return *fldptr; } diff --git a/src/surfMesh/writers/common/surfaceWriter.C b/src/surfMesh/writers/common/surfaceWriter.C index 15b59a08532..6658e542c93 100644 --- a/src/surfMesh/writers/common/surfaceWriter.C +++ b/src/surfMesh/writers/common/surfaceWriter.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -84,43 +84,31 @@ Foam::dictionary Foam::surfaceWriter::formatOptions Foam::autoPtr<Foam::surfaceWriter> -Foam::surfaceWriter::New(const word& writeType) +Foam::surfaceWriter::TryNew(const word& writeType) { - // Constructors without dictionary options - auto* ctorPtr = wordConstructorTable(writeType); - - if (!ctorPtr) + // Without dictionary options { - if (MeshedSurfaceProxy<face>::canWriteType(writeType)) + auto* ctorPtr = wordConstructorTable(writeType); + + if (ctorPtr) { - // Generally unknown, but handle via 'proxy' handler - return autoPtr<surfaceWriter> - ( - new surfaceWriters::proxyWriter(writeType) - ); + return autoPtr<surfaceWriter>(ctorPtr()); } - - FatalErrorInFunction - << "Unknown write type \"" << writeType << "\"\n\n" - << "Valid write types : " - << flatOutput(wordConstructorTablePtr_->sortedToc()) << nl - << "Valid proxy types : " - << MeshedSurfaceProxy<face>::writeTypes() << endl - << exit(FatalError); } - return autoPtr<surfaceWriter>(ctorPtr()); + // Fallback to proxy writer... + return surfaceWriters::proxyWriter::TryNew(writeType); } Foam::autoPtr<Foam::surfaceWriter> -Foam::surfaceWriter::New +Foam::surfaceWriter::TryNew ( const word& writeType, const dictionary& writeOpts ) { - // Constructors with dictionary options + // With dictionary options { auto* ctorPtr = wordDictConstructorTable(writeType); @@ -130,31 +118,68 @@ Foam::surfaceWriter::New } } - - // Constructors without dictionary options - auto* ctorPtr = wordConstructorTable(writeType); - - if (!ctorPtr) + // Without dictionary options { - if (MeshedSurfaceProxy<face>::canWriteType(writeType)) + auto* ctorPtr = wordConstructorTable(writeType); + + if (ctorPtr) { - // Generally unknown, but handle via 'proxy' handler - return autoPtr<surfaceWriter> - ( - new surfaceWriters::proxyWriter(writeType, writeOpts) - ); + return autoPtr<surfaceWriter>(ctorPtr()); } + } + + // Fallback to proxy writer... + return surfaceWriters::proxyWriter::TryNew(writeType, writeOpts); +} + + +Foam::autoPtr<Foam::surfaceWriter> +Foam::surfaceWriter::New(const word& writeType) +{ + autoPtr<surfaceWriter> writer + ( + surfaceWriter::TryNew(writeType) + ); + if (!writer) + { FatalErrorInFunction << "Unknown write type \"" << writeType << "\"\n\n" << "Valid write types : " - << wordConstructorTablePtr_->sortedToc() << nl + << flatOutput(wordConstructorTablePtr_->sortedToc()) << nl + << "Valid proxy types : " + << flatOutput(MeshedSurfaceProxy<face>::writeTypes()) << endl + << exit(FatalError); + } + + return writer; +} + + +Foam::autoPtr<Foam::surfaceWriter> +Foam::surfaceWriter::New +( + const word& writeType, + const dictionary& writeOpts +) +{ + autoPtr<surfaceWriter> writer + ( + surfaceWriter::TryNew(writeType, writeOpts) + ); + + if (!writer) + { + FatalErrorInFunction + << "Unknown write type \"" << writeType << "\"\n\n" + << "Valid write types : " + << flatOutput(wordConstructorTablePtr_->sortedToc()) << nl << "Valid proxy types : " - << MeshedSurfaceProxy<face>::writeTypes() << endl + << flatOutput(MeshedSurfaceProxy<face>::writeTypes()) << endl << exit(FatalError); } - return autoPtr<surfaceWriter>(ctorPtr()); + return writer; } diff --git a/src/surfMesh/writers/common/surfaceWriter.H b/src/surfMesh/writers/common/surfaceWriter.H index 94df1ee6591..668833091e8 100644 --- a/src/surfMesh/writers/common/surfaceWriter.H +++ b/src/surfMesh/writers/common/surfaceWriter.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2012 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -326,16 +326,27 @@ public: ); - // Selectors + // Factory Methods / Selectors //- True if New is likely to succeed for this writeType static bool supportedType(const word& writeType); - //- Return a reference to the selected surfaceWriter + //- Optional select construct surfaceWriter. + // Return nullptr if the specified type is not supported. + static autoPtr<surfaceWriter> TryNew(const word& writeType); + + //- Optional select construct surfaceWriter with extra write options. + // Return nullptr if the specified type is not supported. + static autoPtr<surfaceWriter> TryNew + ( + const word& writeType, + const dictionary& writeOptions + ); + + //- Select construct a surfaceWriter static autoPtr<surfaceWriter> New(const word& writeType); - //- Return a reference to the selected surfaceWriter - // Select with extra write option + //- Select construct a surfaceWriter with extra write options. static autoPtr<surfaceWriter> New ( const word& writeType, diff --git a/src/surfMesh/writers/proxy/proxySurfaceWriter.C b/src/surfMesh/writers/proxy/proxySurfaceWriter.C index 9491b8c537c..238985cada3 100644 --- a/src/surfMesh/writers/proxy/proxySurfaceWriter.C +++ b/src/surfMesh/writers/proxy/proxySurfaceWriter.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -98,6 +98,36 @@ Foam::surfaceWriters::proxyWriter::proxyWriter } +// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // + +Foam::autoPtr<Foam::surfaceWriter> +Foam::surfaceWriters::proxyWriter::TryNew(const word& writeType) +{ + if (MeshedSurfaceProxy<face>::canWriteType(writeType)) + { + return autoPtr<surfaceWriter>(new proxyWriter(writeType)); + } + + return nullptr; +} + + +Foam::autoPtr<Foam::surfaceWriter> +Foam::surfaceWriters::proxyWriter::TryNew +( + const word& writeType, + const dictionary& writeOpts +) +{ + if (MeshedSurfaceProxy<face>::canWriteType(writeType)) + { + return autoPtr<surfaceWriter>(new proxyWriter(writeType, writeOpts)); + } + + return nullptr; +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::fileName Foam::surfaceWriters::proxyWriter::write() diff --git a/src/surfMesh/writers/proxy/proxySurfaceWriter.H b/src/surfMesh/writers/proxy/proxySurfaceWriter.H index 2530352baf1..3a5b1040d84 100644 --- a/src/surfMesh/writers/proxy/proxySurfaceWriter.H +++ b/src/surfMesh/writers/proxy/proxySurfaceWriter.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -131,6 +131,21 @@ public: virtual ~proxyWriter() = default; + // Factory Methods + + //- Optional select construct proxy writer. + // Return nullptr if the specified type is not supported. + static autoPtr<surfaceWriter> TryNew(const word& writeType); + + //- Optional select construct proxy writer with extra write options. + // Return nullptr if the specified type is not supported. + static autoPtr<surfaceWriter> TryNew + ( + const word& writeType, + const dictionary& writeOptions + ); + + // Member Functions //- A separate file is required for geometry. -- GitLab From ac574a6ccb46bf9a0bfdc77c58e0fb670d793b6b Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 4 Jan 2024 12:03:21 +0100 Subject: [PATCH 047/231] STYLE: use static call for regIOobject::store (#1507) --- .../solvers/combustion/fireFoam/phrghEqn.H | 3 +- .../createROMfields/readFields.H | 4 +- .../setExprBoundaryFields/readFields.H | 4 +- .../preProcessing/setExprFields/readFields.H | 4 +- .../regionFunctionObjectTemplates.C | 13 +++-- .../GAMGAgglomeration/GAMGAgglomeration.C | 8 +-- .../schemes/DEShybrid/DEShybrid.H | 6 +-- .../atmPlantCanopyTurbSource.C | 6 +-- .../atmPlantCanopyUSource.C | 6 +-- .../jouleHeatingSourceTemplates.C | 54 +++++++++---------- .../cfdTools/general/fvOptions/fvOptions.C | 4 +- .../LimitedScheme/LimitedScheme.C | 6 +-- .../volPointInterpolate.C | 4 +- .../field/CourantNo/CourantNo.C | 6 +-- .../columnAverage/columnAverageTemplates.C | 6 +-- .../field/expressions/fvExpressionField.C | 4 +- .../heatTransferCoeff/heatTransferCoeff.C | 7 +-- .../multiphaseInterHtcModel.C | 7 +-- .../reactingEulerHtcModel.C | 6 +-- .../histogramModel/histogramModel.C | 6 +-- src/functionObjects/field/momentum/momentum.C | 6 +-- .../field/momentumError/momentumError.C | 31 +++++------ .../field/readFields/readFieldsTemplates.C | 4 +- .../resolutionIndexModel.C | 6 +-- .../resolutionIndexModelTemplates.C | 6 +-- .../stabilityBlendingFactor.C | 18 +++---- .../field/surfaceDistance/surfaceDistance.C | 6 +-- .../field/wallHeatFlux/wallHeatFlux.C | 6 +-- .../field/wallShearStress/wallShearStress.C | 6 +-- src/functionObjects/field/yPlus/yPlus.C | 6 +-- .../forces/forceCoeffs/forceCoeffs.C | 28 +++++----- src/functionObjects/forces/forces/forces.C | 26 ++++----- .../hydrostaticPressure/hydrostaticPressure.C | 4 +- .../electricPotential/electricPotential.C | 13 ++--- .../mapFieldConstraint/MapFieldConstraint.C | 6 +-- .../jouleHeatingSource/jouleHeatingSource.C | 4 +- .../jouleHeatingSourceTemplates.C | 50 +++++++++-------- .../ParticleForces/Coulomb/CoulombForce.C | 9 ++-- ...edPointDisplacementPointPatchVectorField.C | 4 +- .../mappedPatchBaseTemplates.C | 6 +-- .../processorColour.C | 18 +++---- .../functionObjects/filmFlux/filmFlux.C | 10 ++-- ...eratureRadCoupledMixedFvPatchScalarField.C | 9 ++-- .../BilgerMixtureFraction.C | 6 +-- 44 files changed, 227 insertions(+), 225 deletions(-) diff --git a/applications/solvers/combustion/fireFoam/phrghEqn.H b/applications/solvers/combustion/fireFoam/phrghEqn.H index 482355f12ae..022006494f8 100644 --- a/applications/solvers/combustion/fireFoam/phrghEqn.H +++ b/applications/solvers/combustion/fireFoam/phrghEqn.H @@ -10,7 +10,8 @@ if (pimple.dict().getOrDefault("hydrostaticInitialization", false)) "0", mesh, IOobject::MUST_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh ) diff --git a/applications/utilities/postProcessing/miscellaneous/createROMfields/readFields.H b/applications/utilities/postProcessing/miscellaneous/createROMfields/readFields.H index a1d345d1c8d..084d0c16bd5 100644 --- a/applications/utilities/postProcessing/miscellaneous/createROMfields/readFields.H +++ b/applications/utilities/postProcessing/miscellaneous/createROMfields/readFields.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,7 +71,7 @@ class readFieldsHandler Log << " Reading " << io.name() << " (" << FieldType::typeName << ')' << endl; - mesh_.objectRegistry::store(new FieldType(io, mesh_)); + regIOobject::store(new FieldType(io, mesh_)); return true; } diff --git a/applications/utilities/preProcessing/setExprBoundaryFields/readFields.H b/applications/utilities/preProcessing/setExprBoundaryFields/readFields.H index 07e0bb443e6..e72ac18820a 100644 --- a/applications/utilities/preProcessing/setExprBoundaryFields/readFields.H +++ b/applications/utilities/preProcessing/setExprBoundaryFields/readFields.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,7 +71,7 @@ class readFieldsHandler Log << " Reading " << io.name() << " (" << FieldType::typeName << ')' << endl; - mesh_.objectRegistry::store(new FieldType(io, mesh_)); + regIOobject::store(new FieldType(io, mesh_)); return true; } diff --git a/applications/utilities/preProcessing/setExprFields/readFields.H b/applications/utilities/preProcessing/setExprFields/readFields.H index 8ab2063ed9e..b150c97d973 100644 --- a/applications/utilities/preProcessing/setExprFields/readFields.H +++ b/applications/utilities/preProcessing/setExprFields/readFields.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,7 +71,7 @@ class readFieldsHandler Log << " Reading " << io.name() << " (" << FieldType::typeName << ')' << endl; - mesh_.objectRegistry::store(new FieldType(io, mesh_)); + regIOobject::store(new FieldType(io, mesh_)); return true; } diff --git a/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObjectTemplates.C b/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObjectTemplates.C index c1c0f740b64..0c295eca2bf 100644 --- a/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObjectTemplates.C +++ b/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObjectTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -139,7 +139,7 @@ bool Foam::functionObjects::regionFunctionObject::store } else { - obr().objectRegistry::store(tfield.ptr()); + regIOobject::store(tfield.ptr()); } } else @@ -153,7 +153,7 @@ bool Foam::functionObjects::regionFunctionObject::store fieldName = tfield().name(); } - obr().objectRegistry::store(tfield.ptr()); + regIOobject::store(tfield.ptr()); } return true; @@ -179,8 +179,11 @@ bool Foam::functionObjects::regionFunctionObject::storeInDb } else { - tfield.ref().rename(fieldName); - obr.objectRegistry::store(tfield.ptr()); + if (fieldName.size() && fieldName != tfield().name()) + { + tfield.ref().rename(fieldName); + } + regIOobject::store(tfield.ptr()); } return true; diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C index b6b6291552d..1ced04106f4 100644 --- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C +++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -348,7 +348,7 @@ const Foam::GAMGAgglomeration& Foam::GAMGAgglomeration::New { agglomPtr().printLevels(); } - return store(agglomPtr.ptr()); + return regIOobject::store(agglomPtr); } } @@ -398,7 +398,7 @@ const Foam::GAMGAgglomeration& Foam::GAMGAgglomeration::New { agglomPtr().printLevels(); } - return store(agglomPtr.ptr()); + return regIOobject::store(agglomPtr); } } } @@ -463,7 +463,7 @@ const Foam::GAMGAgglomeration& Foam::GAMGAgglomeration::New { agglomPtr().printLevels(); } - return store(agglomPtr.ptr()); + return regIOobject::store(agglomPtr); } } diff --git a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H index 62618f3260e..7d9720679cd 100644 --- a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H +++ b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. Copyright (C) 2022 Upstream CFD GmbH ------------------------------------------------------------------------------- License @@ -301,7 +301,7 @@ class DEShybrid ( factorName, mesh.time().timeName(), - mesh, + mesh.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -321,7 +321,7 @@ class DEShybrid dimensionedScalar(dimless, Zero) ); - const_cast<fvMesh&>(mesh).objectRegistry::store(factorPtr); + regIOobject::store(factorPtr); } auto& factor = *factorPtr; diff --git a/src/atmosphericModels/fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSource.C b/src/atmosphericModels/fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSource.C index ed01512dbdc..b5b72cc4f3f 100644 --- a/src/atmosphericModels/fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSource.C +++ b/src/atmosphericModels/fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSource.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2020 ENERCON GmbH - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -58,14 +58,14 @@ Foam::volScalarField& Foam::fv::atmPlantCanopyTurbSource::getOrReadField ( fieldName, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::MUST_READ, IOobject::AUTO_WRITE, IOobject::REGISTER ), mesh_ ); - mesh_.objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; diff --git a/src/atmosphericModels/fvOptions/atmPlantCanopyUSource/atmPlantCanopyUSource.C b/src/atmosphericModels/fvOptions/atmPlantCanopyUSource/atmPlantCanopyUSource.C index 89beb351931..683d112c95c 100644 --- a/src/atmosphericModels/fvOptions/atmPlantCanopyUSource/atmPlantCanopyUSource.C +++ b/src/atmosphericModels/fvOptions/atmPlantCanopyUSource/atmPlantCanopyUSource.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2020 ENERCON GmbH - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,14 +59,14 @@ Foam::volScalarField& Foam::fv::atmPlantCanopyUSource::getOrReadField ( fieldName, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::MUST_READ, IOobject::AUTO_WRITE, IOobject::REGISTER ), mesh_ ); - mesh_.objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; diff --git a/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C b/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C index a59bdc65acb..43763b7238c 100644 --- a/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C +++ b/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,50 +40,48 @@ void Foam::fa::jouleHeatingSource::initialiseSigma auto& obr = regionMesh().thisDb(); + IOobject io + ( + typeName + ":sigma_" + regionName_, + obr.time().timeName(), + obr, + IOobject::NO_READ, + IOobject::AUTO_WRITE, + IOobject::REGISTER + ); + + tmp<AreaFieldType> tsigma; + if (dict.found("sigma")) { // Sigma to be defined using a Function1 type sigmaVsTPtr = Function1<Type>::New("sigma", dict, &mesh_); - auto tsigma = tmp<AreaFieldType>::New + tsigma.reset ( - IOobject + new AreaFieldType ( - typeName + ":sigma_" + regionName_, - obr.time().timeName(), - obr, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - regionMesh(), - dimensioned<Type>(sqr(dimCurrent)/dimPower/dimLength, Zero) + io, + regionMesh(), + Foam::zero{}, // value + sqr(dimCurrent)/dimPower/dimLength + ) ); - regIOobject::store(tsigma.ptr()); - Info<< " Conductivity 'sigma' read from dictionary as f(T)" << nl << endl; } else { // Sigma to be defined by user input - auto tsigma = tmp<AreaFieldType>::New - ( - IOobject - ( - typeName + ":sigma_" + regionName_, - obr.time().timeName(), - obr, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - regionMesh() - ); + io.readOpt(IOobject::MUST_READ); - regIOobject::store(tsigma.ptr()); + tsigma.reset(new AreaFieldType(io, regionMesh())); Info<< " Conductivity 'sigma' read from file" << nl << endl; } + + regIOobject::store(tsigma); } @@ -117,11 +115,11 @@ Foam::fa::jouleHeatingSource::updateSigma // Boundary field - typename AreaFieldType::Boundary& bf = sigma.boundaryFieldRef(); + auto& bf = sigma.boundaryFieldRef(); forAll(bf, patchi) { faPatchField<Type>& pf = bf[patchi]; - if (!isA<emptyFaPatch>(bf[patchi])) + if (!isA<emptyFaPatch>(pf)) { const scalarField& Tbf = T.boundaryField()[patchi]; forAll(pf, facei) diff --git a/src/finiteVolume/cfdTools/general/fvOptions/fvOptions.C b/src/finiteVolume/cfdTools/general/fvOptions/fvOptions.C index a341b20543c..7b37201c35d 100644 --- a/src/finiteVolume/cfdTools/general/fvOptions/fvOptions.C +++ b/src/finiteVolume/cfdTools/general/fvOptions/fvOptions.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -102,7 +102,7 @@ Foam::fv::options::options Foam::fv::options& Foam::fv::options::New(const fvMesh& mesh) { - options* ptr = mesh.thisDb().getObjectPtr<options>(typeName); + auto* ptr = mesh.thisDb().getObjectPtr<options>(typeName); if (!ptr) { diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C index aed48475eb8..e72725405bb 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C +++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -161,7 +161,7 @@ Foam::LimitedScheme<Type, Limiter, LimitFunc>::limiter ( limiterFieldName, mesh.time().timeName(), - mesh, + mesh.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -170,7 +170,7 @@ Foam::LimitedScheme<Type, Limiter, LimitFunc>::limiter dimless ); - mesh.objectRegistry::store(fldptr); + regIOobject::store(fldptr); } auto& limiterField = *fldptr; diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C index ed1476717c7..798c3bf1525 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -570,8 +570,8 @@ Foam::volPointInterpolation::interpolate if (!pfPtr) { solution::cachePrintMessage("Calculating and caching", name, vf); - pfPtr = interpolate(vf, name, false).ptr(); + pfPtr = interpolate(vf, name, false).ptr(); regIOobject::store(pfPtr); } else diff --git a/src/functionObjects/field/CourantNo/CourantNo.C b/src/functionObjects/field/CourantNo/CourantNo.C index 98aeb51a9c1..198fbfaa24e 100644 --- a/src/functionObjects/field/CourantNo/CourantNo.C +++ b/src/functionObjects/field/CourantNo/CourantNo.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -88,7 +88,7 @@ bool Foam::functionObjects::CourantNo::calc() ( resultName_, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -97,7 +97,7 @@ bool Foam::functionObjects::CourantNo::calc() dimensionedScalar(dimless, Zero), fvPatchFieldBase::zeroGradientType() ); - mesh_.objectRegistry::store(resultPtr); + regIOobject::store(resultPtr); } auto& Co = *resultPtr; diff --git a/src/functionObjects/field/columnAverage/columnAverageTemplates.C b/src/functionObjects/field/columnAverage/columnAverageTemplates.C index 6a6b537500a..2bba02a3dc3 100644 --- a/src/functionObjects/field/columnAverage/columnAverageTemplates.C +++ b/src/functionObjects/field/columnAverage/columnAverageTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,14 +57,14 @@ bool Foam::functionObjects::columnAverage::columnAverageField ( resultName, fld.mesh().time().timeName(), - fld.mesh(), + fld.db(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER ), fld ); - obr_.objectRegistry::store(resPtr); + regIOobject::store(resPtr); } fieldType& res = *resPtr; diff --git a/src/functionObjects/field/expressions/fvExpressionField.C b/src/functionObjects/field/expressions/fvExpressionField.C index 7b3444f6f8d..3ab2ae93d4d 100644 --- a/src/functionObjects/field/expressions/fvExpressionField.C +++ b/src/functionObjects/field/expressions/fvExpressionField.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -137,7 +137,7 @@ bool Foam::functionObjects::fvExpressionField::loadAndStore(const IOobject& io) Log << " Reading " << io.name() << " (" << FieldType::typeName << ')' << endl; - mesh_.objectRegistry::store(new FieldType(io, mesh_)); + regIOobject::store(new FieldType(io, mesh_)); return true; } diff --git a/src/functionObjects/field/heatTransferCoeff/heatTransferCoeff.C b/src/functionObjects/field/heatTransferCoeff/heatTransferCoeff.C index 5c33fcdc62f..9c0925c3060 100644 --- a/src/functionObjects/field/heatTransferCoeff/heatTransferCoeff.C +++ b/src/functionObjects/field/heatTransferCoeff/heatTransferCoeff.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,6 +71,7 @@ Foam::functionObjects::heatTransferCoeff::heatTransferCoeff { read(dict); + // scopedName? setResultName(typeName, "htc:" + htcModelPtr_->type()); auto* heatTransferCoeffPtr = @@ -80,7 +81,7 @@ Foam::functionObjects::heatTransferCoeff::heatTransferCoeff ( resultName_, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -89,7 +90,7 @@ Foam::functionObjects::heatTransferCoeff::heatTransferCoeff dimensionedScalar(dimPower/dimArea/dimTemperature, Zero) ); - mesh_.objectRegistry::store(heatTransferCoeffPtr); + regIOobject::store(heatTransferCoeffPtr); } diff --git a/src/functionObjects/field/heatTransferCoeff/multiphaseInterHtcModel/multiphaseInterHtcModel.C b/src/functionObjects/field/heatTransferCoeff/multiphaseInterHtcModel/multiphaseInterHtcModel.C index 206827e72ad..c1b17947c3e 100644 --- a/src/functionObjects/field/heatTransferCoeff/multiphaseInterHtcModel/multiphaseInterHtcModel.C +++ b/src/functionObjects/field/heatTransferCoeff/multiphaseInterHtcModel/multiphaseInterHtcModel.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -127,6 +127,7 @@ Foam::functionObjects::multiphaseInterHtcModel::multiphaseInterHtcModel { read(dict); + // scopedName? setResultName(typeName, "htc:" + htcModelPtr_->type()); auto* htcPtr = @@ -136,7 +137,7 @@ Foam::functionObjects::multiphaseInterHtcModel::multiphaseInterHtcModel ( resultName_, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -145,7 +146,7 @@ Foam::functionObjects::multiphaseInterHtcModel::multiphaseInterHtcModel dimensionedScalar(dimPower/dimArea/dimTemperature, Zero) ); - mesh_.objectRegistry::store(htcPtr); + regIOobject::store(htcPtr); } diff --git a/src/functionObjects/field/heatTransferCoeff/reactingEulerHtcModel/reactingEulerHtcModel.C b/src/functionObjects/field/heatTransferCoeff/reactingEulerHtcModel/reactingEulerHtcModel.C index fa8108e9b34..f9d403f7760 100644 --- a/src/functionObjects/field/heatTransferCoeff/reactingEulerHtcModel/reactingEulerHtcModel.C +++ b/src/functionObjects/field/heatTransferCoeff/reactingEulerHtcModel/reactingEulerHtcModel.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -145,7 +145,7 @@ Foam::functionObjects::reactingEulerHtcModel::reactingEulerHtcModel ( resultName_, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -154,7 +154,7 @@ Foam::functionObjects::reactingEulerHtcModel::reactingEulerHtcModel dimensionedScalar(dimPower/dimArea/dimTemperature, Zero) ); - mesh_.objectRegistry::store(htcPtr); + regIOobject::store(htcPtr); } diff --git a/src/functionObjects/field/histogram/histogramModels/histogramModel/histogramModel.C b/src/functionObjects/field/histogram/histogramModels/histogramModel/histogramModel.C index 790f5c2348a..95feae0b32a 100644 --- a/src/functionObjects/field/histogram/histogramModels/histogramModel/histogramModel.C +++ b/src/functionObjects/field/histogram/histogramModels/histogramModel/histogramModel.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -66,14 +66,14 @@ Foam::volScalarField& Foam::histogramModel::getOrReadField ( fieldName, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::MUST_READ, IOobject::AUTO_WRITE, IOobject::REGISTER ), mesh_ ); - mesh_.objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; diff --git a/src/functionObjects/field/momentum/momentum.C b/src/functionObjects/field/momentum/momentum.C index 04a3f131aea..ed24a5837b5 100644 --- a/src/functionObjects/field/momentum/momentum.C +++ b/src/functionObjects/field/momentum/momentum.C @@ -446,14 +446,14 @@ bool Foam::functionObjects::momentum::read(const dictionary& dict) { Info<< " Momentum fields will be written" << endl; - mesh_.objectRegistry::store + regIOobject::store ( newField<volVectorField>("momentum", dimVelocity*dimMass) ); if (hasCsys_) { - mesh_.objectRegistry::store + regIOobject::store ( newField<volVectorField>("angularMomentum", dimVelocity*dimMass) ); @@ -466,7 +466,7 @@ bool Foam::functionObjects::momentum::read(const dictionary& dict) { Info<< " Angular velocity will be written" << endl; - mesh_.objectRegistry::store + regIOobject::store ( newField<volVectorField>("angularVelocity", dimVelocity) ); diff --git a/src/functionObjects/field/momentumError/momentumError.C b/src/functionObjects/field/momentumError/momentumError.C index 6bbc1068fc0..fa467510e39 100644 --- a/src/functionObjects/field/momentumError/momentumError.C +++ b/src/functionObjects/field/momentumError/momentumError.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -154,53 +154,54 @@ Foam::functionObjects::momentumError::momentumError phi.dimensions()*dimVelocity/dimVolume ); - - volVectorField* momentPtr = nullptr; - - word momName(scopedName("momentError")); - if (zoneSubSetPtr_) { const fvMesh& subMesh = zoneSubSetPtr_->subsetter().subMesh(); // momentErrorMap - momentPtr = new volVectorField + volVectorField* fldPtr = new volVectorField ( IOobject ( scopedName("momentErrorMap"), subMesh.time().timeName(), - subMesh, + subMesh.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER ), subMesh, - dimensionedVector(momDims) + dimensionedVector(momDims, Zero) ); - subMesh.objectRegistry::store(momentPtr); + regIOobject::store(fldPtr); - momName = scopedName("momentErrorZone"); } - momentPtr = new volVectorField + const word momName = + ( + zoneSubSetPtr_ + ? scopedName("momentErrorZone") + : scopedName("momentError") + ); + + volVectorField* fldPtr = new volVectorField ( IOobject ( momName, time_.timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER ), mesh_, - dimensionedVector(momDims) + dimensionedVector(momDims, Zero) ); - mesh_.objectRegistry::store(momentPtr); + regIOobject::store(fldPtr); } diff --git a/src/functionObjects/field/readFields/readFieldsTemplates.C b/src/functionObjects/field/readFields/readFieldsTemplates.C index 2ce668755ff..5cf6018bdd1 100644 --- a/src/functionObjects/field/readFields/readFieldsTemplates.C +++ b/src/functionObjects/field/readFields/readFieldsTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,7 +42,7 @@ bool Foam::functionObjects::readFields::loadAndStore(const IOobject& io) Log << " Reading " << io.name() << " (" << io.headerClassName() << ')' << endl; - mesh_.objectRegistry::store(new FieldType(io, mesh_)); + regIOobject::store(new FieldType(io, mesh_)); return true; } diff --git a/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C b/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C index fb86bca1efe..ca01a013fa7 100644 --- a/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C +++ b/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -98,7 +98,7 @@ bool Foam::resolutionIndexModel::read(const dictionary& dict) ( resultName_, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::LAZY_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -108,7 +108,7 @@ bool Foam::resolutionIndexModel::read(const dictionary& dict) fvPatchFieldBase::zeroGradientType() ); - mesh_.objectRegistry::store(indexPtr); + regIOobject::store(indexPtr); } return true; diff --git a/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModelTemplates.C b/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModelTemplates.C index cdbe29b3d6c..641e9ce1eff 100644 --- a/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModelTemplates.C +++ b/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModelTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,14 +46,14 @@ GeoFieldType& Foam::resolutionIndexModel::getOrReadField ( fieldName, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::MUST_READ, IOobject::AUTO_WRITE, IOobject::REGISTER ), mesh_ ); - mesh_.objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; diff --git a/src/functionObjects/field/stabilityBlendingFactor/stabilityBlendingFactor.C b/src/functionObjects/field/stabilityBlendingFactor/stabilityBlendingFactor.C index ef07ad51de7..134427f7ba5 100644 --- a/src/functionObjects/field/stabilityBlendingFactor/stabilityBlendingFactor.C +++ b/src/functionObjects/field/stabilityBlendingFactor/stabilityBlendingFactor.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -65,7 +65,7 @@ Foam::functionObjects::stabilityBlendingFactor::indicator() ( "blendedIndicator" + fieldName_, time_.timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -75,7 +75,7 @@ Foam::functionObjects::stabilityBlendingFactor::indicator() fvPatchFieldBase::zeroGradientType() ); - mesh_.objectRegistry::store(fldPtr); + regIOobject::store(fldPtr); } return *fldPtr; @@ -558,7 +558,7 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor ( nonOrthogonalityName_, mesh_.time().constant(), - mesh_, + mesh_.thisDb(), IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -567,7 +567,7 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor if (fieldHeader.typeHeaderOk<volScalarField>(true, true, false)) { auto* vfPtr = new volScalarField(fieldHeader, mesh_); - mesh_.objectRegistry::store(vfPtr); + regIOobject::store(vfPtr); } else { @@ -588,7 +588,7 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor ( faceWeightName_, mesh_.time().constant(), - mesh_, + mesh_.thisDb(), IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -597,7 +597,7 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor if (fieldHeader.typeHeaderOk<volScalarField>(true, true, false)) { auto* vfPtr = new volScalarField(fieldHeader, mesh_); - mesh_.objectRegistry::store(vfPtr); + regIOobject::store(vfPtr); } else { @@ -616,7 +616,7 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor ( skewnessName_, mesh_.time().constant(), - mesh_, + mesh_.thisDb(), IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -625,7 +625,7 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor if (fieldHeader.typeHeaderOk<volScalarField>(true, true, false)) { auto* vfPtr = new volScalarField(fieldHeader, mesh_); - mesh_.objectRegistry::store(vfPtr); + regIOobject::store(vfPtr); } else { diff --git a/src/functionObjects/field/surfaceDistance/surfaceDistance.C b/src/functionObjects/field/surfaceDistance/surfaceDistance.C index f7ad43ebc28..d3362a971dd 100644 --- a/src/functionObjects/field/surfaceDistance/surfaceDistance.C +++ b/src/functionObjects/field/surfaceDistance/surfaceDistance.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,7 +61,7 @@ Foam::functionObjects::surfaceDistance::surfaceDistance ( "surfaceDistance", mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -71,7 +71,7 @@ Foam::functionObjects::surfaceDistance::surfaceDistance ) ); - mesh_.objectRegistry::store(distPtr); + regIOobject::store(distPtr); } diff --git a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C index a97ed64ed0e..3235b4cbc55 100644 --- a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C +++ b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -120,7 +120,7 @@ Foam::functionObjects::wallHeatFlux::wallHeatFlux ( scopedName(typeName), mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::REGISTER @@ -130,7 +130,7 @@ Foam::functionObjects::wallHeatFlux::wallHeatFlux ) ); - mesh_.objectRegistry::store(wallHeatFluxPtr); + regIOobject::store(wallHeatFluxPtr); } diff --git a/src/functionObjects/field/wallShearStress/wallShearStress.C b/src/functionObjects/field/wallShearStress/wallShearStress.C index 83ce52c2028..6fd8853dcc5 100644 --- a/src/functionObjects/field/wallShearStress/wallShearStress.C +++ b/src/functionObjects/field/wallShearStress/wallShearStress.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -104,7 +104,7 @@ Foam::functionObjects::wallShearStress::wallShearStress ( scopedName(typeName), mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::REGISTER @@ -114,7 +114,7 @@ Foam::functionObjects::wallShearStress::wallShearStress ) ); - mesh_.objectRegistry::store(wallShearStressPtr); + regIOobject::store(wallShearStressPtr); } diff --git a/src/functionObjects/field/yPlus/yPlus.C b/src/functionObjects/field/yPlus/yPlus.C index b175a154bf6..f9b5f3a3b53 100644 --- a/src/functionObjects/field/yPlus/yPlus.C +++ b/src/functionObjects/field/yPlus/yPlus.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -86,7 +86,7 @@ Foam::functionObjects::yPlus::yPlus ( scopedName(typeName), mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -96,7 +96,7 @@ Foam::functionObjects::yPlus::yPlus ) ); - mesh_.objectRegistry::store(yPlusPtr); + regIOobject::store(yPlusPtr); } diff --git a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C index b749dcf81b1..bbad31544f2 100644 --- a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C +++ b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -63,18 +63,17 @@ void Foam::functionObjects::forceCoeffs::initialise() Foam::volVectorField& Foam::functionObjects::forceCoeffs::forceCoeff() { - auto* coeffPtr = - mesh_.getObjectPtr<volVectorField>(scopedName("forceCoeff")); + auto* ptr = mesh_.getObjectPtr<volVectorField>(scopedName("forceCoeff")); - if (!coeffPtr) + if (!ptr) { - coeffPtr = new volVectorField + ptr = new volVectorField ( IOobject ( scopedName("forceCoeff"), time_.timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -83,27 +82,26 @@ Foam::volVectorField& Foam::functionObjects::forceCoeffs::forceCoeff() dimensionedVector(dimless, Zero) ); - mesh_.objectRegistry::store(coeffPtr); + regIOobject::store(ptr); } - return *coeffPtr; + return *ptr; } Foam::volVectorField& Foam::functionObjects::forceCoeffs::momentCoeff() { - auto* coeffPtr = - mesh_.getObjectPtr<volVectorField>(scopedName("momentCoeff")); + auto* ptr = mesh_.getObjectPtr<volVectorField>(scopedName("momentCoeff")); - if (!coeffPtr) + if (!ptr) { - coeffPtr = new volVectorField + ptr = new volVectorField ( IOobject ( scopedName("momentCoeff"), time_.timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -112,10 +110,10 @@ Foam::volVectorField& Foam::functionObjects::forceCoeffs::momentCoeff() dimensionedVector(dimless, Zero) ); - mesh_.objectRegistry::store(coeffPtr); + regIOobject::store(ptr); } - return *coeffPtr; + return *ptr; } diff --git a/src/functionObjects/forces/forces/forces.C b/src/functionObjects/forces/forces/forces.C index b5caaf7b3c2..ac666783948 100644 --- a/src/functionObjects/forces/forces/forces.C +++ b/src/functionObjects/forces/forces/forces.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -89,17 +89,17 @@ void Foam::functionObjects::forces::setCoordinateSystem Foam::volVectorField& Foam::functionObjects::forces::force() { - auto* forcePtr = mesh_.getObjectPtr<volVectorField>(scopedName("force")); + auto* ptr = mesh_.getObjectPtr<volVectorField>(scopedName("force")); - if (!forcePtr) + if (!ptr) { - forcePtr = new volVectorField + ptr = new volVectorField ( IOobject ( scopedName("force"), time_.timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -108,26 +108,26 @@ Foam::volVectorField& Foam::functionObjects::forces::force() dimensionedVector(dimForce, Zero) ); - mesh_.objectRegistry::store(forcePtr); + regIOobject::store(ptr); } - return *forcePtr; + return *ptr; } Foam::volVectorField& Foam::functionObjects::forces::moment() { - auto* momentPtr = mesh_.getObjectPtr<volVectorField>(scopedName("moment")); + auto* ptr = mesh_.getObjectPtr<volVectorField>(scopedName("moment")); - if (!momentPtr) + if (!ptr) { - momentPtr = new volVectorField + ptr = new volVectorField ( IOobject ( scopedName("moment"), time_.timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -136,10 +136,10 @@ Foam::volVectorField& Foam::functionObjects::forces::moment() dimensionedVector(dimForce*dimLength, Zero) ); - mesh_.objectRegistry::store(momentPtr); + regIOobject::store(ptr); } - return *momentPtr; + return *ptr; } diff --git a/src/functionObjects/initialisation/hydrostaticPressure/hydrostaticPressure.C b/src/functionObjects/initialisation/hydrostaticPressure/hydrostaticPressure.C index 9bc7e256f01..75c6f8509f2 100644 --- a/src/functionObjects/initialisation/hydrostaticPressure/hydrostaticPressure.C +++ b/src/functionObjects/initialisation/hydrostaticPressure/hydrostaticPressure.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -197,7 +197,7 @@ Foam::functionObjects::hydrostaticPressure::hydrostaticPressure mesh_ ); - mesh_.objectRegistry::store(ph_rghPtr); + regIOobject::store(ph_rghPtr); bool reInitialise = dict.getOrDefault("reInitialise", false); diff --git a/src/functionObjects/solvers/electricPotential/electricPotential.C b/src/functionObjects/solvers/electricPotential/electricPotential.C index 6a83baee674..4b5dd5d8551 100644 --- a/src/functionObjects/solvers/electricPotential/electricPotential.C +++ b/src/functionObjects/solvers/electricPotential/electricPotential.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,14 +59,14 @@ Foam::volScalarField& Foam::functionObjects::electricPotential::getOrReadField ( fieldName, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::REGISTER ), mesh_ ); - mesh_.objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; @@ -241,13 +241,14 @@ Foam::functionObjects::electricPotential::electricPotential ( Ename_, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), -fvc::grad(eV) ); - mesh_.objectRegistry::store(ptr); + regIOobject::store(ptr); } } } diff --git a/src/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.C b/src/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.C index 1d18b8960b2..5425dadb0ab 100644 --- a/src/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.C +++ b/src/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -157,14 +157,14 @@ VolFieldType& Foam::fv::MapFieldConstraint<Type>::getOrReadField ( fieldName, thisMesh.time().timeName(), - thisMesh, + thisMesh.thisDb(), IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::REGISTER ), thisMesh ); - thisMesh.objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; diff --git a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C index f6f41c11a06..0fc3317c274 100644 --- a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C +++ b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,7 +61,7 @@ Foam::fv::jouleHeatingSource::transformSigma ( sigmaName, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER diff --git a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C index 95cb6a05b99..4eb7391caf0 100644 --- a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C +++ b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,50 +36,48 @@ void Foam::fv::jouleHeatingSource::initialiseSigma { typedef GeometricField<Type, fvPatchField, volMesh> VolFieldType; + IOobject io + ( + typeName + ":sigma", + mesh_.time().timeName(), + mesh_.thisDb(), + IOobject::NO_READ, + IOobject::AUTO_WRITE, + IOobject::REGISTER + ); + + tmp<VolFieldType> tsigma; + if (dict.found("sigma")) { // Sigma to be defined using a Function1 type sigmaVsTPtr = Function1<Type>::New("sigma", dict, &mesh_); - auto tsigma = tmp<VolFieldType>::New + tsigma.reset ( - IOobject + new VolFieldType ( - typeName + ":sigma", - mesh_.time().timeName(), + io, mesh_, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - mesh_, - dimensioned<Type>(sqr(dimCurrent)/dimPower/dimLength, Zero) + Foam::zero{}, // value + sqr(dimCurrent)/dimPower/dimLength + ) ); - mesh_.objectRegistry::store(tsigma.ptr()); - Info<< " Conductivity 'sigma' read from dictionary as f(T)" << nl << endl; } else { // Sigma to be defined by user input - auto tsigma = tmp<VolFieldType>::New - ( - IOobject - ( - typeName + ":sigma", - mesh_.time().timeName(), - mesh_, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh_ - ); + io.readOpt(IOobject::MUST_READ); - mesh_.objectRegistry::store(tsigma.ptr()); + tsigma.reset(new VolFieldType(io, mesh_)); Info<< " Conductivity 'sigma' read from file" << nl << endl; } + + regIOobject::store(tsigma); } @@ -110,7 +108,7 @@ Foam::fv::jouleHeatingSource::updateSigma // Boundary field - typename VolFieldType::Boundary& bf = sigma.boundaryFieldRef(); + auto& bf = sigma.boundaryFieldRef(); forAll(bf, patchi) { fvPatchField<Type>& pf = bf[patchi]; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Coulomb/CoulombForce.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Coulomb/CoulombForce.C index 36e4b0da607..97a9c55fc6f 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Coulomb/CoulombForce.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Coulomb/CoulombForce.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,13 +46,14 @@ Foam::volVectorField& Foam::CoulombForce<CloudType>::getOrReadField ( fieldName, this->mesh().time().timeName(), - this->mesh(), + this->mesh().thisDb(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh() ); - this->mesh().objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; diff --git a/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C b/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C index 6a6814fc6f2..b10fe98d72d 100644 --- a/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C +++ b/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -191,7 +191,7 @@ Foam::lumpedPointDisplacementPointPatchVectorField::movement() const // Create and register with this patch as the owner ptr = lumpedPointIOMovement::New(obr, this->patch().index()).ptr(); - objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseTemplates.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseTemplates.C index 924afa2b5a8..7b6ce7e3cae 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseTemplates.C +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -300,7 +300,7 @@ bool Foam::mappedPatchBase::constructIOField ), Foam::zero{} ); - objectRegistry::store(fldPtr); + regIOobject::store(fldPtr); } fldPtr->transfer @@ -340,7 +340,7 @@ void Foam::mappedPatchBase::storeField ), Foam::zero{} ); - objectRegistry::store(fldPtr); + regIOobject::store(fldPtr); } *fldPtr = values; diff --git a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C index 92298e20913..b655785b1d4 100644 --- a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C +++ b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C @@ -340,23 +340,21 @@ Foam::processorColour::processorColour(const lduMesh& mesh) const Foam::processorColour& Foam::processorColour::New(const lduMesh& mesh) { - const processorColour* ptr = - mesh.thisDb().objectRegistry::template cfindObject<processorColour> + auto* ptr = + mesh.thisDb().objectRegistry::template getObjectPtr<processorColour> ( processorColour::typeName ); - if (ptr) + if (!ptr) { - return *ptr; - } - - processorColour* objectPtr = new processorColour(mesh); + ptr = new processorColour(mesh); - //regIOobject::store(static_cast<MoveableMeshObject<lduMesh>*>(objectPtr)); - regIOobject::store(objectPtr); + //regIOobject::store(static_cast<MoveableMeshObject<lduMesh>*>(ptr)); + regIOobject::store(ptr); + } - return *objectPtr; + return *ptr; } diff --git a/src/regionModels/surfaceFilmModels/functionObjects/filmFlux/filmFlux.C b/src/regionModels/surfaceFilmModels/functionObjects/filmFlux/filmFlux.C index 305c579bf81..a69a5861678 100644 --- a/src/regionModels/surfaceFilmModels/functionObjects/filmFlux/filmFlux.C +++ b/src/regionModels/surfaceFilmModels/functionObjects/filmFlux/filmFlux.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -99,7 +99,7 @@ bool Foam::functionObjects::filmFlux::execute() ( resultName_, time_.timeName(), - filmMesh, + filmMesh.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -108,7 +108,7 @@ bool Foam::functionObjects::filmFlux::execute() dimensionedScalar(dimMass/dimTime, Zero) ); - filmMesh.objectRegistry::store(resultPtr); + regIOobject::store(resultPtr); } auto& result = *resultPtr; @@ -123,7 +123,7 @@ bool Foam::functionObjects::filmFlux::execute() ( "height", time_.timeName(), - filmMesh, + filmMesh.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -133,7 +133,7 @@ bool Foam::functionObjects::filmFlux::execute() fvPatchFieldBase::zeroGradientType() ); - auto& heightc = height.ref(); + auto& heightc = height.internalFieldRef(); heightc = max(dimensionedScalar("eps", dimLength, ROOTVSMALL), vol/magSf()); height.correctBoundaryConditions(); diff --git a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C index 2c10c551c84..0471bdd3987 100644 --- a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C +++ b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -62,14 +62,15 @@ turbulentTemperatureRadCoupledMixedFvPatchScalarField::getOrCreateField ( fieldName, mesh.time().timeName(), - mesh, + mesh.thisDb(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh, dimensionedScalar(dimless, Zero) ); - mesh.objectRegistry::store(ptr); + regIOobject::store(ptr); } return *ptr; diff --git a/src/thermophysicalModels/chemistryModel/functionObjects/BilgerMixtureFraction/BilgerMixtureFraction.C b/src/thermophysicalModels/chemistryModel/functionObjects/BilgerMixtureFraction/BilgerMixtureFraction.C index 3deae524453..038a33451f4 100644 --- a/src/thermophysicalModels/chemistryModel/functionObjects/BilgerMixtureFraction/BilgerMixtureFraction.C +++ b/src/thermophysicalModels/chemistryModel/functionObjects/BilgerMixtureFraction/BilgerMixtureFraction.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2020 Thorsten Zirwes - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -68,7 +68,7 @@ void Foam::functionObjects::BilgerMixtureFraction::calcBilgerMixtureFraction() ( resultName_, mesh_.time().timeName(), - mesh_, + mesh_.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER @@ -76,7 +76,7 @@ void Foam::functionObjects::BilgerMixtureFraction::calcBilgerMixtureFraction() mesh_, dimensionedScalar(dimless, Zero) ); - mesh_.objectRegistry::store(resultPtr); + regIOobject::store(resultPtr); } auto& f_Bilger = *resultPtr; -- GitLab From 21196d8c0bbe56f53e21fa03af80dc9d451f7e14 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 09:03:59 +0100 Subject: [PATCH 048/231] ENH: use tmp field factory methods [1] (#2723) - src/OpenFOAM, src/meshTools, src/mesh, src/dynamicMesh, src/sampling src/topoChanger src/overset src/fvMotionSolver --- .../GeometricField/uniformInterpolate.C | 3 +- .../LduMatrix/LduMatrix/LduMatrixOperations.C | 9 +--- .../lduMatrix/lduMatrix/lduMatrixTemplates.C | 2 +- src/OpenFOAM/meshes/polyMesh/polyMesh.C | 2 +- .../polyPatches/polyPatch/polyPatch.C | 8 ++-- .../interfaceTrackingFvMesh.C | 41 +++++----------- .../layerAdditionRemoval/addCellLayer.C | 4 +- .../displacementInterpolationMotionSolver.C | 4 +- .../displacementLayeredMotionMotionSolver.C | 25 ++++------ .../pairPatchAgglomeration.C | 4 +- ...lacementComponentLaplacianFvMotionSolver.C | 4 +- ...velocityComponentLaplacianFvMotionSolver.C | 2 +- .../surfaceAlignedSBRStressFvMotionSolver.C | 47 ++++++------------- .../snappyHexMeshDriver/snappyLayerDriver.C | 4 +- .../snappyHexMeshDriver/snappySnapDriver.C | 22 ++++----- src/meshTools/cellQuality/cellQuality.C | 43 ++++------------- .../edgeMeshTools/edgeMeshFeatureProximity.C | 4 +- .../momentOfInertia/momentOfInertia.C | 5 +- .../triSurfaceTools/triSurfaceCloseness.C | 4 +- .../cellCellStencilTemplates.C | 15 ++---- .../oversetPolyPatch/oversetFvPatchField.C | 5 +- .../oversetPolyPatch/oversetFvPatchField.H | 20 ++------ .../rigidBodyMotion/rigidBodyMotion.C | 12 ++--- .../rigidBodyMeshMotion/rigidBodyMeshMotion.C | 4 +- src/sampling/meshToMesh/meshToMeshTemplates.C | 42 ++++++----------- .../sampledCuttingPlane/sampledCuttingPlane.C | 27 +++-------- .../sixDoFRigidBodyMotion.C | 4 +- .../sixDoFRigidBodyMotionSolver.C | 4 +- .../linearValveLayersFvMesh.C | 8 +--- .../movingConeTopoFvMesh.C | 4 +- 30 files changed, 128 insertions(+), 254 deletions(-) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/uniformInterpolate.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/uniformInterpolate.C index 6476a59d354..559f7fe26ff 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/uniformInterpolate.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/uniformInterpolate.C @@ -46,7 +46,8 @@ Foam::tmp<GeoField> Foam::uniformInterpolate field0.time().timeName(), field0.db(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), weights[0]*(*fields[indices[0]]) ); diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C index 7fa0cd403c3..7945a8cd2da 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C @@ -90,16 +90,11 @@ template<class Type, class DType, class LUType> Foam::tmp<Foam::Field<Type>> Foam::LduMatrix<Type, DType, LUType>::H(const Field<Type>& psi) const { - tmp<Field<Type>> tHpsi - ( - new Field<Type>(lduAddr().size(), Zero) - ); + auto tHpsi = tmp<Field<Type>>::New(lduAddr().size(), Foam::zero{}); if (lowerPtr_ || upperPtr_) { - Field<Type> & Hpsi = tHpsi(); - - Type* __restrict__ HpsiPtr = Hpsi.begin(); + Type* __restrict__ HpsiPtr = tHpsi.ref().begin(); const Type* __restrict__ psiPtr = psi.begin(); diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C index cafd283abb9..ed7eb4d260b 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C +++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C @@ -35,7 +35,7 @@ Description template<class Type> Foam::tmp<Foam::Field<Type>> Foam::lduMatrix::H(const Field<Type>& psi) const { - auto tHpsi = tmp<Field<Type>>::New(lduAddr().size(), Zero); + auto tHpsi = tmp<Field<Type>>::New(lduAddr().size(), Foam::zero{}); if (lowerPtr_ || upperPtr_) { diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C index 00480e7669d..5aba0e0d2f4 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C @@ -1195,7 +1195,7 @@ void Foam::polyMesh::movePoints(const pointField& newPoints) { if (debug) { - Info<< "tmp<scalarField> polyMesh::movePoints(const pointField&) : " + Info<< "void polyMesh::movePoints(const pointField&) : " << " Storing current points for time " << time().value() << " index " << time().timeIndex() << endl; } diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C index 1a5e79754c9..3f2530d6da8 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C @@ -333,8 +333,8 @@ const Foam::vectorField::subField Foam::polyPatch::faceAreas() const Foam::tmp<Foam::vectorField> Foam::polyPatch::faceCellCentres() const { - tmp<vectorField> tcc(new vectorField(size())); - vectorField& cc = tcc.ref(); + auto tcc = tmp<vectorField>::New(size()); + auto& cc = tcc.ref(); // get reference to global cell centres const vectorField& gcc = boundaryMesh_.mesh().cellCentres(); @@ -352,8 +352,8 @@ Foam::tmp<Foam::vectorField> Foam::polyPatch::faceCellCentres() const Foam::tmp<Foam::scalarField> Foam::polyPatch::areaFraction() const { - tmp<scalarField> tfraction(new scalarField(size())); - scalarField& fraction = tfraction.ref(); + auto tfraction = tmp<scalarField>::New(size()); + auto& fraction = tfraction.ref(); const vectorField::subField faceAreas = this->faceAreas(); const pointField& points = this->points(); diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C b/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C index ef431b1d9e4..4197ef6bac7 100644 --- a/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C +++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C @@ -295,46 +295,31 @@ void Foam::interfaceTrackingFvMesh::makeControlPoints() << abort(FatalError); } - IOobject controlPointsHeader + IOobject pointsIO ( "controlPoints", mesh().time().timeName(), mesh(), - IOobject::MUST_READ + IOobject::MUST_READ, + IOobject::AUTO_WRITE, + IOobject::REGISTER ); - if (controlPointsHeader.typeHeaderOk<vectorIOField>()) + if (pointsIO.typeHeaderOk<vectorIOField>()) { Info<< "Reading control points" << endl; - controlPointsPtr_ = - new vectorIOField - ( - IOobject - ( - "controlPoints", - mesh().time().timeName(), - mesh(), - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ) - ); + controlPointsPtr_ = new vectorIOField(pointsIO); } else { + pointsIO.readOpt(IOobject::NO_READ); + Info<< "Creating new control points" << endl; - controlPointsPtr_ = - new vectorIOField - ( - IOobject - ( - "controlPoints", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - aMesh().areaCentres().internalField() - ); + controlPointsPtr_ = new vectorIOField + ( + pointsIO, + aMesh().areaCentres().internalField() + ); initializeControlPointsPosition(); } diff --git a/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C b/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C index 2c6eb27b362..43f12a7cd7e 100644 --- a/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C +++ b/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C @@ -47,8 +47,8 @@ Foam::tmp<Foam::vectorField> Foam::layerAdditionRemoval::extrusionDir() const const pointField& points = mesh.points(); const labelList& mp = masterFaceLayer.meshPoints(); - tmp<vectorField> textrusionDir(new vectorField(mp.size())); - vectorField& extrusionDir = textrusionDir.ref(); + auto textrusionDir = tmp<vectorField>::New(mp.size()); + auto& extrusionDir = textrusionDir.ref(); if (setLayerPairing()) { diff --git a/src/dynamicMesh/motionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C b/src/dynamicMesh/motionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C index dbd93a73fbc..2026e4e09e4 100644 --- a/src/dynamicMesh/motionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C +++ b/src/dynamicMesh/motionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C @@ -339,8 +339,8 @@ Foam::displacementInterpolationMotionSolver::curPoints() const << " points." << exit(FatalError); } - tmp<pointField> tcurPoints(new pointField(points0())); - pointField& curPoints = tcurPoints.ref(); + auto tcurPoints = tmp<pointField>::New(points0()); + auto& curPoints = tcurPoints.ref(); // Interpolate the displacement of the face zones. vectorField zoneDisp(displacements_.size(), Zero); diff --git a/src/dynamicMesh/motionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C b/src/dynamicMesh/motionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C index 5b88d28c572..645be3cea28 100644 --- a/src/dynamicMesh/motionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C +++ b/src/dynamicMesh/motionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2019 OpenCFD Ltd. + Copyright (C) 2015-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -338,14 +338,9 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve patchi, new pointVectorField ( - IOobject + mesh().newIOobject ( - mesh().cellZones()[cellZoneI].name() + "_" + fz.name(), - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER + mesh().cellZones()[cellZoneI].name() + "_" + fz.name() ), pointDisplacement_ // to inherit the boundary conditions ) @@ -429,20 +424,18 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve if (debug) { // Normalised distance - pointScalarField distance + auto tdistance = pointScalarField::New ( - IOobject + IOobject::scopedName ( - mesh().cellZones()[cellZoneI].name() + ":distance", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER + mesh().cellZones()[cellZoneI].name(), + "distance" ), + IOobject::NO_REGISTER, pointMesh::New(mesh()), dimensionedScalar(dimLength, Zero) ); + auto& distance = tdistance.ref(); for (const label pointi : isZonePoint) { diff --git a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C index 16314968ad1..3db5770d179 100644 --- a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C +++ b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C @@ -664,8 +664,8 @@ Foam::tmp<Foam::labelField> Foam::pairPatchAgglomeration::agglomerateOneLevel { const label nFineFaces = patch.size(); - tmp<labelField> tcoarseCellMap(new labelField(nFineFaces, -1)); - labelField& coarseCellMap = tcoarseCellMap.ref(); + auto tcoarseCellMap = tmp<labelField>::New(nFineFaces, -1); + auto& coarseCellMap = tcoarseCellMap.ref(); const labelListList& faceFaces = patch.faceFaces(); diff --git a/src/fvMotionSolver/fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.C b/src/fvMotionSolver/fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.C index c0656e0516e..541cc4882ba 100644 --- a/src/fvMotionSolver/fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.C +++ b/src/fvMotionSolver/fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.C @@ -186,8 +186,8 @@ Foam::displacementComponentLaplacianFvMotionSolver::curPoints() const } else { - tmp<pointField> tcurPoints(new pointField(fvMesh_.points())); - pointField& curPoints = tcurPoints.ref(); + auto tcurPoints = tmp<pointField>::New(fvMesh_.points()); + auto& curPoints = tcurPoints.ref(); curPoints.replace ( diff --git a/src/fvMotionSolver/fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.C b/src/fvMotionSolver/fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.C index 68d95d1f981..9fd45f1149a 100644 --- a/src/fvMotionSolver/fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.C +++ b/src/fvMotionSolver/fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.C @@ -104,7 +104,7 @@ Foam::velocityComponentLaplacianFvMotionSolver::curPoints() const pointMotionU_ ); - tmp<pointField> tcurPoints(new pointField(fvMesh_.points())); + auto tcurPoints = tmp<pointField>::New(fvMesh_.points()); tcurPoints.ref().replace ( diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.C b/src/fvMotionSolver/fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.C index 0d6c19e100c..f886e65d230 100644 --- a/src/fvMotionSolver/fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.C +++ b/src/fvMotionSolver/fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.C @@ -301,28 +301,18 @@ void Foam::surfaceAlignedSBRStressFvMotionSolver::solve() // Calculate rotations on surface intersection calculateCellRot(); - tmp<volVectorField> tUd + auto tUd = volVectorField::New ( - new volVectorField + "Ud", + IOobject::NO_REGISTER, + fvMesh_, + dimensionedVector(dimLength, Zero), + cellMotionBoundaryTypes<vector> ( - IOobject - ( - "Ud", - fvMesh_.time().timeName(), - fvMesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - fvMesh_, - dimensionedVector(dimLength, Zero), - cellMotionBoundaryTypes<vector> - ( - pointDisplacement().boundaryField() - ) + pointDisplacement().boundaryField() ) ); - - volVectorField& Ud = tUd.ref(); + auto& Ud = tUd.ref(); const vectorList& C = fvMesh_.C(); forAll(Ud, i) @@ -346,23 +336,14 @@ void Foam::surfaceAlignedSBRStressFvMotionSolver::solve() const volTensorField gradD("gradD", fvc::grad(Ud)); - tmp<volScalarField> tmu + auto tmu = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "mu", - fvMesh_.time().timeName(), - fvMesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - fvMesh_, - dimensionedScalar(dimless, Zero) - ) + "mu", + IOobject::NO_REGISTER, + fvMesh_, + dimensionedScalar(dimless, Zero) ); - volScalarField& mu = tmu.ref(); + auto& mu = tmu.ref(); const scalarList& V = fvMesh_.V(); mu.primitiveFieldRef() = (1.0/V); diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C index 2f857a3d56e..072e39dfeb9 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C @@ -113,8 +113,8 @@ Foam::tmp<Foam::scalarField> Foam::snappyLayerDriver::avgPointData const scalarField& pointFld ) { - tmp<scalarField> tfaceFld(new scalarField(pp.size(), Zero)); - scalarField& faceFld = tfaceFld.ref(); + auto tfaceFld = tmp<scalarField>::New(pp.size(), Zero); + auto& faceFld = tfaceFld.ref(); forAll(pp.localFaces(), facei) { diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C index 9667c057837..b38620a13f0 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C @@ -257,8 +257,8 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothInternalDisplacement // Add coupled contributions weightedPosition::syncPoints(mesh, sumLocation); - tmp<pointField> tdisplacement(new pointField(mesh.nPoints(), Zero)); - pointField& displacement = tdisplacement.ref(); + auto tdisplacement = tmp<pointField>::New(mesh.nPoints(), Zero); + auto& displacement = tdisplacement.ref(); label nAdapted = 0; @@ -490,8 +490,8 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement // Displacement to calculate. - tmp<pointField> tpatchDisp(new pointField(meshPoints.size(), Zero)); - pointField& patchDisp = tpatchDisp.ref(); + auto tpatchDisp = tmp<pointField>::New(meshPoints.size(), Zero); + auto& patchDisp = tpatchDisp.ref(); forAll(pointFaces, i) { @@ -571,8 +571,8 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement // const labelListList& pointEdges = pp.pointEdges(); // const edgeList& edges = pp.edges(); // -// tmp<pointField> tavg(new pointField(pointEdges.size(), Zero)); -// pointField& avg = tavg(); +// auto tavg = tmp<pointField>::New(pointEdges.size(), Zero); +// auto& avg = tavg.ref(); // // forAll(pointEdges, verti) // { @@ -658,8 +658,8 @@ Foam::tmp<Foam::scalarField> Foam::snappySnapDriver::edgePatchDist ); // Copy edge values into scalarField - tmp<scalarField> tedgeDist(new scalarField(mesh.nEdges())); - scalarField& edgeDist = tedgeDist.ref(); + auto tedgeDist = tmp<scalarField>::New(mesh.nEdges()); + auto& edgeDist = tedgeDist.ref(); forAll(allEdgeInfo, edgei) { @@ -1057,7 +1057,7 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::avgCellCentres // Add coupled contributions weightedPosition::syncPoints(mesh, pp.meshPoints(), avgBoundary); - tmp<pointField> tavgBoundary(new pointField(avgBoundary.size())); + auto tavgBoundary = tmp<pointField>::New(avgBoundary.size()); weightedPosition::getPoints(avgBoundary, tavgBoundary.ref()); return tavgBoundary; @@ -1073,8 +1073,8 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::avgCellCentres // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // (Ripped from snappyLayerDriver) // -// tmp<scalarField> tedgeLen(new scalarField(pp.nPoints())); -// scalarField& edgeLen = tedgeLen(); +// auto tedgeLen = tmp<scalarField>::New(pp.nPoints()); +// auto& edgeLen = tedgeLen.ref(); // { // const fvMesh& mesh = meshRefiner_.mesh(); // const scalar edge0Len = meshRefiner_.meshCutter().level0EdgeLength(); diff --git a/src/meshTools/cellQuality/cellQuality.C b/src/meshTools/cellQuality/cellQuality.C index 2ee6a6c4c3d..fc5f7df5200 100644 --- a/src/meshTools/cellQuality/cellQuality.C +++ b/src/meshTools/cellQuality/cellQuality.C @@ -41,15 +41,8 @@ Foam::cellQuality::cellQuality(const polyMesh& mesh) Foam::tmp<Foam::scalarField> Foam::cellQuality::nonOrthogonality() const { - tmp<scalarField> tresult - ( - new scalarField - ( - mesh_.nCells(), 0.0 - ) - ); - - scalarField& result = tresult.ref(); + auto tresult = tmp<scalarField>::New(mesh_.nCells(), Zero); + auto& result = tresult.ref(); scalarField sumArea(mesh_.nCells(), Zero); @@ -103,14 +96,8 @@ Foam::tmp<Foam::scalarField> Foam::cellQuality::nonOrthogonality() const Foam::tmp<Foam::scalarField> Foam::cellQuality::skewness() const { - tmp<scalarField> tresult - ( - new scalarField - ( - mesh_.nCells(), 0.0 - ) - ); - scalarField& result = tresult.ref(); + auto tresult = tmp<scalarField>::New(mesh_.nCells(), Zero); + auto& result = tresult.ref(); scalarField sumArea(mesh_.nCells(), Zero); @@ -182,15 +169,8 @@ Foam::tmp<Foam::scalarField> Foam::cellQuality::skewness() const Foam::tmp<Foam::scalarField> Foam::cellQuality::faceNonOrthogonality() const { - tmp<scalarField> tresult - ( - new scalarField - ( - mesh_.nFaces(), 0.0 - ) - ); - scalarField& result = tresult.ref(); - + auto tresult = tmp<scalarField>::New(mesh_.nFaces(), Zero); + auto& result = tresult.ref(); const vectorField& centres = mesh_.cellCentres(); const vectorField& areas = mesh_.faceAreas(); @@ -242,15 +222,8 @@ Foam::tmp<Foam::scalarField> Foam::cellQuality::faceNonOrthogonality() const Foam::tmp<Foam::scalarField> Foam::cellQuality::faceSkewness() const { - tmp<scalarField> tresult - ( - new scalarField - ( - mesh_.nFaces(), 0.0 - ) - ); - scalarField& result = tresult.ref(); - + auto tresult = tmp<scalarField>::New(mesh_.nFaces(), Zero); + auto& result = tresult.ref(); const vectorField& cellCtrs = mesh_.cellCentres(); const vectorField& faceCtrs = mesh_.faceCentres(); diff --git a/src/meshTools/edgeMesh/edgeMeshTools/edgeMeshFeatureProximity.C b/src/meshTools/edgeMesh/edgeMeshTools/edgeMeshFeatureProximity.C index fbb851e4b37..6458779c7f6 100644 --- a/src/meshTools/edgeMesh/edgeMeshTools/edgeMeshFeatureProximity.C +++ b/src/meshTools/edgeMesh/edgeMeshTools/edgeMeshFeatureProximity.C @@ -143,8 +143,8 @@ Foam::tmp<Foam::scalarField> Foam::edgeMeshTools::featureProximity const scalar searchDistance ) { - tmp<scalarField> tfld(new scalarField(surf.size(), searchDistance)); - scalarField& featureProximity = tfld.ref(); + auto tfld = tmp<scalarField>::New(surf.size(), searchDistance); + auto& featureProximity = tfld.ref(); Info<< "Extracting proximity of close feature points and " << "edges to the surface" << endl; diff --git a/src/meshTools/momentOfInertia/momentOfInertia.C b/src/meshTools/momentOfInertia/momentOfInertia.C index 3ea48e84723..ffb296a3a02 100644 --- a/src/meshTools/momentOfInertia/momentOfInertia.C +++ b/src/meshTools/momentOfInertia/momentOfInertia.C @@ -354,9 +354,8 @@ Foam::tmp<Foam::tensorField> Foam::momentOfInertia::meshInertia const polyMesh& mesh ) { - tmp<tensorField> tTf = tmp<tensorField>(new tensorField(mesh.nCells())); - - tensorField& tf = tTf.ref(); + auto tTf = tmp<tensorField>::New(mesh.nCells()); + auto& tf = tTf.ref(); forAll(tf, cI) { diff --git a/src/meshTools/triSurface/triSurfaceTools/triSurfaceCloseness.C b/src/meshTools/triSurface/triSurfaceTools/triSurfaceCloseness.C index c47ee9e62fd..b9add2217b7 100644 --- a/src/meshTools/triSurface/triSurfaceTools/triSurfaceCloseness.C +++ b/src/meshTools/triSurface/triSurfaceTools/triSurfaceCloseness.C @@ -103,8 +103,8 @@ Foam::triSurfaceTools::writeCloseness { Pair<tmp<scalarField>> tpair ( - tmp<scalarField>(new scalarField(surf.size(), GREAT)), - tmp<scalarField>(new scalarField(surf.size(), GREAT)) + tmp<scalarField>::New(surf.size(), GREAT), + tmp<scalarField>::New(surf.size(), GREAT) ); Info<< "Extracting internal and external closeness of surface." << endl; diff --git a/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C b/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C index bb441cb79a2..80237911108 100644 --- a/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C +++ b/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C @@ -158,22 +158,15 @@ Foam::cellCellStencil::createField const UList<Type>& psi ) { - auto tfld = tmp<volScalarField>::New + auto tfld = volScalarField::New ( - IOobject - ( - name, - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + name, + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimless, Zero), fvPatchFieldBase::zeroGradientType() ); - volScalarField& fld = tfld.ref(); + auto& fld = tfld.ref(); forAll(psi, cellI) { diff --git a/src/overset/oversetPolyPatch/oversetFvPatchField.C b/src/overset/oversetPolyPatch/oversetFvPatchField.C index 3beba4a72f3..1ab511b730d 100644 --- a/src/overset/oversetPolyPatch/oversetFvPatchField.C +++ b/src/overset/oversetPolyPatch/oversetFvPatchField.C @@ -585,10 +585,7 @@ template<class Type> Foam::tmp<Foam::Field<Type>> Foam::oversetFvPatchField<Type>:: patchNeighbourField() const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Zero); } diff --git a/src/overset/oversetPolyPatch/oversetFvPatchField.H b/src/overset/oversetPolyPatch/oversetFvPatchField.H index cb22fb67268..ead67e8fab9 100644 --- a/src/overset/oversetPolyPatch/oversetFvPatchField.H +++ b/src/overset/oversetPolyPatch/oversetFvPatchField.H @@ -195,10 +195,7 @@ public: const tmp<scalarField>& ) const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } //- Return the matrix source coefficients corresponding to the @@ -208,30 +205,21 @@ public: const tmp<scalarField>& ) const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } //- Return the matrix diagonal coefficients corresponding to the //- evaluation of the gradient of this patchField tmp<Field<Type>> gradientInternalCoeffs() const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } //- Return the matrix source coefficients corresponding to the //- evaluation of the gradient of this patchField tmp<Field<Type>> gradientBoundaryCoeffs() const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } //- Manipulate matrix diff --git a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C index cc03840da3e..88cdd4e3af2 100644 --- a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C +++ b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C @@ -238,8 +238,8 @@ Foam::tmp<Foam::pointField> Foam::RBD::rigidBodyMotion::transformPoints // to the current state in the global frame spatialTransform X(X0(bodyID).inv() & X00(bodyID)); - tmp<pointField> tpoints(new pointField(initialPoints.size())); - pointField& points = tpoints.ref(); + auto tpoints = tmp<pointField>::New(initialPoints.size()); + auto& points = tpoints.ref(); forAll(points, i) { @@ -265,8 +265,8 @@ Foam::tmp<Foam::pointField> Foam::RBD::rigidBodyMotion::transformPoints // interpolation septernion s(X); - tmp<pointField> tpoints(new pointField(initialPoints)); - pointField& points = tpoints.ref(); + auto tpoints = tmp<pointField>::New(initialPoints); + auto& points = tpoints.ref(); forAll(points, i) { @@ -314,8 +314,8 @@ Foam::tmp<Foam::pointField> Foam::RBD::rigidBodyMotion::transformPoints ss[bi] = septernion(X); } - tmp<pointField> tpoints(new pointField(initialPoints)); - pointField& points = tpoints.ref(); + auto tpoints = tmp<pointField>::New(initialPoints); + auto& points = tpoints.ref(); List<scalar> w(ss.size()); diff --git a/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C b/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C index 780844e6e7a..e7f4d71072a 100644 --- a/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C +++ b/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C @@ -224,8 +224,8 @@ Foam::rigidBodyMeshMotion::curPoints() const } else { - tmp<pointField> ttransformedPts(new pointField(mesh().points())); - pointField& transformedPts = ttransformedPts.ref(); + auto ttransformedPts = tmp<pointField>::New(mesh().points()); + auto& transformedPts = ttransformedPts.ref(); UIndirectList<point>(transformedPts, pointIDs()) = pointField(newPoints.ref(), pointIDs()); diff --git a/src/sampling/meshToMesh/meshToMeshTemplates.C b/src/sampling/meshToMesh/meshToMeshTemplates.C index a1f8b6f637b..a1df9365556 100644 --- a/src/sampling/meshToMesh/meshToMeshTemplates.C +++ b/src/sampling/meshToMesh/meshToMeshTemplates.C @@ -218,14 +218,7 @@ Foam::tmp<Foam::Field<Type>> Foam::meshToMesh::mapSrcToTgt const CombineOp& cop ) const { - tmp<Field<Type>> tresult - ( - new Field<Type> - ( - tgtToSrcCellAddr_.size(), - Zero - ) - ); + auto tresult = tmp<Field<Type>>::New(tgtToSrcCellAddr_.size(), Zero); mapSrcToTgt(srcField, cop, tresult.ref()); @@ -423,14 +416,7 @@ Foam::tmp<Foam::Field<Type>> Foam::meshToMesh::mapTgtToSrc const CombineOp& cop ) const { - tmp<Field<Type>> tresult - ( - new Field<Type> - ( - srcToTgtCellAddr_.size(), - Zero - ) - ); + auto tresult = tmp<Field<Type>>::New(srcToTgtCellAddr_.size(), Zero); mapTgtToSrc(tgtField, cop, tresult.ref()); @@ -645,13 +631,13 @@ Foam::meshToMesh::mapSrcToTgt auto tresult = tmp<VolumeField<Type>>::New ( - IOobject + tgtMesh.newIOobject ( - type() + ":interpolate(" + field.name() + ")", - tgtMesh.time().timeName(), - tgtMesh, - IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::scopedName + ( + type(), + "interpolate(" + field.name() + ")" + ) ), tgtMesh, field.dimensions(), @@ -876,13 +862,13 @@ Foam::meshToMesh::mapTgtToSrc auto tresult = tmp<VolumeField<Type>>::New ( - IOobject + srcMesh.newIOobject ( - type() + ":interpolate(" + field.name() + ")", - srcMesh.time().timeName(), - srcMesh, - IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::scopedName + ( + type(), + "interpolate(" + field.name() + ")" + ) ), srcMesh, field.dimensions(), diff --git a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C index 17cb45fb9e8..2d47649cd5e 100644 --- a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C +++ b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C @@ -464,20 +464,12 @@ void Foam::sampledCuttingPlane::createGeometry() ( new volScalarField ( - IOobject - ( - "cellDistance", - mesh.time().timeName(), - mesh.time(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + mesh.newIOobject("cellDistance"), mesh, dimensionedScalar(dimLength, Zero) ) ); - const volScalarField& cellDistance = cellDistancePtr_(); + const auto& cellDistance = *cellDistancePtr_; setDistanceFields(plane_); @@ -485,20 +477,15 @@ void Foam::sampledCuttingPlane::createGeometry() { Pout<< "Writing cell distance:" << cellDistance.objectPath() << endl; cellDistance.write(); - pointScalarField pointDist + auto tpointDist = pointScalarField::New ( - IOobject - ( - "pointDistance", - mesh.time().timeName(), - mesh.time(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "pointDistance", + IOobject::NO_REGISTER, pointMesh::New(mesh), dimensionedScalar(dimLength, Zero) ); + auto& pointDist = tpointDist.ref(); + pointDist.primitiveFieldRef() = pointDistance_; Pout<< "Writing point distance:" << pointDist.objectPath() << endl; diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C index 349493e0962..9b0e0a592ef 100644 --- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C +++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C @@ -393,8 +393,8 @@ Foam::tmp<Foam::pointField> Foam::sixDoFRigidBodyMotion::transform quaternion(Q().T() & initialQ()) ); - tmp<pointField> tpoints(new pointField(initialPoints)); - pointField& points = tpoints.ref(); + auto tpoints = tmp<pointField>::New(initialPoints); + auto& points = tpoints.ref(); forAll(points, pointi) { diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C index 267fc196430..33de436dcf9 100644 --- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C +++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C @@ -173,8 +173,8 @@ Foam::sixDoFRigidBodyMotionSolver::curPoints() const if (!moveAllCells()) { - tmp<pointField> ttransformedPts(new pointField(mesh().points())); - pointField& transformedPts = ttransformedPts.ref(); + auto ttransformedPts = tmp<pointField>::New(mesh().points()); + auto& transformedPts = ttransformedPts.ref(); UIndirectList<point>(transformedPts, pointIDs()) = pointField(newPoints.ref(), pointIDs()); diff --git a/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C b/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C index 4e56adeb3d8..d4dc7990d4f 100644 --- a/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C +++ b/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C @@ -275,12 +275,8 @@ bool Foam::linearValveLayersFvMesh::attached() const Foam::tmp<Foam::pointField> Foam::linearValveLayersFvMesh::newPoints() const { - tmp<pointField> tnewPoints - ( - new pointField(points()) - ); - - pointField& np = tnewPoints(); + auto tnewPoints = tmp<pointField>::New(points()); + auto& np = tnewPoints(); const word layerPatchName ( diff --git a/src/topoChangerFvMesh/movingConeTopoFvMesh/movingConeTopoFvMesh.C b/src/topoChangerFvMesh/movingConeTopoFvMesh/movingConeTopoFvMesh.C index 51221b8fadf..0b0d1e8bef5 100644 --- a/src/topoChangerFvMesh/movingConeTopoFvMesh/movingConeTopoFvMesh.C +++ b/src/topoChangerFvMesh/movingConeTopoFvMesh/movingConeTopoFvMesh.C @@ -70,8 +70,8 @@ Foam::tmp<Foam::scalarField> Foam::movingConeTopoFvMesh::vertexMarkup Info<< "Updating vertex markup. curLeft: " << curLeft << " curRight: " << curRight << endl; - tmp<scalarField> tvertexMarkup(new scalarField(p.size())); - scalarField& vertexMarkup = tvertexMarkup.ref(); + auto tvertexMarkup = tmp<scalarField>::New(p.size()); + auto& vertexMarkup = tvertexMarkup.ref(); forAll(p, pI) { -- GitLab From 092db087c911aa3b9e7ecbaf3a73246e3d58fedf Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 09:33:54 +0100 Subject: [PATCH 049/231] ENH: use tmp field factory methods [2] (#2723) - src/finiteVolume, src/finiteArea --- src/finiteArea/faMatrices/faMatrix/faMatrix.C | 6 +- .../faMatrices/faMatrix/faMatrixSolve.C | 4 +- .../basic/fixedValue/fixedValueFaPatchField.C | 5 +- .../constraint/cyclic/cyclicFaPatchField.C | 4 +- .../constraint/wedge/wedgeFaPatchField.C | 19 +++-- .../clampedPlate/clampedPlateFaPatchField.H | 5 +- .../fixedValueOutflowFaPatchField.C | 5 +- .../faePatchField/faePatchField.H | 5 +- .../divSchemes/faDivScheme/faDivScheme.C | 13 ---- .../divSchemes/faDivScheme/faDivScheme.H | 35 ++++++--- .../gaussFaDivScheme/gaussFaDivScheme.H | 2 +- .../gradSchemes/gaussFaGrad/gaussFaGrad.H | 25 +++---- .../faLaplacianScheme/faLaplacianScheme.H | 35 ++++----- .../gaussFaLaplacianScheme.H | 6 +- .../cfdTools/general/MRF/MRFZoneList.C | 43 ++++------- .../general/SRF/SRFModel/SRFModel/SRFModel.C | 75 ++++++------------- .../general/fvOptions/fvOptionListTemplates.C | 12 +-- .../cfdTools/general/levelSet/levelSet.C | 25 +++---- .../general/levelSet/levelSetTemplates.C | 27 +++---- .../DarcyForchheimer/DarcyForchheimer.C | 20 +---- .../porosityModel/porosityModel.C | 2 +- .../basic/fixedValue/fixedValueFvPatchField.C | 5 +- .../zeroGradient/zeroGradientFvPatchField.C | 20 +---- .../constraint/cyclic/cyclicFvPatchField.C | 4 +- .../cyclicACMI/cyclicACMIFvPatchField.C | 5 +- .../symmetryPlane/symmetryPlaneFvPatchField.C | 28 +++---- .../constraint/wedge/wedgeFvPatchField.C | 19 +++-- .../mappedField/mappedPatchFieldBase.C | 8 +- .../fixedValue/fixedValueFvsPatchField.C | 5 +- .../divSchemes/divScheme/divScheme.H | 25 +++++-- .../gradSchemes/gaussGrad/gaussGrad.H | 22 +++--- .../laplacianScheme/laplacianScheme.C | 6 -- .../laplacianScheme/laplacianScheme.H | 42 ++++++----- .../relaxedNonOrthoGaussLaplacianScheme.C | 2 +- .../relaxedNonOrthoGaussLaplacianSchemes.C | 2 +- .../relaxedSnGrad/relaxedSnGrad.C | 2 +- .../fvMatrices/fvMatrix/fvMatrix.C | 54 ++++++------- .../fvMatrices/fvMatrix/fvMatrixSolve.C | 4 +- .../averageNeighbourFvGeometryScheme.C | 8 +- src/finiteVolume/fvMesh/fvMeshGeometry.C | 29 ++++--- .../constraint/cyclic/cyclicFvPatch.C | 4 +- .../Poisson/PoissonPatchDistMethod.C | 21 ++---- .../LimitedScheme/LimitedScheme.C | 16 +--- .../schemes/midPoint/midPoint.H | 23 ++---- .../schemes/reverseLinear/reverseLinear.H | 23 ++---- .../surfaceInterpolation/surfaceInterpolate.C | 14 ++-- .../volPointInterpolate.C | 7 +- 47 files changed, 311 insertions(+), 460 deletions(-) diff --git a/src/finiteArea/faMatrices/faMatrix/faMatrix.C b/src/finiteArea/faMatrices/faMatrix/faMatrix.C index 074cc0693a8..4d06db262d2 100644 --- a/src/finiteArea/faMatrices/faMatrix/faMatrix.C +++ b/src/finiteArea/faMatrices/faMatrix/faMatrix.C @@ -1207,7 +1207,7 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::operator+ ) { checkMethod(A, B, "+"); - tmp<faMatrix<Type>> tC(new faMatrix<Type>(A)); + auto tC = tmp<faMatrix<Type>>::New(A); tC.ref() += B; return tC; } @@ -1262,7 +1262,7 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::operator- const faMatrix<Type>& A ) { - tmp<faMatrix<Type>> tC(new faMatrix<Type>(A)); + auto tC = tmp<faMatrix<Type>>::New(A); tC.ref().negate(); return tC; } @@ -1288,7 +1288,7 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::operator- ) { checkMethod(A, B, "-"); - tmp<faMatrix<Type>> tC(new faMatrix<Type>(A)); + auto tC = tmp<faMatrix<Type>>::New(A); tC.ref() -= B; return tC; } diff --git a/src/finiteArea/faMatrices/faMatrix/faMatrixSolve.C b/src/finiteArea/faMatrices/faMatrix/faMatrixSolve.C index 87d5ef0e03d..600adc3ce06 100644 --- a/src/finiteArea/faMatrices/faMatrix/faMatrixSolve.C +++ b/src/finiteArea/faMatrices/faMatrix/faMatrixSolve.C @@ -192,8 +192,8 @@ Foam::SolverPerformance<Type> Foam::faMatrix<Type>::solve() template<class Type> Foam::tmp<Foam::Field<Type>> Foam::faMatrix<Type>::residual() const { - tmp<Field<Type>> tres(new Field<Type>(source_)); - Field<Type>& res = tres().ref(); + auto tres = tmp<Field<Type>>::New(source_); + auto& res = tres().ref(); addBoundarySource(res); diff --git a/src/finiteArea/fields/faPatchFields/basic/fixedValue/fixedValueFaPatchField.C b/src/finiteArea/fields/faPatchFields/basic/fixedValue/fixedValueFaPatchField.C index 728fa8e89b1..f4d1e26592d 100644 --- a/src/finiteArea/fields/faPatchFields/basic/fixedValue/fixedValueFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/basic/fixedValue/fixedValueFaPatchField.C @@ -108,10 +108,7 @@ Foam::fixedValueFaPatchField<Type>::valueInternalCoeffs const tmp<scalarField>& ) const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } diff --git a/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.C b/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.C index 8aa6296aa07..70b711375f2 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.C @@ -130,8 +130,8 @@ Foam::cyclicFaPatchField<Type>::patchNeighbourField() const const Field<Type>& iField = this->primitiveField(); const labelUList& faceCells = cyclicPatch_.faceCells(); - tmp<Field<Type>> tpnf(new Field<Type>(this->size())); - Field<Type>& pnf = tpnf.ref(); + auto tpnf = tmp<Field<Type>>::New(this->size()); + auto& pnf = tpnf.ref(); const label sizeby2 = this->size()/2; diff --git a/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.C b/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.C index e9bd75e3ff6..d3e5c31d78d 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.C @@ -143,19 +143,18 @@ Foam::wedgeFaPatchField<Type>::snGradTransformDiag() const const vector diagV(diagT.xx(), diagT.yy(), diagT.zz()); - return tmp<Field<Type>> + return tmp<Field<Type>>::New ( - new Field<Type> + this->size(), + transformMask<Type> ( - this->size(), - transformMask<Type> + pow ( - pow - ( - diagV, - pTraits<typename powProduct<vector, pTraits<Type>::rank> - ::type>::zero - ) + diagV, + pTraits + < + typename powProduct<vector, pTraits<Type>::rank>::type + >::zero ) ) ); diff --git a/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H index 828937bb6ca..4cb191c158f 100644 --- a/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H @@ -149,10 +149,7 @@ public: //- Return gradient at boundary virtual tmp<Field<Type>> snGrad() const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } //- Evaluate the patch field diff --git a/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.C b/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.C index 3b04c3fbbdb..b9d26257fb8 100644 --- a/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.C @@ -95,10 +95,7 @@ Foam::fixedValueOutflowFaPatchField<Type>::valueInternalCoeffs const tmp<scalarField>& weights ) const { - return tmp<Field<Type>> - ( - new Field<Type>(Type(pTraits<Type>::one)*weights) - ); + return pTraits<Type>::one*weights; } diff --git a/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H b/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H index 96428b68fd4..fd1c318d8e8 100644 --- a/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H +++ b/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H @@ -377,10 +377,7 @@ public: const DimensionedField<Type, edgeMesh>& iF ) const { - return tmp<faePatchField<Type>> - ( - new faePatchField<Type>(*this, iF) - ); + return tmp<faePatchField<Type>>::New(*this, iF); } diff --git a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.C b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.C index ee05ffe259f..6d85dfafd9b 100644 --- a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.C +++ b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.C @@ -34,9 +34,6 @@ License namespace Foam { - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - namespace fa { @@ -84,19 +81,9 @@ tmp<divScheme<Type>> divScheme<Type>::New } -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template<class Type> -divScheme<Type>::~divScheme() -{} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace fa - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - } // End namespace Foam // ************************************************************************* // diff --git a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H index 56f4abc5342..47414a91231 100644 --- a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H +++ b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faDivScheme_H -#define faDivScheme_H +#ifndef Foam_faDivScheme_H +#define Foam_faDivScheme_H #include "tmp.H" #include "areaFieldsFwd.H" @@ -50,9 +50,8 @@ SourceFiles namespace Foam { -template<class Type> -class faMatrix; - +// Forward Declarations +template<class Type> class faMatrix; class faMesh; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -69,12 +68,12 @@ class divScheme : public refCount { - protected: - // Protected data + // Protected Data const faMesh& mesh_; + tmp<edgeInterpolationScheme<Type>> tinterpScheme_; @@ -113,9 +112,23 @@ public: //- Construct from mesh and Istream divScheme(const faMesh& mesh, Istream& is) : - mesh_(mesh), - tinterpScheme_(edgeInterpolationScheme<Type>::New(mesh, is)) - {} + mesh_(mesh) + { + if (is.eof()) + { + tinterpScheme_.reset + ( + new linearEdgeInterpolation<Type>(mesh) + ); + } + else + { + tinterpScheme_.reset + ( + edgeInterpolationScheme<Type>::New(mesh, is) + ); + } + } // Selectors @@ -129,7 +142,7 @@ public: //- Destructor - virtual ~divScheme(); + virtual ~divScheme() = default; // Member Functions diff --git a/src/finiteArea/finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivScheme.H b/src/finiteArea/finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivScheme.H index d92add74ee8..98e834128fe 100644 --- a/src/finiteArea/finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivScheme.H +++ b/src/finiteArea/finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivScheme.H @@ -76,7 +76,7 @@ public: // Constructors - //- Construct null + //- Construct from mesh gaussDivScheme(const faMesh& mesh) : divScheme<Type>(mesh) diff --git a/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.H b/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.H index f0348ffdda9..59fc08d91d4 100644 --- a/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.H +++ b/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.H @@ -37,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef gaussFaGrad_H -#define gaussFaGrad_H +#ifndef Foam_gaussFaGrad_H +#define Foam_gaussFaGrad_H #include "faGradScheme.H" #include "edgeInterpolationScheme.H" @@ -96,24 +96,21 @@ public: //- Construct from Istream gaussGrad(const faMesh& mesh, Istream& is) : - gradScheme<Type>(mesh), - tinterpScheme_(nullptr) + gradScheme<Type>(mesh) { if (is.eof()) { - tinterpScheme_ = - tmp<edgeInterpolationScheme<Type>> - ( - new linearEdgeInterpolation<Type>(mesh) - ); + tinterpScheme_.reset + ( + new linearEdgeInterpolation<Type>(mesh) + ); } else { - tinterpScheme_ = - tmp<edgeInterpolationScheme<Type>> - ( - edgeInterpolationScheme<Type>::New(mesh, is) - ); + tinterpScheme_.reset + ( + edgeInterpolationScheme<Type>::New(mesh, is) + ); } } diff --git a/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H b/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H index 01a1e347872..009d2a80014 100644 --- a/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H +++ b/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faLaplacianScheme_H -#define faLaplacianScheme_H +#ifndef Foam_faLaplacianScheme_H +#define Foam_faLaplacianScheme_H #include "tmp.H" #include "areaFieldsFwd.H" @@ -51,9 +51,8 @@ SourceFiles namespace Foam { -template<class Type> -class faMatrix; - +// Forward Declarations +template<class Type> class faMatrix; class faMesh; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -70,12 +69,12 @@ class laplacianScheme : public refCount { - protected: - // Protected data + // Protected Data const faMesh& mesh_; + tmp<edgeInterpolationScheme<scalar>> tinterpGammaScheme_; tmp<lnGradScheme<Type>> tlnGradScheme_; @@ -116,30 +115,28 @@ public: //- Construct from mesh and Istream laplacianScheme(const faMesh& mesh, Istream& is) : - mesh_(mesh), - tinterpGammaScheme_(nullptr), - tlnGradScheme_(nullptr) + mesh_(mesh) { if (is.eof()) { - tinterpGammaScheme_ = tmp<edgeInterpolationScheme<scalar>> + tinterpGammaScheme_.reset ( new linearEdgeInterpolation<scalar>(mesh) ); - tlnGradScheme_ = tmp<lnGradScheme<Type>> + tlnGradScheme_.reset ( new correctedLnGrad<Type>(mesh) ); } else { - tinterpGammaScheme_ = tmp<edgeInterpolationScheme<scalar>> + tinterpGammaScheme_.reset ( edgeInterpolationScheme<scalar>::New(mesh, is) ); - tlnGradScheme_ = tmp<lnGradScheme<Type>> + tlnGradScheme_.reset ( lnGradScheme<Type>::New(mesh, is) ); @@ -218,11 +215,11 @@ public: \ namespace Foam \ { \ - namespace fa \ - { \ - laplacianScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ - add##SS##Type##IstreamConstructorToTable_; \ - } \ + namespace fa \ + { \ + laplacianScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ + add##SS##Type##IstreamConstructorToTable_; \ + } \ } diff --git a/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.H b/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.H index fac32562ccb..7da23957004 100644 --- a/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.H +++ b/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.H @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef gaussFaLaplacianScheme_H -#define gaussFaLaplacianScheme_H +#ifndef Foam_gaussFaLaplacianScheme_H +#define Foam_gaussFaLaplacianScheme_H #include "faLaplacianScheme.H" @@ -76,7 +76,7 @@ public: // Constructors - //- Construct null + //- Construct from mesh gaussLaplacianScheme(const faMesh& mesh) : laplacianScheme<Type>(mesh) diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C index c3b40841314..a66957b9ec8 100644 --- a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C +++ b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C @@ -188,18 +188,13 @@ Foam::tmp<Foam::volVectorField> Foam::MRFZoneList::DDt const volVectorField& U ) const { - auto tacceleration = - tmp<volVectorField>::New - ( - IOobject - ( - "MRFZoneList:acceleration", - U.mesh().time().timeName(), - U.mesh().thisDb() - ), - U.mesh(), - dimensionedVector(U.dimensions()/dimTime, Zero) - ); + auto tacceleration = volVectorField::New + ( + IOobject::scopedName("MRFZoneList", "acceleration"), + IOobject::NO_REGISTER, + U.mesh(), + dimensionedVector(U.dimensions()/dimTime, Zero) + ); auto& acceleration = tacceleration.ref(); for (const auto& mrf: *this) @@ -263,10 +258,8 @@ Foam::tmp<Foam::surfaceScalarField> Foam::MRFZoneList::relative return rphi; } - else - { - return tmp<surfaceScalarField>(tphi, true); - } + + return tmp<surfaceScalarField>(tphi, true); } @@ -289,10 +282,8 @@ Foam::MRFZoneList::relative return rphi; } - else - { - return tmp<FieldField<fvsPatchField, scalar>>(tphi, true); - } + + return tmp<FieldField<fvsPatchField, scalar>>(tphi, true); } @@ -316,10 +307,8 @@ Foam::MRFZoneList::relative return rphi; } - else - { - return tmp<Field<scalar>>(tphi, true); - } + + return tmp<Field<scalar>>(tphi, true); } @@ -378,10 +367,8 @@ Foam::tmp<Foam::surfaceScalarField> Foam::MRFZoneList::absolute return rphi; } - else - { - return tmp<surfaceScalarField>(tphi, true); - } + + return tmp<surfaceScalarField>(tphi, true); } diff --git a/src/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel/SRFModel.C b/src/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel/SRFModel.C index 683f2a9c66b..58b002be2d3 100644 --- a/src/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel/SRFModel.C +++ b/src/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel/SRFModel.C @@ -55,8 +55,9 @@ Foam::SRF::SRFModel::SRFModel "SRFProperties", Urel.time().constant(), Urel.db(), - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE + IOobject::READ_MODIFIED, + IOobject::NO_WRITE, + IOobject::REGISTER ) ), Urel_(Urel), @@ -118,19 +119,12 @@ const Foam::dimensionedVector& Foam::SRF::SRFModel::omega() const Foam::tmp<Foam::DimensionedField<Foam::vector, Foam::volMesh>> Foam::SRF::SRFModel::Fcoriolis() const { - return tmp<volVectorField::Internal> + return volVectorField::Internal::New ( - new volVectorField::Internal + "Fcoriolis", + IOobject::NO_REGISTER, ( - IOobject - ( - "Fcoriolis", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - 2.0*omega_ ^ Urel_ + 2.0*omega_ ^ Urel_.internalField() ) ); } @@ -139,18 +133,11 @@ Foam::SRF::SRFModel::Fcoriolis() const Foam::tmp<Foam::DimensionedField<Foam::vector, Foam::volMesh>> Foam::SRF::SRFModel::Fcentrifugal() const { - return tmp<volVectorField::Internal> + return volVectorField::Internal::New ( - new volVectorField::Internal + "Fcentrifugal", + IOobject::NO_REGISTER, ( - IOobject - ( - "Fcentrifugal", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), omega_ ^ (omega_ ^ (mesh_.C().internalField() - origin_)) ) ); @@ -169,14 +156,14 @@ Foam::vectorField Foam::SRF::SRFModel::velocity const vectorField& positions ) const { - tmp<vectorField> tfld = + return vectorField + ( omega_.value() ^ ( (positions - origin_.value()) - axis_*(axis_ & (positions - origin_.value())) - ); - - return tfld(); + ) + ); } @@ -186,18 +173,11 @@ Foam::tmp<Foam::volVectorField> Foam::SRF::SRFModel::U() const volVectorField::Boundary::localConsistency = 0; tmp<volVectorField> relPos(mesh_.C() - origin_); - tmp<volVectorField> tU + auto tU = volVectorField::New ( - new volVectorField + "Usrf", + IOobject::NO_REGISTER, ( - IOobject - ( - "Usrf", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), omega_ ^ (relPos() - axis_*(axis_ & relPos())) ) ); @@ -211,24 +191,13 @@ Foam::tmp<Foam::volVectorField> Foam::SRF::SRFModel::Uabs() const { tmp<volVectorField> Usrf = U(); - tmp<volVectorField> tUabs + auto tUabs = volVectorField::New ( - new volVectorField - ( - IOobject - ( - "Uabs", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - Usrf - ) + "Uabs", + IOobject::NO_REGISTER, + Usrf ); - - volVectorField& Uabs = tUabs.ref(); + auto& Uabs = tUabs.ref(); // Add SRF contribution to internal field Uabs.primitiveFieldRef() += Urel_.primitiveField(); diff --git a/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C index 8112e1c6899..201ecb634dc 100644 --- a/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C +++ b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C @@ -42,8 +42,8 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::fv::optionList::source { checkApplied(); - tmp<fvMatrix<Type>> tmtx(new fvMatrix<Type>(field, ds)); - fvMatrix<Type>& mtx = tmtx.ref(); + auto tmtx = tmp<fvMatrix<Type>>::New(field, ds); + auto& mtx = tmtx.ref(); for (fv::option& source : *this) { @@ -129,8 +129,8 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::fv::optionList::operator() rho.dimensions()*field.dimensions()/dimTime*dimVolume ); - tmp<fvMatrix<Type>> tmtx(new fvMatrix<Type>(field, ds)); - fvMatrix<Type>& mtx = tmtx.ref(); + auto tmtx = tmp<fvMatrix<Type>>::New(field, ds); + auto& mtx = tmtx.ref(); for (fv::option& source : *this) { @@ -198,8 +198,8 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::fv::optionList::operator() /dimTime*dimVolume ); - tmp<fvMatrix<Type>> tmtx(new fvMatrix<Type>(field, ds)); - fvMatrix<Type>& mtx = tmtx.ref(); + auto tmtx = tmp<fvMatrix<Type>>::New(field, ds); + auto& mtx = tmtx.ref(); for (fv::option& source : *this) { diff --git a/src/finiteVolume/cfdTools/general/levelSet/levelSet.C b/src/finiteVolume/cfdTools/general/levelSet/levelSet.C index 4e800b71a01..2dcea81c816 100644 --- a/src/finiteVolume/cfdTools/general/levelSet/levelSet.C +++ b/src/finiteVolume/cfdTools/general/levelSet/levelSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,21 +42,14 @@ Foam::levelSetFraction const bool above ) { - tmp<DimensionedField<scalar, volMesh>> tResult + auto tResult = DimensionedField<scalar, volMesh>::New ( - new DimensionedField<scalar, volMesh> - ( - IOobject - ( - "levelSetFraction", - mesh.time().timeName(), - mesh - ), - mesh, - dimensionedScalar(dimless, Zero) - ) + "levelSetFraction", + IOobject::NO_REGISTER, + mesh, + dimensionedScalar(dimless, Zero) ); - DimensionedField<scalar, volMesh>& result = tResult.ref(); + auto& result = tResult.ref(); forAll(result, cI) { @@ -113,8 +106,8 @@ Foam::tmp<Foam::scalarField> Foam::levelSetFraction const bool above ) { - tmp<scalarField> tResult(new scalarField(patch.size(), Zero)); - scalarField& result = tResult.ref(); + auto tResult = tmp<scalarField>::New(patch.size(), Zero); + auto& result = tResult.ref(); forAll(result, fI) { diff --git a/src/finiteVolume/cfdTools/general/levelSet/levelSetTemplates.C b/src/finiteVolume/cfdTools/general/levelSet/levelSetTemplates.C index f5e154f93b4..17b8e935ac7 100644 --- a/src/finiteVolume/cfdTools/general/levelSet/levelSetTemplates.C +++ b/src/finiteVolume/cfdTools/general/levelSet/levelSetTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -45,21 +45,14 @@ Foam::tmp<Foam::DimensionedField<Type, Foam::volMesh>> Foam::levelSetAverage const DimensionedField<Type, pointMesh>& negativeP ) { - tmp<DimensionedField<Type, volMesh>> tResult + auto tresult = DimensionedField<Type, volMesh>::New ( - new DimensionedField<Type, volMesh> - ( - IOobject - ( - positiveC.name() + ":levelSetAverage", - mesh.time().timeName(), - mesh - ), - mesh, - dimensioned<Type>(positiveC.dimensions(), Zero) - ) + IOobject::scopedName(positiveC.name(), "levelSetAverage"), + mesh, + Foam::zero{}, // value + positiveC.dimensions() ); - DimensionedField<Type, volMesh>& result = tResult.ref(); + auto& result = tresult.ref(); forAll(result, cI) { @@ -114,7 +107,7 @@ Foam::tmp<Foam::DimensionedField<Type, Foam::volMesh>> Foam::levelSetAverage result[cI] = r/v; } - return tResult; + return tresult; } @@ -132,8 +125,8 @@ Foam::tmp<Foam::Field<Type>> Foam::levelSetAverage { typedef typename outerProduct<Type, vector>::type sumType; - tmp<Field<Type>> tResult(new Field<Type>(patch.size(), Zero)); - Field<Type>& result = tResult.ref(); + auto tResult = tmp<Field<Type>>::New(patch.size(), Zero); + auto& result = tResult.ref(); forAll(result, fI) { diff --git a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C index 2ac51692d2b..5fbe22d2846 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C +++ b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C @@ -126,32 +126,18 @@ void Foam::porosityModels::DarcyForchheimer::calcTransformModelData() { volTensorField Dout ( - IOobject - ( - typeName + ":D", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + mesh_.newIOobject(IOobject::scopedName(typeName, "D")), mesh_, dimensionedTensor(dXYZ_.dimensions(), Zero) ); + volTensorField Fout ( - IOobject - ( - typeName + ":F", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + mesh_.newIOobject(IOobject::scopedName(typeName, "F")), mesh_, dimensionedTensor(fXYZ_.dimensions(), Zero) ); - forAll(cellZoneIDs_, zonei) { const labelList& cells = mesh_.cellZones()[cellZoneIDs_[zonei]]; diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C index 283e46f9aeb..eb4ea67311e 100644 --- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C +++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C @@ -173,7 +173,7 @@ Foam::tmp<Foam::vectorField> Foam::porosityModel::porosityModel::force { transformModelData(); - tmp<vectorField> tforce(new vectorField(U.size(), Zero)); + auto tforce = tmp<vectorField>::New(U.size(), Zero); if (!cellZoneIDs_.empty()) { diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C index dd3731399d8..8a567b71508 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C @@ -119,10 +119,7 @@ Foam::fixedValueFvPatchField<Type>::valueInternalCoeffs const tmp<scalarField>& ) const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.C index 65f532974fc..e7aad92d1ac 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.C @@ -112,10 +112,7 @@ Foam::zeroGradientFvPatchField<Type>::valueInternalCoeffs const tmp<scalarField>& ) const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), pTraits<Type>::one) - ); + return tmp<Field<Type>>::New(this->size(), pTraits<Type>::one); } @@ -126,10 +123,7 @@ Foam::zeroGradientFvPatchField<Type>::valueBoundaryCoeffs const tmp<scalarField>& ) const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } @@ -137,10 +131,7 @@ template<class Type> Foam::tmp<Foam::Field<Type>> Foam::zeroGradientFvPatchField<Type>::gradientInternalCoeffs() const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } @@ -148,10 +139,7 @@ template<class Type> Foam::tmp<Foam::Field<Type>> Foam::zeroGradientFvPatchField<Type>::gradientBoundaryCoeffs() const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C index 0d6dac5c156..487bdb8dff5 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C @@ -134,8 +134,8 @@ Foam::cyclicFvPatchField<Type>::patchNeighbourField() const const labelUList& nbrFaceCells = cyclicPatch().cyclicPatch().neighbPatch().faceCells(); - tmp<Field<Type>> tpnf(new Field<Type>(this->size())); - Field<Type>& pnf = tpnf.ref(); + auto tpnf = tmp<Field<Type>>::New(this->size()); + auto& pnf = tpnf.ref(); if (doTransform()) diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C index 7c139b2f9f4..d784d09aff0 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C @@ -903,7 +903,8 @@ Foam::cyclicACMIFvPatchField<Type>::coeffs matrix.lduMeshAssembly().cellBoundMap()[mat][index].size() ); - Field<scalar> mapCoeffs(nSubFaces, Zero); + auto tmapCoeffs = tmp<Field<scalar>>::New(nSubFaces, Zero); + auto& mapCoeffs = tmapCoeffs.ref(); const scalarListList& srcWeight = cyclicACMIPatch_.cyclicACMIPatch().AMI().srcWeights(); @@ -928,7 +929,7 @@ Foam::cyclicACMIFvPatchField<Type>::coeffs } } - return tmp<Field<scalar>>(new Field<scalar>(mapCoeffs)); + return tmapCoeffs; } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C index 53851b7e007..b83f6c80a96 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C @@ -157,27 +157,21 @@ Foam::symmetryPlaneFvPatchField<Type>::snGradTransformDiag() const { vector nHat(symmetryPlanePatch_.n()); - const vector diag - ( - mag(nHat.component(vector::X)), - mag(nHat.component(vector::Y)), - mag(nHat.component(vector::Z)) - ); + const vector diag(mag(nHat.x()), mag(nHat.y()), mag(nHat.z())); - return tmp<Field<Type>> + return tmp<Field<Type>>::New ( - new Field<Type> + this->size(), + transformMask<Type> ( - this->size(), - transformMask<Type> + //pow<vector, pTraits<Type>::rank>(diag) + pow ( - //pow<vector, pTraits<Type>::rank>(diag) - pow - ( - diag, - pTraits<typename powProduct<vector, pTraits<Type>::rank> - ::type>::zero - ) + diag, + pTraits + < + typename powProduct<vector, pTraits<Type>::rank>::type + >::zero ) ) ); diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C index 8d63c8a5d86..e3fd64d58d2 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C @@ -157,19 +157,18 @@ Foam::wedgeFvPatchField<Type>::snGradTransformDiag() const const vector diagV(diagT.xx(), diagT.yy(), diagT.zz()); - return tmp<Field<Type>> + return tmp<Field<Type>>::New ( - new Field<Type> + this->size(), + transformMask<Type> ( - this->size(), - transformMask<Type> + pow ( - pow - ( - diagV, - pTraits<typename powProduct<vector, pTraits<Type>::rank> - ::type>::zero - ) + diagV, + pTraits + < + typename powProduct<vector, pTraits<Type>::rank>::type + >::zero ) ) ); diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C index 117913ff8e7..786ab2511b8 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C @@ -821,8 +821,8 @@ Foam::tmp<Foam::Field<Type>> Foam::mappedPatchFieldBase<Type>::mappedInternalField() const { // Swap to obtain full local values of neighbour internal field - tmp<Field<Type>> tnbrIntFld(new Field<Type>()); - Field<Type>& nbrIntFld = tnbrIntFld.ref(); + auto tnbrIntFld = tmp<Field<Type>>::New(); + auto& nbrIntFld = tnbrIntFld.ref(); if (mapper_.sameWorld()) { @@ -855,8 +855,8 @@ Foam::tmp<Foam::scalarField> Foam::mappedPatchFieldBase<Type>::mappedWeightField() const { // Swap to obtain full local values of neighbour internal field - tmp<scalarField> tnbrKDelta(new scalarField()); - scalarField& nbrKDelta = tnbrKDelta.ref(); + auto tnbrKDelta = tmp<scalarField>::New(); + auto& nbrKDelta = tnbrKDelta.ref(); if (mapper_.sameWorld()) { diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C index e6818521035..f457b1d07df 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C @@ -107,10 +107,7 @@ Foam::fixedValueFvsPatchField<Type>::valueInternalCoeffs const tmp<scalarField>& ) const { - return tmp<Field<Type>> - ( - new Field<Type>(this->size(), Zero) - ); + return tmp<Field<Type>>::New(this->size(), Foam::zero{}); } diff --git a/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.H b/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.H index 3cf30c8e4d5..61b4707f077 100644 --- a/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.H +++ b/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.H @@ -37,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef divScheme_H -#define divScheme_H +#ifndef Foam_divScheme_H +#define Foam_divScheme_H #include "tmp.H" #include "volFieldsFwd.H" @@ -71,12 +71,12 @@ class divScheme : public refCount { - protected: // Protected data const fvMesh& mesh_; + tmp<surfaceInterpolationScheme<Type>> tinterpScheme_; @@ -120,8 +120,23 @@ public: divScheme(const fvMesh& mesh, Istream& is) : mesh_(mesh), - tinterpScheme_(surfaceInterpolationScheme<Type>::New(mesh, is)) - {} + tinterpScheme_(nullptr) + { + if (is.eof()) + { + tinterpScheme_.reset + ( + new linear<Type>(mesh) + ); + } + else + { + tinterpScheme_.reset + ( + surfaceInterpolationScheme<Type>::New(mesh, is) + ); + } + } // Selectors diff --git a/src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.H b/src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.H index a5ceacf97a6..3b4b306f618 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.H +++ b/src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.H @@ -39,8 +39,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef gaussGrad_H -#define gaussGrad_H +#ifndef Foam_gaussGrad_H +#define Foam_gaussGrad_H #include "gradScheme.H" #include "surfaceInterpolationScheme.H" @@ -103,19 +103,17 @@ public: { if (is.eof()) { - tinterpScheme_ = - tmp<surfaceInterpolationScheme<Type>> - ( - new linear<Type>(mesh) - ); + tinterpScheme_.reset + ( + new linear<Type>(mesh) + ); } else { - tinterpScheme_ = - tmp<surfaceInterpolationScheme<Type>> - ( - surfaceInterpolationScheme<Type>::New(mesh, is) - ); + tinterpScheme_.reset + ( + surfaceInterpolationScheme<Type>::New(mesh, is) + ); } } diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.C b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.C index 8e032da8cc4..8de5e717cf8 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.C @@ -35,9 +35,6 @@ License namespace Foam { - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - namespace fv { @@ -112,9 +109,6 @@ laplacianScheme<Type, GType>::fvcLaplacian // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace fv - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - } // End namespace Foam // ************************************************************************* // diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.H b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.H index fe1eba20771..ab8b82a211a 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.H +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.H @@ -53,9 +53,8 @@ SourceFiles namespace Foam { -template<class Type> -class fvMatrix; - +// Forward Declarations +template<class Type> class fvMatrix; class fvMesh; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,19 +71,16 @@ class laplacianScheme : public refCount { - protected: - // Protected data + // Protected Data const fvMesh& mesh_; tmp<surfaceInterpolationScheme<GType>> tinterpGammaScheme_; tmp<snGradScheme<Type>> tsnGradScheme_; -private: - - // Private Member Functions + // Protected Member Functions //- No copy construct laplacianScheme(const laplacianScheme&) = delete; @@ -124,19 +120,25 @@ public: //- Construct from mesh and Istream laplacianScheme(const fvMesh& mesh, Istream& is) : - mesh_(mesh), - tinterpGammaScheme_(nullptr), - tsnGradScheme_(nullptr) + mesh_(mesh) { - tinterpGammaScheme_ = tmp<surfaceInterpolationScheme<GType>> - ( - surfaceInterpolationScheme<GType>::New(mesh, is) - ); - - tsnGradScheme_ = tmp<snGradScheme<Type>> - ( - snGradScheme<Type>::New(mesh, is) - ); + if (is.eof()) + { + tinterpGammaScheme_.reset(new linear<GType>(mesh)); + tsnGradScheme_.reset(new correctedSnGrad<Type>(mesh)); + } + else + { + tinterpGammaScheme_.reset + ( + surfaceInterpolationScheme<GType>::New(mesh, is) + ); + + tsnGradScheme_.reset + ( + snGradScheme<Type>::New(mesh, is) + ); + } } //- Construct from mesh, interpolation and snGradScheme schemes diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianScheme.C b/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianScheme.C index d0732bf1241..ef0efdb299f 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianScheme.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianScheme.C @@ -192,7 +192,7 @@ relaxedNonOrthoGaussLaplacianScheme<Type, GType>::fvmLaplacian const word corrName(tfaceFluxCorrection().name()); - tmp<SType> trelaxedCorrection(new SType(tfaceFluxCorrection())); + auto trelaxedCorrection = tmp<SType>::New(tfaceFluxCorrection()); const word oldName(corrName + "_0"); const scalar relax(vf.mesh().equationRelaxationFactor(oldName)); diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C b/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C index 7aa0027ec98..ce32fd20fbb 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C @@ -66,7 +66,7 @@ fvmLaplacian \ const word corrName(tCorr().name()); \ tmp<SType> tfaceFluxCorrection(gammaMagSf*tCorr); \ \ - tmp<SType> trelaxedCorrection(new SType(tfaceFluxCorrection())); \ + auto trelaxedCorrection = tmp<SType>::New(tfaceFluxCorrection()); \ \ const word oldName(corrName + "_0"); \ const scalar relax(vf.mesh().equationRelaxationFactor(corrName)); \ diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/relaxedSnGrad/relaxedSnGrad.C b/src/finiteVolume/finiteVolume/snGradSchemes/relaxedSnGrad/relaxedSnGrad.C index 0b018126770..0506e7dc1a7 100644 --- a/src/finiteVolume/finiteVolume/snGradSchemes/relaxedSnGrad/relaxedSnGrad.C +++ b/src/finiteVolume/finiteVolume/snGradSchemes/relaxedSnGrad/relaxedSnGrad.C @@ -61,7 +61,7 @@ Foam::fv::relaxedSnGrad<Type>::correction } // Return under/over-relaxed explicit correction field - tmp<SurfFieldType> trelaxedCorrection(new SurfFieldType(tcorrection())); + auto trelaxedCorrection = tmp<SurfFieldType>::New(tcorrection()); SurfFieldType& oldCorrection = obr.lookupObjectRef<SurfFieldType>(oldFieldName); diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C index 716a2b18960..bf2ab42635a 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C @@ -2078,7 +2078,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator== ) { checkMethod(A, su, "=="); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() += su.mesh().V()*su.field(); return tC; } @@ -2091,7 +2091,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator== ) { checkMethod(A, tsu(), "=="); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() += tsu().mesh().V()*tsu().field(); tsu.clear(); return tC; @@ -2105,7 +2105,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator== ) { checkMethod(A, tsu(), "=="); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() += tsu().mesh().V()*tsu().primitiveField(); tsu.clear(); return tC; @@ -2160,7 +2160,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator== ) { checkMethod(A, su, "=="); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() += A.psi().mesh().V()*su.value(); return tC; } @@ -2206,7 +2206,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- const fvMatrix<Type>& A ) { - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().negate(); return tC; } @@ -2231,7 +2231,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, B, "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref() += B; return tC; } @@ -2284,7 +2284,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, su, "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() -= su.mesh().V()*su.field(); return tC; } @@ -2297,7 +2297,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, tsu(), "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() -= tsu().mesh().V()*tsu().field(); tsu.clear(); return tC; @@ -2311,7 +2311,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, tsu(), "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() -= tsu().mesh().V()*tsu().primitiveField(); tsu.clear(); return tC; @@ -2366,7 +2366,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, su, "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() -= su.mesh().V()*su.field(); return tC; } @@ -2379,7 +2379,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, tsu(), "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() -= tsu().mesh().V()*tsu().field(); tsu.clear(); return tC; @@ -2393,7 +2393,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, tsu(), "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() -= tsu().mesh().V()*tsu().primitiveField(); tsu.clear(); return tC; @@ -2449,7 +2449,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, B, "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref() -= B; return tC; } @@ -2503,7 +2503,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, su, "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() += su.mesh().V()*su.field(); return tC; } @@ -2516,7 +2516,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, tsu(), "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() += tsu().mesh().V()*tsu().field(); tsu.clear(); return tC; @@ -2530,7 +2530,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, tsu(), "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() += tsu().mesh().V()*tsu().primitiveField(); tsu.clear(); return tC; @@ -2585,7 +2585,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, su, "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().negate(); tC.ref().source() -= su.mesh().V()*su.field(); return tC; @@ -2599,7 +2599,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, tsu(), "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().negate(); tC.ref().source() -= tsu().mesh().V()*tsu().field(); tsu.clear(); @@ -2614,7 +2614,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, tsu(), "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().negate(); tC.ref().source() -= tsu().mesh().V()*tsu().primitiveField(); tsu.clear(); @@ -2673,7 +2673,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, su, "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() -= su.value()*A.psi().mesh().V(); return tC; } @@ -2699,7 +2699,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator+ ) { checkMethod(A, su, "+"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() -= su.value()*A.psi().mesh().V(); return tC; } @@ -2725,7 +2725,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, su, "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().source() += su.value()*tC().psi().mesh().V(); return tC; } @@ -2751,7 +2751,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator- ) { checkMethod(A, su, "-"); - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref().negate(); tC.ref().source() -= su.value()*A.psi().mesh().V(); return tC; @@ -2779,7 +2779,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator* const fvMatrix<Type>& A ) { - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref() *= dsf; return tC; } @@ -2791,7 +2791,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator* const fvMatrix<Type>& A ) { - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref() *= tdsf; return tC; } @@ -2803,7 +2803,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator* const fvMatrix<Type>& A ) { - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref() *= tvsf; return tC; } @@ -2851,7 +2851,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::operator* const fvMatrix<Type>& A ) { - tmp<fvMatrix<Type>> tC(new fvMatrix<Type>(A)); + auto tC = tmp<fvMatrix<Type>>::New(A); tC.ref() *= ds; return tC; } diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C index 8fbd1150031..000306e3523 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C @@ -363,8 +363,8 @@ Foam::SolverPerformance<Type> Foam::fvMatrix<Type>::solve() template<class Type> Foam::tmp<Foam::Field<Type>> Foam::fvMatrix<Type>::residual() const { - tmp<Field<Type>> tres(new Field<Type>(source_)); - Field<Type>& res = tres.ref(); + auto tres = tmp<Field<Type>>::New(source_); + auto& res = tres.ref(); addBoundarySource(res); diff --git a/src/finiteVolume/fvMesh/fvGeometryScheme/averageNeighbour/averageNeighbourFvGeometryScheme.C b/src/finiteVolume/fvMesh/fvGeometryScheme/averageNeighbour/averageNeighbourFvGeometryScheme.C index 8476a24df44..6cfef0e9448 100644 --- a/src/finiteVolume/fvMesh/fvGeometryScheme/averageNeighbour/averageNeighbourFvGeometryScheme.C +++ b/src/finiteVolume/fvMesh/fvGeometryScheme/averageNeighbour/averageNeighbourFvGeometryScheme.C @@ -272,8 +272,8 @@ Foam::averageNeighbourFvGeometryScheme::averageNeighbourCentres const labelList& nei = mesh_.faceNeighbour(); - tmp<pointField> tcc(new pointField(mesh_.nCells(), Zero)); - pointField& cc = tcc.ref(); + auto tcc = tmp<pointField>::New(mesh_.nCells(), Zero); + auto& cc = tcc.ref(); Field<solveScalar> cellWeights(mesh_.nCells(), Zero); @@ -382,8 +382,8 @@ Foam::averageNeighbourFvGeometryScheme::averageCentres const labelList& nei = mesh_.faceNeighbour(); - tmp<pointField> tnewFc(new pointField(faceCentres)); - pointField& newFc = tnewFc.ref(); + auto tnewFc = tmp<pointField>::New(faceCentres); + auto& newFc = tnewFc.ref(); // Internal faces for (label facei = 0; facei < mesh_.nInternalFaces(); facei++) diff --git a/src/finiteVolume/fvMesh/fvMeshGeometry.C b/src/finiteVolume/fvMesh/fvMeshGeometry.C index e7afa733b17..4b34dc5e275 100644 --- a/src/finiteVolume/fvMesh/fvMeshGeometry.C +++ b/src/finiteVolume/fvMesh/fvMeshGeometry.C @@ -376,25 +376,22 @@ Foam::tmp<Foam::surfaceVectorField> Foam::fvMesh::delta() const { DebugInFunction << "Calculating face deltas" << endl; - tmp<surfaceVectorField> tdelta + auto tdelta = tmp<surfaceVectorField>::New ( - new surfaceVectorField + IOobject ( - IOobject - ( - "delta", - pointsInstance(), - meshSubDir, - *this, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "delta", + pointsInstance(), + meshSubDir, *this, - dimLength - ) + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + *this, + dimLength ); - surfaceVectorField& delta = tdelta.ref(); + auto& delta = tdelta.ref(); delta.setOriented(); const volVectorField& C = this->C(); @@ -406,7 +403,7 @@ Foam::tmp<Foam::surfaceVectorField> Foam::fvMesh::delta() const delta[facei] = C[neighbour[facei]] - C[owner[facei]]; } - surfaceVectorField::Boundary& deltabf = delta.boundaryFieldRef(); + auto& deltabf = delta.boundaryFieldRef(); forAll(deltabf, patchi) { diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C index a8eccd2c9fc..af2cb8a4ed0 100644 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C +++ b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C @@ -64,8 +64,8 @@ Foam::tmp<Foam::vectorField> Foam::cyclicFvPatch::delta() const const vectorField patchD(coupledFvPatch::delta()); const vectorField nbrPatchD(neighbFvPatch().coupledFvPatch::delta()); - tmp<vectorField> tpdv(new vectorField(patchD.size())); - vectorField& pdv = tpdv.ref(); + auto tpdv = tmp<vectorField>::New(patchD.size()); + auto& pdv = tpdv.ref(); // To the transformation if necessary if (parallel()) diff --git a/src/finiteVolume/fvMesh/wallDist/patchDistMethods/Poisson/PoissonPatchDistMethod.C b/src/finiteVolume/fvMesh/wallDist/patchDistMethods/Poisson/PoissonPatchDistMethod.C index 5984f960c7c..7141a428d3d 100644 --- a/src/finiteVolume/fvMesh/wallDist/patchDistMethods/Poisson/PoissonPatchDistMethod.C +++ b/src/finiteVolume/fvMesh/wallDist/patchDistMethods/Poisson/PoissonPatchDistMethod.C @@ -81,23 +81,16 @@ bool Foam::patchDistMethods::Poisson::correct { if (!tyPsi_) { - tyPsi_ = tmp<volScalarField> + tyPsi_ = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "yPsi", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar(sqr(dimLength), Zero), - y.boundaryFieldRef().types() - ) + "yPsi", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(sqr(dimLength), Zero), + y.boundaryFieldRef().types() ); } - volScalarField& yPsi = tyPsi_.ref(); + auto& yPsi = tyPsi_.ref(); solve(fvm::laplacian(yPsi) == dimensionedScalar("1", dimless, -1.0)); diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C index e72725405bb..a6beca477aa 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C +++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C @@ -184,19 +184,11 @@ Foam::LimitedScheme<Type, Limiter, LimitFunc>::limiter } else { - tmp<surfaceScalarField> tlimiterField + auto tlimiterField = surfaceScalarField::New ( - new surfaceScalarField - ( - IOobject - ( - limiterFieldName, - mesh.time().timeName(), - mesh - ), - mesh, - dimless - ) + limiterFieldName, + mesh, + dimless ); calcLimiter(phi, tlimiterField.ref()); diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/midPoint/midPoint.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/midPoint/midPoint.H index 8bfb0360dc2..5ad8ee370c9 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/midPoint/midPoint.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/midPoint/midPoint.H @@ -103,26 +103,15 @@ public: const GeometricField<Type, fvPatchField, volMesh>& ) const { - tmp<surfaceScalarField> taw + auto taw = surfaceScalarField::New ( - new surfaceScalarField - ( - IOobject - ( - "midPointWeights", - this->mesh().time().timeName(), - this->mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar("0.5", dimless, 0.5) - ) + "midPointWeights", + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar("0.5", dimless, 0.5) ); - surfaceScalarField::Boundary& awBf = - taw.ref().boundaryFieldRef(); + auto& awBf = taw.ref().boundaryFieldRef(); forAll(awBf, patchi) { diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/reverseLinear/reverseLinear.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/reverseLinear/reverseLinear.H index 6ce1aa91e8f..f6964af2b43 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/reverseLinear/reverseLinear.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/reverseLinear/reverseLinear.H @@ -113,28 +113,19 @@ public: ); const surfaceScalarField& cdWeights = tcdWeights(); - tmp<surfaceScalarField> treverseLinearWeights + auto treverseLinearWeights = surfaceScalarField::New ( - new surfaceScalarField - ( - IOobject - ( - "reverseLinearWeights", - mesh.time().timeName(), - mesh - ), - mesh, - dimless - ) + "reverseLinearWeights", + IOobject::NO_REGISTER, + mesh, + dimless ); - surfaceScalarField& reverseLinearWeights = - treverseLinearWeights.ref(); + auto& reverseLinearWeights = treverseLinearWeights.ref(); reverseLinearWeights.primitiveFieldRef() = 1.0 - cdWeights.primitiveField(); - surfaceScalarField::Boundary& rlwbf = - reverseLinearWeights.boundaryFieldRef(); + auto& rlwbf = reverseLinearWeights.boundaryFieldRef(); forAll(mesh.boundary(), patchi) diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolation/surfaceInterpolate.C b/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolation/surfaceInterpolate.C index edfdf8a9921..15d99ffe654 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolation/surfaceInterpolate.C +++ b/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolation/surfaceInterpolate.C @@ -278,22 +278,20 @@ Foam::fvc::interpolate const FieldField<fvPatchField, Type>& fvpff ) { - FieldField<fvsPatchField, Type>* fvspffPtr - ( - new FieldField<fvsPatchField, Type>(fvpff.size()) - ); + auto tresult = tmp<FieldField<fvsPatchField, Type>>::New(fvpff.size()); + auto& result = tresult.ref(); - forAll(*fvspffPtr, patchi) + forAll(result, patchi) { - fvspffPtr->set + result.set ( patchi, fvsPatchField<Type>::NewCalculatedType(fvpff[patchi].patch()).ptr() ); - (*fvspffPtr)[patchi] = fvpff[patchi]; + result[patchi] = fvpff[patchi]; } - return tmp<FieldField<fvsPatchField, Type>>(fvspffPtr); + return tresult; } diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C index 798c3bf1525..fac2318f22d 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C @@ -232,11 +232,8 @@ Foam::tmp<Foam::Field<Type>> Foam::volPointInterpolation::flatBoundaryField const fvMesh& mesh = vf.mesh(); const fvBoundaryMesh& bm = mesh.boundary(); - tmp<Field<Type>> tboundaryVals - ( - new Field<Type>(mesh.nBoundaryFaces()) - ); - Field<Type>& boundaryVals = tboundaryVals.ref(); + auto tboundaryVals = tmp<Field<Type>>::New(mesh.nBoundaryFaces()); + auto& boundaryVals = tboundaryVals.ref(); forAll(vf.boundaryField(), patchi) { -- GitLab From 710eb5c142b1b5adcdece5a464e85c2e8e5bc07f Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 09:50:54 +0100 Subject: [PATCH 050/231] ENH: use tmp field factory methods [3] (#2723) - src/faOptions, src/fvOptions --- .../faOption/faOptionListTemplates.C | 12 ++-- .../jouleHeatingSource/jouleHeatingSource.C | 20 +++--- .../jouleHeatingSourceTemplates.C | 17 +++-- .../mapFieldConstraint/MapFieldConstraint.C | 21 ++---- .../limitTurbulenceViscosity.C | 20 ++---- .../acousticDampingSource.C | 51 ++++++++------ ...irectionalPressureGradientExplicitSource.C | 27 +++----- .../jouleHeatingSource/jouleHeatingSource.C | 24 +++---- .../jouleHeatingSource/jouleHeatingSource.H | 5 +- .../jouleHeatingSourceTemplates.C | 17 +++-- .../meanVelocityForce/meanVelocityForce.C | 29 +++----- .../derived/rotorDiskSource/rotorDiskSource.C | 44 +++++-------- .../rotorDiskSourceTemplates.C | 35 ++++------ .../solidificationMeltingSource.C | 18 ++--- .../viscousDissipation/viscousDissipation.C | 24 ++----- .../semiImplicitSource/SemiImplicitSource.C | 4 ++ .../interRegionExplicitPorositySource.C | 66 +++++++------------ 17 files changed, 178 insertions(+), 256 deletions(-) diff --git a/src/faOptions/faOption/faOptionListTemplates.C b/src/faOptions/faOption/faOptionListTemplates.C index b71f4958800..7445acae929 100644 --- a/src/faOptions/faOption/faOptionListTemplates.C +++ b/src/faOptions/faOption/faOptionListTemplates.C @@ -41,8 +41,8 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::fa::optionList::source { checkApplied(); - tmp<faMatrix<Type>> tmtx(new faMatrix<Type>(field, ds)); - faMatrix<Type>& mtx = tmtx.ref(); + auto tmtx = tmp<faMatrix<Type>>::New(field, ds); + auto& mtx = tmtx.ref(); for (fa::option& source : *this) { @@ -132,8 +132,8 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::fa::optionList::operator() rho.dimensions()*field.dimensions()/dimTime*dimArea ); - tmp<faMatrix<Type>> tmtx(new faMatrix<Type>(field, ds)); - faMatrix<Type>& mtx = tmtx.ref(); + auto tmtx = tmp<faMatrix<Type>>::New(field, ds); + auto& mtx = tmtx.ref(); for (fa::option& source : *this) { @@ -184,8 +184,8 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::fa::optionList::operator() const dimensionSet dsMat(ds*dimArea); - tmp<faMatrix<Type>> tmtx(new faMatrix<Type>(field, dsMat)); - faMatrix<Type>& mtx = tmtx.ref(); + auto tmtx = tmp<faMatrix<Type>>::New(field, dsMat); + auto& mtx = tmtx.ref(); for (fa::option& source : *this) { diff --git a/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C b/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C index 051cd3d7b89..5921e788fcf 100644 --- a/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C +++ b/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C @@ -58,11 +58,12 @@ Foam::fa::jouleHeatingSource::jouleHeatingSource ( IOobject ( - typeName + ":V_" + regionName_, + IOobject::scopedName(typeName, "V_" + regionName_), regionMesh().thisDb().time().timeName(), regionMesh().thisDb(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), regionMesh() ), @@ -141,6 +142,11 @@ void Foam::fa::jouleHeatingSource::addSup } // Add the Joule heating contribution + const word sigmaName + ( + IOobject::scopedName(typeName, "sigma_" + regionName_) + ); + areaVectorField gradV("gradV", fac::grad(V_)); if (debug > 1 && mesh().time().writeTime()) @@ -156,20 +162,14 @@ void Foam::fa::jouleHeatingSource::addSup if (anisotropicElectricalConductivity_) { const auto& sigma = - obr.lookupObject<areaTensorField> - ( - typeName + ":sigma_" + regionName_ - ); + obr.lookupObject<areaTensorField>(sigmaName); tsource = (h*sigma & gradV) & gradV; } else { const auto& sigma = - obr.lookupObject<areaScalarField> - ( - typeName + ":sigma_" + regionName_ - ); + obr.lookupObject<areaScalarField>(sigmaName); tsource = (h*sigma*gradV) & gradV; } diff --git a/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C b/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C index 43763b7238c..351b5146544 100644 --- a/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C +++ b/src/faOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C @@ -36,13 +36,13 @@ void Foam::fa::jouleHeatingSource::initialiseSigma autoPtr<Function1<Type>>& sigmaVsTPtr ) { - typedef GeometricField<Type, faPatchField, areaMesh> AreaFieldType; + typedef GeometricField<Type, faPatchField, areaMesh> FieldType; auto& obr = regionMesh().thisDb(); IOobject io ( - typeName + ":sigma_" + regionName_, + IOobject::scopedName(typeName, "sigma_" + regionName_), obr.time().timeName(), obr, IOobject::NO_READ, @@ -50,7 +50,7 @@ void Foam::fa::jouleHeatingSource::initialiseSigma IOobject::REGISTER ); - tmp<AreaFieldType> tsigma; + autoPtr<FieldType> tsigma; if (dict.found("sigma")) { @@ -59,7 +59,7 @@ void Foam::fa::jouleHeatingSource::initialiseSigma tsigma.reset ( - new AreaFieldType + new FieldType ( io, regionMesh(), @@ -76,7 +76,7 @@ void Foam::fa::jouleHeatingSource::initialiseSigma // Sigma to be defined by user input io.readOpt(IOobject::MUST_READ); - tsigma.reset(new AreaFieldType(io, regionMesh())); + tsigma.reset(new FieldType(io, regionMesh())); Info<< " Conductivity 'sigma' read from file" << nl << endl; } @@ -92,12 +92,15 @@ Foam::fa::jouleHeatingSource::updateSigma const autoPtr<Function1<Type>>& sigmaVsTPtr ) const { - typedef GeometricField<Type, faPatchField, areaMesh> AreaFieldType; + typedef GeometricField<Type, faPatchField, areaMesh> FieldType; const auto& obr = regionMesh().thisDb(); auto& sigma = - obr.lookupObjectRef<AreaFieldType>(typeName + ":sigma_" + regionName_); + obr.lookupObjectRef<FieldType> + ( + IOobject::scopedName(typeName, "sigma_" + regionName_) + ); if (!sigmaVsTPtr) { diff --git a/src/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.C b/src/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.C index 5425dadb0ab..6aeb9d82ed2 100644 --- a/src/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.C +++ b/src/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.C @@ -34,30 +34,23 @@ License namespace Foam { -namespace fv -{ + static inline tmp<volScalarField> createField ( const fvMesh& mesh, const scalar val ) { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - polyMesh::defaultRegion, - mesh.time().timeName(), - mesh, - IOobjectOption::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + polyMesh::defaultRegion, + IOobject::NO_REGISTER, mesh, - dimensionedScalar(dimless, val) + val, + dimless ); } -} // End namespace fv + } // End namespace Foam diff --git a/src/fvOptions/corrections/limitTurbulenceViscosity/limitTurbulenceViscosity.C b/src/fvOptions/corrections/limitTurbulenceViscosity/limitTurbulenceViscosity.C index 6c039accceb..836a23bf87c 100644 --- a/src/fvOptions/corrections/limitTurbulenceViscosity/limitTurbulenceViscosity.C +++ b/src/fvOptions/corrections/limitTurbulenceViscosity/limitTurbulenceViscosity.C @@ -87,19 +87,13 @@ Foam::tmp<Foam::volScalarField> Foam::fv::limitTurbulenceViscosity::nu() const const auto* dictPtr = mesh_.cfindObject<dictionary>("transportProperties"); if (dictPtr) { - return - tmp<volScalarField>::New - ( - IOobject - ( - "nu", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ - ), - mesh_, - dimensionedScalar("nu", dimViscosity, *dictPtr) - ); + return volScalarField::New + ( + "nu", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar("nu", dimViscosity, *dictPtr) + ); } FatalErrorInFunction diff --git a/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.C b/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.C index 898926ef188..3be2df145e8 100644 --- a/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.C +++ b/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -87,23 +87,13 @@ Foam::fv::acousticDampingSource::acousticDampingSource fv::cellSetOption(name, modelType, dict, mesh), blendFactor_ ( - volScalarField - ( - IOobject - ( - name_ + ":blend", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - scalar(1), - dimless, - fvPatchFieldBase::zeroGradientType() - ) + mesh_.newIOobject(IOobject::scopedName(name_, "blend")), + mesh_, + scalar(1), + dimless, + fvPatchFieldBase::zeroGradientType() ), - frequency_("frequency", dimless/dimTime, 0), + frequency_("frequency", dimless/dimTime, Zero), x0_(Zero), r1_(0), r2_(0), @@ -122,8 +112,15 @@ void Foam::fv::acousticDampingSource::addSup const label fieldI ) { + auto tcoeff = volScalarField::New + ( + IOobject::scopedName(name_, "coeff"), + IOobject::NO_REGISTER, + w_*frequency_*blendFactor_ + ); + const auto& coeff = tcoeff(); + const volVectorField& U = eqn.psi(); - const volScalarField coeff(name_ + ":coeff", w_*frequency_*blendFactor_); const auto& URef = mesh().lookupObject<volVectorField>(URefName_); fvMatrix<vector> dampingEqn @@ -141,8 +138,15 @@ void Foam::fv::acousticDampingSource::addSup const label fieldI ) { + auto tcoeff = volScalarField::New + ( + IOobject::scopedName(name_, "coeff"), + IOobject::NO_REGISTER, + w_*frequency_*blendFactor_ + ); + const auto& coeff = tcoeff(); + const volVectorField& U = eqn.psi(); - const volScalarField coeff(name_ + ":coeff", w_*frequency_*blendFactor_); const auto& URef = mesh().lookupObject<volVectorField>(URefName_); fvMatrix<vector> dampingEqn @@ -161,8 +165,15 @@ void Foam::fv::acousticDampingSource::addSup const label fieldI ) { + auto tcoeff = volScalarField::New + ( + IOobject::scopedName(name_, "coeff"), + IOobject::NO_REGISTER, + w_*frequency_*blendFactor_ + ); + const auto& coeff = tcoeff(); + const volVectorField& U = eqn.psi(); - const volScalarField coeff(name_ + ":coeff", w_*frequency_*blendFactor_); const auto& URef = mesh().lookupObject<volVectorField>(URefName_); fvMatrix<vector> dampingEqn diff --git a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C index d436078a18f..c2d6ea05c16 100644 --- a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C +++ b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C @@ -148,7 +148,8 @@ void Foam::fv::directionalPressureGradientExplicitSource::writeProps "uniform", mesh_, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ) ); propsDict.add("gradient", gradP); @@ -463,23 +464,18 @@ void Foam::fv::directionalPressureGradientExplicitSource::addSup const label fieldI ) { - DimensionedField<vector, volMesh> Su + auto tSu = DimensionedField<vector, volMesh>::New ( - IOobject - ( - name_ + fieldNames_[fieldI] + "Sup", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + name_ + fieldNames_[fieldI] + "Sup", + IOobject::NO_REGISTER, mesh_, dimensionedVector(eqn.dimensions()/dimVolume, Zero) ); + auto& Su = tSu.ref(); UIndirectList<vector>(Su, cells_) = gradP0_ + dGradP_ + gradPporous_; - eqn += Su; + eqn += tSu; } @@ -506,14 +502,7 @@ void Foam::fv::directionalPressureGradientExplicitSource::constrain ( new volScalarField ( - IOobject - ( - name_ + ":invA", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + mesh_.newIOobject(IOobject::scopedName(name_, "invA")), 1.0/eqn.A() ) ); diff --git a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C index 0fc3317c274..6053fb1ca40 100644 --- a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C +++ b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.C @@ -44,8 +44,6 @@ namespace fv } } -const Foam::word Foam::fv::jouleHeatingSource::sigmaName(typeName + ":sigma"); - // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -55,17 +53,10 @@ Foam::fv::jouleHeatingSource::transformSigma const volVectorField& sigmaLocal ) const { - auto tsigma = tmp<volSymmTensorField>::New + auto tsigma = volSymmTensorField::New ( - IOobject - ( - sigmaName, - mesh_.time().timeName(), - mesh_.thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(typeName, "sigma"), + IOobject::NO_REGISTER, mesh_, dimensionedSymmTensor(sigmaLocal.dimensions(), Zero), fvPatchFieldBase::zeroGradientType() @@ -115,11 +106,12 @@ Foam::fv::jouleHeatingSource::jouleHeatingSource ( IOobject ( - typeName + ":V", + IOobject::scopedName(typeName, "V"), mesh.time().timeName(), mesh, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh ), @@ -182,6 +174,10 @@ void Foam::fv::jouleHeatingSource::addSup } // Add the Joule heating contribution + const word sigmaName + ( + IOobject::scopedName(typeName, "sigma") + ); const volVectorField gradV(fvc::grad(V_)); if (anisotropicElectricalConductivity_) diff --git a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.H b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.H index d748dcdab84..76cd3ea4c1c 100644 --- a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.H +++ b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSource.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -179,9 +179,6 @@ class jouleHeatingSource { // Private Data - //- Name of electrical conductivity field - static const word sigmaName; - //- Name of temperature field word TName_; diff --git a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C index 4eb7391caf0..2b7fbb0ed1d 100644 --- a/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C +++ b/src/fvOptions/sources/derived/jouleHeatingSource/jouleHeatingSourceTemplates.C @@ -34,11 +34,11 @@ void Foam::fv::jouleHeatingSource::initialiseSigma autoPtr<Function1<Type>>& sigmaVsTPtr ) { - typedef GeometricField<Type, fvPatchField, volMesh> VolFieldType; + typedef GeometricField<Type, fvPatchField, volMesh> FieldType; IOobject io ( - typeName + ":sigma", + IOobject::scopedName(typeName, "sigma"), mesh_.time().timeName(), mesh_.thisDb(), IOobject::NO_READ, @@ -46,7 +46,7 @@ void Foam::fv::jouleHeatingSource::initialiseSigma IOobject::REGISTER ); - tmp<VolFieldType> tsigma; + autoPtr<FieldType> tsigma; if (dict.found("sigma")) { @@ -55,7 +55,7 @@ void Foam::fv::jouleHeatingSource::initialiseSigma tsigma.reset ( - new VolFieldType + new FieldType ( io, mesh_, @@ -72,7 +72,7 @@ void Foam::fv::jouleHeatingSource::initialiseSigma // Sigma to be defined by user input io.readOpt(IOobject::MUST_READ); - tsigma.reset(new VolFieldType(io, mesh_)); + tsigma.reset(new FieldType(io, mesh_)); Info<< " Conductivity 'sigma' read from file" << nl << endl; } @@ -88,9 +88,12 @@ Foam::fv::jouleHeatingSource::updateSigma const autoPtr<Function1<Type>>& sigmaVsTPtr ) const { - typedef GeometricField<Type, fvPatchField, volMesh> VolFieldType; + typedef GeometricField<Type, fvPatchField, volMesh> FieldType; - auto& sigma = mesh_.lookupObjectRef<VolFieldType>(typeName + ":sigma"); + auto& sigma = mesh_.lookupObjectRef<FieldType> + ( + IOobject::scopedName(typeName, "sigma") + ); if (!sigmaVsTPtr) { diff --git a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C index 909d57f395b..6d052363264 100644 --- a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C +++ b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -63,7 +63,8 @@ void Foam::fv::meanVelocityForce::writeProps "uniform", mesh_, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ) ); propsDict.add("gradient", gradP); @@ -192,25 +193,20 @@ void Foam::fv::meanVelocityForce::addSup const label fieldi ) { - volVectorField::Internal Su + auto tSu = volVectorField::Internal::New ( - IOobject - ( - name_ + fieldNames_[fieldi] + "Sup", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + name_ + fieldNames_[fieldi] + "Sup", + IOobject::NO_REGISTER, mesh_, dimensionedVector(eqn.dimensions()/dimVolume, Zero) ); + auto& Su = tSu.ref(); scalar gradP = gradP0_ + dGradP_; UIndirectList<vector>(Su, cells_) = flowDir_*gradP; - eqn += Su; + eqn += tSu; } @@ -237,14 +233,7 @@ void Foam::fv::meanVelocityForce::constrain ( new volScalarField ( - IOobject - ( - name_ + ":rA", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + mesh_.newIOobject(IOobject::scopedName(name_, "rA")), 1.0/eqn.A() ) ); diff --git a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C index a638b55ae71..f4f9085591b 100644 --- a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C +++ b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -238,23 +238,19 @@ void Foam::fv::rotorDiskSource::setFaceArea(vector& axis, const bool correct) if (debug) { - volScalarField area + auto tarea = volScalarField::New ( - IOobject - ( - name_ + ":area", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(name_, "area"), + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimArea, Zero) ); - UIndirectList<scalar>(area.primitiveField(), cells_) = area_; + auto& area = tarea.ref(); - Info<< type() << ": " << name_ << " writing field " << area.name() - << endl; + UIndirectList<scalar>(area.primitiveFieldRef(), cells_) = area_; + + Info<< type() << ": " << name_ + << " writing field " << area.name() << endl; area.write(); } @@ -480,17 +476,14 @@ void Foam::fv::rotorDiskSource::addSup const label fieldi ) { - volVectorField force + auto tforce = volVectorField::New ( - IOobject - ( - name_ + ":rotorForce", - mesh_.time().timeName(), - mesh_ - ), + IOobject::scopedName(name_, "rotorForce"), + IOobject::NO_REGISTER, mesh_, dimensionedVector(eqn.dimensions()/dimVolume, Zero) ); + auto& force = tforce.ref(); // Read the reference density for incompressible flow coeffs_.readEntry("rhoRef", rhoRef_); @@ -516,17 +509,14 @@ void Foam::fv::rotorDiskSource::addSup const label fieldi ) { - volVectorField force + auto tforce = volVectorField::New ( - IOobject - ( - name_ + ":rotorForce", - mesh_.time().timeName(), - mesh_ - ), + IOobject::scopedName(name_, "rotorForce"), + IOobject::NO_REGISTER, mesh_, dimensionedVector(eqn.dimensions()/dimVolume, Zero) ); + auto& force = tforce.ref(); const vectorField Uin(inflowVelocity(eqn.psi())); trim_->correct(rho, Uin, force); diff --git a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C index 5a050a7053b..db93871990f 100644 --- a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C +++ b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C @@ -178,37 +178,28 @@ void Foam::fv::rotorDiskSource::writeField const bool writeNow ) const { - typedef GeometricField<Type, fvPatchField, volMesh> FieldType; - if (mesh_.time().writeTime() || writeNow) { - auto tfield = tmp<FieldType>::New + if (cells_.size() != values.size()) + { + FatalErrorInFunction + << "Size mismatch. Number of cells " + << cells_.size() << " != number of values " + << values.size() << nl + << abort(FatalError); + } + + auto tfield = GeometricField<Type, fvPatchField, volMesh>::New ( - IOobject - ( - name, - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + name, + IOobject::NO_REGISTER, mesh_, dimensioned<Type>(dimless, Zero) ); auto& field = tfield.ref().primitiveFieldRef(); - if (cells_.size() != values.size()) - { - FatalErrorInFunction - << abort(FatalError); - } - - forAll(cells_, i) - { - const label celli = cells_[i]; - field[celli] = values[i]; - } + UIndirectList<Type>(field, cells_) = values; tfield().write(); } diff --git a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C index 6f891187c9a..f7d853c8174 100644 --- a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C +++ b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014-2017 OpenFOAM Foundation - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -78,16 +78,9 @@ Foam::fv::solidificationMeltingSource::Cp() const { const scalar CpRef = coeffs_.get<scalar>("CpRef"); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - name_ + ":Cp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(name_, "Cp"), mesh_, dimensionedScalar ( @@ -184,11 +177,12 @@ Foam::fv::solidificationMeltingSource::solidificationMeltingSource ( IOobject ( - name_ + ":alpha1", + IOobject::scopedName(name_, "alpha1"), mesh.time().timeName(), mesh, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh, dimensionedScalar(dimless, Zero), diff --git a/src/fvOptions/sources/derived/viscousDissipation/viscousDissipation.C b/src/fvOptions/sources/derived/viscousDissipation/viscousDissipation.C index ac2d5b980b3..4d8491fed2c 100644 --- a/src/fvOptions/sources/derived/viscousDissipation/viscousDissipation.C +++ b/src/fvOptions/sources/derived/viscousDissipation/viscousDissipation.C @@ -47,16 +47,10 @@ namespace fv Foam::tmp<Foam::volScalarField> Foam::fv::viscousDissipation::rho() const { - auto trho = tmp<volScalarField>::New + auto trho = volScalarField::New ( - IOobject - ( - "trho", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "trho", + IOobject::NO_REGISTER, mesh_, rho_ ); @@ -177,16 +171,10 @@ void Foam::fv::viscousDissipation::addSup const word gradUName("grad(" + UName_ + ')'); - auto tgradU = tmp<GradFieldType>::New + auto tgradU = GradFieldType::New ( - IOobject - ( - "gradU", - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "gradU", + IOobject::NO_REGISTER, mesh_, dimensionedTensor(inv(dimTime), Zero) ); diff --git a/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C b/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C index c8830ae3d7e..6e3585e68a9 100644 --- a/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C +++ b/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C @@ -336,6 +336,7 @@ void Foam::fv::SemiImplicitSource<Type>::addSup tsu = DimensionedField<Type, volMesh>::New ( name_ + fieldName + "Su", + IOobject::NO_REGISTER, mesh_, dimensioned<Type>(SuDims, Zero) ); @@ -375,6 +376,7 @@ void Foam::fv::SemiImplicitSource<Type>::addSup tsu = DimensionedField<Type, volMesh>::New ( name_ + fieldName + "Su", + IOobject::NO_REGISTER, mesh_, dimensioned<Type>(SuDims, Zero) ); @@ -462,6 +464,7 @@ void Foam::fv::SemiImplicitSource<Type>::addSup tsp = DimensionedField<scalar, volMesh>::New ( name_ + fieldName + "Sp", + IOobject::NO_REGISTER, mesh_, dimensioned<scalar>(SpDims, Zero) ); @@ -501,6 +504,7 @@ void Foam::fv::SemiImplicitSource<Type>::addSup tsp = DimensionedField<scalar, volMesh>::New ( name_ + fieldName + "Sp", + IOobject::NO_REGISTER, mesh_, dimensioned<scalar>(SpDims, Zero) ); diff --git a/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C b/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C index 4e00e9b2251..65da636ee89 100644 --- a/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C +++ b/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -93,16 +93,16 @@ void Foam::fv::interRegionExplicitPorositySource::initialise() << abort(FatalError); } - porosityPtr_.reset - ( + porosityPtr_.reset(nullptr); + + porosityPtr_ = porosityModel::New ( name_, nbrMesh, coeffs_, zoneName - ).ptr() - ), + ); firstIter_ = false; } @@ -146,19 +146,14 @@ void Foam::fv::interRegionExplicitPorositySource::addSup const volVectorField& U = eqn.psi(); - volVectorField UNbr + auto tUNbr = volVectorField::New ( - IOobject - ( - name_ + ":UNbr", - nbrMesh.time().timeName(), - nbrMesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(name_, "UNbr"), + IOobject::NO_REGISTER, nbrMesh, dimensionedVector(U.dimensions(), Zero) ); + auto& UNbr = tUNbr.ref(); // Map local velocity onto neighbour region meshInterp().mapSrcToTgt @@ -177,7 +172,7 @@ void Foam::fv::interRegionExplicitPorositySource::addSup scalarField& Udiag = porosityEqn.diag(); vectorField& Usource = porosityEqn.source(); - Udiag.setSize(eqn.diag().size(), 0.0); + Udiag.setSize(eqn.diag().size(), Zero); Usource.setSize(eqn.source().size(), Zero); meshInterp().mapTgtToSrc(nbrEqn.diag(), plusEqOp<scalar>(), Udiag); @@ -200,19 +195,14 @@ void Foam::fv::interRegionExplicitPorositySource::addSup const volVectorField& U = eqn.psi(); - volVectorField UNbr + auto tUNbr = volVectorField::New ( - IOobject - ( - name_ + ":UNbr", - nbrMesh.time().timeName(), - nbrMesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(name_, "UNbr"), + IOobject::NO_REGISTER, nbrMesh, dimensionedVector(U.dimensions(), Zero) ); + auto& UNbr = tUNbr.ref(); // Map local velocity onto neighbour region meshInterp().mapSrcToTgt @@ -224,33 +214,23 @@ void Foam::fv::interRegionExplicitPorositySource::addSup fvMatrix<vector> nbrEqn(UNbr, eqn.dimensions()); - volScalarField rhoNbr + auto trhoNbr = volScalarField::New ( - IOobject - ( - "rho:UNbr", - nbrMesh.time().timeName(), - nbrMesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName("rho", "UNbr"), + IOobject::NO_REGISTER, nbrMesh, dimensionedScalar(dimDensity, Zero) ); + auto& rhoNbr = trhoNbr.ref(); - volScalarField muNbr + auto tmuNbr = volScalarField::New ( - IOobject - ( - "mu:UNbr", - nbrMesh.time().timeName(), - nbrMesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName("mu", "UNbr"), + IOobject::NO_REGISTER, nbrMesh, dimensionedScalar(dimViscosity, Zero) ); + auto& muNbr = tmuNbr.ref(); const auto& mu = mesh_.lookupObject<volScalarField>(muName_); @@ -277,7 +257,7 @@ void Foam::fv::interRegionExplicitPorositySource::addSup scalarField& Udiag = porosityEqn.diag(); vectorField& Usource = porosityEqn.source(); - Udiag.setSize(eqn.diag().size(), 0.0); + Udiag.setSize(eqn.diag().size(), Zero); Usource.setSize(eqn.source().size(), Zero); meshInterp().mapTgtToSrc(nbrEqn.diag(), plusEqOp<scalar>(), Udiag); -- GitLab From 33f20edbb14a92fc34cc095362e350eb8860a5ae Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 10:16:59 +0100 Subject: [PATCH 051/231] ENH: use tmp field factory methods [4] (#2723) - src/regionModels src/regionFaModels --- .../KirchhoffShell/KirchhoffShell.C | 22 +--- .../liquidFilm/liquidFilmBase.C | 87 ++++---------- .../filmTurbulenceModel/filmTurbulenceModel.C | 55 ++++----- .../kinematic/force/forceList/forceList.C | 7 +- .../curvatureSeparation/curvatureSeparation.C | 6 +- .../thermalShell/thermalShell.C | 72 ++++-------- .../regionModel/regionModel1D/regionModel1D.C | 8 +- .../singleLayerRegion/singleLayerRegion.C | 6 +- .../kinematicSingleLayer.C | 78 +++--------- .../kinematicSingleLayerI.H | 60 +++------- .../surfaceFilmModels/noFilm/noFilm.C | 39 ++---- .../constantFilmThermo/constantFilmThermo.C | 106 +++++------------ .../liquidFilmThermo/liquidFilmThermo.C | 111 +++++------------- .../filmTurbulenceModel/laminar/laminar.C | 34 ++---- .../contactAngleForce/contactAngleForce.C | 36 ++---- .../distributionContactAngleForce.C | 32 ++--- ...bedTemperatureDependentContactAngleForce.C | 34 +++--- .../temperatureDependentContactAngleForce.C | 30 ++--- .../kinematic/force/forceList/forceList.C | 7 +- .../thermocapillaryForce.C | 3 +- .../curvatureSeparation/curvatureSeparation.C | 45 +++---- .../constantRadiation/constantRadiation.C | 26 ++-- .../noRadiation/noRadiation.C | 13 +- .../primaryRadiation/primaryRadiation.C | 25 ++-- .../standardRadiation/standardRadiation.C | 28 ++--- .../thixotropicViscosity.C | 6 +- .../waxSolventViscosity/waxSolventViscosity.C | 43 +++---- .../constantHeatTransfer.C | 26 ++-- .../solidification/solidification.C | 12 +- .../waxSolventEvaporation.C | 52 ++++---- .../thermoSingleLayer/thermoSingleLayer.C | 81 +++++-------- .../thermoSingleLayer/thermoSingleLayerI.H | 34 ++---- .../thermalBaffleModels/noThermo/noThermo.C | 19 +-- .../thermalBaffle/thermalBaffle.C | 23 +--- 34 files changed, 410 insertions(+), 856 deletions(-) diff --git a/src/regionFaModels/KirchhoffShell/KirchhoffShell.C b/src/regionFaModels/KirchhoffShell/KirchhoffShell.C index 1b09200a935..b3daab327eb 100644 --- a/src/regionFaModels/KirchhoffShell/KirchhoffShell.C +++ b/src/regionFaModels/KirchhoffShell/KirchhoffShell.C @@ -282,23 +282,13 @@ const tmp<areaScalarField> KirchhoffShell::D() const const tmp<areaScalarField> KirchhoffShell::rho() const { - return tmp<areaScalarField> + return areaScalarField::New ( - new areaScalarField - ( - IOobject - ( - "rhos", - regionMesh().time().timeName(), - regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - regionMesh(), - dimensionedScalar("rho", dimDensity, solid().rho()), - faPatchFieldBase::zeroGradientType() - ) + "rhos", + IOobjectOption::NO_REGISTER, + regionMesh(), + dimensionedScalar("rho", dimDensity, solid().rho()), + faPatchFieldBase::zeroGradientType() ); } diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.C b/src/regionFaModels/liquidFilm/liquidFilmBase.C index afe3dc40a0e..b392609c869 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.C +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.C @@ -276,19 +276,12 @@ scalar liquidFilmBase::CourantNumber() const Foam::tmp<Foam::areaVectorField> liquidFilmBase::Uw() const { - tmp<areaVectorField> tUw + auto tUw = areaVectorField::New ( - new areaVectorField - ( - IOobject - ( - "tUw", - regionMesh().time().timeName(), - regionMesh().thisDb() - ), - regionMesh(), - dimensionedVector(dimVelocity, Zero) - ) + "tUw", + IOobjectOption::NO_REGISTER, + regionMesh(), + dimensionedVector(dimVelocity, Zero) ); auto& Uw = tUw.ref(); @@ -331,19 +324,12 @@ Foam::tmp<Foam::areaVectorField> liquidFilmBase::Uw() const Foam::tmp<Foam::areaVectorField> liquidFilmBase::Us() const { - tmp<areaVectorField> tUs + auto tUs = areaVectorField::New ( - new areaVectorField - ( - IOobject - ( - "tUs", - regionMesh().time().timeName(), - regionMesh().thisDb() - ), - regionMesh(), - dimensionedVector(dimVelocity, Zero) - ) + "tUs", + IOobjectOption::NO_REGISTER, + regionMesh(), + dimensionedVector(dimVelocity, Zero) ); // Uf quadratic profile @@ -358,21 +344,14 @@ Foam::tmp<Foam::areaVectorField> liquidFilmBase::Up() const const volVectorField& Uprimary = primaryMesh().lookupObject<volVectorField>(UName_); - tmp<areaVectorField> tUp + auto tUp = areaVectorField::New ( - new areaVectorField - ( - IOobject - ( - "tUp", - regionMesh().time().timeName(), - regionMesh().thisDb() - ), - regionMesh(), - dimensionedVector(dimVelocity, Zero) - ) + "tUp", + IOobjectOption::NO_REGISTER, + regionMesh(), + dimensionedVector(dimVelocity, Zero) ); - areaVectorField& Up = tUp.ref(); + auto& Up = tUp.ref(); // Set up mapping values per patch @@ -406,19 +385,12 @@ Foam::tmp<Foam::areaVectorField> liquidFilmBase::Up() const tmp<areaScalarField> liquidFilmBase::pg() const { - tmp<areaScalarField> tpg + auto tpg = areaScalarField::New ( - new areaScalarField - ( - IOobject - ( - "tpg", - regionMesh().time().timeName(), - regionMesh().thisDb() - ), - regionMesh(), - dimensionedScalar(dimPressure, Zero) - ) + "tpg", + IOobjectOption::NO_REGISTER, + regionMesh(), + dimensionedScalar(dimPressure, Zero) ); auto& pfg = tpg.ref(); @@ -439,19 +411,12 @@ tmp<areaScalarField> liquidFilmBase::pg() const tmp<areaScalarField> liquidFilmBase::alpha() const { - tmp<areaScalarField> talpha + auto talpha = areaScalarField::New ( - new areaScalarField - ( - IOobject - ( - "talpha", - regionMesh().time().timeName(), - regionMesh().thisDb() - ), - regionMesh(), - dimensionedScalar(dimless, Zero) - ) + "talpha", + IOobjectOption::NO_REGISTER, + regionMesh(), + dimensionedScalar(dimless, Zero) ); auto& alpha = talpha.ref(); diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C index a6c8b42f4a0..93b54a3ce0b 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C @@ -102,18 +102,13 @@ const liquidFilmBase& filmTurbulenceModel::film() const tmp<areaScalarField> filmTurbulenceModel::Cw() const { - auto tCw = - tmp<areaScalarField>::New - ( - IOobject - ( - "tCw", - film_.regionMesh().time().timeName(), - film_.regionMesh().thisDb() - ), - film_.regionMesh(), - dimensionedScalar(dimVelocity) - ); + auto tCw = areaScalarField::New + ( + "tCw", + IOobject::NO_REGISTER, + film_.regionMesh(), + dimensionedScalar(dimVelocity, Zero) + ); auto& Cw = tCw.ref(); @@ -195,10 +190,8 @@ tmp<faVectorMatrix> filmTurbulenceModel::primaryRegionFriction areaVectorField& U ) const { - tmp<faVectorMatrix> tshearStress - ( - new faVectorMatrix(U, sqr(U.dimensions())*sqr(dimLength)) - ); + auto tshearStress = + tmp<faVectorMatrix>::New(U, sqr(U.dimensions())*sqr(dimLength)); switch (shearMethod_) { @@ -267,14 +260,10 @@ tmp<faVectorMatrix> filmTurbulenceModel::primaryRegionFriction } } - auto taForce = tmp<areaVectorField>::New + auto taForce = areaVectorField::New ( - IOobject - ( - "taForce", - film_.regionMesh().time().timeName(), - film_.regionMesh().thisDb() - ), + "taForce", + IOobject::NO_REGISTER, film_.regionMesh(), dimensionedVector(sqr(dimVelocity), Zero) ); @@ -352,32 +341,30 @@ tmp<Foam::volSymmTensorField> filmTurbulenceModel::devRhoReff() const << "No valid model for viscous stress calculation" << exit(FatalError); - return volSymmTensorField::null(); + return nullptr; } } tmp<Foam::volScalarField> filmTurbulenceModel::rho() const { - const fvMesh& m = film_.primaryMesh(); + const fvMesh& mesh = film_.primaryMesh(); + if (rhoName_ == "rhoInf") { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "rho", - m.time().timeName(), - m - ), - m, + "rho", + IOobject::NO_REGISTER, + mesh, dimensionedScalar(dimDensity, rhoRef_) ); } - return m.lookupObject<volScalarField>(rhoName_); + return mesh.lookupObject<volScalarField>(rhoName_); } + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace areaSurfaceFilmModels diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.C b/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.C index ea0c634fce2..78e2ed4966c 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.C @@ -81,11 +81,8 @@ forceList::~forceList() tmp<faVectorMatrix> forceList::correct(areaVectorField& U) { - tmp<faVectorMatrix> tResult - ( - new faVectorMatrix(U, dimForce/dimDensity) - ); - faVectorMatrix& result = tResult.ref(); + auto tResult = tmp<faVectorMatrix>::New(U, dimForce/dimDensity); + auto& result = tResult.ref(); forAll(*this, i) { diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C index 46599c97500..69e33a08f3b 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C @@ -61,9 +61,11 @@ tmp<areaScalarField> curvatureSeparation::calcInvR1 { const dimensionedScalar smallU(dimVelocity, ROOTVSMALL); const areaVectorField UHat(U/(mag(U) + smallU)); - tmp<areaScalarField> tinvR1 + auto tinvR1 = areaScalarField::New ( - new areaScalarField("invR1", UHat & (UHat & -gradNHat_)) + "invR1", + IOobjectOption::NO_REGISTER, + (UHat & (UHat & -gradNHat_)) ); scalarField& invR1 = tinvR1.ref().primitiveFieldRef(); diff --git a/src/regionFaModels/thermalShell/thermalShell.C b/src/regionFaModels/thermalShell/thermalShell.C index 3fa2465dd9e..ede4196f9ad 100644 --- a/src/regionFaModels/thermalShell/thermalShell.C +++ b/src/regionFaModels/thermalShell/thermalShell.C @@ -182,73 +182,43 @@ void thermalShell::evolveRegion() const tmp<areaScalarField> thermalShell::Cp() const { - return tmp<areaScalarField> + return areaScalarField::New ( - new areaScalarField - ( - IOobject - ( - "Cps", - regionMesh().time().timeName(), - regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - regionMesh(), - dimensionedScalar(dimEnergy/dimTemperature/dimMass, thermo_.Cp()), - faPatchFieldBase::zeroGradientType() - ) + "Cps", + IOobject::NO_REGISTER, + regionMesh(), + dimensionedScalar(dimEnergy/dimTemperature/dimMass, thermo_.Cp()), + faPatchFieldBase::zeroGradientType() ); } const tmp<areaScalarField> thermalShell::rho() const { - return tmp<areaScalarField> + return areaScalarField::New ( - new areaScalarField - ( - IOobject - ( - "rhos", - regionMesh().time().timeName(), - regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - regionMesh(), - dimensionedScalar(dimDensity, thermo_.rho()), - faPatchFieldBase::zeroGradientType() - ) + "rhos", + IOobject::NO_REGISTER, + regionMesh(), + dimensionedScalar(dimDensity, thermo_.rho()), + faPatchFieldBase::zeroGradientType() ); } const tmp<areaScalarField> thermalShell::kappa() const { - return tmp<areaScalarField> + return areaScalarField::New ( - new areaScalarField + "kappas", + IOobject::NO_REGISTER, + regionMesh(), + dimensionedScalar ( - IOobject - ( - "kappas", - regionMesh().time().timeName(), - regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - regionMesh(), - dimensionedScalar - ( - dimPower/dimLength/dimTemperature, - thermo_.kappa() - ), - faPatchFieldBase::zeroGradientType() - ) + dimPower/dimLength/dimTemperature, + thermo_.kappa() + ), + faPatchFieldBase::zeroGradientType() ); } diff --git a/src/regionModels/regionModel/regionModel1D/regionModel1D.C b/src/regionModels/regionModel/regionModel1D/regionModel1D.C index 4b3e66278fc..b365b5c346d 100644 --- a/src/regionModels/regionModel/regionModel1D/regionModel1D.C +++ b/src/regionModels/regionModel/regionModel1D/regionModel1D.C @@ -42,7 +42,6 @@ namespace regionModels void Foam::regionModels::regionModel1D::constructMeshObjects() { - nMagSfPtr_.reset ( new surfaceScalarField @@ -53,7 +52,8 @@ void Foam::regionModels::regionModel1D::constructMeshObjects() time().timeName(), regionMesh(), IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ), regionMesh(), dimensionedScalar(dimArea, Zero) @@ -197,8 +197,8 @@ Foam::tmp<Foam::labelField> Foam::regionModels::regionModel1D::moveMesh const scalar minDelta ) { - tmp<labelField> tcellMoveMap(new labelField(regionMesh().nCells(), Zero)); - labelField& cellMoveMap = tcellMoveMap.ref(); + auto tcellMoveMap = tmp<labelField>::New(regionMesh().nCells(), Zero); + auto& cellMoveMap = tcellMoveMap.ref(); if (!moveMesh_) { diff --git a/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C b/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C index 871fdcc199a..94f65984004 100644 --- a/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C +++ b/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C @@ -56,7 +56,8 @@ void Foam::regionModels::singleLayerRegion::constructMeshObjects() time_.timeName(), regionMesh(), IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ), regionMesh(), dimensionedVector(dimless, Zero), @@ -75,7 +76,8 @@ void Foam::regionModels::singleLayerRegion::constructMeshObjects() time_.timeName(), regionMesh(), IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ), regionMesh(), dimensionedScalar(dimArea, Zero), diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C index 58a6beeb1b5..a35106bc1f1 100644 --- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C +++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2020 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -108,14 +108,9 @@ void kinematicSingleLayer::transferPrimaryRegionSourceFields() { DebugInFunction << endl; - volScalarField::Boundary& rhoSpPrimaryBf = - rhoSpPrimary_.boundaryFieldRef(); - - volVectorField::Boundary& USpPrimaryBf = - USpPrimary_.boundaryFieldRef(); - - volScalarField::Boundary& pSpPrimaryBf = - pSpPrimary_.boundaryFieldRef(); + auto& rhoSpPrimaryBf = rhoSpPrimary_.boundaryFieldRef(); + auto& USpPrimaryBf = USpPrimary_.boundaryFieldRef(); + auto& pSpPrimaryBf = pSpPrimary_.boundaryFieldRef(); // Convert accumulated source terms into per unit area per unit time const scalar deltaT = time_.deltaTValue(); @@ -161,18 +156,11 @@ void kinematicSingleLayer::transferPrimaryRegionSourceFields() tmp<volScalarField> kinematicSingleLayer::pu() { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField + IOobject::scopedName(typeName, "pu"), + IOobject::NO_REGISTER, ( - IOobject - ( - typeName + ":pu", - time_.timeName(), - regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), pPrimary_ // pressure (mapped from primary region) - pSp_ // accumulated particle impingement - fvc::laplacian(sigma_, delta_) // surface tension @@ -183,18 +171,11 @@ tmp<volScalarField> kinematicSingleLayer::pu() tmp<volScalarField> kinematicSingleLayer::pp() { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField + IOobject::scopedName(typeName, "pp"), + IOobject::NO_REGISTER, ( - IOobject - ( - typeName + ":pp", - time_.timeName(), - regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), -rho_*gNormClipped() // hydrostatic effect only ) ); @@ -1084,17 +1065,10 @@ void kinematicSingleLayer::info() tmp<volScalarField::Internal> kinematicSingleLayer::Srho() const { - return tmp<volScalarField::Internal>::New + return volScalarField::Internal::New ( - IOobject - ( - typeName + ":Srho", - time().timeName(), - primaryMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(typeName, "Srho"), + IOobject::NO_REGISTER, primaryMesh(), dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); @@ -1106,17 +1080,10 @@ tmp<volScalarField::Internal> kinematicSingleLayer::Srho const label i ) const { - return tmp<volScalarField::Internal>::New + return volScalarField::Internal::New ( - IOobject - ( - typeName + ":Srho(" + Foam::name(i) + ")", - time().timeName(), - primaryMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(typeName, "Srho(" + Foam::name(i) + ")"), + IOobject::NO_REGISTER, primaryMesh(), dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); @@ -1125,17 +1092,10 @@ tmp<volScalarField::Internal> kinematicSingleLayer::Srho tmp<volScalarField::Internal> kinematicSingleLayer::Sh() const { - return tmp<volScalarField::Internal>::New + return volScalarField::Internal::New ( - IOobject - ( - typeName + ":Sh", - time().timeName(), - primaryMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(typeName, "Sh"), + IOobject::NO_REGISTER, primaryMesh(), dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayerI.H b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayerI.H index 5a022e964b3..9cff5b9bd70 100644 --- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayerI.H +++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayerI.H @@ -211,45 +211,25 @@ inline tmp<volScalarField> kinematicSingleLayer::deltaMass() const inline tmp<volScalarField> kinematicSingleLayer::gNorm() const { - tmp<volScalarField> tgNorm + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "gNorm", - time().timeName(), - regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - g_ & nHat() - ) + "gNorm", + IOobject::NO_REGISTER, + g_ & nHat() ); - - return tgNorm; } inline tmp<volScalarField> kinematicSingleLayer::gNormClipped() const { - tmp<volScalarField> tgNormClipped + auto tgNormClipped = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "gNormClipped", - time().timeName(), - regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - g_ & nHat() - ) + "gNormClipped", + IOobject::NO_REGISTER, + g_ & nHat() ); + auto& gNormClipped = tgNormClipped.ref(); - volScalarField& gNormClipped = tgNormClipped.ref(); gNormClipped.clamp_max(0); return tgNormClipped; @@ -258,25 +238,15 @@ inline tmp<volScalarField> kinematicSingleLayer::gNormClipped() const inline tmp<volVectorField> kinematicSingleLayer::gTan() const { - tmp<volVectorField> tgTan + return volVectorField::New ( - new volVectorField - ( - IOobject - ( - "gTan", - time().timeName(), - regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - g_ - nHat()*gNorm() - ) + "gTan", + IOobject::NO_REGISTER, + g_ - nHat()*gNorm() ); - - return tgTan; } + inline tmp<vectorField> kinematicSingleLayer::gTan ( const label patchI @@ -284,7 +254,7 @@ inline tmp<vectorField> kinematicSingleLayer::gTan { const vectorField& nH = nHat().boundaryField()[patchI]; const vector& g = g_.value(); - tmp<vectorField> tgTan(new vectorField(g - nH*(g & nH))); + tmp<vectorField> tgTan(g - nH*(g & nH)); return tgTan; } diff --git a/src/regionModels/surfaceFilmModels/noFilm/noFilm.C b/src/regionModels/surfaceFilmModels/noFilm/noFilm.C index 7cad81cd1ea..977eb4ec839 100644 --- a/src/regionModels/surfaceFilmModels/noFilm/noFilm.C +++ b/src/regionModels/surfaceFilmModels/noFilm/noFilm.C @@ -74,17 +74,10 @@ Foam::scalar noFilm::CourantNumber() const tmp<volScalarField::Internal> noFilm::Srho() const { - return tmp<volScalarField::Internal>::New + return volScalarField::Internal::New ( - IOobject - ( - "noFilm::Srho", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName("noFilm", "Srho"), + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); @@ -93,17 +86,10 @@ tmp<volScalarField::Internal> noFilm::Srho() const tmp<volScalarField::Internal> noFilm::Srho(const label i) const { - return tmp<volScalarField::Internal>::New + return volScalarField::Internal::New ( - IOobject - ( - "noFilm::Srho(" + Foam::name(i) + ")", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName("noFilm", "Srho(" + Foam::name(i) + ")"), + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); @@ -112,17 +98,10 @@ tmp<volScalarField::Internal> noFilm::Srho(const label i) const tmp<volScalarField::Internal> noFilm::Sh() const { - return tmp<volScalarField::Internal>::New + return volScalarField::Internal::New ( - IOobject - ( - "noFilm::Sh", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName("noFilm", "Sh"), + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C index 92d35fc01f5..0dd56f30e6f 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -261,22 +262,13 @@ scalar constantFilmThermo::Tb(const scalar p) const tmp<volScalarField> constantFilmThermo::rho() const { - tmp<volScalarField> trho + auto trho = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ':' + rho0_.name_, - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimDensity, Zero), - fvPatchFieldBase::extrapolatedCalculatedType() - ) + IOobject::scopedName(type(), rho0_.name_), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimDensity, Zero), + fvPatchFieldBase::extrapolatedCalculatedType() ); trho.ref().primitiveFieldRef() = this->rho(0, 0); @@ -288,22 +280,13 @@ tmp<volScalarField> constantFilmThermo::rho() const tmp<volScalarField> constantFilmThermo::mu() const { - tmp<volScalarField> tmu + auto tmu = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ':' + mu0_.name_, - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimPressure*dimTime, Zero), - extrapolatedCalculatedFvPatchScalarField::typeName - ) + IOobject::scopedName(type(), mu0_.name_), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimPressure*dimTime, Zero), + extrapolatedCalculatedFvPatchScalarField::typeName ); tmu.ref().primitiveFieldRef() = this->mu(0, 0); @@ -315,22 +298,13 @@ tmp<volScalarField> constantFilmThermo::mu() const tmp<volScalarField> constantFilmThermo::sigma() const { - tmp<volScalarField> tsigma + auto tsigma = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ':' + sigma0_.name_, - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimMass/sqr(dimTime), Zero), - extrapolatedCalculatedFvPatchScalarField::typeName - ) + IOobject::scopedName(type(), sigma0_.name_), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimMass/sqr(dimTime), Zero), + extrapolatedCalculatedFvPatchScalarField::typeName ); tsigma.ref().primitiveFieldRef() = this->sigma(0, 0); @@ -342,22 +316,13 @@ tmp<volScalarField> constantFilmThermo::sigma() const tmp<volScalarField> constantFilmThermo::Cp() const { - tmp<volScalarField> tCp + auto tCp = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ':' + Cp0_.name_, - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimEnergy/dimMass/dimTemperature, Zero), - extrapolatedCalculatedFvPatchScalarField::typeName - ) + IOobject::scopedName(type(), Cp0_.name_), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimEnergy/dimMass/dimTemperature, Zero), + extrapolatedCalculatedFvPatchScalarField::typeName ); tCp.ref().primitiveFieldRef() = this->Cp(0, 0); @@ -369,22 +334,13 @@ tmp<volScalarField> constantFilmThermo::Cp() const tmp<volScalarField> constantFilmThermo::kappa() const { - tmp<volScalarField> tkappa + auto tkappa = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ':' + kappa0_.name_, - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimPower/dimLength/dimTemperature, Zero), - extrapolatedCalculatedFvPatchScalarField::typeName - ) + IOobject::scopedName(type(), kappa0_.name_), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimPower/dimLength/dimTemperature, Zero), + extrapolatedCalculatedFvPatchScalarField::typeName ); tkappa.ref().primitiveFieldRef() = this->kappa(0, 0); diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C index bded086e115..d0a70fe7024 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -244,24 +245,14 @@ scalar liquidFilmThermo::Tb(const scalar p) const tmp<volScalarField> liquidFilmThermo::rho() const { - tmp<volScalarField> trho + auto trho = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ":rho", - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimDensity, Zero), - fvPatchFieldBase::extrapolatedCalculatedType() - ) + IOobject::scopedName(type(), "rho"), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimDensity, Zero), + fvPatchFieldBase::extrapolatedCalculatedType() ); - scalarField& rho = trho.ref().primitiveFieldRef(); if (useReferenceValues_) @@ -289,24 +280,14 @@ tmp<volScalarField> liquidFilmThermo::rho() const tmp<volScalarField> liquidFilmThermo::mu() const { - tmp<volScalarField> tmu + auto tmu = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ":mu", - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimPressure*dimTime, Zero), - extrapolatedCalculatedFvPatchScalarField::typeName - ) + IOobject::scopedName(type(), "mu"), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimPressure*dimTime, Zero), + extrapolatedCalculatedFvPatchScalarField::typeName ); - scalarField& mu = tmu.ref().primitiveFieldRef(); if (useReferenceValues_) @@ -334,24 +315,14 @@ tmp<volScalarField> liquidFilmThermo::mu() const tmp<volScalarField> liquidFilmThermo::sigma() const { - tmp<volScalarField> tsigma + auto tsigma = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ":sigma", - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimMass/sqr(dimTime), Zero), - extrapolatedCalculatedFvPatchScalarField::typeName - ) + IOobject::scopedName(type(), "sigma"), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimMass/sqr(dimTime), Zero), + extrapolatedCalculatedFvPatchScalarField::typeName ); - scalarField& sigma = tsigma.ref().primitiveFieldRef(); if (useReferenceValues_) @@ -379,24 +350,14 @@ tmp<volScalarField> liquidFilmThermo::sigma() const tmp<volScalarField> liquidFilmThermo::Cp() const { - tmp<volScalarField> tCp + auto tCp = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ":Cp", - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimEnergy/dimMass/dimTemperature, Zero), - extrapolatedCalculatedFvPatchScalarField::typeName - ) + IOobject::scopedName(type(), "Cp"), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimEnergy/dimMass/dimTemperature, Zero), + extrapolatedCalculatedFvPatchScalarField::typeName ); - scalarField& Cp = tCp.ref().primitiveFieldRef(); if (useReferenceValues_) @@ -424,24 +385,14 @@ tmp<volScalarField> liquidFilmThermo::Cp() const tmp<volScalarField> liquidFilmThermo::kappa() const { - tmp<volScalarField> tkappa + auto tkappa = volScalarField::New ( - new volScalarField - ( - IOobject - ( - type() + ":kappa", - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimPower/dimLength/dimTemperature, Zero), - extrapolatedCalculatedFvPatchScalarField::typeName - ) + IOobject::scopedName(type(), "kappa"), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimPower/dimLength/dimTemperature, Zero), + extrapolatedCalculatedFvPatchScalarField::typeName ); - scalarField& kappa = tkappa.ref().primitiveFieldRef(); if (useReferenceValues_) diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C index e91094ada85..28fc595be55 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -72,22 +73,13 @@ laminar::~laminar() tmp<volVectorField> laminar::Us() const { - tmp<volVectorField> tUs + auto tUs = volVectorField::New ( - new volVectorField - ( - IOobject - ( - typeName + ":Us", - filmModel_.regionMesh().time().timeName(), - filmModel_.regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - filmModel_.regionMesh(), - dimensionedVector(dimVelocity, Zero), - fvPatchFieldBase::extrapolatedCalculatedType() - ) + IOobject::scopedName(typeName, "Us"), + IOobject::NO_REGISTER, + filmModel_.regionMesh(), + dimensionedVector(dimVelocity, Zero), + fvPatchFieldBase::extrapolatedCalculatedType() ); // apply quadratic profile @@ -100,16 +92,10 @@ tmp<volVectorField> laminar::Us() const tmp<volScalarField> laminar::mut() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - typeName + ":mut", - filmModel_.regionMesh().time().timeName(), - filmModel_.regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(typeName, "mut"), + IOobject::NO_REGISTER, filmModel_.regionMesh(), dimensionedScalar(dimMass/dimLength/dimTime, Zero) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C index e88d983f080..0394eb3a67c 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -107,14 +107,15 @@ contactAngleForce::contactAngleForce ( IOobject ( - typeName + ":contactForceMask", + IOobject::scopedName(typeName, "contactForceMask"), filmModel_.time().timeName(), filmModel_.regionMesh(), IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ), filmModel_.regionMesh(), - dimensionedScalar("mask", dimless, 1.0) + dimensionedScalar(word::null, dimless, 1.0) ) { initialise(); @@ -131,24 +132,14 @@ contactAngleForce::~contactAngleForce() tmp<fvVectorMatrix> contactAngleForce::correct(volVectorField& U) { - tmp<volVectorField> tForce + auto tForce = volVectorField::New ( - new volVectorField - ( - IOobject - ( - typeName + ":contactForce", - filmModel_.time().timeName(), - filmModel_.regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - filmModel_.regionMesh(), - dimensionedVector(dimForce/dimArea, Zero) - ) + IOobject::scopedName(typeName, "contactForce"), + IOobject::NO_REGISTER, + filmModel_.regionMesh(), + dimensionedVector(dimForce/dimArea, Zero) ); - - vectorField& force = tForce.ref().primitiveFieldRef(); + auto& force = tForce.ref().primitiveFieldRef(); const labelUList& own = filmModel_.regionMesh().owner(); const labelUList& nbr = filmModel_.regionMesh().neighbour(); @@ -226,10 +217,7 @@ tmp<fvVectorMatrix> contactAngleForce::correct(volVectorField& U) tForce().write(); } - tmp<fvVectorMatrix> tfvm - ( - new fvVectorMatrix(U, dimForce/dimArea*dimVolume) - ); + auto tfvm = tmp<fvVectorMatrix>::New(U, dimForce/dimArea*dimVolume); tfvm.ref() += tForce; diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C index 514fdb0ab8d..6edb0ecd7af 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -74,34 +75,26 @@ distributionContactAngleForce::~distributionContactAngleForce() tmp<volScalarField> distributionContactAngleForce::theta() const { - tmp<volScalarField> ttheta + auto ttheta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - typeName + ":theta", - filmModel_.time().timeName(), - filmModel_.regionMesh() - ), - filmModel_.regionMesh(), - dimensionedScalar(dimless, Zero) - ) + IOobject::scopedName(typeName, "theta"), + IOobject::NO_REGISTER, + filmModel_.regionMesh(), + dimensionedScalar(dimless, Zero) ); + auto& thetaIf = ttheta.ref().internalFieldRef(); + auto& thetaBf = ttheta.ref().boundaryFieldRef(); - volScalarField& theta = ttheta.ref(); - volScalarField::Internal& thetai = theta.ref(); - - forAll(thetai, celli) + forAll(thetaIf, celli) { - thetai[celli] = distribution_->sample(); + thetaIf[celli] = distribution_->sample(); } - forAll(theta.boundaryField(), patchi) + forAll(thetaBf, patchi) { if (!filmModel_.isCoupledPatch(patchi)) { - fvPatchField<scalar>& thetaf = theta.boundaryFieldRef()[patchi]; + fvPatchField<scalar>& thetaf = thetaBf[patchi]; forAll(thetaf, facei) { @@ -113,6 +106,7 @@ tmp<volScalarField> distributionContactAngleForce::theta() const return ttheta; } + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace surfaceFilmModels diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C index f6ff1170d65..f22860ad72c 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,40 +84,32 @@ perturbedTemperatureDependentContactAngleForce:: tmp<volScalarField> perturbedTemperatureDependentContactAngleForce::theta() const { - tmp<volScalarField> ttheta + auto ttheta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - typeName + ":theta", - filmModel_.time().timeName(), - filmModel_.regionMesh() - ), - filmModel_.regionMesh(), - dimensionedScalar(dimless, Zero) - ) + IOobject::scopedName(typeName, "theta"), + IOobject::NO_REGISTER, + filmModel_.regionMesh(), + dimensionedScalar(dimless, Zero) ); - - volScalarField& theta = ttheta.ref(); - volScalarField::Internal& thetai = theta.ref(); + auto& thetaIf = ttheta.ref().internalFieldRef(); + auto& thetaBf = ttheta.ref().boundaryFieldRef(); const volScalarField& T = filmModel_.T(); // Initialize with the function of temperature - thetai.field() = thetaPtr_->value(T()); + thetaIf.field() = thetaPtr_->value(T()); // Add the stochastic perturbation - forAll(thetai, celli) + forAll(thetaIf, celli) { - thetai[celli] += distribution_->sample(); + thetaIf[celli] += distribution_->sample(); } - forAll(theta.boundaryField(), patchi) + forAll(thetaBf, patchi) { if (!filmModel_.isCoupledPatch(patchi)) { - fvPatchField<scalar>& thetaf = theta.boundaryFieldRef()[patchi]; + fvPatchField<scalar>& thetaf = thetaBf[patchi]; // Initialize with the function of temperature thetaf = thetaPtr_->value(T.boundaryField()[patchi]); @@ -132,6 +125,7 @@ perturbedTemperatureDependentContactAngleForce::theta() const return ttheta; } + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace surfaceFilmModels diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C index d78200a0a66..4b358419293 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,39 +72,32 @@ temperatureDependentContactAngleForce::~temperatureDependentContactAngleForce() tmp<volScalarField> temperatureDependentContactAngleForce::theta() const { - tmp<volScalarField> ttheta + auto ttheta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - typeName + ":theta", - filmModel_.time().timeName(), - filmModel_.regionMesh() - ), - filmModel_.regionMesh(), - dimensionedScalar(dimless, Zero) - ) + IOobject::scopedName(typeName, "theta"), + IOobject::NO_REGISTER, + filmModel_.regionMesh(), + dimensionedScalar(dimless, Zero) ); - - volScalarField& theta = ttheta.ref(); + auto& thetaIf = ttheta.ref().internalFieldRef(); + auto& thetaBf = ttheta.ref().boundaryFieldRef(); const volScalarField& T = filmModel_.T(); - theta.ref().field() = thetaPtr_->value(T()); + thetaIf.field() = thetaPtr_->value(T()); - forAll(theta.boundaryField(), patchi) + forAll(thetaBf, patchi) { if (!filmModel_.isCoupledPatch(patchi)) { - theta.boundaryFieldRef()[patchi] = - thetaPtr_->value(T.boundaryField()[patchi]); + thetaBf[patchi] = thetaPtr_->value(T.boundaryField()[patchi]); } } return ttheta; } + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace surfaceFilmModels diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.C index 6972aca86c7..eb8962e471b 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.C @@ -79,11 +79,8 @@ forceList::~forceList() tmp<fvVectorMatrix> forceList::correct(volVectorField& U) { - tmp<fvVectorMatrix> tResult - ( - new fvVectorMatrix(U, dimForce/dimArea*dimVolume) - ); - fvVectorMatrix& result = tResult.ref(); + auto tResult = tmp<fvVectorMatrix>::New(U, dimForce/dimArea*dimVolume); + auto& result = tResult.ref(); forAll(*this, i) { diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C index fddbee7d372..db48dc0e54d 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C @@ -68,8 +68,7 @@ tmp<fvVectorMatrix> thermocapillaryForce::correct(volVectorField& U) const volScalarField& alpha = filmModel_.alpha(); const volScalarField& sigma = filmModel_.sigma(); - tmp<fvVectorMatrix> - tfvm(new fvVectorMatrix(U, dimForce/dimArea*dimVolume)); + auto tfvm = tmp<fvVectorMatrix>::New(U, dimForce/dimArea*dimVolume); tfvm.ref() += alpha*fvc::grad(sigma); diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C index 11c405527ad..6cf20ab7bc0 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -66,21 +66,20 @@ tmp<volScalarField> curvatureSeparation::calcInvR1 { // method 1 /* - tmp<volScalarField> tinvR1 - ( - new volScalarField("invR1", fvc::div(film().nHat())) - ); + auto tinvR1 = volScalarField::New("invR1", fvc::div(film().nHat())); */ // method 2 dimensionedScalar smallU("smallU", dimVelocity, ROOTVSMALL); volVectorField UHat(U/(mag(U) + smallU)); - tmp<volScalarField> tinvR1 + + auto tinvR1 = volScalarField::New ( - new volScalarField("invR1", UHat & (UHat & gradNHat_)) + "invR1", + IOobject::NO_REGISTER, + UHat & (UHat & gradNHat_) ); - scalarField& invR1 = tinvR1.ref().primitiveFieldRef(); // apply defined patch radii @@ -197,21 +196,16 @@ tmp<scalarField> curvatureSeparation::calcCosAngle // checks if (debug && mesh.time().writeTime()) { - volScalarField volCosAngle + auto tvolCosAngle = volScalarField::New ( - IOobject - ( - "cosAngle", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "cosAngle", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimless, Zero), fvPatchFieldBase::zeroGradientType() ); + auto& volCosAngle = tvolCosAngle.ref(); + volCosAngle.primitiveFieldRef() = cosAngle; volCosAngle.correctBoundaryConditions(); volCosAngle.write(); @@ -341,21 +335,16 @@ void curvatureSeparation::correct if (debug && mesh.time().writeTime()) { - volScalarField volFnet + auto tvolFnet = volScalarField::New ( - IOobject - ( - "Fnet", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "Fnet", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimForce, Zero), fvPatchFieldBase::zeroGradientType() ); + auto& volFnet = tvolFnet.ref(); + volFnet.primitiveFieldRef() = Fnet; volFnet.correctBoundaryConditions(); volFnet.write(); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C index 04607ad05cc..48861e40370 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -62,7 +63,7 @@ constantRadiation::constantRadiation ( IOobject ( - typeName + ":qrConst", + IOobject::scopedName(typeName, "qrConst"), film.time().timeName(), film.regionMesh().thisDb(), IOobject::MUST_READ, @@ -74,7 +75,7 @@ constantRadiation::constantRadiation ( IOobject ( - typeName + ":mask", + IOobject::scopedName(typeName, "mask"), film.time().timeName(), film.regionMesh().thisDb(), IOobject::READ_IF_PRESENT, @@ -105,28 +106,19 @@ void constantRadiation::correct() tmp<volScalarField> constantRadiation::Shs() { - tmp<volScalarField> tShs + auto tShs = volScalarField::New ( - new volScalarField - ( - IOobject - ( - typeName + ":Shs", - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimMass/pow3(dimTime), Zero) - ) + IOobject::scopedName(typeName, "Shs"), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimMass/pow3(dimTime), Zero) ); + auto& Shs = tShs.ref().primitiveFieldRef(); const scalar time = film().time().value(); if ((time >= timeStart_) && (time <= timeStart_ + duration_)) { - scalarField& Shs = tShs.ref(); const scalarField& qr = qrConst_; const scalarField& alpha = filmModel_.alpha(); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C index cb934c67089..3851e8e5061 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -75,16 +76,10 @@ void noRadiation::correct() tmp<volScalarField> noRadiation::Shs() { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - typeName + ":Shs", - film().time().timeName(), - film().regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(typeName, "Shs"), + IOobject::NO_REGISTER, film().regionMesh(), dimensionedScalar(dimMass/pow3(dimTime), Zero) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C index 38b2b13e726..b53dfa9d5ef 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -66,7 +67,8 @@ primaryRadiation::primaryRadiation film.time().timeName(), film.regionMesh().thisDb(), IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), film.regionMesh(), dimensionedScalar(dimMass/pow3(dimTime), Zero), @@ -92,24 +94,15 @@ void primaryRadiation::correct() tmp<volScalarField> primaryRadiation::Shs() { - tmp<volScalarField> tShs + auto tShs = volScalarField::New ( - new volScalarField - ( - IOobject - ( - typeName + ":Shs", - film().time().timeName(), - film().regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimMass/pow3(dimTime), Zero) - ) + IOobject::scopedName(typeName, "Shs"), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimMass/pow3(dimTime), Zero) ); - scalarField& Shs = tShs.ref(); + const scalarField& qinP = qinPrimary_; const scalarField& alpha = filmModel_.alpha(); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C index fd397255700..9fabe064fb1 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -67,7 +68,8 @@ standardRadiation::standardRadiation film.time().timeName(), film.regionMesh().thisDb(), IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), film.regionMesh(), dimensionedScalar(dimMass/pow3(dimTime), Zero), @@ -81,7 +83,8 @@ standardRadiation::standardRadiation film.time().timeName(), film.regionMesh().thisDb(), IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), film.regionMesh(), dimensionedScalar(dimMass/pow3(dimTime), Zero), @@ -103,24 +106,15 @@ void standardRadiation::correct() tmp<volScalarField> standardRadiation::Shs() { - tmp<volScalarField> tShs + auto tShs = volScalarField::New ( - new volScalarField - ( - IOobject - ( - typeName + ":Shs", - film().time().timeName(), - film().regionMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - film().regionMesh(), - dimensionedScalar(dimMass/pow3(dimTime), Zero) - ) + IOobject::scopedName(typeName, "Shs"), + IOobject::NO_REGISTER, + film().regionMesh(), + dimensionedScalar(dimMass/pow3(dimTime), Zero) ); - scalarField& Shs = tShs.ref(); + const scalarField& qinP = qinPrimary_; const scalarField& delta = filmModel_.delta(); const scalarField& alpha = filmModel_.alpha(); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C index 67d8e792b89..058cb62aedd 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -76,11 +77,12 @@ thixotropicViscosity::thixotropicViscosity ( IOobject ( - typeName + ":lambda", + IOobject::scopedName(typeName, "lambda"), film.regionMesh().time().timeName(), film.regionMesh().thisDb(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), film.regionMesh() ) diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/waxSolventViscosity/waxSolventViscosity.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/waxSolventViscosity/waxSolventViscosity.C index df4c6ab9a87..6bbd2cbfc90 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/waxSolventViscosity/waxSolventViscosity.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/waxSolventViscosity/waxSolventViscosity.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,37 +58,29 @@ void waxSolventViscosity::correctMu() { const kinematicSingleLayer& film = filmType<kinematicSingleLayer>(); - const uniformDimensionedScalarField Wwax - ( + const auto& Wwax = film.regionMesh().lookupObject<uniformDimensionedScalarField> ( - waxSolventEvaporation::typeName + ":Wwax" - ) - ); + IOobject::scopedName(waxSolventEvaporation::typeName, "Wwax") + ); - const uniformDimensionedScalarField Wsolvent - ( + const auto& Wsolvent = film.regionMesh().lookupObject<uniformDimensionedScalarField> ( - waxSolventEvaporation::typeName + ":Wsolvent" - ) - ); + IOobject::scopedName(waxSolventEvaporation::typeName, "Wsolvent") + ); - const uniformDimensionedScalarField Ysolvent0 - ( + const auto& Ysolvent0 = film.regionMesh().lookupObject<uniformDimensionedScalarField> ( - waxSolventEvaporation::typeName + ":Ysolvent0" - ) - ); + IOobject::scopedName(waxSolventEvaporation::typeName, "Ysolvent0") + ); - const volScalarField& Ysolvent - ( + const auto& Ysolvent = film.regionMesh().lookupObject<volScalarField> ( - waxSolventEvaporation::typeName + ":Ysolvent" - ) - ); + IOobject::scopedName(waxSolventEvaporation::typeName, "Ysolvent") + ); const volScalarField Xsolvent ( @@ -118,11 +111,12 @@ waxSolventViscosity::waxSolventViscosity ( IOobject ( - typeName + ":muWax", + IOobject::scopedName(typeName, "muWax"), film.regionMesh().time().timeName(), film.regionMesh().thisDb(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), film.regionMesh(), dimensionedScalar(dimDynamicViscosity, Zero), @@ -141,11 +135,12 @@ waxSolventViscosity::waxSolventViscosity ( IOobject ( - typeName + ":muSolvent", + IOobject::scopedName(typeName, "muSolvent"), film.regionMesh().time().timeName(), film.regionMesh().thisDb(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), film.regionMesh(), dimensionedScalar(dimDynamicViscosity, Zero), diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C index 9bdae5059ca..518e50b1e62 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C @@ -76,26 +76,16 @@ void constantHeatTransfer::correct() tmp<volScalarField> constantHeatTransfer::h() const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField + "htc", + IOobject::NO_REGISTER, + filmModel_.regionMesh(), + dimensionedScalar ( - IOobject - ( - "htc", - filmModel_.time().timeName(), - filmModel_.regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - filmModel_.regionMesh(), - dimensionedScalar - ( - "c0", - dimEnergy/dimTime/sqr(dimLength)/dimTemperature, - c0_ - ) + "c0", + dimEnergy/dimTime/sqr(dimLength)/dimTemperature, + c0_ ) ); } diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.C index dd7ecd529a4..1c36295efc5 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -75,11 +75,12 @@ solidification::solidification ( IOobject ( - typeName + ":mass", + IOobject::scopedName(typeName, "mass"), film.regionMesh().time().timeName(), film.regionMesh().thisDb(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), film.regionMesh(), dimensionedScalar(dimMass, Zero), @@ -89,11 +90,12 @@ solidification::solidification ( IOobject ( - typeName + ":thickness", + IOobject::scopedName(typeName, "thickness"), film.regionMesh().time().timeName(), film.regionMesh().thisDb(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), film.regionMesh(), dimensionedScalar(dimLength, Zero), diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/waxSolventEvaporation/waxSolventEvaporation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/waxSolventEvaporation/waxSolventEvaporation.C index 13ab7a4d15c..b59786b74a6 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/waxSolventEvaporation/waxSolventEvaporation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/waxSolventEvaporation/waxSolventEvaporation.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -88,9 +88,12 @@ waxSolventEvaporation::waxSolventEvaporation ( IOobject ( - typeName + ":Wwax", + IOobject::scopedName(typeName, "Wwax"), film.regionMesh().time().constant(), - film.regionMesh().thisDb() + film.regionMesh().thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::REGISTER ), coeffDict_.get<scalar>("Wwax") ), @@ -98,9 +101,12 @@ waxSolventEvaporation::waxSolventEvaporation ( IOobject ( - typeName + ":Wsolvent", + IOobject::scopedName(typeName, "Wsolvent"), film.regionMesh().time().constant(), - film.regionMesh().thisDb() + film.regionMesh().thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::REGISTER ), coeffDict_.get<scalar>("Wsolvent") ), @@ -108,22 +114,24 @@ waxSolventEvaporation::waxSolventEvaporation ( IOobject ( - typeName + ":Ysolvent0", + IOobject::scopedName(typeName, "Ysolvent0"), film.regionMesh().time().constant(), film.regionMesh().thisDb(), IOobject::MUST_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ) ), Ysolvent_ ( IOobject ( - typeName + ":Ysolvent", + IOobject::scopedName(typeName, "Ysolvent"), film.regionMesh().time().timeName(), film.regionMesh().thisDb(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), film.regionMesh() ), @@ -187,35 +195,21 @@ void waxSolventEvaporation::correctModel const scalar Wwax = Wwax_.value(); const scalar Wsolvent = Wsolvent_.value(); - volScalarField::Internal evapRateCoeff + auto tevapRateCoeff = volScalarField::Internal::New ( - IOobject - ( - typeName + ":evapRateCoeff", - film.regionMesh().time().timeName(), - film.regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(typeName, "evapRateCoeff"), film.regionMesh(), dimensionedScalar(dimDensity*dimVelocity, Zero) ); + auto& evapRateCoeff = tevapRateCoeff.ref(); - volScalarField::Internal evapRateInf + auto tevapRateInf = volScalarField::Internal::New ( - IOobject - ( - typeName + ":evapRateInf", - film.regionMesh().time().timeName(), - film.regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(typeName, "evapRateInf"), film.regionMesh(), dimensionedScalar(dimDensity*dimVelocity, Zero) ); + auto& evapRateInf = tevapRateInf.ref(); bool filmPresent = false; diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C index 9202742a838..ba9bf0b0cbd 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C @@ -327,7 +327,8 @@ thermoSingleLayer::thermoSingleLayer regionMesh().time().timeName(), regionMesh().thisDb(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), regionMesh(), dimensionedScalar(dimEnergy/dimMass/dimTemperature, Zero), @@ -341,7 +342,8 @@ thermoSingleLayer::thermoSingleLayer regionMesh().time().timeName(), regionMesh().thisDb(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), regionMesh(), dimensionedScalar(dimEnergy/dimTime/dimLength/dimTemperature, Zero), @@ -356,7 +358,8 @@ thermoSingleLayer::thermoSingleLayer regionMesh().time().timeName(), regionMesh().thisDb(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), regionMesh() ), @@ -705,38 +708,28 @@ void thermoSingleLayer::info() tmp<volScalarField::Internal> thermoSingleLayer::Srho() const { - tmp<volScalarField::Internal> tSrho + auto tSrho = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - typeName + ":Srho", - time().timeName(), - primaryMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - primaryMesh(), - dimensionedScalar(dimMass/dimVolume/dimTime, Zero) - ) + IOobject::scopedName(typeName, "Srho"), + IOobject::NO_REGISTER, + primaryMesh(), + dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); - scalarField& Srho = tSrho.ref(); + const scalarField& V = primaryMesh().V(); const scalar dt = time_.deltaTValue(); forAll(intCoupledPatchIDs(), i) { const label filmPatchi = intCoupledPatchIDs()[i]; + const label primaryPatchi = primaryPatchIDs()[i]; scalarField patchMass = primaryMassTrans_.boundaryField()[filmPatchi]; toPrimary(filmPatchi, patchMass); - const label primaryPatchi = primaryPatchIDs()[i]; const labelUList& cells = primaryMesh().boundaryMesh()[primaryPatchi].faceCells(); @@ -757,40 +750,30 @@ tmp<volScalarField::Internal> thermoSingleLayer::Srho { const label vapId = thermo_.carrierId(filmThermo_->name()); - tmp<volScalarField::Internal> tSrho + auto tSrho = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - typeName + ":Srho(" + Foam::name(i) + ")", - time_.timeName(), - primaryMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - primaryMesh(), - dimensionedScalar(dimMass/dimVolume/dimTime, Zero) - ) + IOobject::scopedName(typeName, "Srho(" + Foam::name(i) + ")"), + IOobject::NO_REGISTER, + primaryMesh(), + dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); + scalarField& Srho = tSrho.ref(); if (vapId == i) { - scalarField& Srho = tSrho.ref(); const scalarField& V = primaryMesh().V(); const scalar dt = time().deltaTValue(); forAll(intCoupledPatchIDs_, i) { const label filmPatchi = intCoupledPatchIDs_[i]; + const label primaryPatchi = primaryPatchIDs()[i]; scalarField patchMass = primaryMassTrans_.boundaryField()[filmPatchi]; toPrimary(filmPatchi, patchMass); - const label primaryPatchi = primaryPatchIDs()[i]; const labelUList& cells = primaryMesh().boundaryMesh()[primaryPatchi].faceCells(); @@ -807,38 +790,28 @@ tmp<volScalarField::Internal> thermoSingleLayer::Srho tmp<volScalarField::Internal> thermoSingleLayer::Sh() const { - tmp<volScalarField::Internal> tSh + auto tSh = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - typeName + ":Sh", - time().timeName(), - primaryMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - primaryMesh(), - dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) - ) + IOobject::scopedName(typeName, "Sh"), + IOobject::NO_REGISTER, + primaryMesh(), + dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); - scalarField& Sh = tSh.ref(); + const scalarField& V = primaryMesh().V(); const scalar dt = time_.deltaTValue(); forAll(intCoupledPatchIDs_, i) { const label filmPatchi = intCoupledPatchIDs_[i]; + const label primaryPatchi = primaryPatchIDs()[i]; scalarField patchEnergy = primaryEnergyTrans_.boundaryField()[filmPatchi]; toPrimary(filmPatchi, patchEnergy); - const label primaryPatchi = primaryPatchIDs()[i]; const labelUList& cells = primaryMesh().boundaryMesh()[primaryPatchi].faceCells(); diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H index e53bd1a16b1..3c2ef6ed133 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H @@ -64,20 +64,11 @@ inline tmp<volScalarField> thermoSingleLayer::hs const volScalarField& T ) const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "hs(" + T.name() + ")", - regionMesh().time().timeName(), - regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - Cp_*(T - Tref) - ) + "hs(" + T.name() + ")", + IOobject::NO_REGISTER, + Cp_*(T - Tref) ); } @@ -87,20 +78,11 @@ inline tmp<volScalarField> thermoSingleLayer::T const volScalarField& hs ) const { - tmp<volScalarField> tT + auto tT = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "T(" + hs.name() + ")", - regionMesh().time().timeName(), - regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - hs/Cp_ + Tref - ) + "T(" + hs.name() + ")", + IOobject::NO_REGISTER, + hs/Cp_ + Tref ); if (limitType::CLAMP_MIN == withTbounds_) diff --git a/src/regionModels/thermalBaffleModels/noThermo/noThermo.C b/src/regionModels/thermalBaffleModels/noThermo/noThermo.C index 755c3a4e4ec..40e96f6d932 100644 --- a/src/regionModels/thermalBaffleModels/noThermo/noThermo.C +++ b/src/regionModels/thermalBaffleModels/noThermo/noThermo.C @@ -92,24 +92,7 @@ const tmp<volScalarField> noThermo::Cp() const FatalErrorInFunction << "Cp field not available for " << type() << abort(FatalError); - - return tmp<volScalarField> - ( - new volScalarField - ( - IOobject - ( - "noThermo::Cp", - time().timeName(), - primaryMesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - primaryMesh(), - dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) - ) - ); + return nullptr; } const volScalarField& noThermo::kappaRad() const diff --git a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C index 75aa0614587..a5e915dcd39 100644 --- a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C +++ b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C @@ -72,25 +72,14 @@ void thermalBaffle::solveEnergy() const polyBoundaryMesh& rbm = regionMesh().boundaryMesh(); - tmp<volScalarField> tQ + auto tQ = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "tQ", - regionMesh().time().timeName(), - regionMesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - regionMesh(), - dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) - ) + "tQ", + IOobject::NO_REGISTER, + regionMesh(), + dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); - - volScalarField& Q = tQ.ref(); + auto& Q = tQ.ref(); volScalarField rho("rho", thermo_->rho()); volScalarField alpha("alpha", thermo_->alpha()); -- GitLab From 995a9705e23dad02d1c23a8de1a3771b6af6a221 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 10:07:00 +0100 Subject: [PATCH 052/231] ENH: use tmp field factory methods [5] (#2723) - src/lagrangian --- .../clouds/Templates/DSMCCloud/DSMCCloud.C | 55 +++++--- .../coalCloudList/coalCloudListI.H | 128 ++++++------------ .../Templates/KinematicCloud/KinematicCloud.C | 19 ++- .../KinematicCloud/KinematicCloudI.H | 113 ++++------------ .../Templates/ReactingCloud/ReactingCloud.C | 27 +++- .../Templates/ReactingCloud/ReactingCloudI.H | 102 ++++---------- .../Templates/ThermoCloud/ThermoCloud.C | 37 ++--- .../Templates/ThermoCloud/ThermoCloudI.H | 66 +++------ .../KinematicParcelTrackingDataI.H | 19 +-- .../MPPICParcel/MPPICParcelTrackingDataI.H | 18 +-- .../PatchCollisionDensity.C | 74 +++++----- .../PatchInteractionFields.C | 14 +- .../LocalInteraction/LocalInteraction.C | 18 +-- .../AveragingMethod/AveragingMethod.C | 49 +++---- .../DampingModels/Relaxation/Relaxation.C | 23 ++-- .../IsotropyModels/Stochastic/Stochastic.C | 32 ++--- .../MPPIC/PackingModels/Explicit/Explicit.C | 20 +-- .../MPPIC/PackingModels/Implicit/Implicit.C | 104 ++++++-------- .../ParticleStressModel/ParticleStressModel.C | 10 +- .../cloudAbsorptionEmission.C | 61 +++------ .../scatter/cloudScatter/cloudScatter.C | 28 ++-- 21 files changed, 416 insertions(+), 601 deletions(-) diff --git a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C index a02de47f9c5..f64021f05de 100644 --- a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C +++ b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -473,8 +473,9 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud cloudName + "Properties", mesh_.time().constant(), mesh_, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE + IOobject::READ_MODIFIED, + IOobject::NO_WRITE, + IOobject::REGISTER ) ), typeIdList_(particleProperties_.lookup("typeIdList")), @@ -488,7 +489,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -496,7 +498,7 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud ( IOobject ( - this->name() + ":collisionSelectionRemainder", + IOobject::scopedName(this->name(), "collisionSelectionRemainder"), mesh_.time().timeName(), mesh_ ), @@ -511,7 +513,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -523,7 +526,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -535,7 +539,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -547,7 +552,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -559,7 +565,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -571,7 +578,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -583,7 +591,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -595,7 +604,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -607,7 +617,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -621,7 +632,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -633,7 +645,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_ ), @@ -698,8 +711,9 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud cloudName + "Properties", mesh_.time().constant(), mesh_, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE + IOobject::READ_MODIFIED, + IOobject::NO_WRITE, + IOobject::REGISTER ) ), typeIdList_(particleProperties_.lookup("typeIdList")), @@ -713,7 +727,8 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud mesh_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimensionSet(0, 3, -1, 0, 0), Zero), @@ -723,7 +738,7 @@ Foam::DSMCCloud<ParcelType>::DSMCCloud ( IOobject ( - this->name() + ":collisionSelectionRemainder", + IOobject::scopedName(this->name(), "collisionSelectionRemainder"), mesh_.time().timeName(), mesh_ ), diff --git a/src/lagrangian/coalCombustion/coalCloudList/coalCloudListI.H b/src/lagrangian/coalCombustion/coalCloudList/coalCloudListI.H index c4385d7dc2f..21e4a2ad423 100644 --- a/src/lagrangian/coalCombustion/coalCloudList/coalCloudListI.H +++ b/src/lagrangian/coalCombustion/coalCloudList/coalCloudListI.H @@ -32,24 +32,14 @@ License Foam::tmp<Foam::DimensionedField<Foam::vector, Foam::volMesh>> Foam::coalCloudList::UTrans() const { - tmp<volVectorField::Internal> tfld + auto tfld = volVectorField::Internal::New ( - new volVectorField::Internal - ( - IOobject - ( - "UTransEff", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedVector(dimMass*dimVelocity, Zero) - ) + "UTransEff", + IOobject::NO_REGISTER, + mesh_, + dimensionedVector(dimMass*dimVelocity, Zero) ); - - volVectorField::Internal& fld = tfld.ref(); + auto& fld = tfld.ref(); forAll(*this, i) { @@ -65,8 +55,8 @@ Foam::tmp<Foam::fvVectorMatrix> Foam::coalCloudList::SU volVectorField& U ) const { - tmp<fvVectorMatrix> tfvm(new fvVectorMatrix(U, dimForce)); - fvVectorMatrix& fvm = tfvm.ref(); + auto tfvm = tmp<fvVectorMatrix>::New(U, dimForce); + auto& fvm = tfvm.ref(); forAll(*this, i) { @@ -80,24 +70,14 @@ Foam::tmp<Foam::fvVectorMatrix> Foam::coalCloudList::SU Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::coalCloudList::hsTrans() const { - tmp<volScalarField::Internal> tfld + auto tfld = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - "hsTransEff", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimEnergy, Zero) - ) + "hsTransEff", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimEnergy, Zero) ); - - volScalarField::Internal& fld = tfld.ref(); + auto& fld = tfld.ref(); forAll(*this, i) { @@ -113,8 +93,8 @@ Foam::tmp<Foam::fvScalarMatrix> Foam::coalCloudList::Sh volScalarField& hs ) const { - tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(hs, dimEnergy/dimTime)); - fvScalarMatrix& fvm = tfvm.ref(); + auto tfvm = tmp<fvScalarMatrix>::New(hs, dimEnergy/dimTime); + auto& fvm = tfvm.ref(); forAll(*this, i) { @@ -131,8 +111,8 @@ Foam::tmp<Foam::fvScalarMatrix> Foam::coalCloudList::SYi volScalarField& Yi ) const { - tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(Yi, dimMass/dimTime)); - fvScalarMatrix& fvm = tfvm.ref(); + auto tfvm = tmp<fvScalarMatrix>::New(Yi, dimMass/dimTime); + auto& fvm = tfvm.ref(); forAll(*this, i) { @@ -146,24 +126,14 @@ Foam::tmp<Foam::fvScalarMatrix> Foam::coalCloudList::SYi Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::coalCloudList::rhoTrans() const { - tmp<volScalarField::Internal> tfld + auto tfld = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - "rhoTransEff", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimMass, Zero) - ) + "rhoTransEff", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimMass, Zero) ); - - volScalarField::Internal& fld = tfld.ref(); + auto& fld = tfld.ref(); forAll(*this, i) { @@ -177,29 +147,17 @@ Foam::coalCloudList::rhoTrans() const } - - Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::coalCloudList::Srho() const { - tmp<volScalarField::Internal> tfld + auto tfld = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - "rhoTransEff", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimDensity/dimTime, Zero) - ) + "rhoTransEff", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimDensity/dimTime, Zero) ); - - volScalarField::Internal& fld = tfld.ref(); + auto& fld = tfld.ref(); forAll(*this, i) { @@ -216,24 +174,14 @@ Foam::coalCloudList::Srho const label i ) const { - tmp<volScalarField::Internal> tfld + auto tfld = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - "rhoTransEff", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimDensity/dimTime, Zero) - ) + "rhoTransEff", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimDensity/dimTime, Zero) ); - - volScalarField::Internal& fld = tfld.ref(); + auto& fld = tfld.ref(); forAll(*this, j) { @@ -249,8 +197,8 @@ Foam::tmp<Foam::fvScalarMatrix> Foam::coalCloudList::Srho volScalarField& rho ) const { - tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(rho, dimMass/dimTime)); - fvScalarMatrix& fvm = tfvm.ref(); + auto tfvm = tmp<fvScalarMatrix>::New(rho, dimMass/dimTime); + auto& fvm = tfvm.ref(); forAll(*this, i) { diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index f6b57014b4c..776d3af8110 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -360,8 +360,9 @@ Foam::KinematicCloud<CloudType>::KinematicCloud cloudName + "Properties", mesh_.time().constant(), mesh_, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE + IOobject::READ_MODIFIED, + IOobject::NO_WRITE, + IOobject::REGISTER ) ), outputProperties_ @@ -373,7 +374,8 @@ Foam::KinematicCloud<CloudType>::KinematicCloud "uniform"/cloud::prefix/cloudName, mesh_, IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ) ), solution_(mesh_, particleProperties_.subDict("solution")), @@ -438,7 +440,8 @@ Foam::KinematicCloud<CloudType>::KinematicCloud this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass, Zero) @@ -454,7 +457,8 @@ Foam::KinematicCloud<CloudType>::KinematicCloud this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedVector(dimMass*dimVelocity, Zero) @@ -470,7 +474,8 @@ Foam::KinematicCloud<CloudType>::KinematicCloud this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass, Zero) @@ -571,7 +576,7 @@ Foam::KinematicCloud<CloudType>::KinematicCloud ( IOobject ( - name + ":UCoeff", + IOobject::scopedName(this->name(), "UCoeff"), this->db().time().timeName(), this->db(), IOobject::NO_READ, diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H index 3ade1a4de53..5651acab617 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H @@ -515,24 +515,15 @@ Foam::KinematicCloud<CloudType>::Srhok() const return rhokTrans()/this->db().time().deltaT()/this->mesh().V(); } - return - tmp<volScalarField::Internal>::New + return tmp<volScalarField::Internal>::New + ( + this->newIOobject(IOobject::scopedName(this->name(), "rhokTrans")), + this->mesh(), + dimensionedScalar ( - IOobject - ( - IOobject::scopedName(this->name(), "rhokTrans"), - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar - ( - rhokTrans().dimensions()/dimTime/dimVolume, Zero - ) - ); + rhokTrans().dimensions()/dimTime/dimVolume, Zero + ) + ); } @@ -571,8 +562,8 @@ const } else { - tmp<fvVectorMatrix> tfvm(new fvVectorMatrix(U, dim)); - fvVectorMatrix& fvm = tfvm.ref(); + auto tfvm = tmp<fvVectorMatrix>::New(U, dim); + auto& fvm = tfvm.ref(); fvm.source() = -UTrans()/(this->db().time().deltaT()); @@ -588,26 +579,15 @@ template<class CloudType> inline const Foam::tmp<Foam::volScalarField> Foam::KinematicCloud<CloudType>::vDotSweep() const { - tmp<volScalarField> tvDotSweep + auto tvDotSweep = tmp<volScalarField>::New ( - new volScalarField - ( - IOobject - ( - IOobject::scopedName(this->name(), "vDotSweep"), - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless/dimTime, Zero), - fvPatchFieldBase::extrapolatedCalculatedType() - ) + this->newIOobject(IOobject::scopedName(this->name(), "vDotSweep")), + mesh_, + dimensionedScalar(dimless/dimTime, Zero), + fvPatchFieldBase::extrapolatedCalculatedType() ); + auto& vDotSweep = tvDotSweep.ref(); - volScalarField& vDotSweep = tvDotSweep.ref(); for (const parcelType& p : *this) { const label celli = p.cell(); @@ -626,26 +606,15 @@ template<class CloudType> inline const Foam::tmp<Foam::volScalarField> Foam::KinematicCloud<CloudType>::theta() const { - tmp<volScalarField> ttheta + auto ttheta = tmp<volScalarField>::New ( - new volScalarField - ( - IOobject - ( - IOobject::scopedName(this->name(), "theta"), - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless, Zero), - fvPatchFieldBase::extrapolatedCalculatedType() - ) + this->newIOobject(IOobject::scopedName(this->name(), "theta")), + mesh_, + dimensionedScalar(dimless, Zero), + fvPatchFieldBase::extrapolatedCalculatedType() ); + auto& theta = ttheta.ref(); - volScalarField& theta = ttheta.ref(); for (const parcelType& p : *this) { const label celli = p.cell(); @@ -664,22 +633,11 @@ template<class CloudType> inline const Foam::tmp<Foam::volScalarField> Foam::KinematicCloud<CloudType>::alpha() const { - tmp<volScalarField> talpha + auto talpha = tmp<volScalarField>::New ( - new volScalarField - ( - IOobject - ( - IOobject::scopedName(this->name(), "alpha"), - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless, Zero) - ) + this->newIOobject(IOobject::scopedName(this->name(), "alpha")), + mesh_, + dimensionedScalar(dimless, Zero) ); scalarField& alpha = talpha.ref().primitiveFieldRef(); @@ -700,22 +658,11 @@ template<class CloudType> inline const Foam::tmp<Foam::volScalarField> Foam::KinematicCloud<CloudType>::rhoEff() const { - tmp<volScalarField> trhoEff + auto trhoEff = tmp<volScalarField>::New ( - new volScalarField - ( - IOobject - ( - IOobject::scopedName(this->name(), "rhoEff"), - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimDensity, Zero) - ) + this->newIOobject(IOobject::scopedName(this->name(), "rhoEff")), + mesh_, + dimensionedScalar(dimDensity, Zero) ); scalarField& rhoEff = trhoEff.ref().primitiveFieldRef(); diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C index 1062223379d..8c85ff362b3 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C @@ -120,7 +120,15 @@ Foam::ReactingCloud<CloudType>::ReactingCloud // Set storage for mass source fields and initialise to zero forAll(rhoTrans_, i) { - const word& specieName = thermo.carrier().species()[i]; + const word fieldName + ( + IOobject::scopedName + ( + this->name(), + "rhoTrans_" + thermo.carrier().species()[i] + ) + ); + rhoTrans_.set ( i, @@ -128,11 +136,12 @@ Foam::ReactingCloud<CloudType>::ReactingCloud ( IOobject ( - this->name() + ":rhoTrans_" + specieName, + fieldName, this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(dimMass, Zero) @@ -164,7 +173,15 @@ Foam::ReactingCloud<CloudType>::ReactingCloud { forAll(c.rhoTrans_, i) { - const word& specieName = this->thermo().carrier().species()[i]; + const word fieldName + ( + IOobject::scopedName + ( + this->name(), + "rhoTrans_" + this->thermo().carrier().species()[i] + ) + ); + rhoTrans_.set ( i, @@ -172,7 +189,7 @@ Foam::ReactingCloud<CloudType>::ReactingCloud ( IOobject ( - this->name() + ":rhoTrans_" + specieName, + fieldName, this->db().time().timeName(), this->db(), IOobject::NO_READ, diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudI.H b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudI.H index 8f357987e53..91d816ee5f4 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudI.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -144,25 +145,14 @@ inline Foam::tmp<Foam::fvScalarMatrix> Foam::ReactingCloud<CloudType>::SYi { if (this->solution().semiImplicit("Yi")) { - tmp<volScalarField> trhoTrans + auto trhoTrans = volScalarField::New ( - new volScalarField - ( - IOobject - ( - this->name() + ":rhoTrans", - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(dimMass/dimTime/dimVolume, Zero) - ) + IOobject::scopedName(this->name(), "rhoTrans"), + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimMass/dimTime/dimVolume, Zero) ); - - volScalarField& sourceField = trhoTrans.ref(); + auto& sourceField = trhoTrans.ref(); sourceField.primitiveFieldRef() = rhoTrans_[i]/(this->db().time().deltaTValue()*this->mesh().V()); @@ -175,8 +165,8 @@ inline Foam::tmp<Foam::fvScalarMatrix> Foam::ReactingCloud<CloudType>::SYi } else { - tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(Yi, dimMass/dimTime)); - fvScalarMatrix& fvm = tfvm.ref(); + auto tfvm = tmp<fvScalarMatrix>::New(Yi, dimMass/dimTime); + auto& fvm = tfvm.ref(); fvm.source() = -rhoTrans_[i]/this->db().time().deltaTValue(); @@ -192,30 +182,20 @@ template<class CloudType> inline Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::ReactingCloud<CloudType>::Srho(const label i) const { - tmp<volScalarField::Internal> tRhoi + auto tRhoi = volScalarField::Internal::New ( - new volScalarField::Internal + IOobject::scopedName(this->name(), "rhoTrans"), + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar ( - IOobject - ( - this->name() + ":rhoTrans", - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar - ( - rhoTrans_[0].dimensions()/dimTime/dimVolume, Zero - ) + rhoTrans_[0].dimensions()/dimTime/dimVolume, Zero ) ); + scalarField& rhoi = tRhoi.ref(); if (this->solution().coupled()) { - scalarField& rhoi = tRhoi.ref(); rhoi = rhoTrans_[i]/(this->db().time().deltaTValue()*this->mesh().V()); } @@ -227,30 +207,20 @@ template<class CloudType> inline Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::ReactingCloud<CloudType>::Srho() const { - tmp<volScalarField::Internal> trhoTrans + auto trhoTrans = volScalarField::Internal::New ( - new volScalarField::Internal + IOobject::scopedName(this->name(), "rhoTrans"), + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar ( - IOobject - ( - this->name() + ":rhoTrans", - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar - ( - rhoTrans_[0].dimensions()/dimTime/dimVolume, Zero - ) + rhoTrans_[0].dimensions()/dimTime/dimVolume, Zero ) ); + scalarField& sourceField = trhoTrans.ref(); if (this->solution().coupled()) { - scalarField& sourceField = trhoTrans.ref(); forAll(rhoTrans_, i) { sourceField += rhoTrans_[i]; @@ -269,29 +239,17 @@ Foam::ReactingCloud<CloudType>::Srho(volScalarField& rho) const { if (this->solution().coupled()) { - tmp<volScalarField> trhoTrans + auto trhoTrans = volScalarField::New ( - new volScalarField - ( - IOobject - ( - this->name() + ":rhoTrans", - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(dimMass/dimTime/dimVolume, Zero) - ) + IOobject::scopedName(this->name(), "rhoTrans"), + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimMass/dimTime/dimVolume, Zero) ); - scalarField& sourceField = trhoTrans.ref(); if (this->solution().semiImplicit("rho")) { - forAll(rhoTrans_, i) { sourceField += rhoTrans_[i]; @@ -302,8 +260,8 @@ Foam::ReactingCloud<CloudType>::Srho(volScalarField& rho) const } else { - tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(rho, dimMass/dimTime)); - fvScalarMatrix& fvm = tfvm.ref(); + auto tfvm = tmp<fvScalarMatrix>::New(rho, dimMass/dimTime); + auto& fvm = tfvm.ref(); forAll(rhoTrans_, i) { diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C index 9f232d96c27..1d7e1f1ea04 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -64,11 +64,12 @@ void Foam::ThermoCloud<CloudType>::setModels() ( IOobject ( - this->name() + ":radAreaP", + IOobject::scopedName(this->name(), "radAreaP"), this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(dimArea, Zero) @@ -81,11 +82,12 @@ void Foam::ThermoCloud<CloudType>::setModels() ( IOobject ( - this->name() + ":radT4", + IOobject::scopedName(this->name(), "radT4"), this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(pow4(dimTemperature), Zero) @@ -98,11 +100,12 @@ void Foam::ThermoCloud<CloudType>::setModels() ( IOobject ( - this->name() + ":radAreaPT4", + IOobject::scopedName(this->name(), "radAreaPT4"), this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(sqr(dimLength)*pow4(dimTemperature), Zero) @@ -164,11 +167,12 @@ Foam::ThermoCloud<CloudType>::ThermoCloud ( IOobject ( - this->name() + ":hsTrans", + IOobject::scopedName(this->name(), "hsTrans"), this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(dimEnergy, Zero) @@ -180,11 +184,12 @@ Foam::ThermoCloud<CloudType>::ThermoCloud ( IOobject ( - this->name() + ":hsCoeff", + IOobject::scopedName(this->name(), "hsCoeff"), this->db().time().timeName(), this->db(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(dimEnergy/dimTemperature, Zero) @@ -235,7 +240,7 @@ Foam::ThermoCloud<CloudType>::ThermoCloud ( IOobject ( - this->name() + ":hsTrans", + IOobject::scopedName(this->name(), "hsTrans"), this->db().time().timeName(), this->db(), IOobject::NO_READ, @@ -251,7 +256,7 @@ Foam::ThermoCloud<CloudType>::ThermoCloud ( IOobject ( - this->name() + ":hsCoeff", + IOobject::scopedName(this->name(), "hsCoeff"), this->db().time().timeName(), this->db(), IOobject::NO_READ, @@ -270,7 +275,7 @@ Foam::ThermoCloud<CloudType>::ThermoCloud ( IOobject ( - this->name() + ":radAreaP", + IOobject::scopedName(this->name(), "radAreaP"), this->db().time().timeName(), this->db(), IOobject::NO_READ, @@ -287,7 +292,7 @@ Foam::ThermoCloud<CloudType>::ThermoCloud ( IOobject ( - this->name() + ":radT4", + IOobject::scopedName(this->name(), "radT4"), this->db().time().timeName(), this->db(), IOobject::NO_READ, @@ -304,7 +309,7 @@ Foam::ThermoCloud<CloudType>::ThermoCloud ( IOobject ( - this->name() + ":radAreaPT4", + IOobject::scopedName(this->name(), "radAreaPT4"), this->db().time().timeName(), this->db(), IOobject::NO_READ, diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H index 9899a5f0c51..55b8d00234c 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -260,8 +260,8 @@ Foam::ThermoCloud<CloudType>::Sh(volScalarField& hs) const } else { - tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(hs, dimEnergy/dimTime)); - fvScalarMatrix& fvm = tfvm.ref(); + auto tfvm = tmp<fvScalarMatrix>::New(hs, dimEnergy/dimTime); + auto& fvm = tfvm.ref(); fvm.source() = -hsTrans()/(this->db().time().deltaT()); @@ -276,22 +276,14 @@ Foam::ThermoCloud<CloudType>::Sh(volScalarField& hs) const template<class CloudType> inline Foam::tmp<Foam::volScalarField> Foam::ThermoCloud<CloudType>::Ep() const { - tmp<volScalarField> tEp + auto tEp = tmp<volScalarField>::New ( - new volScalarField + this->newIOobject ( - IOobject - ( - this->name() + ":radiation:Ep", - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + IOobject::scopedName(this->name(), "radiation", "Ep") + ), + this->mesh(), + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); if (radiation_) @@ -312,22 +304,14 @@ inline Foam::tmp<Foam::volScalarField> Foam::ThermoCloud<CloudType>::Ep() const template<class CloudType> inline Foam::tmp<Foam::volScalarField> Foam::ThermoCloud<CloudType>::ap() const { - tmp<volScalarField> tap + auto tap = tmp<volScalarField>::New ( - new volScalarField + this->newIOobject ( - IOobject - ( - this->name() + ":radiation:ap", - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(dimless/dimLength, Zero) - ) + IOobject::scopedName(this->name(), "radiation", "ap") + ), + this->mesh(), + dimensionedScalar(dimless/dimLength, Zero) ); if (radiation_) @@ -349,22 +333,14 @@ template<class CloudType> inline Foam::tmp<Foam::volScalarField> Foam::ThermoCloud<CloudType>::sigmap() const { - tmp<volScalarField> tsigmap + auto tsigmap = tmp<volScalarField>::New ( - new volScalarField + this->newIOobject ( - IOobject - ( - this->name() + ":radiation:sigmap", - this->db().time().timeName(), - this->db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(dimless/dimLength, Zero) - ) + IOobject::scopedName(this->name(), "radiation", "sigmap") + ), + this->mesh(), + dimensionedScalar(dimless/dimLength, Zero) ); if (radiation_) diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelTrackingDataI.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelTrackingDataI.H index 6587b5ecb3a..fab7a36e2a0 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelTrackingDataI.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelTrackingDataI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -73,7 +73,7 @@ inline Foam::KinematicParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":volumeAverage", + IOobject::scopedName(cloud.name(), "volumeAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -87,7 +87,7 @@ inline Foam::KinematicParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":radiusAverage", + IOobject::scopedName(cloud.name(), "radiusAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -101,7 +101,7 @@ inline Foam::KinematicParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":rhoAverage", + IOobject::scopedName(cloud.name(), "rhoAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -115,7 +115,7 @@ inline Foam::KinematicParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":uAverage", + IOobject::scopedName(cloud.name(), "uAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -129,7 +129,7 @@ inline Foam::KinematicParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":uSqrAverage", + IOobject::scopedName(cloud.name(), "uSqrAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -143,7 +143,7 @@ inline Foam::KinematicParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":frequencyAverage", + IOobject::scopedName(cloud.name(), "frequencyAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -157,7 +157,7 @@ inline Foam::KinematicParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":massAverage", + IOobject::scopedName(cloud.name(), "massAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -287,7 +287,7 @@ updateAverages ( IOobject ( - cloud.name() + ":weightAverage", + IOobject::scopedName(cloud.name(), "weightAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -366,4 +366,5 @@ updateAverages frequencyAverage_->average(weightAverage); } + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcelTrackingDataI.H b/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcelTrackingDataI.H index 3b96e305fa3..e9721f1a502 100644 --- a/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcelTrackingDataI.H +++ b/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcelTrackingDataI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -45,7 +45,7 @@ inline Foam::MPPICParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":volumeAverage", + IOobject::scopedName(cloud.name(), "volumeAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -59,7 +59,7 @@ inline Foam::MPPICParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":radiusAverage", + IOobject::scopedName(cloud.name(), "radiusAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -73,7 +73,7 @@ inline Foam::MPPICParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":rhoAverage", + IOobject::scopedName(cloud.name(), "rhoAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -87,7 +87,7 @@ inline Foam::MPPICParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":uAverage", + IOobject::scopedName(cloud.name(), "uAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -101,7 +101,7 @@ inline Foam::MPPICParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":uSqrAverage", + IOobject::scopedName(cloud.name(), "uSqrAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -115,7 +115,7 @@ inline Foam::MPPICParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":frequencyAverage", + IOobject::scopedName(cloud.name(), "frequencyAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -129,7 +129,7 @@ inline Foam::MPPICParcel<ParcelType>::trackingData::trackingData ( IOobject ( - cloud.name() + ":massAverage", + IOobject::scopedName(cloud.name(), "massAverage"), cloud.db().time().timeName(), cloud.mesh() ), @@ -164,7 +164,7 @@ inline void Foam::MPPICParcel<ParcelType>::trackingData::updateAverages ( IOobject ( - cloud.name() + ":weightAverage", + IOobject::scopedName(cloud.name(), "weightAverage"), cloud.db().time().timeName(), cloud.mesh() ), diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchCollisionDensity/PatchCollisionDensity.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchCollisionDensity/PatchCollisionDensity.C index e98f9adc3f0..170fd968c2d 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchCollisionDensity/PatchCollisionDensity.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchCollisionDensity/PatchCollisionDensity.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2018 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -39,36 +39,42 @@ void Foam::PatchCollisionDensity<CloudType>::write() { const scalarField z(this->owner().mesh().nCells(), Zero); - volScalarField - ( - IOobject + { + volScalarField ( - this->owner().name() + ":collisionDensity", - this->owner().mesh().time().timeName(), - this->owner().mesh() - ), - this->owner().mesh(), - dimless/dimArea, - z, - collisionDensity_ - ) - .write(); - - volScalarField - ( - IOobject + this->owner().mesh().newIOobject + ( + IOobject::scopedName + ( + this->owner().name(), + "collisionDensity" + ) + ), + this->owner().mesh(), + dimless/dimArea, + z, + collisionDensity_ + ).write(); + } + + { + volScalarField ( - this->owner().name() + ":collisionDensityRate", - this->owner().mesh().time().timeName(), - this->owner().mesh() - ), - this->owner().mesh(), - dimless/dimArea/dimTime, - z, - (collisionDensity_ - collisionDensity0_) - /(this->owner().mesh().time().value() - time0_) - ) - .write(); + this->owner().mesh().newIOobject + ( + IOobject::scopedName + ( + this->owner().name(), + "collisionDensityRate" + ) + ), + this->owner().mesh(), + dimless/dimArea/dimTime, + z, + (collisionDensity_ - collisionDensity0_) + /(this->owner().mesh().time().value() - time0_) + ).write(); + } collisionDensity0_ == collisionDensity_; time0_ = this->owner().mesh().time().value(); @@ -106,11 +112,11 @@ Foam::PatchCollisionDensity<CloudType>::PatchCollisionDensity IOobject io ( - this->owner().name() + ":collisionDensity", - this->owner().mesh().time().timeName(), - this->owner().mesh(), - IOobject::MUST_READ, - IOobject::NO_WRITE + this->owner().mesh().newIOobject + ( + IOobject::scopedName(this->owner().name(), "collisionDensity"), + IOobject::MUST_READ + ) ); if (io.typeHeaderOk<volScalarField>()) diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchInteractionFields/PatchInteractionFields.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchInteractionFields/PatchInteractionFields.C index 83ed949ad74..687a6662bbb 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchInteractionFields/PatchInteractionFields.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchInteractionFields/PatchInteractionFields.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -50,7 +50,7 @@ void Foam::PatchInteractionFields<CloudType>::clearOrReset { if (fieldPtr) { - fieldPtr->primitiveFieldRef() = 0.0; + fieldPtr->primitiveFieldRef() = scalar(0); } else { @@ -62,11 +62,17 @@ void Foam::PatchInteractionFields<CloudType>::clearOrReset ( IOobject ( - this->owner().name() + ":" + this->modelName() + ":" + fieldName, + IOobject::scopedName + ( + this->owner().name(), + this->modelName(), + fieldName + ), mesh.time().timeName(), mesh, IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ), mesh, dimensionedScalar(dims, Zero) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C index 6bf4fd64df4..440103171a7 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C @@ -75,9 +75,9 @@ Foam::LocalInteraction<CloudType>::LocalInteraction if (writeFields_) { Info<< " Interaction fields will be written to " - << this->owner().name() << ":massEscape" + << IOobject::scopedName(this->owner().name(), "massEscape") << " and " - << this->owner().name() << ":massStick" << endl; + << IOobject::scopedName(this->owner().name(), "massStick") << endl; (void)massEscape(); (void)massStick(); @@ -164,11 +164,12 @@ Foam::volScalarField& Foam::LocalInteraction<CloudType>::massEscape() ( IOobject ( - this->owner().name() + ":massEscape", + IOobject::scopedName(this->owner().name(), "massEscape"), mesh.time().timeName(), - mesh, + mesh.thisDb(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh, dimensionedScalar(dimMass, Zero) @@ -193,11 +194,12 @@ Foam::volScalarField& Foam::LocalInteraction<CloudType>::massStick() ( IOobject ( - this->owner().name() + ":massStick", + IOobject::scopedName(this->owner().name(), "massStick"), mesh.time().timeName(), - mesh, + mesh.thisDb(), IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh, dimensionedScalar(dimMass, Zero) diff --git a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C index 08f575bdce8..6b4f324d42b 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C +++ b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -146,50 +146,41 @@ bool Foam::AveragingMethod<Type>::write(const bool writeOnProc) const Field<scalar> pointVolume(mesh_.nPoints(), Zero); // output fields - GeometricField<Type, fvPatchField, volMesh> cellValue + auto tcellValue = GeometricField<Type, fvPatchField, volMesh>::New ( - IOobject - ( - this->name() + ":cellValue", - this->time().timeName(), - mesh_ - ), + IOobject::scopedName(this->name(), "cellValue"), + IOobject::NO_REGISTER, mesh_, dimensioned<Type>(dimless, Zero) ); - GeometricField<TypeGrad, fvPatchField, volMesh> cellGrad + auto& cellValue = tcellValue.ref(); + + auto tcellGrad = GeometricField<TypeGrad, fvPatchField, volMesh>::New ( - IOobject - ( - this->name() + ":cellGrad", - this->time().timeName(), - mesh_ - ), + IOobject::scopedName(this->name(), "cellGrad"), + IOobject::NO_REGISTER, mesh_, dimensioned<TypeGrad>(dimless, Zero) ); - GeometricField<Type, pointPatchField, pointMesh> pointValue + auto& cellGrad = tcellGrad.ref(); + + auto tpointValue = GeometricField<Type, pointPatchField, pointMesh>::New ( - IOobject - ( - this->name() + ":pointValue", - this->time().timeName(), - mesh_ - ), + IOobject::scopedName(this->name(), "pointValue"), + IOobject::NO_REGISTER, pointMesh_, dimensioned<Type>(dimless, Zero) ); - GeometricField<TypeGrad, pointPatchField, pointMesh> pointGrad + auto& pointValue = tpointValue.ref(); + + auto tpointGrad = GeometricField<TypeGrad, pointPatchField, pointMesh>::New ( - IOobject - ( - this->name() + ":pointGrad", - this->time().timeName(), - mesh_ - ), + IOobject::scopedName(this->name(), "pointGrad"), + IOobject::NO_REGISTER, pointMesh_, dimensioned<TypeGrad>(dimless, Zero) ); + auto& pointGrad = tpointGrad.ref(); // Barycentric coordinates of the tet vertices const FixedList<barycentric, 4> diff --git a/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/Relaxation/Relaxation.C b/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/Relaxation/Relaxation.C index c70614da6ed..a44015eed7b 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/Relaxation/Relaxation.C +++ b/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/Relaxation/Relaxation.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -72,30 +73,30 @@ void Foam::DampingModels::Relaxation<CloudType>::cacheFields(const bool store) const fvMesh& mesh = this->owner().mesh(); const word& cloudName = this->owner().name(); - const AveragingMethod<scalar>& volumeAverage = + const auto& volumeAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":volumeAverage" + IOobject::scopedName(cloudName, "volumeAverage") ); - const AveragingMethod<scalar>& radiusAverage = + const auto& radiusAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":radiusAverage" + IOobject::scopedName(cloudName, "radiusAverage") ); - const AveragingMethod<vector>& uAverage = + const auto& uAverage = mesh.lookupObject<AveragingMethod<vector>> ( - cloudName + ":uAverage" + IOobject::scopedName(cloudName, "uAverage") ); - const AveragingMethod<scalar>& uSqrAverage = + const auto& uSqrAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":uSqrAverage" + IOobject::scopedName(cloudName, "uSqrAverage") ); - const AveragingMethod<scalar>& frequencyAverage = + const auto& frequencyAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":frequencyAverage" + IOobject::scopedName(cloudName, "frequencyAverage") ); uAverage_ = &uAverage; @@ -106,7 +107,7 @@ void Foam::DampingModels::Relaxation<CloudType>::cacheFields(const bool store) ( IOobject ( - cloudName + ":oneByTimeScaleAverage", + IOobject::scopedName(cloudName, "oneByTimeScaleAverage"), this->owner().db().time().timeName(), mesh ), diff --git a/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/Stochastic/Stochastic.C b/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/Stochastic/Stochastic.C index 593fa3057af..545ab63f487 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/Stochastic/Stochastic.C +++ b/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/Stochastic/Stochastic.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -105,35 +105,35 @@ void Foam::IsotropyModels::Stochastic<CloudType>::calculate() const scalar oneBySqrtThree = sqrt(1.0/3.0); - const AveragingMethod<scalar>& volumeAverage = + const auto& volumeAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - this->owner().name() + ":volumeAverage" + IOobject::scopedName(this->owner().name(), "volumeAverage") ); - const AveragingMethod<scalar>& radiusAverage = + const auto& radiusAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - this->owner().name() + ":radiusAverage" + IOobject::scopedName(this->owner().name(), "radiusAverage") ); - const AveragingMethod<vector>& uAverage = + const auto& uAverage = mesh.lookupObject<AveragingMethod<vector>> ( - this->owner().name() + ":uAverage" + IOobject::scopedName(this->owner().name(), "uAverage") ); - const AveragingMethod<scalar>& uSqrAverage = + const auto& uSqrAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - this->owner().name() + ":uSqrAverage" + IOobject::scopedName(this->owner().name(), "uSqrAverage") ); - const AveragingMethod<scalar>& frequencyAverage = + const auto& frequencyAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - this->owner().name() + ":frequencyAverage" + IOobject::scopedName(this->owner().name(), "frequencyAverage") ); - const AveragingMethod<scalar>& massAverage = + const auto& massAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - this->owner().name() + ":massAverage" + IOobject::scopedName(this->owner().name(), "massAverage") ); // calculate time scales and pdf exponent @@ -143,7 +143,7 @@ void Foam::IsotropyModels::Stochastic<CloudType>::calculate() ( IOobject ( - this->owner().name() + ":exponentAverage", + IOobject::scopedName(this->owner().name(), "exponentAverage"), this->owner().db().time().timeName(), mesh ), @@ -191,7 +191,7 @@ void Foam::IsotropyModels::Stochastic<CloudType>::calculate() ( IOobject ( - this->owner().name() + ":uTildeAverage", + IOobject::scopedName(this->owner().name(), "uTildeAverage"), this->owner().db().time().timeName(), mesh ), @@ -213,7 +213,7 @@ void Foam::IsotropyModels::Stochastic<CloudType>::calculate() ( IOobject ( - this->owner().name() + ":uTildeSqrAverage", + IOobject::scopedName(this->owner().name(), "uTildeSqrAverage"), this->owner().db().time().timeName(), mesh ), diff --git a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Explicit/Explicit.C b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Explicit/Explicit.C index 49ea02277de..7170622fa81 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Explicit/Explicit.C +++ b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Explicit/Explicit.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,25 +83,25 @@ void Foam::PackingModels::Explicit<CloudType>::cacheFields(const bool store) const fvMesh& mesh = this->owner().mesh(); const word& cloudName = this->owner().name(); - const AveragingMethod<scalar>& volumeAverage = + const auto& volumeAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":volumeAverage" + IOobject::scopedName(cloudName, "volumeAverage") ); - const AveragingMethod<scalar>& rhoAverage = + const auto& rhoAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":rhoAverage" + IOobject::scopedName(cloudName, "rhoAverage") ); - const AveragingMethod<vector>& uAverage = + const auto& uAverage = mesh.lookupObject<AveragingMethod<vector>> ( - cloudName + ":uAverage" + IOobject::scopedName(cloudName, "uAverage") ); - const AveragingMethod<scalar>& uSqrAverage = + const auto& uSqrAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":uSqrAverage" + IOobject::scopedName(cloudName, "uSqrAverage") ); volumeAverage_ = &volumeAverage; @@ -113,7 +113,7 @@ void Foam::PackingModels::Explicit<CloudType>::cacheFields(const bool store) ( IOobject ( - cloudName + ":stressAverage", + IOobject::scopedName(cloudName, "stressAverage"), this->owner().db().time().timeName(), mesh ), diff --git a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C index c811306bc4c..822fb7fc069 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C +++ b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,7 +49,7 @@ Foam::PackingModels::Implicit<CloudType>::Implicit ( IOobject ( - this->owner().name() + ":alpha", + IOobject::scopedName(this->owner().name(), "alpha"), this->owner().db().time().timeName(), this->owner().mesh(), IOobject::NO_READ, @@ -112,20 +113,20 @@ void Foam::PackingModels::Implicit<CloudType>::cacheFields(const bool store) const dimensionedVector& g = this->owner().g(); const volScalarField& rhoc = this->owner().rho(); - const AveragingMethod<scalar>& rhoAverage = + const auto& rhoAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":rhoAverage" + IOobject::scopedName(cloudName, "rhoAverage") ); - const AveragingMethod<vector>& uAverage = + const auto& uAverage = mesh.lookupObject<AveragingMethod<vector>> ( - cloudName + ":uAverage" + IOobject::scopedName(cloudName, "uAverage") ); - const AveragingMethod<scalar>& uSqrAverage = + const auto& uSqrAverage = mesh.lookupObject<AveragingMethod<scalar>> ( - cloudName + ":uSqrAverage" + IOobject::scopedName(cloudName, "uSqrAverage") ); mesh.setFluxRequired(alpha_.name()); @@ -138,20 +139,15 @@ void Foam::PackingModels::Implicit<CloudType>::cacheFields(const bool store) alpha_.correctBoundaryConditions(); // average density - volScalarField rho + auto trho = volScalarField::New ( - IOobject - ( - cloudName + ":rho", - this->owner().db().time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(cloudName, "rho"), mesh, dimensionedScalar(dimDensity, Zero), fvPatchFieldBase::zeroGradientType() ); + auto& rho = trho.ref(); + rho.primitiveFieldRef() = max(rhoAverage.primitiveField(), rhoMin_); rho.correctBoundaryConditions(); @@ -159,20 +155,14 @@ void Foam::PackingModels::Implicit<CloudType>::cacheFields(const bool store) // ~~~~~~~~~~~~ // stress derivative wrt volume fraction - volScalarField tauPrime + auto ttauPrime = volScalarField::New ( - IOobject - ( - cloudName + ":tauPrime", - this->owner().db().time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(cloudName, "tauPrime"), mesh, dimensionedScalar(dimPressure, Zero), fvPatchFieldBase::zeroGradientType() ); + auto& tauPrime = ttauPrime.ref(); tauPrime.primitiveFieldRef() = this->particleStressModel_->dTaudTheta @@ -191,27 +181,24 @@ void Foam::PackingModels::Implicit<CloudType>::cacheFields(const bool store) tmp<surfaceScalarField> phiGByA; if (applyGravity_) - ( - phiGByA = tmp<surfaceScalarField> + { + phiGByA = surfaceScalarField::New ( - new surfaceScalarField - ( - "phiGByA", - deltaT*(g & mesh.Sf())*fvc::interpolate(1.0 - rhoc/rho) - ) - ) - ); + "phiGByA", + IOobject::NO_REGISTER, + deltaT*(g & mesh.Sf())*fvc::interpolate(1.0 - rhoc/rho) + ); + } // Implicit solution for the volume fraction // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - surfaceScalarField - tauPrimeByRhoAf - ( - "tauPrimeByRhoAf", - fvc::interpolate(deltaT*tauPrime/rho) - ); + surfaceScalarField tauPrimeByRhoAf + ( + "tauPrimeByRhoAf", + fvc::interpolate(deltaT*tauPrime/rho) + ); fvScalarMatrix alphaEqn ( @@ -232,38 +219,32 @@ void Foam::PackingModels::Implicit<CloudType>::cacheFields(const bool store) // ~~~~~~~~~~~~~~~~~ // correction volumetric flux - phiCorrect_ = tmp<surfaceScalarField> + phiCorrect_ = surfaceScalarField::New ( - new surfaceScalarField - ( - cloudName + ":phiCorrect", - alphaEqn.flux()/fvc::interpolate(alpha_) - ) + IOobject::scopedName(cloudName, "phiCorrect"), + IOobject::NO_REGISTER, + alphaEqn.flux()/fvc::interpolate(alpha_) ); // limit the correction flux if (applyLimiting_) { - volVectorField U + auto tU = volVectorField::New ( - IOobject - ( - cloudName + ":U", - this->owner().db().time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(cloudName, "U"), + IOobject::NO_REGISTER, mesh, dimensionedVector(dimVelocity, Zero), fvPatchFieldBase::zeroGradientType() ); + auto& U = tU.ref(); + U.primitiveFieldRef() = uAverage.primitiveField(); U.correctBoundaryConditions(); surfaceScalarField phi ( - cloudName + ":phi", + IOobject::scopedName(cloudName, "phi"), linearInterpolate(U) & mesh.Sf() ); @@ -303,14 +284,11 @@ void Foam::PackingModels::Implicit<CloudType>::cacheFields(const bool store) } // correction velocity - uCorrect_ = tmp<volVectorField> + uCorrect_ = volVectorField::New ( - new volVectorField - ( - cloudName + ":uCorrect", - fvc::reconstruct(phiCorrect_()) - ) - + IOobject::scopedName(cloudName, "uCorrect"), + IOobject::NO_REGISTER, + fvc::reconstruct(phiCorrect_()) ); uCorrect_->correctBoundaryConditions(); diff --git a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C index 77db614098d..8170bc9c827 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C +++ b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C @@ -107,17 +107,15 @@ Foam::ParticleStressModel::tau const FieldField<Field, scalar>& uRms ) const { - tmp<FieldField<Field, scalar>> value - ( - new FieldField<Field, scalar>(alpha.size()) - ); + auto tvalue = tmp<FieldField<Field, scalar>>::New(alpha.size()); + auto& value = tvalue.ref(); forAll(alpha, i) { - value->set(i, tau(alpha[i], rho[i], uRms[i])); + value.set(i, tau(alpha[i], rho[i], uRms[i])); } - return value; + return tvalue; } diff --git a/src/lagrangian/intermediate/submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C b/src/lagrangian/intermediate/submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C index 4dc91ac10e3..5b25c691549 100644 --- a/src/lagrangian/intermediate/submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C +++ b/src/lagrangian/intermediate/submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C @@ -72,29 +72,19 @@ Foam::radiation::cloudAbsorptionEmission::~cloudAbsorptionEmission() Foam::tmp<Foam::volScalarField> Foam::radiation::cloudAbsorptionEmission::aDisp(const label) const { - tmp<volScalarField> ta + auto ta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "a", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless/dimLength, Zero) - ) + "a", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless/dimLength, Zero) ); - forAll(cloudNames_, i) + for (const word& cldName : cloudNames_) { const thermoCloud& tc ( - mesh_.objectRegistry::lookupObject<thermoCloud>(cloudNames_[i]) + mesh_.objectRegistry::lookupObject<thermoCloud>(cldName) ); ta.ref() += tc.ap(); @@ -107,17 +97,10 @@ Foam::radiation::cloudAbsorptionEmission::aDisp(const label) const Foam::tmp<Foam::volScalarField> Foam::radiation::cloudAbsorptionEmission::eDisp(const label bandI) const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "e", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "e", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless/dimLength, Zero) ); @@ -127,29 +110,19 @@ Foam::radiation::cloudAbsorptionEmission::eDisp(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::cloudAbsorptionEmission::EDisp(const label bandI) const { - tmp<volScalarField> tE + auto tE = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "E", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "E", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); - forAll(cloudNames_, i) + for (const word& cldName : cloudNames_) { const thermoCloud& tc ( - mesh_.objectRegistry::lookupObject<thermoCloud>(cloudNames_[i]) + mesh_.objectRegistry::lookupObject<thermoCloud>(cldName) ); tE.ref() += tc.Ep(); diff --git a/src/lagrangian/intermediate/submodels/addOns/radiation/scatter/cloudScatter/cloudScatter.C b/src/lagrangian/intermediate/submodels/addOns/radiation/scatter/cloudScatter/cloudScatter.C index 1a530c91fd0..8696d74e950 100644 --- a/src/lagrangian/intermediate/submodels/addOns/radiation/scatter/cloudScatter/cloudScatter.C +++ b/src/lagrangian/intermediate/submodels/addOns/radiation/scatter/cloudScatter/cloudScatter.C @@ -72,30 +72,18 @@ Foam::radiation::cloudScatter::~cloudScatter() Foam::tmp<Foam::volScalarField> Foam::radiation::cloudScatter::sigmaEff() const { - tmp<volScalarField> tsigma + auto tsigma = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "sigma", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless/dimLength, Zero) - ) + "sigma", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless/dimLength, Zero) ); - forAll(cloudNames_, i) + for (const word& cloudName : cloudNames_) { - const thermoCloud& tc - ( - mesh_.objectRegistry::lookupObject<thermoCloud>(cloudNames_[i]) - ); + const auto& tc = + mesh_.objectRegistry::lookupObject<thermoCloud>(cloudName); tsigma.ref() += tc.sigmap(); } -- GitLab From 71d4a23ec09b8d5a3a2afd18815e26cd5171ae50 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 10:08:35 +0100 Subject: [PATCH 053/231] ENH: use tmp field factory methods [6] (#2723) - src/functionObjects --- src/functionObjects/field/PecletNo/PecletNo.C | 12 +--- .../extractEulerianParticles.C | 11 ++-- .../field/limitFields/limitFieldsTemplates.C | 24 ++++++-- src/functionObjects/field/pressure/pressure.C | 57 +++++++------------ .../proudmanAcousticPower.C | 19 +++---- .../reactionsSensitivityAnalysis.C | 14 ++--- .../regionSizeDistribution.C | 14 ++--- .../resolutionIndexModel.C | 13 +---- src/functionObjects/field/setFlow/setFlow.C | 8 +-- .../stabilityBlendingFactor.C | 52 +++++------------ .../turbulenceFieldsTemplates.C | 9 ++- src/functionObjects/forces/forces/forces.C | 10 +--- .../hydrostaticPressure/hydrostaticPressure.C | 4 +- .../sizeDistribution/sizeDistribution.C | 2 +- .../electricPotential/electricPotential.C | 40 +++---------- .../solvers/energyTransport/energyTransport.C | 57 ++++++------------- .../solvers/scalarTransport/scalarTransport.C | 30 ++++------ 17 files changed, 129 insertions(+), 247 deletions(-) diff --git a/src/functionObjects/field/PecletNo/PecletNo.C b/src/functionObjects/field/PecletNo/PecletNo.C index 45509542075..8ef656db1da 100644 --- a/src/functionObjects/field/PecletNo/PecletNo.C +++ b/src/functionObjects/field/PecletNo/PecletNo.C @@ -79,16 +79,10 @@ bool Foam::functionObjects::PecletNo::calc() const dictionary& model = mesh_.lookupObject<dictionary>("transportProperties"); - nuEff = tmp<volScalarField>::New + nuEff = volScalarField::New ( - IOobject - ( - "nuEff", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "nuEff", + IOobject::NO_REGISTER, mesh_, dimensionedScalar("nu", dimViscosity, model) ); diff --git a/src/functionObjects/field/extractEulerianParticles/extractEulerianParticles/extractEulerianParticles.C b/src/functionObjects/field/extractEulerianParticles/extractEulerianParticles/extractEulerianParticles.C index 3829d783223..c8e2c76cb50 100644 --- a/src/functionObjects/field/extractEulerianParticles/extractEulerianParticles/extractEulerianParticles.C +++ b/src/functionObjects/field/extractEulerianParticles/extractEulerianParticles/extractEulerianParticles.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -531,9 +531,10 @@ bool Foam::functionObjects::extractEulerianParticles::execute() const volScalarField& alpha = mesh_.lookupObject<volScalarField>(alphaName_); - const surfaceScalarField alphaf + auto talphaf = surfaceScalarField::New ( - typeName + ":alphaf", + IOobject::scopedName(typeName, "alphaf"), + IOobject::NO_REGISTER, fvc::interpolate(alpha) ); @@ -546,7 +547,7 @@ bool Foam::functionObjects::extractEulerianParticles::execute() // Set the blocked faces, i.e. where alpha > alpha threshold value boolList blockedFaces(fz.size(), false); - setBlockedFaces(alphaf, fz, blockedFaces); + setBlockedFaces(talphaf(), fz, blockedFaces); // Split the faceZone according to the blockedFaces // - Returns a list of (disconnected) region index per face zone face @@ -567,7 +568,7 @@ bool Foam::functionObjects::extractEulerianParticles::execute() // Process latest region information tmp<surfaceScalarField> tphi = phiU(); - accumulateParticleInfo(alphaf, tphi(), regionFaceIDs, fz); + accumulateParticleInfo(talphaf(), tphi(), regionFaceIDs, fz); Log << " Collected particles : " << nCollectedParticles_ << nl << " Collected volume : " << collectedVolume_ << nl diff --git a/src/functionObjects/field/limitFields/limitFieldsTemplates.C b/src/functionObjects/field/limitFields/limitFieldsTemplates.C index 0b20a6cbe2b..25ab497be0d 100644 --- a/src/functionObjects/field/limitFields/limitFieldsTemplates.C +++ b/src/functionObjects/field/limitFields/limitFieldsTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -49,22 +49,36 @@ bool Foam::functionObjects::limitFields::limitField(const word& fieldName) if (withBounds_ & limitType::CLAMP_MIN) { - volScalarField mField(typeName + ":mag" + field.name(), mag(field)); + auto tmField = volScalarField::New + ( + IOobject::scopedName(typeName, "mag" + field.name()), + IOobject::NO_REGISTER, + mag(field) + ); + auto& mField = tmField.ref(); + Log << " min(|" << gMin(mField) << "|)"; //field.normalise(); field /= mag(field) + eps; mField.clamp_min(min_); - field *= mField; + field *= tmField; } if (withBounds_ & limitType::CLAMP_MAX) { - volScalarField mField(typeName + ":mag" + field.name(), mag(field)); + auto tmField = volScalarField::New + ( + IOobject::scopedName(typeName, "mag" + field.name()), + IOobject::NO_REGISTER, + mag(field) + ); + auto& mField = tmField.ref(); + Log << " max(|" << gMax(mField) << "|)"; //field.normalise(); field /= mag(field) + eps; mField.clamp_max(max_); - field *= mField; + field *= tmField; } return true; diff --git a/src/functionObjects/field/pressure/pressure.C b/src/functionObjects/field/pressure/pressure.C index be7d849a2f3..712557669c6 100644 --- a/src/functionObjects/field/pressure/pressure.C +++ b/src/functionObjects/field/pressure/pressure.C @@ -131,17 +131,10 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::pressure::rhoScale { if (p.dimensions() == dimPressure) { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "rhoScale", - p.mesh().time().timeName(), - p.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "rhoScale", + IOobject::NO_REGISTER, p, fvPatchFieldBase::calculatedType() ); @@ -236,21 +229,14 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::pressure::calcPressure ) const { // Initialise to the pressure reference level - auto tresult = - tmp<volScalarField>::New - ( - IOobject - ( - scopedName("p"), - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ - ), - mesh_, - dimensionedScalar("p", dimPressure, pRef_) - ); - - volScalarField& result = tresult.ref(); + auto tresult = volScalarField::New + ( + scopedName("p"), + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar("p", dimPressure, pRef_) + ); + auto& result = tresult.ref(); addHydrostaticContribution(p, result); @@ -304,7 +290,7 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::pressure::coeff if (mode_ & COEFF) { tmp<volScalarField> tpCoeff(tp.ptr()); - volScalarField& pCoeff = tpCoeff.ref(); + auto& pCoeff = tpCoeff.ref(); pCoeff -= dimensionedScalar("pInf", dimPressure, pInf_); @@ -325,21 +311,16 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::pressure::coeff bool Foam::functionObjects::pressure::calc() { - if (foundObject<volScalarField>(fieldName_)) + const auto* pptr = cfindObject<volScalarField>(fieldName_); + + if (pptr) { - const volScalarField& p = lookupObject<volScalarField>(fieldName_); + const auto& p = *pptr; - auto tp = tmp<volScalarField>::New + auto tp = volScalarField::New ( - IOobject - ( - resultName_, - p.mesh().time().timeName(), - p.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::REGISTER - ), + resultName_, + IOobject::REGISTER, coeff(calcPressure(p, rhoScale(p))) ); diff --git a/src/functionObjects/field/proudmanAcousticPower/proudmanAcousticPower.C b/src/functionObjects/field/proudmanAcousticPower/proudmanAcousticPower.C index 0718ae315f7..4a002caeb25 100644 --- a/src/functionObjects/field/proudmanAcousticPower/proudmanAcousticPower.C +++ b/src/functionObjects/field/proudmanAcousticPower/proudmanAcousticPower.C @@ -87,18 +87,13 @@ Foam::functionObjects::proudmanAcousticPower::a() const return sqrt(thermo.gamma()*thermo.p()/thermo.rho()); } - return - tmp<volScalarField>::New - ( - IOobject - ( - scopedName("a"), - mesh_.time().timeName(), - mesh_ - ), - mesh_, - aRef_ - ); + return volScalarField::New + ( + scopedName("a"), + IOobject::NO_REGISTER, + mesh_, + aRef_ + ); } diff --git a/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C b/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C index a0bc517f954..4429bb803ba 100644 --- a/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C +++ b/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C @@ -80,20 +80,14 @@ calculateSpeciesRR const basicChemistryModel& basicChemistry ) { - auto RRt = tmp<DimensionedField<scalar, volMesh>>::New + auto tRR = volScalarField::Internal::New ( - IOobject - ( - "RR", - time_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "RR", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); - auto& RR = RRt.ref(); + auto& RR = tRR.ref(); scalar dt = time_.deltaTValue(); diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C index a15639fe343..c5e86068c65 100644 --- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C +++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C @@ -449,7 +449,8 @@ bool Foam::functionObjects::regionSizeDistribution::write() mesh_.time().timeName(), mesh_, IOobjectOption::MUST_READ, - IOobjectOption::NO_WRITE + IOobjectOption::NO_WRITE, + IOobjectOption::NO_REGISTER ), mesh_ ) @@ -535,18 +536,11 @@ bool Foam::functionObjects::regionSizeDistribution::write() { volScalarField region ( - IOobject - ( - "region", - mesh_.time().timeName(), - mesh_, - IOobjectOption::NO_READ, - IOobjectOption::NO_WRITE, - IOobjectOption::NO_REGISTER - ), + mesh_.newIOobject("region"), mesh_, dimensionedScalar(dimless, Zero) ); + Info<< " Dumping region as volScalarField to " << region.name() << endl; diff --git a/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C b/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C index ca01a013fa7..947545c828e 100644 --- a/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C +++ b/src/functionObjects/field/resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C @@ -45,17 +45,10 @@ namespace Foam Foam::tmp<Foam::volScalarField> Foam::resolutionIndexModel::V() const { - auto tV = tmp<volScalarField>::New + auto tV = volScalarField::New ( - IOobject - ( - "V", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "V", + IOobject::NO_REGISTER, mesh_, dimVolume, fvPatchFieldBase::zeroGradientType() diff --git a/src/functionObjects/field/setFlow/setFlow.C b/src/functionObjects/field/setFlow/setFlow.C index e2e165e7df7..dd26dccb607 100644 --- a/src/functionObjects/field/setFlow/setFlow.C +++ b/src/functionObjects/field/setFlow/setFlow.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -240,7 +240,7 @@ bool Foam::functionObjects::setFlow::execute() const volVectorField& C = mesh_.C(); const volVectorField d ( - typeName + ":d", + IOobject::scopedName(typeName, "d"), C - dimensionedVector("origin", dimLength, origin_) ); const scalarField x(d.component(vector::X)); @@ -286,7 +286,7 @@ bool Foam::functionObjects::setFlow::execute() const volVectorField d ( - typeName + ":d", + IOobject::scopedName(typeName, "d"), C - dimensionedVector("origin", dimLength, origin_) ); const scalarField x(d.component(vector::X)); @@ -350,7 +350,7 @@ bool Foam::functionObjects::setFlow::execute() const volVectorField d ( - typeName + ":d", + IOobject::scopedName(typeName, "d"), C - dimensionedVector("origin", dimLength, origin_) ); const scalarField x(d.component(vector::X)); diff --git a/src/functionObjects/field/stabilityBlendingFactor/stabilityBlendingFactor.C b/src/functionObjects/field/stabilityBlendingFactor/stabilityBlendingFactor.C index 134427f7ba5..27a2371d19e 100644 --- a/src/functionObjects/field/stabilityBlendingFactor/stabilityBlendingFactor.C +++ b/src/functionObjects/field/stabilityBlendingFactor/stabilityBlendingFactor.C @@ -321,16 +321,10 @@ bool Foam::functionObjects::stabilityBlendingFactor::init(bool first) << exit(FatalError); } - auto tmagGradCC = tmp<volScalarField>::New + auto tmagGradCC = volScalarField::New ( - IOobject - ( - "magGradCC", - time_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "magGradCC", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero), fvPatchFieldBase::zeroGradientType() @@ -340,20 +334,16 @@ bool Foam::functionObjects::stabilityBlendingFactor::init(bool first) for (direction i=0; i<vector::nComponents; i++) { // Create field with zero grad - volScalarField cci + auto tcci = volScalarField::New ( - IOobject - ( - "cc" + word(vector::componentNames[i]), - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "cc" + word(vector::componentNames[i]), + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimLength, Zero), fvPatchFieldBase::zeroGradientType() ); + auto& cci = tcci.ref(); + cci = mesh_.C().component(i); cci.correctBoundaryConditions(); magGradCC += mag(fvc::grad(cci)).ref(); @@ -394,21 +384,14 @@ bool Foam::functionObjects::stabilityBlendingFactor::init(bool first) << exit(FatalError); } - auto CoPtr = tmp<volScalarField>::New + auto CoPtr = volScalarField::New ( - IOobject - ( - "Co", - time_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "Co", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero), fvPatchFieldBase::zeroGradientType() ); - auto& Co = CoPtr.ref(); Co.primitiveFieldRef() = @@ -533,17 +516,10 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor read(dict); setResultName(typeName, ""); - auto faceBlendedPtr = tmp<surfaceScalarField>::New + auto faceBlendedPtr = surfaceScalarField::New ( - IOobject - ( - resultName_, - time_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::REGISTER - ), + resultName_, + IOobject::REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFieldsTemplates.C b/src/functionObjects/field/turbulenceFields/turbulenceFieldsTemplates.C index e30d45d5224..a2a8ba5efcc 100644 --- a/src/functionObjects/field/turbulenceFields/turbulenceFieldsTemplates.C +++ b/src/functionObjects/field/turbulenceFields/turbulenceFieldsTemplates.C @@ -77,9 +77,10 @@ Foam::functionObjects::turbulenceFields::nuTilda { const dimensionedScalar omega0(dimless/dimTime, SMALL); - return tmp<volScalarField>::New + return volScalarField::New ( "nuTilda.tmp", + IOobject::NO_REGISTER, model.k()/(model.omega() + omega0) ); } @@ -96,9 +97,10 @@ Foam::functionObjects::turbulenceFields::L const scalar Cmu = 0.09; const dimensionedScalar eps0(sqr(dimVelocity)/dimTime, SMALL); - return tmp<volScalarField>::New + return volScalarField::New ( "L.tmp", + IOobject::NO_REGISTER, pow(Cmu, 0.75)*pow(model.k(), 1.5)/(model.epsilon() + eps0) ); } @@ -116,9 +118,10 @@ Foam::functionObjects::turbulenceFields::I const volScalarField uPrime(sqrt((2.0/3.0)*model.k())); const dimensionedScalar U0(dimVelocity, SMALL); - return tmp<volScalarField>::New + return volScalarField::New ( "I.tmp", + IOobject::NO_REGISTER, uPrime/max(max(uPrime, mag(model.U())), U0) ); } diff --git a/src/functionObjects/forces/forces/forces.C b/src/functionObjects/forces/forces/forces.C index ac666783948..fd7ab2f8760 100644 --- a/src/functionObjects/forces/forces/forces.C +++ b/src/functionObjects/forces/forces/forces.C @@ -311,14 +311,10 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::forces::rho() const { if (rhoName_ == "rhoInf") { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "rho", - mesh_.time().timeName(), - mesh_ - ), + "rho", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimDensity, rhoRef_) ); diff --git a/src/functionObjects/initialisation/hydrostaticPressure/hydrostaticPressure.C b/src/functionObjects/initialisation/hydrostaticPressure/hydrostaticPressure.C index 75c6f8509f2..1a98fad13cb 100644 --- a/src/functionObjects/initialisation/hydrostaticPressure/hydrostaticPressure.C +++ b/src/functionObjects/initialisation/hydrostaticPressure/hydrostaticPressure.C @@ -182,7 +182,7 @@ Foam::functionObjects::hydrostaticPressure::hydrostaticPressure if (read(dict)) { // Read and store the initial ph_rgh field - volScalarField* ph_rghPtr = + volScalarField* ptr = new volScalarField ( IOobject @@ -197,7 +197,7 @@ Foam::functionObjects::hydrostaticPressure::hydrostaticPressure mesh_ ); - regIOobject::store(ph_rghPtr); + regIOobject::store(ptr); bool reInitialise = dict.getOrDefault("reInitialise", false); diff --git a/src/functionObjects/phaseSystems/sizeDistribution/sizeDistribution.C b/src/functionObjects/phaseSystems/sizeDistribution/sizeDistribution.C index a3d4588ec7d..c6038cec9b3 100644 --- a/src/functionObjects/phaseSystems/sizeDistribution/sizeDistribution.C +++ b/src/functionObjects/phaseSystems/sizeDistribution/sizeDistribution.C @@ -243,7 +243,7 @@ Foam::functionObjects::sizeDistribution::filterField const scalarField& field ) const { - return tmp<scalarField>(new scalarField(field, cellId_)); + return tmp<scalarField>::New(field, cellId_); } diff --git a/src/functionObjects/solvers/electricPotential/electricPotential.C b/src/functionObjects/solvers/electricPotential/electricPotential.C index 4b5dd5d8551..ff931d85830 100644 --- a/src/functionObjects/solvers/electricPotential/electricPotential.C +++ b/src/functionObjects/solvers/electricPotential/electricPotential.C @@ -78,12 +78,7 @@ Foam::functionObjects::electricPotential::sigma() const { const IOobject sigmaIO ( - IOobject::scopedName(typeName, "sigma"), - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER + mesh_.thisDb().newIOobject(IOobject::scopedName(typeName, "sigma")) ); if (phases_.size()) @@ -125,12 +120,7 @@ Foam::functionObjects::electricPotential::epsilonm() const const IOobject epsilonrIO ( - IOobject::scopedName(typeName, "epsilonr"), - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER + mesh_.thisDb().newIOobject(IOobject::scopedName(typeName, "epsilonr")) ); if (phases_.size()) @@ -409,17 +399,10 @@ bool Foam::functionObjects::electricPotential::write() // Write the current density field tmp<volScalarField> tsigma = this->sigma(); - auto eJ = tmp<volVectorField>::New + auto eJ = volVectorField::New ( - IOobject - ( - IOobject::scopedName(typeName, "J"), - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(typeName, "J"), + IOobject::NO_REGISTER, -tsigma*fvc::grad(eV), fvPatchFieldBase::calculatedType() ); @@ -432,17 +415,10 @@ bool Foam::functionObjects::electricPotential::write() // Write the free-charge density field tmp<volScalarField> tepsilonm = this->epsilonm(); - auto erho = tmp<volScalarField>::New + auto erho = volScalarField::New ( - IOobject - ( - IOobject::scopedName(typeName, "rho"), - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(typeName, "rho"), + IOobject::NO_REGISTER, fvc::div(tepsilonm*(-fvc::grad(eV))), fvPatchFieldBase::calculatedType() ); diff --git a/src/functionObjects/solvers/energyTransport/energyTransport.C b/src/functionObjects/solvers/energyTransport/energyTransport.C index ea5b022f117..2a0ac81eba1 100644 --- a/src/functionObjects/solvers/energyTransport/energyTransport.C +++ b/src/functionObjects/solvers/energyTransport/energyTransport.C @@ -93,9 +93,10 @@ Foam::functionObjects::energyTransport::kappaEff() const if (turbPtr) { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField + "kappaEff", + IOobject::NO_REGISTER, ( kappa() + Cp()*turbPtr->nut()*rho()/Prt_ ) @@ -113,17 +114,10 @@ Foam::functionObjects::energyTransport::kappaEff() const Foam::tmp<Foam::volScalarField> Foam::functionObjects::energyTransport::rho() const { - auto trho = tmp<volScalarField>::New + auto trho = volScalarField::New ( - IOobject - ( - "trho", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "trho", + IOobject::NO_REGISTER, mesh_, rho_ ); @@ -150,17 +144,10 @@ Foam::functionObjects::energyTransport::Cp() const return tCp; } - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "tCp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "tCp", + IOobject::NO_REGISTER, mesh_, Cp_ ); @@ -181,22 +168,16 @@ Foam::functionObjects::energyTransport::kappa() const return tkappa; } - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "tkappa", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "tkappa", + IOobject::NO_REGISTER, mesh_, kappa_ ); } + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::functionObjects::energyTransport::energyTransport @@ -404,16 +385,10 @@ bool Foam::functionObjects::energyTransport::execute() const surfaceScalarField CpPhi(rhoCp*phi); - auto trhoCp = tmp<volScalarField>::New + auto trhoCp = volScalarField::New ( - IOobject - ( - "trhoCp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "trhoCp", + IOobject::NO_REGISTER, mesh_, rhoCp ); diff --git a/src/functionObjects/solvers/scalarTransport/scalarTransport.C b/src/functionObjects/solvers/scalarTransport/scalarTransport.C index ec369782760..f418519024d 100644 --- a/src/functionObjects/solvers/scalarTransport/scalarTransport.C +++ b/src/functionObjects/solvers/scalarTransport/scalarTransport.C @@ -96,16 +96,10 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::scalarTransport::D if (constantD_) { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - Dname, - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + Dname, + IOobject::NO_REGISTER, mesh_, dimensionedScalar(Dname, phi.dimensions()/dimLength, D_) ); @@ -129,9 +123,10 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::scalarTransport::D if (turb) { - return tmp<volScalarField>::New + return volScalarField::New ( Dname, + IOobject::NO_REGISTER, alphaD_ * turb->nu() + alphaDt_ * turb->nut() ); } @@ -147,25 +142,20 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::scalarTransport::D if (turb) { - return tmp<volScalarField>::New + return volScalarField::New ( Dname, + IOobject::NO_REGISTER, alphaD_ * turb->mu() + alphaDt_ * turb->mut() ); } } - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - Dname, - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + Dname, + IOobject::NO_REGISTER, mesh_, dimensionedScalar(phi.dimensions()/dimLength, Zero) ); -- GitLab From 51f150d84c2d1dea591b6d6becc69946a12fcedc Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 10:30:43 +0100 Subject: [PATCH 054/231] ENH: use tmp field factory methods [7] (#2723) - thermophysicalModels, transportModels --- .../thermalBaffle1DFvPatchScalarField.C | 13 +- ...tureCoupledBaffleMixedFvPatchScalarField.C | 14 +- ...eratureRadCoupledMixedFvPatchScalarField.C | 2 +- .../basic/basicThermo/basicThermo.C | 30 ++- .../basic/heThermo/heThermo.C | 220 ++++++------------ .../basic/psiThermo/psiThermo.C | 22 +- .../basic/rhoThermo/rhoThermo.C | 47 ++-- .../StandardChemistryModel.C | 67 ++---- .../laminarFlameSpeed/Gulders/Gulders.C | 46 +--- .../laminarFlameSpeed/GuldersEGR/GuldersEGR.C | 46 +--- .../RaviPetersen/RaviPetersen.C | 33 +-- .../laminarFlameSpeed/constant/constant.C | 20 +- ...veViewFactorFixedValueFvPatchScalarField.C | 2 +- .../radiation/radiationModels/P1/P1.C | 31 +-- .../blackBodyEmission/blackBodyEmission.C | 36 +-- .../radiationModels/fvDOM/fvDOM/fvDOM.C | 70 +++--- .../radiationModels/noRadiation/noRadiation.C | 24 +- .../radiationModels/opaqueSolid/opaqueSolid.C | 25 +- .../solarLoad/faceReflecting/faceReflecting.C | 16 +- .../solarLoad/faceShading/faceShading.C | 15 +- .../radiationModels/solarLoad/solarLoad.C | 13 +- .../radiationModels/viewFactor/viewFactor.C | 26 +-- .../absorptionEmissionModel.C | 120 +++------- .../constantAbsorptionEmission.C | 66 ++---- .../greyMeanAbsorptionEmission.C | 43 +--- .../greyMeanSolidAbsorptionEmission.C | 33 +-- .../multiBandAbsorptionEmission.C | 63 ++--- .../multiBandZoneAbsorptionEmission.C | 61 ++--- .../wideBandAbsorptionEmission.C | 41 +--- .../boundaryRadiationProperties.C | 30 +-- .../constantScatter/constantScatter.C | 20 +- .../scatterModel/noScatter/noScatter.C | 20 +- .../constantAbsorption/constantAbsorption.C | 4 +- .../multiBandAbsorption/multiBandAbsorption.C | 4 +- .../basicMultiComponentMixture.C | 3 +- .../psiuReactionThermo/heheuPsiThermo.C | 122 +++------- .../pyrolysisChemistryModel.C | 25 +- .../pyrolysisChemistryModelI.H | 22 +- .../solidChemistryModel/solidChemistryModel.C | 24 +- .../solidChemistryModelI.H | 45 ++-- .../solidThermo/solidThermo/heSolidThermo.C | 27 +-- .../isoAdvection/isoAdvection.H | 22 +- .../incompressibleTwoPhaseMixture.C | 9 +- .../constant/constantSurfaceTension.C | 13 +- .../temperatureDependentSurfaceTension.C | 13 +- 45 files changed, 508 insertions(+), 1140 deletions(-) diff --git a/src/thermoTools/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C b/src/thermoTools/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C index 6687c4a7727..bb3532b43d3 100644 --- a/src/thermoTools/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C +++ b/src/thermoTools/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C @@ -253,11 +253,9 @@ baffleThickness() const nbrPatch.template lookupPatchField<volScalarField>(TName_) ); - tmp<scalarField> tthickness - ( - new scalarField(nbrField.baffleThickness()) - ); - scalarField& thickness = tthickness.ref(); + auto tthickness = tmp<scalarField>::New(nbrField.baffleThickness()); + auto& thickness = tthickness.ref(); + mapDist.distribute(thickness); return tthickness; } @@ -284,8 +282,9 @@ tmp<scalarField> thermalBaffle1DFvPatchScalarField<solidType>::qs() const nbrPatch.template lookupPatchField<volScalarField>(TName_) ); - tmp<scalarField> tqs(new scalarField(nbrField.qs())); - scalarField& qs = tqs.ref(); + auto tqs = tmp<scalarField>::New(nbrField.qs()); + auto& qs = tqs.ref(); + mapDist.distribute(qs); return tqs; } diff --git a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C index 0c782f824cf..d2066bec6d8 100644 --- a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C +++ b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C @@ -433,20 +433,8 @@ turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::coeffs << "which has more functionalities and it can handle " << "the assemble coupled option for energy. " << abort(FatalError); - /* - const label index(this->patch().index()); - const label nSubFaces(matrix.lduMesh().cellBoundMap()[mat][index].size()); - - Field<scalar> mapCoeffs(nSubFaces, Zero); - - label subFaceI = 0; - forAll(*this, faceI) - { - - } - */ - return tmp<Field<scalar>>(new Field<scalar>()); + return nullptr; } diff --git a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C index 0471bdd3987..81b6f09f685 100644 --- a/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C +++ b/src/thermoTools/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C @@ -804,7 +804,7 @@ tmp<Field<scalar>> turbulentTemperatureRadCoupledMixedFvPatchScalarField::coeffs << "the assemble coupled option for energy. " << abort(FatalError); - return tmp<Field<scalar>>(new Field<scalar>()); + return nullptr; } diff --git a/src/thermophysicalModels/basic/basicThermo/basicThermo.C b/src/thermophysicalModels/basic/basicThermo/basicThermo.C index e4bcf751c7c..f012c7a9141 100644 --- a/src/thermophysicalModels/basic/basicThermo/basicThermo.C +++ b/src/thermophysicalModels/basic/basicThermo/basicThermo.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -285,8 +285,9 @@ Foam::basicThermo::basicThermo phasePropertyName(dictName, phaseName), mesh.time().constant(), mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE + IOobject::READ_MODIFIED, + IOobject::NO_WRITE, + IOobject::REGISTER ) ), @@ -303,11 +304,12 @@ Foam::basicThermo::basicThermo ( IOobject ( - phasePropertyName("thermo:alpha"), + phaseScopedName("thermo", "alpha"), mesh.time().timeName(), mesh, IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionedScalar(dimensionSet(1, -1, -1, 0, 0), Zero) @@ -332,7 +334,8 @@ Foam::basicThermo::basicThermo mesh.time().constant(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), dict ), @@ -350,11 +353,12 @@ Foam::basicThermo::basicThermo ( IOobject ( - phasePropertyName("thermo:alpha"), + phaseScopedName("thermo", "alpha"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionedScalar(dimensionSet(1, -1, -1, 0, 0), Zero) @@ -378,8 +382,9 @@ Foam::basicThermo::basicThermo dictionaryName, mesh.time().constant(), mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE + IOobject::READ_MODIFIED, + IOobject::NO_WRITE, + IOobject::REGISTER ) ), @@ -396,11 +401,12 @@ Foam::basicThermo::basicThermo ( IOobject ( - phasePropertyName("thermo:alpha"), + phaseScopedName("thermo", "alpha"), mesh.time().timeName(), mesh, IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionedScalar(dimensionSet(1, -1, -1, 0, 0), Zero) diff --git a/src/thermophysicalModels/basic/heThermo/heThermo.C b/src/thermophysicalModels/basic/heThermo/heThermo.C index 78600ba69c5..40eb9b0705a 100644 --- a/src/thermophysicalModels/basic/heThermo/heThermo.C +++ b/src/thermophysicalModels/basic/heThermo/heThermo.C @@ -218,25 +218,15 @@ Foam::tmp<Foam::volScalarField> Foam::heThermo<BasicThermo, MixtureType>::he { const fvMesh& mesh = this->T_.mesh(); - tmp<volScalarField> the + auto the = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "he", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - he_.dimensions() - ) + "he", + IOobject::NO_REGISTER, + mesh, + he_.dimensions() ); + auto& he = the.ref(); - volScalarField& he = the.ref(); scalarField& heCells = he.primitiveFieldRef(); const scalarField& pCells = p; const scalarField& TCells = T; @@ -274,8 +264,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::he const labelList& cells ) const { - tmp<scalarField> the(new scalarField(T.size())); - scalarField& he = the.ref(); + auto the = tmp<scalarField>::New(T.size()); + auto& he = the.ref(); forAll(T, celli) { @@ -294,8 +284,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::he const label patchi ) const { - tmp<scalarField> the(new scalarField(T.size())); - scalarField& he = the.ref(); + auto the = tmp<scalarField>::New(T.size()); + auto& he = the.ref(); forAll(T, facei) { @@ -313,25 +303,15 @@ Foam::heThermo<BasicThermo, MixtureType>::hc() const { const fvMesh& mesh = this->T_.mesh(); - tmp<volScalarField> thc + auto thc = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "hc", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - he_.dimensions() - ) + "hc", + IOobject::NO_REGISTER, + mesh, + he_.dimensions() ); + auto& hcf = thc.ref(); - volScalarField& hcf = thc.ref(); scalarField& hcCells = hcf.primitiveFieldRef(); forAll(hcCells, celli) @@ -363,8 +343,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::Cp const label patchi ) const { - tmp<scalarField> tCp(new scalarField(T.size())); - scalarField& cp = tCp.ref(); + auto tCp = tmp<scalarField>::New(T.size()); + auto& cp = tCp.ref(); forAll(T, facei) { @@ -404,25 +384,14 @@ Foam::heThermo<BasicThermo, MixtureType>::Cp() const { const fvMesh& mesh = this->T_.mesh(); - tmp<volScalarField> tCp + auto tCp = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Cp", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - dimEnergy/dimMass/dimTemperature - ) + "Cp", + IOobject::NO_REGISTER, + mesh, + dimEnergy/dimMass/dimTemperature ); - - volScalarField& cp = tCp.ref(); + auto& cp = tCp.ref(); forAll(this->T_, celli) { @@ -458,8 +427,8 @@ Foam::heThermo<BasicThermo, MixtureType>::Cv const label patchi ) const { - tmp<scalarField> tCv(new scalarField(T.size())); - scalarField& cv = tCv.ref(); + auto tCv = tmp<scalarField>::New(T.size()); + auto& cv = tCv.ref(); forAll(T, facei) { @@ -499,25 +468,14 @@ Foam::heThermo<BasicThermo, MixtureType>::Cv() const { const fvMesh& mesh = this->T_.mesh(); - tmp<volScalarField> tCv + auto tCv = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Cv", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - dimEnergy/dimMass/dimTemperature - ) + "Cv", + IOobject::NO_REGISTER, + mesh, + dimEnergy/dimMass/dimTemperature ); - - volScalarField& cv = tCv.ref(); + auto& cv = tCv.ref(); forAll(this->T_, celli) { @@ -549,8 +507,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::gamma const label patchi ) const { - tmp<scalarField> tgamma(new scalarField(T.size())); - scalarField& gamma = tgamma.ref(); + auto tgamma = tmp<scalarField>::New(T.size()); + auto& gamma = tgamma.ref(); forAll(T, facei) { @@ -568,25 +526,14 @@ Foam::heThermo<BasicThermo, MixtureType>::gamma() const { const fvMesh& mesh = this->T_.mesh(); - tmp<volScalarField> tgamma + auto tgamma = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "gamma", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - dimless - ) + "gamma", + IOobject::NO_REGISTER, + mesh, + dimless ); - - volScalarField& gamma = tgamma.ref(); + auto& gamma = tgamma.ref(); forAll(this->T_, celli) { @@ -624,8 +571,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::Cpv const label patchi ) const { - tmp<scalarField> tCpv(new scalarField(T.size())); - scalarField& Cpv = tCpv.ref(); + auto tCpv = tmp<scalarField>::New(T.size()); + auto& Cpv = tCpv.ref(); forAll(T, facei) { @@ -643,25 +590,14 @@ Foam::heThermo<BasicThermo, MixtureType>::Cpv() const { const fvMesh& mesh = this->T_.mesh(); - tmp<volScalarField> tCpv + auto tCpv = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Cpv", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - dimEnergy/dimMass/dimTemperature - ) + "Cpv", + IOobject::NO_REGISTER, + mesh, + dimEnergy/dimMass/dimTemperature ); - - volScalarField& Cpv = tCpv.ref(); + auto& Cpv = tCpv.ref(); forAll(this->T_, celli) { @@ -696,8 +632,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::CpByCpv const label patchi ) const { - tmp<scalarField> tCpByCpv(new scalarField(T.size())); - scalarField& CpByCpv = tCpByCpv.ref(); + auto tCpByCpv = tmp<scalarField>::New(T.size()); + auto& CpByCpv = tCpByCpv.ref(); forAll(T, facei) { @@ -715,25 +651,14 @@ Foam::heThermo<BasicThermo, MixtureType>::CpByCpv() const { const fvMesh& mesh = this->T_.mesh(); - tmp<volScalarField> tCpByCpv + auto tCpByCpv = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "CpByCpv", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - dimless - ) + "CpByCpv", + IOobject::NO_REGISTER, + mesh, + dimless ); - - volScalarField& CpByCpv = tCpByCpv.ref(); + auto& CpByCpv = tCpByCpv.ref(); forAll(this->T_, celli) { @@ -776,8 +701,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::THE const labelList& cells ) const { - tmp<scalarField> tT(new scalarField(h.size())); - scalarField& T = tT.ref(); + auto tT = tmp<scalarField>::New(h.size()); + auto& T = tT.ref(); forAll(h, celli) { @@ -799,8 +724,9 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::THE ) const { - tmp<scalarField> tT(new scalarField(h.size())); - scalarField& T = tT.ref(); + auto tT = tmp<scalarField>::New(h.size()); + auto& T = tT.ref(); + forAll(h, facei) { T[facei] = this->patchFaceMixture @@ -821,25 +747,15 @@ Foam::tmp<Foam::volScalarField> Foam::heThermo<BasicThermo, MixtureType>::W { const fvMesh& mesh = this->T_.mesh(); - tmp<volScalarField> tW + auto tW = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "W", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - dimMass/dimMoles - ) + "W", + IOobject::NO_REGISTER, + mesh, + dimMass/dimMoles ); + auto& W = tW.ref(); - volScalarField& W = tW.ref(); scalarField& WCells = W.primitiveFieldRef(); forAll(WCells, celli) @@ -847,7 +763,7 @@ Foam::tmp<Foam::volScalarField> Foam::heThermo<BasicThermo, MixtureType>::W WCells[celli] = this->cellMixture(celli).W(); } - volScalarField::Boundary& WBf = W.boundaryFieldRef(); + auto& WBf = W.boundaryFieldRef(); forAll(WBf, patchi) { diff --git a/src/thermophysicalModels/basic/psiThermo/psiThermo.C b/src/thermophysicalModels/basic/psiThermo/psiThermo.C index 82e14feb19e..871a795d683 100644 --- a/src/thermophysicalModels/basic/psiThermo/psiThermo.C +++ b/src/thermophysicalModels/basic/psiThermo/psiThermo.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,11 +48,12 @@ Foam::psiThermo::psiThermo(const fvMesh& mesh, const word& phaseName) ( IOobject ( - phasePropertyName("thermo:psi"), + phaseScopedName("thermo", "psi"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(0, -2, 2, 0, 0) @@ -62,11 +63,12 @@ Foam::psiThermo::psiThermo(const fvMesh& mesh, const word& phaseName) ( IOobject ( - phasePropertyName("thermo:mu"), + phaseScopedName("thermo", "mu"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(1, -1, -1, 0, 0) @@ -87,11 +89,12 @@ Foam::psiThermo::psiThermo ( IOobject ( - phasePropertyName("thermo:psi"), + phaseScopedName("thermo", "psi"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(0, -2, 2, 0, 0) @@ -101,11 +104,12 @@ Foam::psiThermo::psiThermo ( IOobject ( - phasePropertyName("thermo:mu"), + phaseScopedName("thermo", "mu"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(1, -1, -1, 0, 0) diff --git a/src/thermophysicalModels/basic/rhoThermo/rhoThermo.C b/src/thermophysicalModels/basic/rhoThermo/rhoThermo.C index 9ce5a2bd59c..074cccfde8f 100644 --- a/src/thermophysicalModels/basic/rhoThermo/rhoThermo.C +++ b/src/thermophysicalModels/basic/rhoThermo/rhoThermo.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -47,11 +47,12 @@ Foam::rhoThermo::rhoThermo(const fvMesh& mesh, const word& phaseName) ( IOobject ( - phasePropertyName("thermo:rho"), + phaseScopedName("thermo", "rho"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimDensity @@ -61,11 +62,12 @@ Foam::rhoThermo::rhoThermo(const fvMesh& mesh, const word& phaseName) ( IOobject ( - phasePropertyName("thermo:psi"), + phaseScopedName("thermo", "psi"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(0, -2, 2, 0, 0) @@ -75,11 +77,12 @@ Foam::rhoThermo::rhoThermo(const fvMesh& mesh, const word& phaseName) ( IOobject ( - phasePropertyName("thermo:mu"), + phaseScopedName("thermo", "mu"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(1, -1, -1, 0, 0) @@ -99,11 +102,12 @@ Foam::rhoThermo::rhoThermo ( IOobject ( - phasePropertyName("thermo:rho"), + phaseScopedName("thermo", "rho"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimDensity @@ -113,11 +117,12 @@ Foam::rhoThermo::rhoThermo ( IOobject ( - phasePropertyName("thermo:psi"), + phaseScopedName("thermo", "psi"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(0, -2, 2, 0, 0) @@ -127,11 +132,12 @@ Foam::rhoThermo::rhoThermo ( IOobject ( - phasePropertyName("thermo:mu"), + phaseScopedName("thermo", "mu"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(1, -1, -1, 0, 0) @@ -151,11 +157,12 @@ Foam::rhoThermo::rhoThermo ( IOobject ( - phasePropertyName("thermo:rho"), + phaseScopedName("thermo", "rho"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimDensity @@ -165,11 +172,12 @@ Foam::rhoThermo::rhoThermo ( IOobject ( - phasePropertyName("thermo:psi"), + phaseScopedName("thermo", "psi"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(0, -2, 2, 0, 0) @@ -179,11 +187,12 @@ Foam::rhoThermo::rhoThermo ( IOobject ( - phasePropertyName("thermo:mu"), + phaseScopedName("thermo", "mu"), mesh.time().timeName(), mesh, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::REGISTER ), mesh, dimensionSet(1, -1, -1, 0, 0) diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/StandardChemistryModel/StandardChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/StandardChemistryModel/StandardChemistryModel.C index a306b2dadd4..03e1160b6ce 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/StandardChemistryModel/StandardChemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/StandardChemistryModel/StandardChemistryModel.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020-2021,2023 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -470,25 +470,14 @@ template<class ReactionThermo, class ThermoType> Foam::tmp<Foam::volScalarField> Foam::StandardChemistryModel<ReactionThermo, ThermoType>::tc() const { - tmp<volScalarField> ttc + auto ttc = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "tc", - this->time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(word::null, dimTime, SMALL), - fvPatchFieldBase::extrapolatedCalculatedType() - ) + "tc", + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(word::null, dimTime, SMALL), + fvPatchFieldBase::extrapolatedCalculatedType() ); - scalarField& tc = ttc.ref(); tmp<volScalarField> trho(this->thermo().rho()); @@ -544,22 +533,12 @@ template<class ReactionThermo, class ThermoType> Foam::tmp<Foam::volScalarField> Foam::StandardChemistryModel<ReactionThermo, ThermoType>::Qdot() const { - tmp<volScalarField> tQdot + auto tQdot = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Qdot", - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh_, - dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) - ) + "Qdot", + IOobject::NO_REGISTER, + this->mesh_, + dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); if (this->chemistry_) @@ -592,24 +571,14 @@ Foam::StandardChemistryModel<ReactionThermo, ThermoType>::calculateRR scalar pf, cf, pr, cr; label lRef, rRef; - tmp<volScalarField::Internal> tRR + auto tRR = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - "RR", - this->mesh().time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - this->mesh(), - dimensionedScalar(dimMass/dimVolume/dimTime, Zero) - ) + "RR", + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); - - volScalarField::Internal& RR = tRR.ref(); + auto& RR = tRR.ref(); tmp<volScalarField> trho(this->thermo().rho()); const scalarField& rho = trho(); diff --git a/src/thermophysicalModels/laminarFlameSpeed/Gulders/Gulders.C b/src/thermophysicalModels/laminarFlameSpeed/Gulders/Gulders.C index d17d028d9ff..ddf47fb7f6b 100644 --- a/src/thermophysicalModels/laminarFlameSpeed/Gulders/Gulders.C +++ b/src/thermophysicalModels/laminarFlameSpeed/Gulders/Gulders.C @@ -112,25 +112,14 @@ Foam::tmp<Foam::volScalarField> Foam::laminarFlameSpeedModels::Gulders::Su0pTphi scalar phi ) const { - tmp<volScalarField> tSu0 + auto tSu0 = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Su0", - p.time().timeName(), - p.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - p.mesh(), - dimensionedScalar(dimVelocity, Zero) - ) + "Su0", + IOobject::NO_REGISTER, + p.mesh(), + dimensionedScalar(dimVelocity, Zero) ); - - volScalarField& Su0 = tSu0.ref(); + auto& Su0 = tSu0.ref(); forAll(Su0, celli) { @@ -165,25 +154,14 @@ Foam::tmp<Foam::volScalarField> Foam::laminarFlameSpeedModels::Gulders::Su0pTphi const volScalarField& phi ) const { - tmp<volScalarField> tSu0 + auto tSu0 = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Su0", - p.time().timeName(), - p.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - p.mesh(), - dimensionedScalar(dimVelocity, Zero) - ) + "Su0", + IOobject::NO_REGISTER, + p.mesh(), + dimensionedScalar(dimVelocity, Zero) ); - - volScalarField& Su0 = tSu0.ref(); + auto& Su0 = tSu0.ref(); forAll(Su0, celli) { diff --git a/src/thermophysicalModels/laminarFlameSpeed/GuldersEGR/GuldersEGR.C b/src/thermophysicalModels/laminarFlameSpeed/GuldersEGR/GuldersEGR.C index f3478e80b32..be2d86de451 100644 --- a/src/thermophysicalModels/laminarFlameSpeed/GuldersEGR/GuldersEGR.C +++ b/src/thermophysicalModels/laminarFlameSpeed/GuldersEGR/GuldersEGR.C @@ -112,25 +112,14 @@ Foam::laminarFlameSpeedModels::GuldersEGR::Su0pTphi scalar phi ) const { - tmp<volScalarField> tSu0 + auto tSu0 = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Su0", - p.time().timeName(), - p.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - p.mesh(), - dimensionedScalar(dimVelocity, Zero) - ) + "Su0", + IOobject::NO_REGISTER, + p.mesh(), + dimensionedScalar(dimVelocity, Zero) ); - - volScalarField& Su0 = tSu0.ref(); + auto& Su0 = tSu0.ref(); forAll(Su0, celli) { @@ -167,25 +156,14 @@ Foam::laminarFlameSpeedModels::GuldersEGR::Su0pTphi const volScalarField& egr ) const { - tmp<volScalarField> tSu0 + auto tSu0 = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Su0", - p.time().timeName(), - p.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - p.mesh(), - dimensionedScalar(dimVelocity, Zero) - ) + "Su0", + IOobject::NO_REGISTER, + p.mesh(), + dimensionedScalar(dimVelocity, Zero) ); - - volScalarField& Su0 = tSu0.ref(); + auto& Su0 = tSu0.ref(); forAll(Su0, celli) { diff --git a/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C b/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C index ac4df025296..3f248fe4cc3 100644 --- a/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C +++ b/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C @@ -295,15 +295,7 @@ Foam::laminarFlameSpeedModels::RaviPetersen::operator()() const volScalarField EqR ( - IOobject - ( - "EqR", - p.time().timeName(), - p.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + p.db().newIOobject("EqR"), p.mesh(), dimensionedScalar(dimless, Zero) ); @@ -323,25 +315,14 @@ Foam::laminarFlameSpeedModels::RaviPetersen::operator()() const EqR = equivalenceRatio_; } - tmp<volScalarField> tSu0 + auto tSu0 = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Su0", - p.time().timeName(), - p.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - p.mesh(), - dimensionedScalar(dimVelocity, Zero) - ) + "Su0", + IOobject::NO_REGISTER, + p.mesh(), + dimensionedScalar(dimVelocity, Zero) ); - - volScalarField& Su0 = tSu0.ref(); + auto& Su0 = tSu0.ref(); forAll(Su0, celli) { diff --git a/src/thermophysicalModels/laminarFlameSpeed/constant/constant.C b/src/thermophysicalModels/laminarFlameSpeed/constant/constant.C index 2f098910220..351a7b9c32c 100644 --- a/src/thermophysicalModels/laminarFlameSpeed/constant/constant.C +++ b/src/thermophysicalModels/laminarFlameSpeed/constant/constant.C @@ -71,22 +71,12 @@ Foam::laminarFlameSpeedModels::constant::~constant() Foam::tmp<Foam::volScalarField> Foam::laminarFlameSpeedModels::constant::operator()() const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Su0", - psiuReactionThermo_.T().time().timeName(), - psiuReactionThermo_.T().db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - psiuReactionThermo_.T().mesh(), - Su_ - ) + "Su0", + IOobject::NO_REGISTER, + psiuReactionThermo_.T().mesh(), + Su_ ); } diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C index 16ec7886561..c5d3d5ff61c 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C @@ -158,7 +158,7 @@ updateCoeffs() Foam::tmp<Foam::scalarField> Foam::radiation:: greyDiffusiveViewFactorFixedValueFvPatchScalarField::qro(label bandI) const { - tmp<scalarField> tqrt(new scalarField(qro_)); + auto tqrt = tmp<scalarField>::New(qro_); const viewFactor& radiation = db().lookupObject<viewFactor>("radiationProperties"); diff --git a/src/thermophysicalModels/radiation/radiationModels/P1/P1.C b/src/thermophysicalModels/radiation/radiationModels/P1/P1.C index 4df1c317a5f..fa7214960d3 100644 --- a/src/thermophysicalModels/radiation/radiationModels/P1/P1.C +++ b/src/thermophysicalModels/radiation/radiationModels/P1/P1.C @@ -215,18 +215,13 @@ void Foam::radiation::P1::calculate() const dimensionedScalar a0("a0", a_.dimensions(), ROOTVSMALL); // Construct diffusion - const volScalarField gamma + const auto tgamma = volScalarField::New ( - IOobject - ( - "gammaRad", - G_.mesh().time().timeName(), - G_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "gammaRad", + IOobject::REGISTER, // used by boundary conditions 1.0/(3.0*a_ + sigmaEff + a0) ); + const auto& gamma = tgamma(); // Solve G transport equation solve @@ -254,21 +249,11 @@ void Foam::radiation::P1::calculate() Foam::tmp<Foam::volScalarField> Foam::radiation::P1::Rp() const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Rp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - 4.0*absorptionEmission_->eCont()*physicoChemical::sigma - ) + "Rp", + IOobject::NO_REGISTER, + 4.0*absorptionEmission_->eCont()*physicoChemical::sigma ); } diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/blackBodyEmission/blackBodyEmission.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/blackBodyEmission/blackBodyEmission.C index 0195a01d691..753b7fc0cf9 100644 --- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/blackBodyEmission/blackBodyEmission.C +++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/blackBodyEmission/blackBodyEmission.C @@ -201,21 +201,12 @@ Foam::radiation::blackBodyEmission::deltaLambdaT const Vector2D<scalar>& band ) const { - tmp<volScalarField> deltaLambdaT + auto deltaLambdaT = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "deltaLambdaT", - T.mesh().time().timeName(), - T.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - T.mesh(), - dimensionedScalar("deltaLambdaT", dimless, 1.0) - ) + "deltaLambdaT", + IOobject::NO_REGISTER, + T.mesh(), + dimensionedScalar("deltaLambdaT", dimless, 1.0) ); if (band != Vector2D<scalar>::one) @@ -239,20 +230,11 @@ Foam::radiation::blackBodyEmission::EbDeltaLambdaT const Vector2D<scalar>& band ) const { - tmp<volScalarField> Eb + auto Eb = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Eb", - T.mesh().time().timeName(), - T.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - physicoChemical::sigma*pow4(T) - ) + "Eb", + IOobject::NO_REGISTER, + physicoChemical::sigma*pow4(T) ); if (band != Vector2D<scalar>::one) diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C index e7aabf242ad..234489340e1 100644 --- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C +++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2018 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -356,7 +356,8 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T) mesh_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass/pow3(dimTime), Zero) @@ -369,7 +370,8 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T) mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass/pow3(dimTime), Zero) @@ -395,7 +397,8 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T) mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass/pow3(dimTime), Zero) @@ -462,7 +465,8 @@ Foam::radiation::fvDOM::fvDOM mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass/pow3(dimTime), Zero) @@ -475,7 +479,8 @@ Foam::radiation::fvDOM::fvDOM mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass/pow3(dimTime), Zero) @@ -501,7 +506,8 @@ Foam::radiation::fvDOM::fvDOM mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass/pow3(dimTime), Zero) @@ -645,29 +651,18 @@ void Foam::radiation::fvDOM::calculate() Foam::tmp<Foam::volScalarField> Foam::radiation::fvDOM::Rp() const { // Construct using contribution from first frequency band - tmp<volScalarField> tRp + auto tRp = volScalarField::New ( - new volScalarField + "Rp", + IOobject::NO_REGISTER, ( - IOobject - ( - "Rp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - ( - 4 - *physicoChemical::sigma - *(aLambda_[0] - absorptionEmission_->aDisp(0)()) - *blackBody_.deltaLambdaT(T_, absorptionEmission_->bands(0)) - ) + 4 + * physicoChemical::sigma + * (aLambda_[0] - absorptionEmission_->aDisp(0)()) + * blackBody_.deltaLambdaT(T_, absorptionEmission_->bands(0)) ) ); - - volScalarField& Rp=tRp.ref(); + auto& Rp = tRp.ref(); // Add contributions over remaining frequency bands for (label j=1; j < nLambda_; j++) @@ -688,25 +683,14 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::fvDOM::Rp() const Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::radiation::fvDOM::Ru() const { - tmp<DimensionedField<scalar, volMesh>> tRu + auto tRu = DimensionedField<scalar, volMesh>::New ( - new DimensionedField<scalar, volMesh> - ( - IOobject - ( - "Ru", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimensionSet(1, -1, -3, 0, 0), Zero) - ) + "Ru", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimensionSet(1, -1, -3, 0, 0), Zero) ); - - DimensionedField<scalar, volMesh>& Ru=tRu.ref(); + auto& Ru = tRu.ref(); // Sum contributions over all frequency bands for (label j=0; j < nLambda_; j++) diff --git a/src/thermophysicalModels/radiation/radiationModels/noRadiation/noRadiation.C b/src/thermophysicalModels/radiation/radiationModels/noRadiation/noRadiation.C index ec998448ed7..ae93e29668e 100644 --- a/src/thermophysicalModels/radiation/radiationModels/noRadiation/noRadiation.C +++ b/src/thermophysicalModels/radiation/radiationModels/noRadiation/noRadiation.C @@ -82,16 +82,10 @@ void Foam::radiation::noRadiation::calculate() Foam::tmp<Foam::volScalarField> Foam::radiation::noRadiation::Rp() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "Rp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "Rp", + IOobject::NO_REGISTER, mesh_, dimensionedScalar ( @@ -104,16 +98,10 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::noRadiation::Rp() const Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::radiation::noRadiation::Ru() const { - return tmp<volScalarField::Internal>::New + return volScalarField::Internal::New ( - IOobject - ( - "Ru", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "Ru", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); diff --git a/src/thermophysicalModels/radiation/radiationModels/opaqueSolid/opaqueSolid.C b/src/thermophysicalModels/radiation/radiationModels/opaqueSolid/opaqueSolid.C index 4fd40720a2c..b99907d232a 100644 --- a/src/thermophysicalModels/radiation/radiationModels/opaqueSolid/opaqueSolid.C +++ b/src/thermophysicalModels/radiation/radiationModels/opaqueSolid/opaqueSolid.C @@ -83,16 +83,10 @@ void Foam::radiation::opaqueSolid::calculate() Foam::tmp<Foam::volScalarField> Foam::radiation::opaqueSolid::Rp() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "Rp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "Rp", + IOobject::NO_REGISTER, mesh_, dimensionedScalar ( @@ -105,16 +99,10 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::opaqueSolid::Rp() const Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::radiation::opaqueSolid::Ru() const { - return tmp<volScalarField::Internal>::New + return volScalarField::Internal::New ( - IOobject - ( - "Ru", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "Ru", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); @@ -126,4 +114,5 @@ Foam::label Foam::radiation::opaqueSolid::nBands() const return absorptionEmission_->nBands(); } + // ************************************************************************* // diff --git a/src/thermophysicalModels/radiation/radiationModels/solarLoad/faceReflecting/faceReflecting.C b/src/thermophysicalModels/radiation/radiationModels/solarLoad/faceReflecting/faceReflecting.C index 0980bc0b724..32fa503e548 100644 --- a/src/thermophysicalModels/radiation/radiationModels/solarLoad/faceReflecting/faceReflecting.C +++ b/src/thermophysicalModels/radiation/radiationModels/solarLoad/faceReflecting/faceReflecting.C @@ -58,7 +58,8 @@ void Foam::faceReflecting::initialise(const dictionary& coeffs) mesh_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimMass/pow3(dimTime), Zero) @@ -393,17 +394,8 @@ void Foam::faceReflecting::calculate() PtrList<List<scalarField>> patcha(patches.size()); forAll(patchr, patchi) { - patchr.set - ( - patchi, - new List<scalarField>(nBands) - ); - - patcha.set - ( - patchi, - new List<scalarField>(nBands) - ); + patchr.emplace_set(patchi, nBands); + patcha.emplace_set(patchi, nBands); } // Fill patchr diff --git a/src/thermophysicalModels/radiation/radiationModels/solarLoad/faceShading/faceShading.C b/src/thermophysicalModels/radiation/radiationModels/solarLoad/faceShading/faceShading.C index d415b9c0303..7310b71551b 100644 --- a/src/thermophysicalModels/radiation/radiationModels/solarLoad/faceShading/faceShading.C +++ b/src/thermophysicalModels/radiation/radiationModels/solarLoad/faceShading/faceShading.C @@ -214,22 +214,15 @@ void Foam::faceShading::calculate() if (debug) { - auto thitFaces = tmp<surfaceScalarField>::New + auto thitFaces = surfaceScalarField::New ( - IOobject - ( - "hitFaces", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "hitFaces", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); + auto& hitFaces = thitFaces.ref(); - surfaceScalarField& hitFaces = thitFaces.ref(); surfaceScalarField::Boundary& hitFacesBf = hitFaces.boundaryFieldRef(); hitFacesBf = 0.0; diff --git a/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C b/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C index ef13824206f..503a7489ce9 100644 --- a/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C +++ b/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C @@ -911,17 +911,10 @@ void Foam::radiation::solarLoad::calculate() Foam::tmp<Foam::volScalarField> Foam::radiation::solarLoad::Rp() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "Rp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "Rp", + IOobject::NO_REGISTER, mesh_, dimensionedScalar ( diff --git a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C index 63c0aa70af0..9a1e62068d1 100644 --- a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C +++ b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C @@ -1133,17 +1133,10 @@ void Foam::radiation::viewFactor::calculate() Foam::tmp<Foam::volScalarField> Foam::radiation::viewFactor::Rp() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "Rp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "Rp", + IOobject::NO_REGISTER, mesh_, dimensionedScalar ( @@ -1156,17 +1149,10 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::viewFactor::Rp() const Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::radiation::viewFactor::Ru() const { - return tmp<DimensionedField<scalar, volMesh>>::New + return DimensionedField<scalar, volMesh>::New ( - IOobject - ( - "Ru", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "Ru", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModel.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModel.C index f9f78d2d2d4..10870b66603 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModel.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModel.C @@ -69,22 +69,12 @@ Foam::radiation::absorptionEmissionModel::a(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::absorptionEmissionModel::aCont(const label bandI) const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "aCont", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless/dimLength, Zero) - ) + "aCont", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless/dimLength, Zero) ); } @@ -92,22 +82,12 @@ Foam::radiation::absorptionEmissionModel::aCont(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::absorptionEmissionModel::aDisp(const label bandI) const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "aDisp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless/dimLength, Zero) - ) + "aDisp", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless/dimLength, Zero) ); } @@ -122,22 +102,12 @@ Foam::radiation::absorptionEmissionModel::e(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::absorptionEmissionModel::eCont(const label bandI) const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "eCont", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless/dimLength, Zero) - ) + "eCont", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless/dimLength, Zero) ); } @@ -145,22 +115,12 @@ Foam::radiation::absorptionEmissionModel::eCont(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::absorptionEmissionModel::eDisp(const label bandI) const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "eDisp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless/dimLength, Zero) - ) + "eDisp", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless/dimLength, Zero) ); } @@ -175,22 +135,12 @@ Foam::radiation::absorptionEmissionModel::E(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::absorptionEmissionModel::ECont(const label bandI) const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "ECont", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "ECont", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); } @@ -198,22 +148,12 @@ Foam::radiation::absorptionEmissionModel::ECont(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::absorptionEmissionModel::EDisp(const label bandI) const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "EDisp", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "EDisp", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); } diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/constantAbsorptionEmission/constantAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/constantAbsorptionEmission/constantAbsorptionEmission.C index c3f0af471af..5d3642c10e1 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/constantAbsorptionEmission/constantAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/constantAbsorptionEmission/constantAbsorptionEmission.C @@ -67,75 +67,39 @@ Foam::radiation::constantAbsorptionEmission::constantAbsorptionEmission Foam::tmp<Foam::volScalarField> Foam::radiation::constantAbsorptionEmission::aCont(const label bandI) const { - tmp<volScalarField> ta + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "a", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - a_ - ) + "a", + IOobject::NO_REGISTER, + mesh_, + a_ ); - - return ta; } Foam::tmp<Foam::volScalarField> Foam::radiation::constantAbsorptionEmission::eCont(const label bandI) const { - tmp<volScalarField> te + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "e", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - e_ - ) + "e", + IOobject::NO_REGISTER, + mesh_, + e_ ); - - return te; } Foam::tmp<Foam::volScalarField> Foam::radiation::constantAbsorptionEmission::ECont(const label bandI) const { - tmp<volScalarField> tE + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "E", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - E_ - ) + "E", + IOobject::NO_REGISTER, + mesh_, + E_ ); - - return tE; } diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C index 7aca57b9221..b2262349692 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C @@ -194,25 +194,15 @@ Foam::radiation::greyMeanAbsorptionEmission::aCont(const label bandI) const const volScalarField& p = thermo_.p(); - tmp<volScalarField> ta + auto ta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "aCont" + name(bandI), - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar(dimless/dimLength, Zero), - fvPatchFieldBase::extrapolatedCalculatedType() - ) + "aCont" + name(bandI), + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar(dimless/dimLength, Zero), + fvPatchFieldBase::extrapolatedCalculatedType() ); - - scalarField& a = ta.ref().primitiveFieldRef(); + auto& a = ta.ref().primitiveFieldRef(); forAll(a, celli) { @@ -275,21 +265,12 @@ Foam::radiation::greyMeanAbsorptionEmission::eCont(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::greyMeanAbsorptionEmission::ECont(const label bandI) const { - tmp<volScalarField> E + auto E = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "ECont" + name(bandI), - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "ECont" + name(bandI), + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); const volScalarField* QdotPtr = mesh_.findObject<volScalarField>("Qdot"); diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C index b4fc2fc4253..310ea6f2f22 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C @@ -56,11 +56,11 @@ greyMeanSolidAbsorptionEmission::X(const word specie) const const volScalarField& T = thermo_.T(); const volScalarField& p = thermo_.p(); - tmp<scalarField> tXj(new scalarField(T.primitiveField().size(), Zero)); - scalarField& Xj = tXj.ref(); + auto tXj = tmp<scalarField>::New(T.primitiveField().size(), Zero); + auto& Xj = tXj.ref(); - tmp<scalarField> tRhoInv(new scalarField(T.primitiveField().size(), Zero)); - scalarField& rhoInv = tRhoInv.ref(); + auto tRhoInv = tmp<scalarField>::New(T.primitiveField().size(), Zero); + auto& rhoInv = tRhoInv.ref(); forAll(mixture_.Y(), specieI) { @@ -142,25 +142,15 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::greyMeanSolidAbsorptionEmission:: calc(const label propertyId) const { - tmp<volScalarField> ta + auto ta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "a", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar(dimless/dimLength, Zero), - fvPatchFieldBase::extrapolatedCalculatedType() - ) + "a", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar(dimless/dimLength, Zero), + fvPatchFieldBase::extrapolatedCalculatedType() ); - - scalarField& a = ta.ref().primitiveFieldRef(); + auto& a = ta.ref().primitiveFieldRef(); forAllConstIters(speciesNames_, iter) { @@ -194,4 +184,5 @@ Foam::radiation::greyMeanSolidAbsorptionEmission::aCont return calc(absorptivity); } + // ************************************************************************* // diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandAbsorptionEmission/multiBandAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandAbsorptionEmission/multiBandAbsorptionEmission.C index c7c3199f47e..deb4da3b47d 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandAbsorptionEmission/multiBandAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandAbsorptionEmission/multiBandAbsorptionEmission.C @@ -81,24 +81,13 @@ Foam::radiation::multiBandAbsorptionEmission::aCont const label bandI ) const { - tmp<volScalarField> ta + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "a", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar("a", dimless/dimLength, absCoeffs_[bandI]) - ) + "a", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar("a", dimless/dimLength, absCoeffs_[bandI]) ); - - return ta; } @@ -108,24 +97,13 @@ Foam::radiation::multiBandAbsorptionEmission::eCont const label bandI ) const { - tmp<volScalarField> te + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "e", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar("e", dimless/dimLength, emiCoeffs_[bandI]) - ) + "e", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar("e", dimless/dimLength, emiCoeffs_[bandI]) ); - - return te; } @@ -135,24 +113,13 @@ Foam::radiation::multiBandAbsorptionEmission::ECont const label bandI ) const { - tmp<volScalarField> E + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "E", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "E", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); - - return E; } diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C index 8c02bb90bcf..44a7171bb3d 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C @@ -108,23 +108,13 @@ Foam::radiation::multiBandZoneAbsorptionEmission::aCont const label bandI ) const { - tmp<volScalarField> ta + auto ta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "a", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar("a", dimless/dimLength, absCoeffs_[bandI]) - ) + "a", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar("a", dimless/dimLength, absCoeffs_[bandI]) ); - scalarField& a = ta.ref().primitiveFieldRef(); for (const label zonei : zoneIds_) @@ -150,23 +140,13 @@ Foam::radiation::multiBandZoneAbsorptionEmission::eCont const label bandI ) const { - tmp<volScalarField> te + auto te = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "e", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar("e", dimless/dimLength, emiCoeffs_[bandI]) - ) + "e", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar("e", dimless/dimLength, emiCoeffs_[bandI]) ); - scalarField& e = te.ref().primitiveFieldRef(); for (const label zonei : zoneIds_) @@ -192,24 +172,13 @@ Foam::radiation::multiBandZoneAbsorptionEmission::ECont const label bandI ) const { - tmp<volScalarField> E + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "E", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "E", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); - - return E; } diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C index 084cd0284fa..3eb8adc9e59 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2018 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -206,23 +206,13 @@ Foam::radiation::wideBandAbsorptionEmission::aCont(const label bandi) const const volScalarField& T = thermo_.T(); const volScalarField& p = thermo_.p(); - tmp<volScalarField> ta + auto ta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "a", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar(dimless/dimLength, Zero) - ) + "a", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar(dimless/dimLength, Zero) ); - scalarField& a = ta.ref().primitiveFieldRef(); forAll(a, celli) @@ -290,21 +280,12 @@ Foam::radiation::wideBandAbsorptionEmission::eCont(const label bandi) const Foam::tmp<Foam::volScalarField> Foam::radiation::wideBandAbsorptionEmission::ECont(const label bandi) const { - tmp<volScalarField> E + auto E = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "E", - mesh().time().timeName(), - mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh(), - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "E", + IOobject::NO_REGISTER, + mesh(), + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); const volScalarField* QdotPtr = mesh().findObject<volScalarField>("Qdot"); diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C index e6201ee327f..7092f15b49f 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C @@ -209,7 +209,7 @@ Foam::radiation::boundaryRadiationProperties::emissivity << "Please add it" << exit(FatalError); - return tmp<scalarField>::New(); + return nullptr; } @@ -262,13 +262,13 @@ Foam::radiation::boundaryRadiationProperties::absorptivity ); } - FatalErrorInFunction - << "Patch : " << mesh().boundaryMesh()[patchi].name() - << " is not found in the boundaryRadiationProperties. " - << "Please add it" - << exit(FatalError); + FatalErrorInFunction + << "Patch : " << mesh().boundaryMesh()[patchi].name() + << " is not found in the boundaryRadiationProperties. " + << "Please add it" + << exit(FatalError); - return tmp<scalarField>::New(); + return nullptr; } @@ -327,7 +327,7 @@ Foam::radiation::boundaryRadiationProperties::transmissivity << "Please add it" << exit(FatalError); - return tmp<scalarField>::New(); + return nullptr; } @@ -389,12 +389,12 @@ Foam::radiation::boundaryRadiationProperties::zoneTransmissivity } FatalErrorInFunction - << "Zone : " << mesh().faceZones()[zonei].name() - << " is not found in the boundaryRadiationProperties. " - << "Please add it" - << exit(FatalError); + << "Zone : " << mesh().faceZones()[zonei].name() + << " is not found in the boundaryRadiationProperties. " + << "Please add it" + << exit(FatalError); - return tmp<scalarField>::New(); + return nullptr; } @@ -423,7 +423,7 @@ Foam::radiation::boundaryRadiationProperties::diffReflectivity << "Please add it" << exit(FatalError); - return tmp<scalarField>::New(); + return nullptr; } @@ -482,7 +482,7 @@ Foam::radiation::boundaryRadiationProperties::specReflectivity << "Please add it" << exit(FatalError); - return tmp<scalarField>::New(); + return nullptr; } diff --git a/src/thermophysicalModels/radiation/submodels/scatterModel/constantScatter/constantScatter.C b/src/thermophysicalModels/radiation/submodels/scatterModel/constantScatter/constantScatter.C index 666af9dc28a..c14bdc79dc0 100644 --- a/src/thermophysicalModels/radiation/submodels/scatterModel/constantScatter/constantScatter.C +++ b/src/thermophysicalModels/radiation/submodels/scatterModel/constantScatter/constantScatter.C @@ -66,22 +66,12 @@ Foam::radiation::constantScatter::constantScatter Foam::tmp<Foam::volScalarField> Foam::radiation::constantScatter::sigmaEff() const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "sigma", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - sigma_*(3.0 - C_) - ) + "sigma", + IOobject::NO_REGISTER, + mesh_, + sigma_*(3.0 - C_) ); } diff --git a/src/thermophysicalModels/radiation/submodels/scatterModel/noScatter/noScatter.C b/src/thermophysicalModels/radiation/submodels/scatterModel/noScatter/noScatter.C index cc7f40c745f..8d9d1f09b64 100644 --- a/src/thermophysicalModels/radiation/submodels/scatterModel/noScatter/noScatter.C +++ b/src/thermophysicalModels/radiation/submodels/scatterModel/noScatter/noScatter.C @@ -56,22 +56,12 @@ Foam::radiation::noScatter::noScatter Foam::tmp<Foam::volScalarField> Foam::radiation::noScatter::sigmaEff() const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "sigma", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimless/dimLength, Zero) - ) + "sigma", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless/dimLength, Zero) ); } diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C index 5b9d6ab769f..188d7ee6525 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C @@ -70,7 +70,7 @@ Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::a scalarField* T ) const { - return tmp<scalarField>(new scalarField(pp_.size(), a_)); + return tmp<scalarField>::New(pp_.size(), a_); } @@ -93,7 +93,7 @@ Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::e scalarField* T ) const { - return tmp<scalarField>(new scalarField(pp_.size(), e_)); + return tmp<scalarField>::New(pp_.size(), e_); } diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C index 82f8f824e7a..6971d9b4234 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C @@ -82,7 +82,7 @@ Foam::radiation::multiBandAbsorption::a scalarField* T ) const { - return tmp<scalarField>(new scalarField(pp_.size(), aCoeffs_[bandI])); + return tmp<scalarField>::New(pp_.size(), aCoeffs_[bandI]); } Foam::scalar Foam::radiation::multiBandAbsorption::a @@ -104,7 +104,7 @@ Foam::tmp<Foam::scalarField> Foam::radiation::multiBandAbsorption::e scalarField* T ) const { - return tmp<scalarField>(new scalarField(pp_.size(), eCoeffs_[bandI])); + return tmp<scalarField>::New(pp_.size(), eCoeffs_[bandI]); } diff --git a/src/thermophysicalModels/reactionThermo/mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C index 7a33d69695d..f9f8bef58cd 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C +++ b/src/thermophysicalModels/reactionThermo/mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C @@ -98,7 +98,8 @@ Foam::basicMultiComponentMixture::basicMultiComponentMixture mesh.time().timeName(), mesh, IOobject::MUST_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ); IOobject constantIO diff --git a/src/thermophysicalModels/reactionThermo/psiuReactionThermo/heheuPsiThermo.C b/src/thermophysicalModels/reactionThermo/psiuReactionThermo/heheuPsiThermo.C index 738cde1275e..cf05a7c24bc 100644 --- a/src/thermophysicalModels/reactionThermo/psiuReactionThermo/heheuPsiThermo.C +++ b/src/thermophysicalModels/reactionThermo/psiuReactionThermo/heheuPsiThermo.C @@ -253,7 +253,8 @@ Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::heheuPsiThermo mesh.time().timeName(), mesh, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh ), @@ -328,7 +329,8 @@ Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::heheuPsiThermo mesh.time().timeName(), mesh, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh ), @@ -429,8 +431,8 @@ Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::heu const labelList& cells ) const { - tmp<scalarField> theu(new scalarField(Tu.size())); - scalarField& heu = theu.ref(); + auto theu = tmp<scalarField>::New(Tu.size()); + auto& heu = theu.ref(); forAll(Tu, celli) { @@ -450,8 +452,8 @@ Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::heu const label patchi ) const { - tmp<scalarField> theu(new scalarField(Tu.size())); - scalarField& heu = theu.ref(); + auto theu = tmp<scalarField>::New(Tu.size()); + auto& heu = theu.ref(); forAll(Tu, facei) { @@ -467,24 +469,14 @@ template<class BasicPsiThermo, class MixtureType> Foam::tmp<Foam::volScalarField> Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::Tb() const { - tmp<volScalarField> tTb + auto tTb = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Tb", - this->T_.time().timeName(), - this->T_.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->T_ - ) + "Tb", + IOobject::NO_REGISTER, + this->T_ ); + auto& Tb_ = tTb.ref(); - volScalarField& Tb_ = tTb.ref(); scalarField& TbCells = Tb_.primitiveFieldRef(); const scalarField& pCells = this->p_; const scalarField& TCells = this->T_; @@ -526,25 +518,15 @@ template<class BasicPsiThermo, class MixtureType> Foam::tmp<Foam::volScalarField> Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::psiu() const { - tmp<volScalarField> tpsiu + auto tpsiu = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "psiu", - this->psi_.time().timeName(), - this->psi_.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->psi_.mesh(), - this->psi_.dimensions() - ) + "psiu", + IOobject::NO_REGISTER, + this->psi_.mesh(), + this->psi_.dimensions() ); + auto& psiu = tpsiu.ref(); - volScalarField& psiu = tpsiu.ref(); scalarField& psiuCells = psiu.primitiveFieldRef(); const scalarField& TuCells = this->Tu_; const scalarField& pCells = this->p_; @@ -580,25 +562,15 @@ template<class BasicPsiThermo, class MixtureType> Foam::tmp<Foam::volScalarField> Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::psib() const { - tmp<volScalarField> tpsib + auto tpsib = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "psib", - this->psi_.time().timeName(), - this->psi_.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->psi_.mesh(), - this->psi_.dimensions() - ) + "psib", + IOobject::NO_REGISTER, + this->psi_.mesh(), + this->psi_.dimensions() ); + auto& psib = tpsib.ref(); - volScalarField& psib = tpsib.ref(); scalarField& psibCells = psib.primitiveFieldRef(); const volScalarField Tb_(Tb()); const scalarField& TbCells = Tb_; @@ -635,25 +607,15 @@ template<class BasicPsiThermo, class MixtureType> Foam::tmp<Foam::volScalarField> Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::muu() const { - tmp<volScalarField> tmuu + auto tmuu = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "muu", - this->T_.time().timeName(), - this->T_.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->T_.mesh(), - dimensionSet(1, -1, -1, 0, 0) - ) + "muu", + IOobject::NO_REGISTER, + this->T_.mesh(), + dimensionSet(1, -1, -1, 0, 0) ); + auto& muu_ = tmuu.ref(); - volScalarField& muu_ = tmuu.ref(); scalarField& muuCells = muu_.primitiveFieldRef(); const scalarField& pCells = this->p_; const scalarField& TuCells = this->Tu_; @@ -693,25 +655,15 @@ template<class BasicPsiThermo, class MixtureType> Foam::tmp<Foam::volScalarField> Foam::heheuPsiThermo<BasicPsiThermo, MixtureType>::mub() const { - tmp<volScalarField> tmub + auto tmub = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "mub", - this->T_.time().timeName(), - this->T_.db(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->T_.mesh(), - dimensionSet(1, -1, -1, 0, 0) - ) + "mub", + IOobject::NO_REGISTER, + this->T_.mesh(), + dimensionSet(1, -1, -1, 0, 0) ); + auto& mub_ = tmub.ref(); - volScalarField& mub_ = tmub.ref(); scalarField& mubCells = mub_.primitiveFieldRef(); const volScalarField Tb_(Tb()); const scalarField& pCells = this->p_; diff --git a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C index cda0d2ec763..2901ab58e07 100644 --- a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C +++ b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -621,25 +621,14 @@ Foam::pyrolysisChemistryModel<CompType, SolidThermo, GasThermo>::gasHs const label index ) const { - tmp<volScalarField> tHs + auto tHs = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Hs_" + pyrolisisGases_[index], - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh_, - dimensionedScalar(dimEnergy/dimMass, Zero) - ) + "Hs_" + pyrolisisGases_[index], + IOobject::NO_REGISTER, + this->mesh_, + dimensionedScalar(dimEnergy/dimMass, Zero) ); - - volScalarField::Internal& gasHs = tHs.ref(); + auto& gasHs = tHs.ref(); const GasThermo& mixture = gasThermo_[index]; diff --git a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModelI.H b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModelI.H index 5029c4b0f4d..742f0e99d4b 100644 --- a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModelI.H +++ b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModelI.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -81,26 +82,17 @@ inline Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::pyrolysisChemistryModel<CompType, SolidThermo, GasThermo>:: RRg() const { - tmp<volScalarField::Internal> tRRg + auto tRRg = DimensionedField<scalar, volMesh>::New ( - new volScalarField::Internal - ( - IOobject - ( - "RRg", - this->time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - this->mesh(), - dimensionedScalar(dimMass/dimVolume/dimTime, Zero) - ) + "RRg", + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); + auto& RRg = tRRg.ref(); if (this->chemistry_) { - volScalarField::Internal& RRg = tRRg.ref(); for (label i=0; i < nGases_; i++) { RRg += RRg_[i]; diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C index 6441efddce2..f16eb650bce 100644 --- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C +++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -116,28 +117,17 @@ template<class CompType, class SolidThermo> Foam::tmp<Foam::volScalarField> Foam::solidChemistryModel<CompType, SolidThermo>::Qdot() const { - tmp<volScalarField> tQdot + auto tQdot = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Qdot", - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::AUTO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh_, - dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) - ) + "Qdot", + IOobject::NO_REGISTER, + this->mesh_, + dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); + scalarField& Qdot = tQdot.ref(); if (this->chemistry_) { - scalarField& Qdot = tQdot.ref(); - forAll(Ys_, i) { forAll(Qdot, celli) diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H index 855b29fb62d..8b4fd000288 100644 --- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H +++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -70,26 +70,17 @@ template<class CompType, class SolidThermo> inline Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::solidChemistryModel<CompType, SolidThermo>::RRs() const { - tmp<volScalarField::Internal> tRRs + auto tRRs = DimensionedField<scalar, volMesh>::New ( - new volScalarField::Internal - ( - IOobject - ( - "RRs", - this->time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - this->mesh(), - dimensionedScalar(dimMass/dimVolume/dimTime, Zero) - ) + "RRs", + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimMass/dimVolume/dimTime, Zero) ); + auto& RRs = tRRs.ref(); if (this->chemistry_) { - volScalarField::Internal& RRs = tRRs.ref(); for (label i=0; i < nSolids_; i++) { RRs += RRs_[i]; @@ -103,27 +94,17 @@ template<class CompType, class SolidThermo> inline Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>> Foam::solidChemistryModel<CompType, SolidThermo>::RRsHs() const { - tmp<DimensionedField<scalar, volMesh>> tRRsHs + auto tRRsHs = DimensionedField<scalar, volMesh>::New ( - new DimensionedField<scalar, volMesh> - ( - IOobject - ( - "RRsHs", - this->time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - this->mesh(), - dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) - ) + "RRsHs", + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); + auto& RRs = tRRsHs.ref(); if (this->chemistry_) { - DimensionedField<scalar, volMesh>& RRs = tRRsHs.ref(); - const volScalarField& T = this->solidThermo().T(); const volScalarField& p = this->solidThermo().p(); diff --git a/src/thermophysicalModels/solidThermo/solidThermo/heSolidThermo.C b/src/thermophysicalModels/solidThermo/solidThermo/heSolidThermo.C index e2b581d21d7..def7f88fab0 100644 --- a/src/thermophysicalModels/solidThermo/solidThermo/heSolidThermo.C +++ b/src/thermophysicalModels/solidThermo/solidThermo/heSolidThermo.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -219,24 +219,15 @@ Foam::heSolidThermo<BasicSolidThermo, MixtureType>::Kappa() const { const fvMesh& mesh = this->T_.mesh(); - tmp<volVectorField> tKappa + auto tKappa = volVectorField::New ( - new volVectorField - ( - IOobject - ( - "Kappa", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh, - dimEnergy/dimTime/dimLength/dimTemperature - ) + "Kappa", + IOobject::NO_REGISTER, + mesh, + dimEnergy/dimTime/dimLength/dimTemperature ); + auto& Kappa = tKappa.ref(); - volVectorField& Kappa = tKappa.ref(); vectorField& KappaCells = Kappa.primitiveFieldRef(); const scalarField& TCells = this->T_; const scalarField& pCells = this->p_; @@ -286,9 +277,9 @@ Foam::heSolidThermo<BasicSolidThermo, MixtureType>::Kappa { const scalarField& pp = this->p_.boundaryField()[patchi]; const scalarField& Tp = this->T_.boundaryField()[patchi]; - tmp<vectorField> tKappa(new vectorField(pp.size())); - vectorField& Kappap = tKappa.ref(); + auto tKappa = tmp<vectorField>::New(pp.size()); + auto& Kappap = tKappa.ref(); forAll(Tp, facei) { diff --git a/src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.H b/src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.H index 40c4162f946..f741963733d 100644 --- a/src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.H +++ b/src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.H @@ -355,15 +355,15 @@ public: //- Return mass flux tmp<surfaceScalarField> getRhoPhi ( - const dimensionedScalar rho1, - const dimensionedScalar rho2 + const dimensionedScalar& rho1, + const dimensionedScalar& rho2 ) const { - return tmp<surfaceScalarField> + return surfaceScalarField::New ( - new surfaceScalarField + "rhoPhi", + IOobject::NO_REGISTER, ( - "rhoPhi", (rho1 - rho2)*dVf_/mesh_.time().deltaT() + rho2*phi_ ) ); @@ -376,14 +376,14 @@ public: const volScalarField& rho2 ) { - return tmp<surfaceScalarField> - ( - new surfaceScalarField + return surfaceScalarField::New ( "rhoPhi", - fvc::interpolate(rho1 - rho2)*alphaPhi_ - + fvc::interpolate(rho2)*phi_ - ) + IOobject::NO_REGISTER, + ( + fvc::interpolate(rho1 - rho2)*alphaPhi_ + + fvc::interpolate(rho2)*phi_ + ) ); } diff --git a/src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C b/src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C index 5275ca30172..54df8f0053e 100644 --- a/src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C +++ b/src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C @@ -130,9 +130,10 @@ Foam::incompressibleTwoPhaseMixture::mu() const clamp(alpha1_, zero_one{}) ); - return tmp<volScalarField>::New + return volScalarField::New ( "mu", + IOobject::NO_REGISTER, limitedAlpha1*rho1_*nuModel1_->nu() + (scalar(1) - limitedAlpha1)*rho2_*nuModel2_->nu() ); @@ -155,9 +156,10 @@ Foam::incompressibleTwoPhaseMixture::muf() const clamp(fvc::interpolate(alpha1_), zero_one{}) ); - return tmp<surfaceScalarField>::New + return surfaceScalarField::New ( "muf", + IOobject::NO_REGISTER, alpha1f*rho1_*fvc::interpolate(nuModel1_->nu()) + (scalar(1) - alpha1f)*rho2_*fvc::interpolate(nuModel2_->nu()) ); @@ -172,9 +174,10 @@ Foam::incompressibleTwoPhaseMixture::nuf() const clamp(fvc::interpolate(alpha1_), zero_one{}) ); - return tmp<surfaceScalarField>::New + return surfaceScalarField::New ( "nuf", + IOobject::NO_REGISTER, ( alpha1f*rho1_*fvc::interpolate(nuModel1_->nu()) + (scalar(1) - alpha1f)*rho2_*fvc::interpolate(nuModel2_->nu()) diff --git a/src/transportModels/interfaceProperties/surfaceTensionModels/constant/constantSurfaceTension.C b/src/transportModels/interfaceProperties/surfaceTensionModels/constant/constantSurfaceTension.C index d433938fc3e..33e3d0fdc56 100644 --- a/src/transportModels/interfaceProperties/surfaceTensionModels/constant/constantSurfaceTension.C +++ b/src/transportModels/interfaceProperties/surfaceTensionModels/constant/constantSurfaceTension.C @@ -65,17 +65,10 @@ Foam::surfaceTensionModels::constant::~constant() Foam::tmp<Foam::volScalarField> Foam::surfaceTensionModels::constant::sigma() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "sigma", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "sigma", + IOobject::NO_REGISTER, mesh_, sigma_ ); diff --git a/src/transportModels/interfaceProperties/surfaceTensionModels/temperatureDependent/temperatureDependentSurfaceTension.C b/src/transportModels/interfaceProperties/surfaceTensionModels/temperatureDependent/temperatureDependentSurfaceTension.C index 488cd0e9729..8fd8d54ce93 100644 --- a/src/transportModels/interfaceProperties/surfaceTensionModels/temperatureDependent/temperatureDependentSurfaceTension.C +++ b/src/transportModels/interfaceProperties/surfaceTensionModels/temperatureDependent/temperatureDependentSurfaceTension.C @@ -72,17 +72,10 @@ Foam::surfaceTensionModels::temperatureDependent::~temperatureDependent() Foam::tmp<Foam::volScalarField> Foam::surfaceTensionModels::temperatureDependent::sigma() const { - auto tsigma = tmp<volScalarField>::New + auto tsigma = volScalarField::New ( - IOobject - ( - "sigma", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "sigma", + IOobject::NO_REGISTER, mesh_, dimSigma ); -- GitLab From 7bf0aaf99c7cf03683b94f730aa1058d8d993f3c Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 11:00:05 +0100 Subject: [PATCH 055/231] ENH: use tmp field factory methods [8] (#2723) - src/combustion --- src/combustionModels/EDC/EDC.C | 37 ++++------ src/combustionModels/FSD/FSD.C | 69 ++++++------------- .../consumptionSpeed/consumptionSpeed.C | 22 ++---- src/combustionModels/PaSR/PaSR.C | 25 ++++--- .../diffusionMulticomponent.C | 47 +++---------- .../eddyDissipationDiffusionModel.C | 23 ++----- src/combustionModels/laminar/laminar.C | 27 +++----- .../noCombustion/noCombustion.C | 22 ++---- 8 files changed, 82 insertions(+), 190 deletions(-) diff --git a/src/combustionModels/EDC/EDC.C b/src/combustionModels/EDC/EDC.C index 3e55ba9ce1c..90fc7e26051 100644 --- a/src/combustionModels/EDC/EDC.C +++ b/src/combustionModels/EDC/EDC.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2019-2020,2023 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,11 +59,12 @@ Foam::combustionModels::EDC<ReactionThermo>::EDC ( IOobject ( - this->thermo().phasePropertyName(typeName + ":kappa"), + this->thermo().phaseScopedName(typeName, "kappa"), this->mesh().time().timeName(), this->mesh(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(dimless, Zero) @@ -86,23 +87,23 @@ void Foam::combustionModels::EDC<ReactionThermo>::correct() if (this->active()) { tmp<volScalarField> tepsilon(this->turbulence().epsilon()); - const volScalarField& epsilon = tepsilon(); + const auto& epsilon = tepsilon(); tmp<volScalarField> tmu(this->turbulence().mu()); - const volScalarField& mu = tmu(); + const auto& mu = tmu(); tmp<volScalarField> tk(this->turbulence().k()); - const volScalarField& k = tk(); + const auto& k = tk(); tmp<volScalarField> trho(this->rho()); - const volScalarField& rho = trho(); + const auto& rho = trho(); scalarField tauStar(epsilon.size(), Zero); if (version_ == EDCversions::v2016) { tmp<volScalarField> ttc(this->chemistryPtr_->tc()); - const volScalarField& tc = ttc(); + const auto& tc = ttc(); forAll(tauStar, i) { @@ -199,22 +200,12 @@ template<class ReactionThermo> Foam::tmp<Foam::volScalarField> Foam::combustionModels::EDC<ReactionThermo>::Qdot() const { - tmp<volScalarField> tQdot + auto tQdot = volScalarField::New ( - new volScalarField - ( - IOobject - ( - this->thermo().phasePropertyName(typeName + ":Qdot"), - this->mesh().time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) - ) + this->thermo().phaseScopedName(typeName, "Qdot"), + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); if (this->active()) diff --git a/src/combustionModels/FSD/FSD.C b/src/combustionModels/FSD/FSD.C index ef9f1d382dd..03e4b93f686 100644 --- a/src/combustionModels/FSD/FSD.C +++ b/src/combustionModels/FSD/FSD.C @@ -72,7 +72,8 @@ FSD<ReactionThermo, ThermoType>::FSD this->mesh().time().timeName(), this->mesh(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(dimless, Zero) @@ -149,43 +150,23 @@ void FSD<ReactionThermo, ThermoType>::calculateSourceNorm() s.value()*YFuelFuelStream_.value() + YO2OxiStream_.value() ); - tmp<volScalarField> tPc + auto tPc = volScalarField::New ( - new volScalarField - ( - IOobject - ( - this->thermo().phasePropertyName("Pc"), - U.time().timeName(), - U.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U.mesh(), - dimensionedScalar(dimless, Zero) - ) + this->thermo().phasePropertyName("Pc"), + IOobject::NO_REGISTER, + U.mesh(), + dimensionedScalar(dimless, Zero) ); + auto& pc = tPc.ref(); - volScalarField& pc = tPc.ref(); - - tmp<volScalarField> tomegaFuel + auto tomegaFuel = volScalarField::New ( - new volScalarField - ( - IOobject - ( - this->thermo().phasePropertyName("omegaFuelBar"), - U.time().timeName(), - U.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U.mesh(), - dimensionedScalar(omegaFuel.dimensions(), Zero) - ) + this->thermo().phasePropertyName("omegaFuelBar"), + IOobject::NO_REGISTER, + U.mesh(), + dimensionedScalar(omegaFuel.dimensions(), Zero) ); - - volScalarField& omegaFuelBar = tomegaFuel.ref(); + auto& omegaFuelBar = tomegaFuel.ref(); // Calculation of the mixture fraction variance (ftVar) const compressible::LESModel& lesModel = @@ -294,24 +275,14 @@ void FSD<ReactionThermo, ThermoType>::calculateSourceNorm() } } - tmp<volScalarField> tproducts + auto tproducts = volScalarField::New ( - new volScalarField - ( - IOobject - ( - this->thermo().phasePropertyName("products"), - U.time().timeName(), - U.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U.mesh(), - dimensionedScalar(dimless, Zero) - ) + this->thermo().phasePropertyName("products"), + IOobject::NO_REGISTER, + U.mesh(), + dimensionedScalar(dimless, Zero) ); - - volScalarField& products = tproducts.ref(); + auto& products = tproducts.ref(); forAll(productsIndex, j) { diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C index 2322572550d..808348cd206 100644 --- a/src/combustionModels/FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C +++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C @@ -82,24 +82,14 @@ Foam::tmp<Foam::volScalarField> Foam::consumptionSpeed::omega0Sigma const volScalarField& sigma ) { - tmp<volScalarField> tomega0 + auto tomega0 = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "omega0", - sigma.time().timeName(), - sigma.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - sigma.mesh(), - dimensionedScalar(dimensionSet(1, -2, -1, 0, 0, 0, 0), Zero) - ) + "omega0", + IOobject::NO_REGISTER, + sigma.mesh(), + dimensionedScalar(dimensionSet(1, -2, -1, 0, 0, 0, 0), Zero) ); - - volScalarField& omega0 = tomega0.ref(); + auto& omega0 = tomega0.ref(); volScalarField::Internal& iomega0 = omega0; diff --git a/src/combustionModels/PaSR/PaSR.C b/src/combustionModels/PaSR/PaSR.C index 63559a0aafe..77c75294fb1 100644 --- a/src/combustionModels/PaSR/PaSR.C +++ b/src/combustionModels/PaSR/PaSR.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019,2023 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -45,11 +45,12 @@ Foam::combustionModels::PaSR<ReactionThermo>::PaSR ( IOobject ( - thermo.phasePropertyName(typeName + ":kappa"), + thermo.phaseScopedName(typeName, "kappa"), this->mesh().time().timeName(), this->mesh(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(dimless, Zero) @@ -74,16 +75,16 @@ void Foam::combustionModels::PaSR<ReactionThermo>::correct() laminar<ReactionThermo>::correct(); tmp<volScalarField> tepsilon(this->turbulence().epsilon()); - const scalarField& epsilon = tepsilon(); + const auto& epsilon = tepsilon(); tmp<volScalarField> tmuEff(this->turbulence().muEff()); - const scalarField& muEff = tmuEff(); + const auto& muEff = tmuEff(); tmp<volScalarField> ttc(this->tc()); - const scalarField& tc = ttc(); + const auto& tc = ttc(); tmp<volScalarField> trho(this->rho()); - const scalarField& rho = trho(); + const auto& rho = trho(); forAll(epsilon, i) { @@ -118,13 +119,11 @@ template<class ReactionThermo> Foam::tmp<Foam::volScalarField> Foam::combustionModels::PaSR<ReactionThermo>::Qdot() const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - this->thermo().phasePropertyName(typeName + ":Qdot"), - kappa_*laminar<ReactionThermo>::Qdot() - ) + this->thermo().phaseScopedName(typeName, "Qdot"), + IOobject::NO_REGISTER, + kappa_*laminar<ReactionThermo>::Qdot() ); } diff --git a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C index fb5c1556250..7a10ab2a177 100644 --- a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C +++ b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C @@ -60,15 +60,7 @@ diffusionMulticomponent<ReactionThermo, ThermoType>::init() k, new volScalarField ( - IOobject - ( - "Rijk" + Foam::name(k), - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + this->mesh_.newIOobject("Rijk" + Foam::name(k)), this->mesh_, dimensionedScalar(dimMass/dimTime/dimVolume, Zero), fvPatchFieldBase::zeroGradientType() @@ -198,15 +190,7 @@ diffusionMulticomponent<ReactionThermo, ThermoType>::correct() k, new volScalarField ( - IOobject - ( - "Rijl" + Foam::name(k), - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + this->mesh_.newIOobject("Rijl" + Foam::name(k)), this->mesh_, dimensionedScalar(dimMass/dimTime/dimVolume, Zero), fvPatchFieldBase::zeroGradientType() @@ -374,9 +358,8 @@ Foam::combustionModels::diffusionMulticomponent<ReactionThermo, ThermoType>::R volScalarField& Y ) const { - tmp<fvScalarMatrix> tSu(new fvScalarMatrix(Y, dimMass/dimTime)); - - fvScalarMatrix& Su = tSu.ref(); + auto tSu = tmp<fvScalarMatrix>::New(Y, dimMass/dimTime); + auto& Su = tSu.ref(); if (this->active()) { @@ -395,23 +378,13 @@ Foam::tmp<Foam::volScalarField> Foam::combustionModels:: diffusionMulticomponent<ReactionThermo, ThermoType>::Qdot() const { - tmp<volScalarField> tQdot + auto tQdot = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Qdot", - this->mesh().time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(dimEnergy/dimTime/dimVolume, Zero), - fvPatchFieldBase::zeroGradientType() - ) + "Qdot", + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimEnergy/dimTime/dimVolume, Zero), + fvPatchFieldBase::zeroGradientType() ); if (this->active()) diff --git a/src/combustionModels/eddyDissipationDiffusionModel/eddyDissipationDiffusionModel.C b/src/combustionModels/eddyDissipationDiffusionModel/eddyDissipationDiffusionModel.C index fa042bfce06..b8c61234bee 100644 --- a/src/combustionModels/eddyDissipationDiffusionModel/eddyDissipationDiffusionModel.C +++ b/src/combustionModels/eddyDissipationDiffusionModel/eddyDissipationDiffusionModel.C @@ -77,25 +77,16 @@ template<class ReactionThermo, class ThermoType> Foam::tmp<Foam::volScalarField> eddyDissipationDiffusionModel<ReactionThermo, ThermoType>::rtDiff() const { - tmp<volScalarField> tdelta + auto tdelta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "tdelta", - this->mesh().time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - this->mesh(), - dimensionedScalar(dimLength, Zero), - fvPatchFieldBase::zeroGradientType() - ) + "tdelta", + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimLength, Zero), + fvPatchFieldBase::zeroGradientType() ); + auto& delta = tdelta.ref(); - volScalarField& delta = tdelta.ref(); delta.ref() = cbrt(this->mesh().V()); delta.correctBoundaryConditions(); diff --git a/src/combustionModels/laminar/laminar.C b/src/combustionModels/laminar/laminar.C index 50f56816433..feb5889bb58 100644 --- a/src/combustionModels/laminar/laminar.C +++ b/src/combustionModels/laminar/laminar.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2019-2020 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -123,9 +123,8 @@ template<class ReactionThermo> Foam::tmp<Foam::fvScalarMatrix> Foam::combustionModels::laminar<ReactionThermo>::R(volScalarField& Y) const { - tmp<fvScalarMatrix> tSu(new fvScalarMatrix(Y, dimMass/dimTime)); - - fvScalarMatrix& Su = tSu.ref(); + auto tSu = tmp<fvScalarMatrix>::New(Y, dimMass/dimTime); + auto& Su = tSu.ref(); if (this->active()) { @@ -143,22 +142,12 @@ template<class ReactionThermo> Foam::tmp<Foam::volScalarField> Foam::combustionModels::laminar<ReactionThermo>::Qdot() const { - tmp<volScalarField> tQdot + auto tQdot = volScalarField::New ( - new volScalarField - ( - IOobject - ( - this->thermo().phasePropertyName(typeName + ":Qdot"), - this->mesh().time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - this->mesh(), - dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) - ) + this->thermo().phaseScopedName(typeName, "Qdot"), + IOobject::NO_REGISTER, + this->mesh(), + dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); if (this->active()) diff --git a/src/combustionModels/noCombustion/noCombustion.C b/src/combustionModels/noCombustion/noCombustion.C index e123b2f2dd5..7bbeafa7dcb 100644 --- a/src/combustionModels/noCombustion/noCombustion.C +++ b/src/combustionModels/noCombustion/noCombustion.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -65,12 +65,7 @@ Foam::combustionModels::noCombustion<ReactionThermo>::R volScalarField& Y ) const { - tmp<fvScalarMatrix> tSu - ( - new fvScalarMatrix(Y, dimMass/dimTime) - ); - - return tSu; + return tmp<fvScalarMatrix>::New(Y, dimMass/dimTime); } @@ -78,17 +73,10 @@ template<class ReactionThermo> Foam::tmp<Foam::volScalarField> Foam::combustionModels::noCombustion<ReactionThermo>::Qdot() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - this->thermo().phasePropertyName(typeName + ":Qdot"), - this->mesh().time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + this->thermo().phaseScopedName(typeName, "Qdot"), + IOobject::NO_REGISTER, this->mesh(), dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ); -- GitLab From d9483f50803bc87038363ea4001b40e7aebdc7d8 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 10:37:00 +0100 Subject: [PATCH 056/231] ENH: use tmp field factory methods [9] (#2723) - src/phaseSystemModels --- .../constantDiameter/constantDiameter.C | 17 +-- .../dragModels/interface/interface.C | 13 +-- .../multiphaseSystem/multiphaseSystem.C | 104 +++++------------ .../multiphaseSystem/phaseModel/phaseModel.C | 43 ++----- .../InterfaceCompositionModel.C | 70 +++-------- .../MassTransferPhaseSystem.C | 75 ++++-------- .../constantSurfaceTensionCoefficient.C | 23 ++-- .../diffusionGasEvaporation.C | 26 ++--- .../interfaceHeatResistance.C | 10 +- .../interfaceOxideRate/interfaceOxideRate.C | 12 +- .../kineticGasEvaporation.C | 52 +++------ .../multiphaseInterSystem.C | 37 ++---- .../multiphaseSystem/multiphaseSystem.C | 55 +++------ .../MovingPhaseModel/MovingPhaseModel.C | 10 +- .../StaticPhaseModel/StaticPhaseModel.C | 34 ++---- .../BlendedInterfacialModel.C | 22 +--- .../blendingMethods/noBlending/noBlending.C | 12 +- .../MomentumTransferPhaseSystem.C | 53 ++++----- .../constantDiameter/constantDiameter.C | 17 +-- .../constantAspectRatio/constantAspectRatio.C | 6 +- .../multiphaseSystem/multiphaseSystem.C | 24 ++-- .../InertPhaseModel/InertPhaseModel.C | 5 +- .../IsothermalPhaseModel.C | 12 +- .../MovingPhaseModel/MovingPhaseModel.C | 59 +++------- .../phaseSystem/phaseSystem.C | 65 ++++++----- .../populationBalanceModel.C | 110 +++++------------- .../Schaeffer/SchaefferFrictionalStress.C | 23 +--- .../kineticTheoryModel/kineticTheoryModel.C | 34 ++---- .../phasePressureModel/phasePressureModel.C | 58 +++------ .../twoPhaseSystem/twoPhaseSystem.C | 18 +-- .../JohnsonJacksonSchaefferFrictionalStress.C | 23 +--- .../Schaeffer/SchaefferFrictionalStress.C | 23 +--- .../kineticTheoryModel/kineticTheoryModel.C | 34 ++---- .../phasePressureModel/phasePressureModel.C | 37 ++---- .../BlendedInterfacialModel.C | 90 ++++---------- .../blendingMethods/noBlending/noBlending.C | 64 ++++------ .../IATE/IATEsources/dummy/dummy.C | 10 +- .../randomCoalescence/randomCoalescence.C | 20 +--- .../turbulentBreakUp/turbulentBreakUp.C | 20 +--- .../constantDiameter/constantDiameter.C | 20 +--- .../constantAspectRatio/constantAspectRatio.C | 12 +- .../constantLiftCoefficient.C | 12 +- .../liftModels/noLift/noLift.C | 45 ++----- .../swarmCorrections/noSwarm/noSwarm.C | 26 ++--- .../noTurbulentDispersion.C | 27 ++--- .../constantVirtualMassCoefficient.C | 22 +--- .../noVirtualMass/noVirtualMass.C | 12 +- .../noWallLubrication/noWallLubrication.C | 30 ++--- .../twoPhaseSystem/twoPhaseSystem.C | 20 +--- 49 files changed, 510 insertions(+), 1136 deletions(-) diff --git a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C index d3667c5204d..048ac18ad02 100644 --- a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C +++ b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C @@ -68,19 +68,12 @@ Foam::multiphaseEuler::diameterModels::constant::constant Foam::tmp<Foam::volScalarField> Foam::multiphaseEuler::diameterModels::constant::d() const { - return tmp<Foam::volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "d", - phase_.U().time().timeName(), - phase_.U().mesh() - ), - phase_.U().mesh(), - d_ - ) + "d", + IOobject::NO_REGISTER, + phase_.U().mesh(), + d_ ); } diff --git a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/interfacialModels/dragModels/interface/interface.C b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/interfacialModels/dragModels/interface/interface.C index 4f4e1710571..1138db3704c 100644 --- a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/interfacialModels/dragModels/interface/interface.C +++ b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/interfacialModels/dragModels/interface/interface.C @@ -70,17 +70,10 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseEuler::dragModels::interface::K const volScalarField& Ur ) const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "K", - Ur.mesh().time().timeName(), - Ur.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "K", + IOobject::NO_REGISTER, Ur.mesh(), dimensionedScalar(dimDensity/dimTime, Zero) ); diff --git a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/multiphaseSystem/multiphaseSystem.C b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/multiphaseSystem/multiphaseSystem.C index c8142628ac5..c19e5e5ef84 100644 --- a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/multiphaseSystem/multiphaseSystem.C +++ b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/multiphaseSystem/multiphaseSystem.C @@ -536,19 +536,12 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseSystem::Cvm const phaseModel& phase ) const { - tmp<volScalarField> tCvm + auto tCvm = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Cvm", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar(dimDensity, Zero) - ) + "Cvm", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimDensity, Zero) ); for (const phaseModel& phase2 : phases_) @@ -584,23 +577,15 @@ Foam::tmp<Foam::volVectorField> Foam::multiphaseSystem::Svm const phaseModel& phase ) const { - tmp<volVectorField> tSvm + auto tSvm = volVectorField::New ( - new volVectorField + "Svm", + IOobject::NO_REGISTER, + mesh_, + dimensionedVector ( - IOobject - ( - "Svm", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedVector - ( - "Svm", - dimensionSet(1, -2, -2, 0, 0), - Zero - ) + dimensionSet(1, -2, -2, 0, 0), + Zero ) ); @@ -653,7 +638,7 @@ Foam::tmp<Foam::volVectorField> Foam::multiphaseSystem::Svm Foam::autoPtr<Foam::multiphaseSystem::dragCoeffFields> Foam::multiphaseSystem::dragCoeffs() const { - autoPtr<dragCoeffFields> dragCoeffsPtr(new dragCoeffFields); + auto dragCoeffsPtr = autoPtr<dragCoeffFields>::New(); forAllConstIters(dragModels_, iter) { @@ -708,24 +693,12 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseSystem::dragCoeff const dragCoeffFields& dragCoeffs ) const { - tmp<volScalarField> tdragCoeff + auto tdragCoeff = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "dragCoeff", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar - ( - "dragCoeff", - dimensionSet(1, -3, -1, 0, 0), - 0 - ) - ) + "dragCoeff", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimensionSet(1, -3, -1, 0, 0), Zero) ); dragModelTable::const_iterator dmIter = dragModels_.begin(); @@ -756,24 +729,12 @@ Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseSystem::surfaceTension const phaseModel& phase1 ) const { - tmp<surfaceScalarField> tSurfaceTension + auto tSurfaceTension = surfaceScalarField::New ( - new surfaceScalarField - ( - IOobject - ( - "surfaceTension", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar - ( - "surfaceTension", - dimensionSet(1, -2, -2, 0, 0), - 0 - ) - ) + "surfaceTension", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimensionSet(1, -2, -2, 0, 0), Zero) ); tSurfaceTension.ref().setOriented(); @@ -805,19 +766,12 @@ Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseSystem::surfaceTension Foam::tmp<Foam::volScalarField> Foam::multiphaseSystem::nearInterface() const { - tmp<volScalarField> tnearInt + auto tnearInt = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "nearInterface", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar("nearInterface", dimless, 0.0) - ) + "nearInterface", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless, Zero) ); for (const phaseModel& phase : phases_) @@ -872,7 +826,7 @@ void Foam::multiphaseSystem::solve() mesh_ ), mesh_, - dimensionedScalar("0", dimensionSet(0, 3, -1, 0, 0), 0) + dimensionedScalar(dimensionSet(0, 3, -1, 0, 0), Zero) ) ); diff --git a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/phaseModel/phaseModel.C b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/phaseModel/phaseModel.C index 0da2401b990..48df9c09f5b 100644 --- a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/phaseModel/phaseModel.C +++ b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/phaseModel/phaseModel.C @@ -118,39 +118,27 @@ Foam::phaseModel::phaseModel { alphaPhi_.setOriented(); - const word phiName = IOobject::groupName("phi", name_); - - IOobject phiHeader + IOobject io ( - phiName, + IOobject::groupName("phi", name_), mesh.time().timeName(), mesh, - IOobject::NO_READ + IOobject::MUST_READ, + IOobject::AUTO_WRITE, + IOobject::REGISTER ); - if (phiHeader.typeHeaderOk<surfaceScalarField>(true)) + if (io.typeHeaderOk<surfaceScalarField>(true)) { - Info<< "Reading face flux field " << phiName << endl; + Info<< "Reading face flux field " << io.name() << endl; - phiPtr_.reset - ( - new surfaceScalarField - ( - IOobject - ( - phiName, - mesh.time().timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ) - ); + phiPtr_.reset(new surfaceScalarField(io, mesh)); } else { - Info<< "Calculating face flux field " << phiName << endl; + Info<< "Calculating face flux field " << io.name() << endl; + + io.readOpt(IOobject::NO_READ); wordList phiTypes ( @@ -175,14 +163,7 @@ Foam::phaseModel::phaseModel ( new surfaceScalarField ( - IOobject - ( - phiName, - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), + io, fvc::flux(U_), phiTypes ) diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/InterfaceCompositionModel/InterfaceCompositionModel.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/InterfaceCompositionModel/InterfaceCompositionModel.C index 4c15779cc33..6a91b731363 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/InterfaceCompositionModel/InterfaceCompositionModel.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/InterfaceCompositionModel/InterfaceCompositionModel.C @@ -78,21 +78,14 @@ Foam::InterfaceCompositionModel<Thermo, OtherThermo>::getSpecieMassFraction { const fvMesh& mesh = fromThermo_.p().mesh(); - auto tY = tmp<volScalarField>::New + auto tY = volScalarField::New ( - IOobject - ( - "tY", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "tY", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimless, Zero), fvPatchFieldBase::zeroGradientType() ); - auto& Ys = tY.ref(); Ys = mixture.Y(speciesName); @@ -112,16 +105,10 @@ Foam::InterfaceCompositionModel<Thermo, OtherThermo>::getSpecieMassFraction { const fvMesh& mesh = fromThermo_.p().mesh(); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "tY", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "tY", + IOobject::NO_REGISTER, mesh, scalar(1), dimless, @@ -140,16 +127,10 @@ Foam::InterfaceCompositionModel<Thermo, OtherThermo>::MwMixture { const fvMesh& mesh = fromThermo_.p().mesh(); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "tM", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "tM", + IOobject::NO_REGISTER, mesh, dimensionedScalar ( @@ -230,18 +211,13 @@ Foam::InterfaceCompositionModel<Thermo, OtherThermo>::Dto const volScalarField& T = toThermo_.T(); - auto tmpD = tmp<volScalarField>::New + auto tmpD = volScalarField::New ( - IOobject - ( - IOobject::groupName("D", pair_.name()), - p.time().timeName(), - p.mesh() - ), + IOobject::groupName("D", pair_.name()), + IOobject::NO_REGISTER, p.mesh(), dimensionedScalar(dimArea/dimTime, Zero) ); - auto& D = tmpD.ref(); forAll(p, celli) @@ -276,18 +252,13 @@ Foam::InterfaceCompositionModel<Thermo, OtherThermo>::Dfrom const volScalarField& T(fromThermo_.T()); - auto tmpD = tmp<volScalarField>::New + auto tmpD = volScalarField::New ( - IOobject - ( - IOobject::groupName("D", pair_.name()), - p.time().timeName(), - p.mesh() - ), + IOobject::groupName("D", pair_.name()), + IOobject::NO_REGISTER, p.mesh(), dimensionedScalar(dimArea/dimTime, Zero) ); - auto& D = tmpD.ref(); forAll(p, celli) @@ -319,19 +290,14 @@ Foam::InterfaceCompositionModel<Thermo, OtherThermo>::L const volScalarField& p(fromThermo_.p()); - auto tmpL = tmp<volScalarField>::New + auto tmpL = volScalarField::New ( - IOobject - ( - IOobject::groupName("L", pair_.name()), - p.time().timeName(), - p.mesh() - ), + IOobject::groupName("L", pair_.name()), + IOobject::NO_REGISTER, p.mesh(), dimensionedScalar(dimEnergy/dimMass, Zero), fvPatchFieldBase::zeroGradientType() ); - auto& L = tmpL.ref(); // from Thermo (from) to Thermo (to) diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/MassTransferPhaseSystem/MassTransferPhaseSystem.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/MassTransferPhaseSystem/MassTransferPhaseSystem.C index 9bdd167d898..c1a2aca8cf7 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/MassTransferPhaseSystem/MassTransferPhaseSystem.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/MassTransferPhaseSystem/MassTransferPhaseSystem.C @@ -62,7 +62,8 @@ Foam::MassTransferPhaseSystem<BasePhaseSystem>::MassTransferPhaseSystem this->mesh().time().timeName(), this->mesh(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh(), dimensionedScalar(dimDensity/dimTime, Zero) @@ -85,16 +86,10 @@ Foam::MassTransferPhaseSystem<BasePhaseSystem>::calculateL const volScalarField& T ) const { - auto tL = tmp<volScalarField>::New + auto tL = volScalarField::New ( - IOobject - ( - "tL", - this->mesh().time().timeName(), - this->mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "tL", + IOobject::NO_REGISTER, this->mesh(), dimensionedScalar(dimEnergy/dimMass, Zero) ); @@ -137,14 +132,10 @@ Foam::MassTransferPhaseSystem<BasePhaseSystem>::dmdt const phasePairKey& key ) const { - auto tdmdt = tmp<volScalarField>::New + auto tdmdt = volScalarField::New ( - IOobject - ( - "dmdt", - this->mesh().time().timeName(), - this->mesh() - ), + "dmdt", + IOobject::NO_REGISTER, this->mesh(), dimensionedScalar(dimDensity/dimTime, Zero) ); @@ -188,40 +179,28 @@ Foam::MassTransferPhaseSystem<BasePhaseSystem>::heatTransfer const phasePairKey keyki(phasek.name(), phasei.name(), true); // Net mass transfer from k to i phase - auto tdmdtNetki = tmp<volScalarField>::New + auto tdmdtNetki = volScalarField::New ( - IOobject - ( - "tdmdtYki", - this->mesh().time().timeName(), - this->mesh() - ), + "tdmdtYki", + IOobject::NO_REGISTER, this->mesh(), dimensionedScalar(dimDensity/dimTime, Zero) ); auto& dmdtNetki = tdmdtNetki.ref(); - auto tSp = tmp<volScalarField>::New + auto tSp = volScalarField::New ( - IOobject - ( - "Sp", - this->mesh().time().timeName(), - this->mesh() - ), + "Sp", + IOobject::NO_REGISTER, this->mesh(), dimensionedScalar(dimDensity/dimTime/dimTemperature, Zero) ); auto& Sp = tSp.ref(); - auto tSu = tmp<volScalarField>::New + auto tSu = volScalarField::New ( - IOobject - ( - "Su", - this->mesh().time().timeName(), - this->mesh() - ), + "Su", + IOobject::NO_REGISTER, this->mesh(), dimensionedScalar(dimDensity/dimTime, Zero) ); @@ -311,27 +290,19 @@ Foam::MassTransferPhaseSystem<BasePhaseSystem>::volTransfer auto teqn = tmp<fvScalarMatrix>::New(p, dimVolume/dimTime); auto& eqn = teqn.ref(); - auto tSp = tmp<volScalarField>::New + auto tSp = volScalarField::New ( - IOobject - ( - "Sp", - this->mesh().time().timeName(), - this->mesh() - ), + "Sp", + IOobject::NO_REGISTER, this->mesh(), dimensionedScalar(dimless/dimTime/dimPressure, Zero) ); auto& Sp = tSp.ref(); - auto tSu = tmp<volScalarField>::New + auto tSu = volScalarField::New ( - IOobject - ( - "Su", - this->mesh().time().timeName(), - this->mesh() - ), + "Su", + IOobject::NO_REGISTER, this->mesh(), dimensionedScalar(dimless/dimTime, Zero) ); diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C index bb4970e78fe..ec2730a096e 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C @@ -70,20 +70,15 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::surfaceTensionModels::constantSurfaceTensionCoefficient:: sigma() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return - tmp<volScalarField>::New - ( - IOobject - ( - "zero", - mesh.time().timeName(), - mesh - ), - mesh, - sigma_ - ); + const fvMesh& mesh = this->pair_.phase1().mesh(); + + return volScalarField::New + ( + "zero", + IOobject::NO_REGISTER, + mesh, + sigma_ + ); } diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/diffusionGasEvaporation/diffusionGasEvaporation.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/diffusionGasEvaporation/diffusionGasEvaporation.C index 6a7e10ec02d..af1f1fd2604 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/diffusionGasEvaporation/diffusionGasEvaporation.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/diffusionGasEvaporation/diffusionGasEvaporation.C @@ -144,32 +144,26 @@ Foam::meltingEvaporationModels::diffusionGasEvaporation<Thermo, OtherThermo> updateInterface(T); - auto tRhog = tmp<volScalarField>::New + auto tRhog = volScalarField::New ( - IOobject - ( - "tRhog", - mesh.time().timeName(), - mesh - ), + "tRhog", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimDensity, Zero) ); - volScalarField& rhog = tRhog.ref(); + auto& rhog = tRhog.ref(); + rhog = this->pair().to().rho(); - auto tDvg = tmp<volScalarField>::New + auto tDvg = volScalarField::New ( - IOobject - ( - "tDvg", - mesh.time().timeName(), - mesh - ), + "tDvg", + IOobject::NO_REGISTER, mesh, dimensionedScalar(sqr(dimLength)/dimTime, Zero) ); - volScalarField& Dvg = tDvg.ref(); + auto& Dvg = tDvg.ref(); + Dvg = this->Dto(speciesName); tmp<volScalarField> tpSat = saturationModelPtr_->pSat(T); diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/interfaceHeatResistance/interfaceHeatResistance.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/interfaceHeatResistance/interfaceHeatResistance.C index 0dfd7e8b117..a4934d3c3d8 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/interfaceHeatResistance/interfaceHeatResistance.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/interfaceHeatResistance/interfaceHeatResistance.C @@ -195,14 +195,10 @@ Foam::meltingEvaporationModels::interfaceHeatResistance<Thermo, OtherThermo> updateInterface(T); - auto tdeltaT = tmp<volScalarField>::New + auto tdeltaT = volScalarField::New ( - IOobject - ( - "tdeltaT", - mesh.time().timeName(), - mesh - ), + "tdeltaT", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimTemperature, Zero) ); diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/interfaceOxideRate/interfaceOxideRate.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/interfaceOxideRate/interfaceOxideRate.C index 617940487b7..e052f6f3b17 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/interfaceOxideRate/interfaceOxideRate.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/interfaceOxideRate/interfaceOxideRate.C @@ -152,18 +152,14 @@ Foam::meltingEvaporationModels::interfaceOxideRate<Thermo, OtherThermo>::Kexp const labelUList& fc = mesh.boundary()[patchi].faceCells(); tmp<scalarField> tsb = pp.source(); - auto tRhoto = tmp<volScalarField>::New + auto tRhoto = volScalarField::New ( - IOobject - ( - "tRhoto", - mesh.time().timeName(), - mesh - ), + "tRhoto", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimDensity, Zero) ); - volScalarField& rhoto = tRhoto.ref(); + auto& rhoto = tRhoto.ref(); rhoto = this->pair().to().rho(); diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/kineticGasEvaporation/kineticGasEvaporation.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/kineticGasEvaporation/kineticGasEvaporation.C index 83f0d399d43..1b42747e0aa 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/kineticGasEvaporation/kineticGasEvaporation.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/massTransferModels/kineticGasEvaporation/kineticGasEvaporation.C @@ -167,37 +167,23 @@ Foam::meltingEvaporationModels::kineticGasEvaporation<Thermo, OtherThermo> updateInterface(T); - tmp<volScalarField> tRhov + auto tRhov = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "tRhov", - mesh.time().timeName(), - mesh - ), - mesh, - dimensionedScalar(dimDensity, Zero) - ) + "tRhov", + IOobject::NO_REGISTER, + mesh, + dimensionedScalar(dimDensity, Zero) ); - volScalarField& rhov = tRhov.ref(); + auto& rhov = tRhov.ref(); - tmp<volScalarField> tdeltaT + auto tdeltaT = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "tdeltaT", - mesh.time().timeName(), - mesh - ), - mesh, - dimensionedScalar(dimTemperature, Zero) - ) + "tdeltaT", + IOobject::NO_REGISTER, + mesh, + dimensionedScalar(dimTemperature, Zero) ); - volScalarField& deltaT = tdeltaT.ref(); + auto& deltaT = tdeltaT.ref(); dimensionedScalar T0("T0", dimTemperature, Zero); @@ -216,7 +202,7 @@ Foam::meltingEvaporationModels::kineticGasEvaporation<Thermo, OtherThermo> mDotc_ = htc_*deltaT*interfaceArea_; - return tmp<volScalarField>(new volScalarField(mDotc_)); + return tmp<volScalarField>::New(mDotc_); } @@ -241,10 +227,8 @@ Foam::meltingEvaporationModels::kineticGasEvaporation<Thermo, OtherThermo>::KSp return(coeff*pos(Tactivate_ - refValue)); } } - else - { - return tmp<volScalarField> (); - } + + return nullptr; } @@ -269,10 +253,8 @@ Foam::meltingEvaporationModels::kineticGasEvaporation<Thermo, OtherThermo>::KSu return(coeff*pos(Tactivate_ - refValue)); } } - else - { - return tmp<volScalarField> (); - } + + return nullptr; } diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseInterSystem/multiphaseInterSystem.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseInterSystem/multiphaseInterSystem.C index 69d2927d876..2a7fb6670eb 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseInterSystem/multiphaseInterSystem.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseInterSystem/multiphaseInterSystem.C @@ -94,9 +94,10 @@ Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseInterSystem::generatePhi { auto iter = phaseModels.cbegin(); - auto tmpPhi = tmp<surfaceScalarField>::New + auto tmpPhi = surfaceScalarField::New ( "phi", + IOobject::NO_REGISTER, fvc::interpolate(iter()()) * iter()->phi() ); @@ -925,12 +926,10 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::nuEff() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::kappaEff() const { - const volScalarField kappaEff + return ( this->kappa() + this->Cp()*turb_->mut()/Prt_ ); - - return tmp<volScalarField>::New(kappaEff); } @@ -1075,14 +1074,10 @@ const Foam::fvMesh& Foam::multiphaseInterSystem::mesh() const Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseInterSystem::surfaceTensionForce() const { - auto tstf = tmp<surfaceScalarField>::New + auto tstf = surfaceScalarField::New ( - IOobject - ( - "surfaceTensionForce", - mesh_.time().timeName(), - mesh_ - ), + "surfaceTensionForce", + IOobject::NO_REGISTER, mesh_, dimensionedScalar({1, -2, -2, 0, 0, 0}, Zero) ); @@ -1125,14 +1120,10 @@ Foam::multiphaseInterSystem::surfaceTensionForce() const Foam::tmp<Foam::volVectorField> Foam::multiphaseInterSystem::U() const { - auto tstf = tmp<volVectorField>::New + auto tstf = volVectorField::New ( - IOobject - ( - "U", - mesh_.time().timeName(), - mesh_ - ), + "U", + IOobject::NO_REGISTER, mesh_, dimensionedVector(dimVelocity, Zero) ); @@ -1232,14 +1223,10 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::nearInterface Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::nearInterface() const { - auto tnearInt = tmp<volScalarField>::New + auto tnearInt = volScalarField::New ( - IOobject - ( - "nearInterface", - mesh_.time().timeName(), - mesh_ - ), + "nearInterface", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseSystem/multiphaseSystem.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseSystem/multiphaseSystem.C index 4cf91a30e38..7e2538f9642 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseSystem/multiphaseSystem.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/multiphaseSystem/multiphaseSystem.C @@ -84,36 +84,22 @@ Foam::multiphaseInter::multiphaseSystem::multiphaseSystem { const multiphaseInter::phaseModel& pm = iter()(); - Su_.insert + Su_.emplace ( pm.name(), - volScalarField::Internal - ( - IOobject - ( - "Su" + pm.name(), - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar(dimless/dimTime, Zero) - ) + // volScalarField::Internal + mesh_.newIOobject("Su" + pm.name()), + mesh_, + dimensionedScalar(dimless/dimTime, Zero) ); - Sp_.insert + Sp_.emplace ( pm.name(), - volScalarField::Internal - ( - IOobject - ( - "Sp" + pm.name(), - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar(dimless/dimTime, Zero) - ) + // volScalarField::Internal + mesh_.newIOobject("Sp" + pm.name()), + mesh_, + dimensionedScalar(dimless/dimTime, Zero) ); } } @@ -138,12 +124,7 @@ void Foam::multiphaseInter::multiphaseSystem::solve() { surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - mesh_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("rhoPhiSum"), mesh_, dimensionedScalar(rhoPhi_.dimensions(), Zero) ); @@ -323,12 +304,7 @@ void Foam::multiphaseInter::multiphaseSystem::solveAlphas() volScalarField sumAlpha ( - IOobject - ( - "sumAlpha", - mesh_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("sumAlpha"), mesh_, dimensionedScalar(dimless, Zero) ); @@ -386,12 +362,7 @@ void Foam::multiphaseInter::multiphaseSystem::solveAlphas() { volScalarField sumAlpha ( - IOobject - ( - "sumAlpha", - mesh_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("sumAlpha"), mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C index efe8c61a6a0..773bc831b5b 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C @@ -124,14 +124,10 @@ template<class BasePhaseModel> Foam::tmp<Foam::surfaceScalarField> Foam::MovingPhaseModel<BasePhaseModel>:: diffNo() const { - return tmp<surfaceScalarField>::New + return surfaceScalarField::New ( - IOobject - ( - IOobject::groupName("diffNo", multiphaseInter::phaseModel::name()), - U_.mesh().time().timeName(), - U_.mesh() - ), + IOobject::groupName("diffNo", multiphaseInter::phaseModel::name()), + IOobject::NO_REGISTER, U_.mesh(), dimensionedScalar(dimless, Zero) ); diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseModel/StaticPhaseModel/StaticPhaseModel.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseModel/StaticPhaseModel/StaticPhaseModel.C index b86c773cc70..74e80086dc1 100644 --- a/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseModel/StaticPhaseModel/StaticPhaseModel.C +++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseModel/StaticPhaseModel/StaticPhaseModel.C @@ -87,14 +87,10 @@ template<class BasePhaseModel> Foam::tmp<Foam::surfaceScalarField> Foam::StaticPhaseModel<BasePhaseModel>::phi() const { - return tmp<surfaceScalarField>::New + return surfaceScalarField::New ( - IOobject - ( - IOobject::groupName("phi", multiphaseInter::phaseModel::name()), - U_.mesh().time().timeName(), - U_.mesh() - ), + IOobject::groupName("phi", multiphaseInter::phaseModel::name()), + IOobject::NO_REGISTER, U_.mesh(), dimensionedScalar(dimensionSet(0, 3, -1, 0, 0), Zero) ); @@ -114,18 +110,14 @@ template<class BasePhaseModel> Foam::tmp<Foam::surfaceScalarField> Foam::StaticPhaseModel<BasePhaseModel>::alphaPhi() const { - return tmp<surfaceScalarField>::New + return surfaceScalarField::New ( - IOobject + IOobject::groupName ( - IOobject::groupName - ( - "alphaPhi", - multiphaseInter::phaseModel::name() - ), - U_.mesh().time().timeName(), - U_.mesh() + "alphaPhi", + multiphaseInter::phaseModel::name() ), + IOobject::NO_REGISTER, U_.mesh(), dimensionedScalar(dimensionSet(0, 3, -1, 0, 0), Zero) ); @@ -145,14 +137,10 @@ template<class BasePhaseModel> Foam::tmp<Foam::volVectorField> Foam::StaticPhaseModel<BasePhaseModel>::U() const { - return tmp<volVectorField>::New + return volVectorField::New ( - IOobject - ( - IOobject::groupName("U", multiphaseInter::phaseModel::name()), - U_.mesh().time().timeName(), - U_.mesh() - ), + IOobject::groupName("U", multiphaseInter::phaseModel::name()), + IOobject::NO_REGISTER, U_.mesh(), dimensionedVector(dimVelocity, Zero) ); diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C index 1ecb0a60cf2..cafe46b30fe 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014-2018 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -125,22 +125,12 @@ Foam::BlendedInterfacialModel<ModelType>::evaluate ); } - tmp<typeGeoField> x + auto x = typeGeoField::New ( - new typeGeoField - ( - IOobject - ( - ModelType::typeName + ":" + name, - phase1_.mesh().time().timeName(), - phase1_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - phase1_.mesh(), - dimensioned<Type>(dims, Zero) - ) + IOobject::scopedName(ModelType::typeName, name), + IOobject::NO_REGISTER, + phase1_.mesh(), + dimensioned<Type>(dims, Zero) ); if (model_) diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C index 9057336a159..d53f32bef25 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C @@ -73,13 +73,15 @@ Foam::tmp<Foam::volScalarField> Foam::blendingMethods::noBlending::f1 const phaseModel& phase2 ) const { - const fvMesh& mesh(phase1.mesh()); + const fvMesh& mesh = phase1.mesh(); return volScalarField::New ( "f", + IOobject::NO_REGISTER, mesh, - dimensionedScalar("one", dimless, phase2.name() == continuousPhase_) + scalar(phase2.name() == continuousPhase_), // value 0/1 + dimless ); } @@ -90,13 +92,15 @@ Foam::tmp<Foam::volScalarField> Foam::blendingMethods::noBlending::f2 const phaseModel& phase2 ) const { - const fvMesh& mesh(phase1.mesh()); + const fvMesh& mesh = phase1.mesh(); return volScalarField::New ( "f", + IOobject::NO_REGISTER, mesh, - dimensionedScalar("one", dimless, phase1.name() == continuousPhase_) + scalar(phase1.name() == continuousPhase_), // value 0/1 + dimless ); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C index fb7c5377211..53b1551bb2e 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2018 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,15 +61,14 @@ Foam::MomentumTransferPhaseSystem<BasePhaseSystem>::Kd { return dragModels_[key]->K(); } - else - { - return volScalarField::New - ( - dragModel::typeName + ":K", - this->mesh_, - dimensionedScalar(dragModel::dimK) - ); - } + + return volScalarField::New + ( + IOobject::scopedName(dragModel::typeName, "K"), + IOobject::NO_REGISTER, + this->mesh_, + dimensionedScalar(dragModel::dimK) + ); } @@ -84,15 +83,14 @@ Foam::MomentumTransferPhaseSystem<BasePhaseSystem>::Kdf { return dragModels_[key]->Kf(); } - else - { - return surfaceScalarField::New - ( - dragModel::typeName + ":K", - this->mesh_, - dimensionedScalar(dragModel::dimK) - ); - } + + return surfaceScalarField::New + ( + IOobject::scopedName(dragModel::typeName, "K"), + IOobject::NO_REGISTER, + this->mesh_, + dimensionedScalar(dragModel::dimK) + ); } @@ -107,15 +105,14 @@ Foam::MomentumTransferPhaseSystem<BasePhaseSystem>::Vm { return virtualMassModels_[key]->K(); } - else - { - return volScalarField::New - ( - virtualMassModel::typeName + ":K", - this->mesh_, - dimensionedScalar(virtualMassModel::dimK) - ); - } + + return volScalarField::New + ( + IOobject::scopedName(virtualMassModel::typeName, "K"), + IOobject::NO_REGISTER, + this->mesh_, + dimensionedScalar(virtualMassModel::dimK) + ); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C index 8ec8a8be023..45a96bc20dd 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C @@ -70,19 +70,12 @@ Foam::diameterModels::constant::~constant() Foam::tmp<Foam::volScalarField> Foam::diameterModels::constant::d() const { - return tmp<Foam::volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "d", - phase_.time().timeName(), - phase_.mesh() - ), - phase_.mesh(), - d_ - ) + "d", + IOobject::NO_REGISTER, + phase_.mesh(), + d_ ); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C index 9b38688cdc9..78c69f65b5d 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014-2018 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -70,11 +71,12 @@ Foam::aspectRatioModels::constantAspectRatio::~constantAspectRatio() Foam::tmp<Foam::volScalarField> Foam::aspectRatioModels::constantAspectRatio::E() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); return volScalarField::New ( - aspectRatioModel::typeName + ":E", + IOobject::scopedName(aspectRatioModel::typeName, "E"), + IOobject::NO_REGISTER, mesh, E0_ ); diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/multiphaseSystem/multiphaseSystem.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/multiphaseSystem/multiphaseSystem.C index e232ec1e397..19e4979a3e9 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/multiphaseSystem/multiphaseSystem.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/multiphaseSystem/multiphaseSystem.C @@ -557,14 +557,12 @@ Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseSystem::surfaceTension const phaseModel& phase1 ) const { - tmp<surfaceScalarField> tSurfaceTension + auto tSurfaceTension = surfaceScalarField::New ( - surfaceScalarField::New - ( - "surfaceTension", - mesh_, - dimensionedScalar(dimensionSet(1, -2, -2, 0, 0), Zero) - ) + "surfaceTension", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimensionSet(1, -2, -2, 0, 0), Zero) ); tSurfaceTension.ref().setOriented(); @@ -600,14 +598,12 @@ Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseSystem::surfaceTension Foam::tmp<Foam::volScalarField> Foam::multiphaseSystem::nearInterface() const { - tmp<volScalarField> tnearInt + auto tnearInt = volScalarField::New ( - volScalarField::New - ( - "nearInterface", - mesh_, - dimensionedScalar(dimless, Zero) - ) + "nearInterface", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless, Zero) ); forAll(phases(), phasei) diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/InertPhaseModel/InertPhaseModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/InertPhaseModel/InertPhaseModel.C index 275f2faa9e0..5497620c46d 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/InertPhaseModel/InertPhaseModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/InertPhaseModel/InertPhaseModel.C @@ -58,10 +58,7 @@ Foam::InertPhaseModel<BasePhaseModel>::R volScalarField& Yi ) const { - return tmp<fvScalarMatrix> - ( - new fvScalarMatrix(Yi, dimMass/dimTime) - ); + return tmp<fvScalarMatrix>::New(Yi, dimMass/dimTime); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C index 4ffe5c6f659..8a0cbd79568 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C @@ -50,15 +50,13 @@ void Foam::IsothermalPhaseModel<BasePhaseModel>::correctThermo() BasePhaseModel::correctThermo(); // Correct the thermo, but make sure that the temperature remains the same - tmp<volScalarField> TCopy + auto TCopy = volScalarField::New ( - volScalarField::New - ( - this->thermo().T().name() + ":Copy", - this->thermo().T() - ) + IOobject::scopedName(this->thermo().T().name(), "Copy"), + IOobject::NO_REGISTER, + this->thermo().T() ); - this->thermo_->he() = this->thermo().he(this->thermo().p(), TCopy); + this->thermo_->he() = this->thermo().he(this->thermo().p(), TCopy()); this->thermo_->correct(); this->thermo_->T() = TCopy; } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C index c8d030117d0..8d616263308 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseModel/MovingPhaseModel/MovingPhaseModel.C @@ -48,41 +48,29 @@ template<class BasePhaseModel> Foam::tmp<Foam::surfaceScalarField> Foam::MovingPhaseModel<BasePhaseModel>::phi(const volVectorField& U) const { - word phiName(IOobject::groupName("phi", this->name())); - - IOobject phiHeader + IOobject io ( - phiName, + IOobject::groupName("phi", this->name()), U.mesh().time().timeName(), U.mesh(), - IOobject::NO_READ + IOobject::MUST_READ, + IOobject::AUTO_WRITE, + IOobject::REGISTER ); - if (phiHeader.typeHeaderOk<surfaceScalarField>(true)) + if (io.typeHeaderOk<surfaceScalarField>(true)) { - Info<< "Reading face flux field " << phiName << endl; + Info<< "Reading face flux field " << io.name() << endl; - return tmp<surfaceScalarField> - ( - new surfaceScalarField - ( - IOobject - ( - phiName, - U.mesh().time().timeName(), - U.mesh(), - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - U.mesh() - ) - ); + return tmp<surfaceScalarField>::New(io, U.mesh()); } else { - Info<< "Calculating face flux field " << phiName << endl; + Info<< "Calculating face flux field " << io.name() << endl; + + io.readOpt(IOobject::NO_READ); - wordList phiTypes + wordList patchTypes ( U.boundaryField().size(), fvsPatchFieldBase::calculatedType() @@ -97,25 +85,15 @@ Foam::MovingPhaseModel<BasePhaseModel>::phi(const volVectorField& U) const || isA<partialSlipFvPatchVectorField>(U.boundaryField()[i]) ) { - phiTypes[i] = fixedValueFvPatchScalarField::typeName; + patchTypes[i] = fixedValueFvPatchScalarField::typeName; } } - return tmp<surfaceScalarField> + return tmp<surfaceScalarField>::New ( - new surfaceScalarField - ( - IOobject - ( - phiName, - U.mesh().time().timeName(), - U.mesh(), - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - fvc::flux(U), - phiTypes - ) + io, + fvc::flux(U), + patchTypes ); } } @@ -140,7 +118,8 @@ Foam::MovingPhaseModel<BasePhaseModel>::MovingPhaseModel fluid.mesh().time().timeName(), fluid.mesh(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), fluid.mesh() ), diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseSystem/phaseSystem.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseSystem/phaseSystem.C index bee5a74ba85..91335c81878 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseSystem/phaseSystem.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/phaseSystem/phaseSystem.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2018 OpenFOAM Foundation - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -53,13 +53,11 @@ Foam::tmp<Foam::surfaceScalarField> Foam::phaseSystem::calcPhi const phaseModelList& phaseModels ) const { - tmp<surfaceScalarField> tphi + auto tphi = surfaceScalarField::New ( - surfaceScalarField::New - ( - "phi", - fvc::interpolate(phaseModels[0])*phaseModels[0].phi() - ) + "phi", + IOobject::NO_REGISTER, + fvc::interpolate(phaseModels[0])*phaseModels[0].phi() ); for (label phasei=1; phasei<phaseModels.size(); ++phasei) @@ -136,8 +134,9 @@ Foam::phaseSystem::phaseSystem "phaseProperties", mesh.time().constant(), mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE + IOobject::READ_MODIFIED, + IOobject::NO_WRITE, + IOobject::REGISTER ) ), @@ -156,7 +155,7 @@ Foam::phaseSystem::phaseSystem mesh ), mesh, - dimensionedScalar("zero", dimPressure/dimTime, 0) + dimensionedScalar(dimPressure/dimTime, Zero) ), MRF_(mesh_) @@ -303,15 +302,14 @@ Foam::phaseSystem::E(const phasePairKey& key) const { return aspectRatioModels_[key]->E(); } - else - { - return volScalarField::New - ( - aspectRatioModel::typeName + ":E", - this->mesh_, - dimensionedScalar("one", dimless, 1) - ); - } + + return volScalarField::New + ( + IOobject::scopedName(aspectRatioModel::typeName, "E"), + IOobject::NO_REGISTER, + this->mesh_, + dimensionedScalar("one", dimless, 1) + ); } @@ -322,19 +320,21 @@ Foam::phaseSystem::sigma(const phasePairKey& key) const { return surfaceTensionModels_[key]->sigma(); } - else - { - return volScalarField::New + + return volScalarField::New + ( + IOobject::scopedName ( - reactingMultiphaseEuler::surfaceTensionModel::typeName + ":sigma", - this->mesh_, - dimensionedScalar - ( - reactingMultiphaseEuler::surfaceTensionModel::dimSigma, - 0 - ) - ); - } + reactingMultiphaseEuler::surfaceTensionModel::typeName, "sigma" + ), + IOobject::NO_REGISTER, + this->mesh_, + dimensionedScalar + ( + reactingMultiphaseEuler::surfaceTensionModel::dimSigma, + Zero + ) + ); } @@ -346,8 +346,9 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::dmdt return volScalarField::New ( IOobject::groupName("dmdt", phasePairs_[key]->name()), + IOobject::NO_REGISTER, this->mesh_, - dimensionedScalar("zero", dimDensity/dimTime, 0) + dimensionedScalar(dimDensity/dimTime, Zero) ); } diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/populationBalanceModel/populationBalanceModel.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/populationBalanceModel/populationBalanceModel.C index e3e046cf44d..9aac84604c3 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/populationBalanceModel/populationBalanceModel.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/populationBalanceModel/populationBalanceModel/populationBalanceModel.C @@ -148,31 +148,23 @@ void Foam::diameterModels::populationBalanceModel::registerSizeGroups Su_.append ( - new volScalarField + volScalarField::New ( - IOobject - ( - "Su", - fluid_.time().timeName(), - mesh_ - ), + "Su", + IOobject::NO_REGISTER, mesh_, - dimensionedScalar("zero", inv(dimTime), 0) + dimensionedScalar(inv(dimTime), Zero) ) ); SuSp_.append ( - new volScalarField + volScalarField::New ( - IOobject - ( - "SuSp", - fluid_.time().timeName(), - mesh_ - ), + "SuSp", + IOobject::NO_REGISTER, mesh_, - dimensionedScalar("zero", inv(dimTime), 0) + dimensionedScalar(inv(dimTime), Zero) ) ); } @@ -957,14 +949,9 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel ( new volScalarField ( - IOobject - ( - "coalescenceRate", - mesh_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("coalescenceRate"), mesh_, - dimensionedScalar("zero", dimVolume/dimTime, Zero) + dimensionedScalar(dimVolume/dimTime, Zero) ) ); } @@ -975,14 +962,9 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel ( new volScalarField ( - IOobject - ( - "breakupRate", - fluid_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("breakupRate"), mesh_, - dimensionedScalar("zero", inv(dimTime), Zero) + dimensionedScalar(inv(dimTime), Zero) ) ); } @@ -993,19 +975,9 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel ( new volScalarField ( - IOobject - ( - "binaryBreakupRate", - fluid_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("binaryBreakupRate"), mesh_, - dimensionedScalar - ( - "binaryBreakupRate", - inv(dimVolume*dimTime), - Zero - ) + dimensionedScalar(inv(dimVolume*dimTime), Zero) ) ); } @@ -1016,14 +988,9 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel ( new volScalarField ( - IOobject - ( - "driftRate", - fluid_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("driftRate"), mesh_, - dimensionedScalar("zero", dimVolume/dimTime, Zero) + dimensionedScalar(dimVolume/dimTime, Zero) ) ); @@ -1031,14 +998,9 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel ( new volScalarField ( - IOobject - ( - "r", - fluid_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("rx"), mesh_, - dimensionedScalar("zero", dimless, Zero) + dimensionedScalar(dimless, Zero) ) ); @@ -1046,14 +1008,9 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel ( new volScalarField ( - IOobject - ( - "r", - fluid_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("rdx"), mesh_, - dimensionedScalar("zero", dimless, Zero) + dimensionedScalar(dimless, Zero) ) ); } @@ -1064,19 +1021,9 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel ( new volScalarField ( - IOobject - ( - "nucleationRate", - fluid_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("nucleationRate"), mesh_, - dimensionedScalar - ( - "nucleationRate", - inv(dimTime*dimVolume), - Zero - ) + dimensionedScalar(inv(dimTime*dimVolume), Zero) ) ); } @@ -1093,10 +1040,11 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel fluid_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, - dimensionedScalar("zero", dimless, Zero) + dimensionedScalar(dimless, Zero) ) ); @@ -1110,10 +1058,11 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel fluid_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, - dimensionedScalar("zero", dimLength, Zero) + dimensionedScalar(dimLength, Zero) ) ); @@ -1127,7 +1076,8 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel fluid_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedVector(dimVelocity, Zero) diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C index d0c5de3052a..3f8066a18cb 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C +++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C @@ -120,25 +120,14 @@ Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu { const volScalarField& alpha = phase; - tmp<volScalarField> tnu + auto tnu = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Schaeffer:nu", - phase.mesh().time().timeName(), - phase.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - phase.mesh(), - dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), Zero) - ) + IOobject::scopedName("Schaeffer", "nu"), + IOobject::NO_REGISTER, + phase.mesh(), + dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), Zero) ); - - volScalarField& nuf = tnu.ref(); + auto& nuf = tnu.ref(); forAll(D, celli) { diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index 84a80a1a1cb..b8bc3af38f2 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -113,7 +113,8 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel U.time().timeName(), U.mesh(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), U.mesh() ), @@ -168,7 +169,8 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel U.time().timeName(), U.mesh(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), U.mesh(), dimensionedScalar(dimViscosity, Zero) @@ -244,18 +246,11 @@ Foam::RASModels::kineticTheoryModel::omega() const Foam::tmp<Foam::volSymmTensorField> Foam::RASModels::kineticTheoryModel::R() const { - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField + IOobject::groupName("R", U_.group()), + IOobject::NO_REGISTER, ( - IOobject - ( - IOobject::groupName("R", U_.group()), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - (nut_)*devTwoSymm(fvc::grad(U_)) - (lambda_*fvc::div(phi_))*symmTensor::I ) @@ -323,20 +318,13 @@ Foam::RASModels::kineticTheoryModel::devRhoReff const volVectorField& U ) const { - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField + IOobject::groupName("devRhoReff", U.group()), + IOobject::NO_REGISTER, ( - IOobject - ( - IOobject::groupName("devRhoReff", U.group()), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - (rho_*nut_) - *devTwoSymm(fvc::grad(U)) + * devTwoSymm(fvc::grad(U)) - ((rho_*lambda_)*fvc::div(phi_))*symmTensor::I ) ); diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C index bf6fbd3316d..0f04837778f 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C +++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C @@ -123,21 +123,12 @@ Foam::RASModels::phasePressureModel::omega() const Foam::tmp<Foam::volSymmTensorField> Foam::RASModels::phasePressureModel::R() const { - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField - ( - IOobject - ( - IOobject::groupName("R", U_.group()), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensioned<symmTensor>(dimensionSet(0, 2, -2, 0, 0), Zero) - ) + IOobject::groupName("R", U_.group()), + IOobject::NO_REGISTER, + mesh_, + dimensioned<symmTensor>(dimensionSet(0, 2, -2, 0, 0), Zero) ); } @@ -155,8 +146,7 @@ Foam::RASModels::phasePressureModel::pPrime() const ) ); - volScalarField::Boundary& bpPrime = - tpPrime.ref().boundaryFieldRef(); + auto& bpPrime = tpPrime.ref().boundaryFieldRef(); forAll(bpPrime, patchi) { @@ -183,8 +173,7 @@ Foam::RASModels::phasePressureModel::pPrimef() const ) ); - surfaceScalarField::Boundary& bpPrime = - tpPrime.ref().boundaryFieldRef(); + auto& bpPrime = tpPrime.ref().boundaryFieldRef(); forAll(bpPrime, patchi) { @@ -211,25 +200,15 @@ Foam::RASModels::phasePressureModel::devRhoReff const volVectorField& U ) const { - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField + IOobject::groupName("devRhoReff", U.group()), + IOobject::NO_REGISTER, + mesh_, + dimensioned<symmTensor> ( - IOobject - ( - IOobject::groupName("devRhoReff", U.group()), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensioned<symmTensor> - ( - "R", - rho_.dimensions()*dimensionSet(0, 2, -2, 0, 0), - Zero - ) + rho_.dimensions()*dimensionSet(0, 2, -2, 0, 0), + Zero ) ); } @@ -241,13 +220,10 @@ Foam::RASModels::phasePressureModel::divDevRhoReff volVectorField& U ) const { - return tmp<fvVectorMatrix> + return tmp<fvVectorMatrix>::New ( - new fvVectorMatrix - ( - U, - rho_.dimensions()*dimensionSet(0, 4, -2, 0, 0) - ) + U, + rho_.dimensions()*dimensionSet(0, 4, -2, 0, 0) ); } diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C b/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C index d554ea70fe9..9c10f71961b 100644 --- a/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C +++ b/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C @@ -121,8 +121,6 @@ Foam::twoPhaseSystem::Vm() const void Foam::twoPhaseSystem::solve() { - const Time& runTime = mesh_.time(); - volScalarField& alpha1 = phase1_; volScalarField& alpha2 = phase2_; @@ -195,24 +193,14 @@ void Foam::twoPhaseSystem::solve() { volScalarField::Internal Sp ( - IOobject - ( - "Sp", - runTime.timeName(), - mesh_ - ), + mesh_.newIOobject("Sp"), mesh_, - dimensionedScalar(dimless/dimTime) + dimensionedScalar(dimless/dimTime, Zero) ); volScalarField::Internal Su ( - IOobject - ( - "Su", - runTime.timeName(), - mesh_ - ), + mesh_.newIOobject("Su"), // Divergence term is handled explicitly to be // consistent with the explicit transport solution fvc::div(phi_)*min(alpha1, scalar(1)) diff --git a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C index 170d0d4df3d..cc8302f7c4a 100644 --- a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C +++ b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C @@ -130,25 +130,14 @@ JohnsonJacksonSchaeffer::nu { const volScalarField& alpha = phase; - tmp<volScalarField> tnu + auto tnu = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "JohnsonJacksonSchaeffer:nu", - phase.mesh().time().timeName(), - phase.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - phase.mesh(), - dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), Zero) - ) + IOobject::scopedName("JohnsonJacksonSchaeffer", "nu"), + IOobject::NO_REGISTER, + phase.mesh(), + dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), Zero) ); - - volScalarField& nuf = tnu.ref(); + auto& nuf = tnu.ref(); forAll(D, celli) { diff --git a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C index ccb2ff83fc1..26679d97d2c 100644 --- a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C +++ b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C @@ -120,25 +120,14 @@ Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu { const volScalarField& alpha = phase; - tmp<volScalarField> tnu + auto tnu = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Schaeffer:nu", - phase.mesh().time().timeName(), - phase.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - phase.mesh(), - dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), Zero) - ) + IOobject::scopedName("Schaeffer", "nu"), + IOobject::NO_REGISTER, + phase.mesh(), + dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), Zero) ); - - volScalarField& nuf = tnu.ref(); + auto& nuf = tnu.ref(); forAll(D, celli) { diff --git a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index 53f76222a66..e4228cf5a07 100644 --- a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -113,7 +113,8 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel U.time().timeName(), U.mesh(), IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), U.mesh() ), @@ -168,7 +169,8 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel U.time().timeName(), U.mesh(), IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), U.mesh(), dimensionedScalar(dimViscosity, Zero) @@ -244,18 +246,11 @@ Foam::RASModels::kineticTheoryModel::omega() const Foam::tmp<Foam::volSymmTensorField> Foam::RASModels::kineticTheoryModel::R() const { - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField + IOobject::groupName("R", U_.group()), + IOobject::NO_REGISTER, ( - IOobject - ( - IOobject::groupName("R", U_.group()), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - (nut_)*devTwoSymm(fvc::grad(U_)) - (lambda_*fvc::div(phi_))*symmTensor::I ) @@ -322,20 +317,13 @@ Foam::RASModels::kineticTheoryModel::devRhoReff const volVectorField& U ) const { - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField + IOobject::groupName("devRhoReff", U.group()), + IOobject::NO_REGISTER, ( - IOobject - ( - IOobject::groupName("devRhoReff", U.group()), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - (rho_*nut_) - *devTwoSymm(fvc::grad(U)) + * devTwoSymm(fvc::grad(U)) - ((rho_*lambda_)*fvc::div(phi_))*symmTensor::I ) ); diff --git a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C index 42fa6cfbac5..3534b0abe37 100644 --- a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C +++ b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C @@ -106,7 +106,7 @@ Foam::tmp<Foam::volScalarField> Foam::RASModels::phasePressureModel::k() const { NotImplemented; - return nut_; + return nullptr; } @@ -114,7 +114,7 @@ Foam::tmp<Foam::volScalarField> Foam::RASModels::phasePressureModel::epsilon() const { NotImplemented; - return nut_; + return nullptr; } @@ -129,16 +129,10 @@ Foam::RASModels::phasePressureModel::omega() const Foam::tmp<Foam::volSymmTensorField> Foam::RASModels::phasePressureModel::R() const { - return tmp<volSymmTensorField>::New + return volSymmTensorField::New ( - IOobject - ( - IOobject::groupName("R", U_.group()), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::groupName("R", U_.group()), + IOobject::NO_REGISTER, mesh_, dimensioned<symmTensor>(dimensionSet(0, 2, -2, 0, 0), Zero) ); @@ -214,16 +208,10 @@ Foam::RASModels::phasePressureModel::devRhoReff const volVectorField& U ) const { - return tmp<volSymmTensorField>::New + return volSymmTensorField::New ( - IOobject - ( - IOobject::groupName("devRhoReff", U.group()), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::groupName("devRhoReff", U.group()), + IOobject::NO_REGISTER, mesh_, dimensioned<symmTensor> ( @@ -239,13 +227,10 @@ Foam::RASModels::phasePressureModel::divDevRhoReff volVectorField& U ) const { - return tmp<fvVectorMatrix> + return tmp<fvVectorMatrix>::New ( - new fvVectorMatrix - ( - U, - rho_.dimensions()*dimensionSet(0, 4, -2, 0, 0) - ) + U, + rho_.dimensions()*dimensionSet(0, 4, -2, 0, 0) ); } diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C index c9f207655d1..6f32ceb265e 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -39,8 +39,7 @@ void Foam::BlendedInterfacialModel<modelType>::correctFixedFluxBCs GeometricField& field ) const { - typename GeometricField::Boundary& fieldBf = - field.boundaryFieldRef(); + auto& fieldBf = field.boundaryFieldRef(); forAll(pair_.phase1().phi().boundaryField(), patchi) { @@ -140,22 +139,12 @@ Foam::BlendedInterfacialModel<modelType>::K() const f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed()); } - tmp<volScalarField> x + auto x = volScalarField::New ( - new volScalarField - ( - IOobject - ( - modelType::typeName + ":K", - pair_.phase1().mesh().time().timeName(), - pair_.phase1().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - pair_.phase1().mesh(), - dimensionedScalar(modelType::dimK, Zero) - ) + IOobject::scopedName(modelType::typeName, "K"), + IOobject::NO_REGISTER, + pair_.phase1().mesh(), + dimensionedScalar(modelType::dimK, Zero) ); if (model_) @@ -208,22 +197,11 @@ Foam::BlendedInterfacialModel<modelType>::Kf() const ); } - tmp<surfaceScalarField> x + auto x = surfaceScalarField::New ( - new surfaceScalarField - ( - IOobject - ( - modelType::typeName + ":Kf", - pair_.phase1().mesh().time().timeName(), - pair_.phase1().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - pair_.phase1().mesh(), - dimensionedScalar(modelType::dimK, Zero) - ) + IOobject::scopedName(modelType::typeName, "Kf"), + pair_.phase1().mesh(), + dimensionedScalar(modelType::dimK, Zero) ); if (model_) @@ -271,17 +249,10 @@ Foam::BlendedInterfacialModel<modelType>::F() const f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed()); } - auto x = tmp<GeometricField<Type, fvPatchField, volMesh>>::New + auto x = GeometricField<Type, fvPatchField, volMesh>::New ( - IOobject - ( - modelType::typeName + ":F", - pair_.phase1().mesh().time().timeName(), - pair_.phase1().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(modelType::typeName, "F"), + IOobject::NO_REGISTER, pair_.phase1().mesh(), dimensioned<Type>(modelType::dimF, Zero) ); @@ -336,17 +307,10 @@ Foam::BlendedInterfacialModel<modelType>::Ff() const ); } - auto x = tmp<surfaceScalarField>::New + auto x = surfaceScalarField::New ( - IOobject - ( - modelType::typeName + ":Ff", - pair_.phase1().mesh().time().timeName(), - pair_.phase1().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName(modelType::typeName, "Ff"), + IOobject::NO_REGISTER, pair_.phase1().mesh(), dimensionedScalar(modelType::dimF*dimArea, Zero) ); @@ -397,22 +361,12 @@ Foam::BlendedInterfacialModel<modelType>::D() const f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed()); } - tmp<volScalarField> x + auto x = volScalarField::New ( - new volScalarField - ( - IOobject - ( - modelType::typeName + ":D", - pair_.phase1().mesh().time().timeName(), - pair_.phase1().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - pair_.phase1().mesh(), - dimensionedScalar(modelType::dimD, Zero) - ) + IOobject::scopedName(modelType::typeName, "D"), + IOobject::NO_REGISTER, + pair_.phase1().mesh(), + dimensionedScalar(modelType::dimD, Zero) ); if (model_) diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C index 3f3dfe09aac..4ba27735706 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C @@ -73,28 +73,16 @@ Foam::tmp<Foam::volScalarField> Foam::blendingMethods::noBlending::f1 const phaseModel& phase2 ) const { - const fvMesh& mesh(phase1.mesh()); - - return - tmp<volScalarField> - ( - new volScalarField - ( - IOobject - ( - "f", - mesh.time().timeName(), - mesh - ), - mesh, - dimensionedScalar - ( - "f", - dimless, - phase2.name() != continuousPhase_ - ) - ) - ); + const fvMesh& mesh = phase1.mesh(); + + return volScalarField::New + ( + "f", + IOobject::NO_REGISTER, + mesh, + scalar(phase2.name() != continuousPhase_), // value 0/1 + dimless + ); } @@ -104,28 +92,16 @@ Foam::tmp<Foam::volScalarField> Foam::blendingMethods::noBlending::f2 const phaseModel& phase2 ) const { - const fvMesh& mesh(phase1.mesh()); - - return - tmp<volScalarField> - ( - new volScalarField - ( - IOobject - ( - "f", - mesh.time().timeName(), - mesh - ), - mesh, - dimensionedScalar - ( - "f", - dimless, - phase1.name() == continuousPhase_ - ) - ) - ); + const fvMesh& mesh = phase1.mesh(); + + return volScalarField::New + ( + "f", + IOobject::NO_REGISTER, + mesh, + scalar(phase1.name() == continuousPhase_), // value 0/1 + dimless + ); } diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C index d0e2dfda5be..65f6012b924 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C @@ -48,14 +48,10 @@ namespace IATEsources Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsources::dummy::R() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "R", - iate_.phase().U().time().timeName(), - iate_.phase().mesh() - ), + "R", + IOobject::NO_REGISTER, iate_.phase().U().mesh(), dimensionedScalar(dimless/dimTime, Zero) ); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C index 39ee3276dbb..6f80349065f 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C @@ -64,22 +64,14 @@ randomCoalescence Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsources::randomCoalescence::R() const { - tmp<volScalarField> tR + auto tR = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "R", - iate_.phase().U().time().timeName(), - iate_.phase().mesh() - ), - iate_.phase().U().mesh(), - dimensionedScalar(dimless/dimTime, Zero) - ) + "R", + IOobject::NO_REGISTER, + iate_.phase().U().mesh(), + dimensionedScalar(dimless/dimTime, Zero) ); - - volScalarField R = tR(); + auto& R = tR.ref(); scalar Crc = Crc_.value(); scalar C = C_.value(); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C index f8129e55eda..f7f4921c447 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C @@ -63,22 +63,14 @@ turbulentBreakUp Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsources::turbulentBreakUp::R() const { - tmp<volScalarField> tR + auto tR = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "R", - iate_.phase().U().time().timeName(), - iate_.phase().mesh() - ), - iate_.phase().U().mesh(), - dimensionedScalar(dimless/dimTime, Zero) - ) + "R", + IOobject::NO_REGISTER, + iate_.phase().U().mesh(), + dimensionedScalar(dimless/dimTime, Zero) ); - - volScalarField R = tR(); + auto R = tR(); const scalar Cti = Cti_.value(); const scalar WeCr = WeCr_.value(); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C index c6f0a03f7b9..dce8516716f 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C @@ -69,22 +69,12 @@ Foam::diameterModels::constant::~constant() Foam::tmp<Foam::volScalarField> Foam::diameterModels::constant::d() const { - return tmp<Foam::volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "d", - phase_.U().time().timeName(), - phase_.U().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - phase_.U().mesh(), - d_ - ) + "d", + IOobject::NO_REGISTER, + phase_.U().mesh(), + d_ ); } diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C index 790c071fcab..c4ec68bc6a4 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C @@ -70,16 +70,12 @@ Foam::aspectRatioModels::constantAspectRatio::~constantAspectRatio() Foam::tmp<Foam::volScalarField> Foam::aspectRatioModels::constantAspectRatio::E() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "zero", - mesh.time().timeName(), - mesh - ), + "zero", + IOobject::NO_REGISTER, mesh, E0_ ); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C index d606d0dc6af..c17e6f9573d 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C @@ -65,16 +65,12 @@ Foam::liftModels::constantLiftCoefficient::~constantLiftCoefficient() Foam::tmp<Foam::volScalarField> Foam::liftModels::constantLiftCoefficient::Cl() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "zero", - mesh.time().timeName(), - mesh - ), + "zero", + IOobject::NO_REGISTER, mesh, Cl_ ); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/liftModels/noLift/noLift.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/liftModels/noLift/noLift.C index 2b540ed3fa1..d36090c36dd 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/liftModels/noLift/noLift.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/liftModels/noLift/noLift.C @@ -63,19 +63,12 @@ Foam::liftModels::noLift::~noLift() Foam::tmp<Foam::volScalarField> Foam::liftModels::noLift::Cl() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "Cl", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "Cl", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimless, Zero) ); @@ -84,19 +77,12 @@ Foam::tmp<Foam::volScalarField> Foam::liftModels::noLift::Cl() const Foam::tmp<Foam::volVectorField> Foam::liftModels::noLift::F() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volVectorField>::New + return volVectorField::New ( - IOobject - ( - "noLift:F", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName("noLift", "F"), + IOobject::NO_REGISTER, mesh, dimensionedVector(dimF, Zero) ); @@ -105,19 +91,12 @@ Foam::tmp<Foam::volVectorField> Foam::liftModels::noLift::F() const Foam::tmp<Foam::surfaceScalarField> Foam::liftModels::noLift::Ff() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<surfaceScalarField>::New + return surfaceScalarField::New ( - IOobject - ( - "noLift:Ff", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName("noLift", "Ff"), + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimF*dimArea, Zero) ); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/swarmCorrections/noSwarm/noSwarm.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/swarmCorrections/noSwarm/noSwarm.C index e799cca4473..86192abec2a 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/swarmCorrections/noSwarm/noSwarm.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/swarmCorrections/noSwarm/noSwarm.C @@ -63,23 +63,15 @@ Foam::swarmCorrections::noSwarm::~noSwarm() Foam::tmp<Foam::volScalarField> Foam::swarmCorrections::noSwarm::Cs() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return - tmp<volScalarField> - ( - new volScalarField - ( - IOobject - ( - "one", - mesh.time().timeName(), - mesh - ), - mesh, - dimensionedScalar("one", dimless, 1) - ) - ); + const fvMesh& mesh = this->pair_.phase1().mesh(); + + return volScalarField::New + ( + "one", + IOobject::NO_REGISTER, + mesh, + dimensionedScalar("one", dimless, 1) + ); } diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C index 2d3180152d3..cbd4aaa3b11 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C @@ -70,19 +70,12 @@ Foam::turbulentDispersionModels::noTurbulentDispersion:: Foam::tmp<Foam::volScalarField> Foam::turbulentDispersionModels::noTurbulentDispersion::D() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "zero", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + "zero", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimD, Zero) ); @@ -92,16 +85,12 @@ Foam::turbulentDispersionModels::noTurbulentDispersion::D() const Foam::tmp<Foam::volVectorField> Foam::turbulentDispersionModels::noTurbulentDispersion::F() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volVectorField>::New + return volVectorField::New ( - IOobject - ( - "zero", - mesh.time().timeName(), - mesh - ), + "zero", + IOobject::NO_REGISTER, mesh, dimensionedVector(dimF, Zero) ); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C index 0c8a3bff339..74380463b5f 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C @@ -73,24 +73,14 @@ Foam::virtualMassModels::constantVirtualMassCoefficient:: Foam::tmp<Foam::volScalarField> Foam::virtualMassModels::constantVirtualMassCoefficient::Cvm() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Cvm", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - Cvm_ - ) + "Cvm", + IOobject::NO_REGISTER, + mesh, + Cvm_ ); } diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C index a135d5d8877..a9f4c9f1086 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C @@ -65,16 +65,12 @@ Foam::virtualMassModels::noVirtualMass::~noVirtualMass() Foam::tmp<Foam::volScalarField> Foam::virtualMassModels::noVirtualMass::Cvm() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "zero", - mesh.time().timeName(), - mesh - ), + "zero", + IOobject::NO_REGISTER, mesh, dimensionedScalar(dimless, Zero) ); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C index 4eb415f7e4f..d9a23e9ab30 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C @@ -69,19 +69,12 @@ Foam::wallLubricationModels::noWallLubrication::~noWallLubrication() Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::noWallLubrication::Fi() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volVectorField>::New + return volVectorField::New ( - IOobject - ( - "noWallLubrication:Fi", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName("noWallLubrication", "Fi"), + IOobject::NO_REGISTER, mesh, dimensionedVector(dimF, Zero) ); @@ -91,19 +84,12 @@ Foam::wallLubricationModels::noWallLubrication::Fi() const Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::noWallLubrication::F() const { - const fvMesh& mesh(this->pair_.phase1().mesh()); + const fvMesh& mesh = this->pair_.phase1().mesh(); - return tmp<volVectorField>::New + return volVectorField::New ( - IOobject - ( - "noWallLubrication:F", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::scopedName("noWallLubrication", "F"), + IOobject::NO_REGISTER, mesh, dimensionedVector(dimF, Zero) ); diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/twoPhaseSystem/twoPhaseSystem.C b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/twoPhaseSystem/twoPhaseSystem.C index fdb52fea29c..ac5bc45b9d9 100644 --- a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/twoPhaseSystem/twoPhaseSystem.C +++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/twoPhaseSystem/twoPhaseSystem.C @@ -110,7 +110,7 @@ Foam::twoPhaseSystem::twoPhaseSystem IOobject::AUTO_WRITE ), mesh, - dimensionedScalar("dgdt", dimless/dimTime, Zero) + dimensionedScalar(dimless/dimTime, Zero) ) { phase2_.volScalarField::operator=(scalar(1) - phase1_); @@ -351,8 +351,6 @@ Foam::tmp<Foam::volScalarField> Foam::twoPhaseSystem::D() const void Foam::twoPhaseSystem::solve() { - const Time& runTime = mesh_.time(); - volScalarField& alpha1 = phase1_; volScalarField& alpha2 = phase2_; @@ -396,24 +394,14 @@ void Foam::twoPhaseSystem::solve() { volScalarField::Internal Sp ( - IOobject - ( - "Sp", - runTime.timeName(), - mesh_ - ), + mesh_.newIOobject("Sp"), mesh_, - dimensionedScalar("Sp", dgdt_.dimensions(), 0.0) + dimensionedScalar(dgdt_.dimensions(), Zero) ); volScalarField::Internal Su ( - IOobject - ( - "Su", - runTime.timeName(), - mesh_ - ), + mesh_.newIOobject("Su"), // Divergence term is handled explicitly to be // consistent with the explicit transport solution fvc::div(phi_)*min(alpha1, scalar(1)) -- GitLab From c138f89c1f874a49f2bf6d83b1a1dfb0fdc8a024 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 10:53:02 +0100 Subject: [PATCH 057/231] ENH: use tmp field factory methods [10] (#2723) - src/TurbulenceModels --- .../ThermalDiffusivity/ThermalDiffusivity.C | 5 +- .../turbulenceModels/DES/DESModel/DESModel.C | 12 +-- .../LES/LESdeltas/IDDESDelta/IDDESDelta.C | 19 ++--- .../anisotropicFilter/anisotropicFilter.C | 34 +++----- .../LES/dynamicKEqn/dynamicKEqn.C | 10 +-- .../turbulenceModels/LES/kEqn/kEqn.C | 10 +-- .../RAS/LaunderSharmaKE/LaunderSharmaKE.C | 20 ++--- .../turbulenceModels/RAS/RASModel/RASModel.C | 20 ++--- .../RAS/RNGkEpsilon/RNGkEpsilon.C | 20 ++--- .../turbulenceModels/RAS/kEpsilon/kEpsilon.C | 20 ++--- .../RAS/kOmegaSSTLM/kOmegaSSTLM.C | 79 +++++++------------ .../RAS/realizableKE/realizableKE.C | 20 ++--- .../eddyViscosity/eddyViscosity.C | 23 ++---- .../turbulenceModels/laminar/Stokes/Stokes.C | 27 ++----- .../laminar/laminarModel/laminarModel.C | 79 +++++-------------- .../turbulenceModels/RAS/kL/kL.C | 39 ++++----- .../multiphaseMangrovesSource.C | 26 ++---- .../multiphaseMangrovesTurbulenceModel.C | 31 ++------ 18 files changed, 148 insertions(+), 346 deletions(-) diff --git a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C index b249146c06e..e658882d6a7 100644 --- a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C +++ b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C @@ -143,10 +143,7 @@ Foam::ThermalDiffusivity<BasicTurbulenceModel>::alphat const label patchi ) const { - return tmp<scalarField> - ( - new scalarField(this->mesh_.boundary()[patchi].size(), Zero) - ); + return tmp<scalarField>::New(this->mesh_.boundary()[patchi].size(), Zero); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C index c99d84c6f7b..cf223102f42 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C +++ b/src/TurbulenceModels/turbulenceModels/DES/DESModel/DESModel.C @@ -168,16 +168,10 @@ tmp<volScalarField> DESModel<BasicTurbulenceModel>::Ssigma template<class BasicTurbulenceModel> tmp<volScalarField> DESModel<BasicTurbulenceModel>::fd() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "fd", - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "fd", + IOobject::NO_REGISTER, this->mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C index 5ae16f229b9..8386344061a 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C +++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C @@ -53,21 +53,12 @@ void Foam::LESModels::IDDESDelta::calcDelta() // Wall-normal vectors const volVectorField& n = wallDist::New(mesh).n(); - tmp<volScalarField> tfaceToFacenMax + auto tfaceToFacenMax = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "faceToFaceMax", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh, - dimensionedScalar(dimLength, Zero) - ) + "faceToFaceMax", + IOobject::NO_REGISTER, + mesh, + dimensionedScalar(dimLength, Zero) ); scalarField& faceToFacenMax = tfaceToFacenMax.ref().primitiveFieldRef(); diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C index f0b284fb769..1ef8a7673fe 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C +++ b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C @@ -182,19 +182,12 @@ Foam::tmp<Foam::volSymmTensorField> Foam::anisotropicFilter::operator() { correctBoundaryConditions(unFilteredField); - tmp<volSymmTensorField> tmpFilteredField + auto tmpFilteredField = volSymmTensorField::New ( - new volSymmTensorField - ( - IOobject - ( - "anisotropicFilteredSymmTensorField", - mesh().time().timeName(), - mesh() - ), - mesh(), - unFilteredField().dimensions() - ) + "anisotropicFilteredSymmTensorField", + IOobject::NO_REGISTER, + mesh(), + unFilteredField().dimensions() ); for (direction d=0; d<symmTensor::nComponents; d++) @@ -218,19 +211,12 @@ Foam::tmp<Foam::volTensorField> Foam::anisotropicFilter::operator() { correctBoundaryConditions(unFilteredField); - tmp<volTensorField> tmpFilteredField + auto tmpFilteredField = volTensorField::New ( - new volTensorField - ( - IOobject - ( - "anisotropicFilteredTensorField", - mesh().time().timeName(), - mesh() - ), - mesh(), - unFilteredField().dimensions() - ) + "anisotropicFilteredTensorField", + IOobject::NO_REGISTER, + mesh(), + unFilteredField().dimensions() ); for (direction d=0; d<tensor::nComponents; d++) diff --git a/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C b/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C index 8a25b36b687..25777c8b612 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C +++ b/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C @@ -138,14 +138,10 @@ void dynamicKEqn<BasicTurbulenceModel>::correctNut() template<class BasicTurbulenceModel> tmp<fvScalarMatrix> dynamicKEqn<BasicTurbulenceModel>::kSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions() - /dimTime - ) + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime ); } diff --git a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C index 50fb5f029ff..6ecd8118f65 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C +++ b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C @@ -52,14 +52,10 @@ void kEqn<BasicTurbulenceModel>::correctNut() template<class BasicTurbulenceModel> tmp<fvScalarMatrix> kEqn<BasicTurbulenceModel>::kSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions() - /dimTime - ) + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime ); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C index f0a84979f4a..a414e8bc4e8 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C @@ -69,14 +69,10 @@ void LaunderSharmaKE<BasicTurbulenceModel>::correctNut() template<class BasicTurbulenceModel> tmp<fvScalarMatrix> LaunderSharmaKE<BasicTurbulenceModel>::kSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions() - /dimTime - ) + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime ); } @@ -84,14 +80,10 @@ tmp<fvScalarMatrix> LaunderSharmaKE<BasicTurbulenceModel>::kSource() const template<class BasicTurbulenceModel> tmp<fvScalarMatrix> LaunderSharmaKE<BasicTurbulenceModel>::epsilonSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - epsilon_, - dimVolume*this->rho_.dimensions()*epsilon_.dimensions() - /dimTime - ) + epsilon_, + dimVolume*this->rho_.dimensions()*epsilon_.dimensions()/dimTime ); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C index 661f65ebba7..aefac5045ef 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C @@ -193,14 +193,10 @@ Foam::RASModel<BasicTurbulenceModel>::epsilon() const { const scalar Cmu = 0.09; - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("epsilon", this->alphaRhoPhi_.group()), - this->mesh_.time().timeName(), - this->mesh_ - ), + IOobject::groupName("epsilon", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, Cmu*this->k()*this->omega() ); } @@ -213,14 +209,10 @@ Foam::RASModel<BasicTurbulenceModel>::omega() const const scalar betaStar = 0.09; const dimensionedScalar k0(sqr(dimLength/dimTime), SMALL); - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("omega", this->alphaRhoPhi_.group()), - this->mesh_.time().timeName(), - this->mesh_ - ), + IOobject::groupName("omega", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->epsilon()/(betaStar*(this->k() + k0)) ); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C index 3f7df45d617..6760dc82694 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C @@ -53,14 +53,10 @@ void RNGkEpsilon<BasicTurbulenceModel>::correctNut() template<class BasicTurbulenceModel> tmp<fvScalarMatrix> RNGkEpsilon<BasicTurbulenceModel>::kSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions() - /dimTime - ) + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime ); } @@ -68,14 +64,10 @@ tmp<fvScalarMatrix> RNGkEpsilon<BasicTurbulenceModel>::kSource() const template<class BasicTurbulenceModel> tmp<fvScalarMatrix> RNGkEpsilon<BasicTurbulenceModel>::epsilonSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - epsilon_, - dimVolume*this->rho_.dimensions()*epsilon_.dimensions() - /dimTime - ) + epsilon_, + dimVolume*this->rho_.dimensions()*epsilon_.dimensions()/dimTime ); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C index ead17ff2049..d66b80be90d 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C @@ -53,14 +53,10 @@ void kEpsilon<BasicTurbulenceModel>::correctNut() template<class BasicTurbulenceModel> tmp<fvScalarMatrix> kEpsilon<BasicTurbulenceModel>::kSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions() - /dimTime - ) + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime ); } @@ -68,14 +64,10 @@ tmp<fvScalarMatrix> kEpsilon<BasicTurbulenceModel>::kSource() const template<class BasicTurbulenceModel> tmp<fvScalarMatrix> kEpsilon<BasicTurbulenceModel>::epsilonSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - epsilon_, - dimVolume*this->rho_.dimensions()*epsilon_.dimensions() - /dimTime - ) + epsilon_, + dimVolume*this->rho_.dimensions()*epsilon_.dimensions()/dimTime ); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C index b6911809369..eb3acb2abd0 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C @@ -95,11 +95,11 @@ tmp<volScalarField::Internal> kOmegaSSTLM<BasicTurbulenceModel>::Fthetat const volScalarField::Internal ReOmega(sqr(y)*omega/nu); const volScalarField::Internal Fwake(exp(-sqr(ReOmega/1e5))); - return tmp<volScalarField::Internal> + return volScalarField::Internal::New ( - new volScalarField::Internal + IOobject::groupName("Fthetat", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, ( - IOobject::groupName("Fthetat", this->alphaRhoPhi_.group()), min ( max @@ -118,21 +118,14 @@ template<class BasicTurbulenceModel> tmp<volScalarField::Internal> kOmegaSSTLM<BasicTurbulenceModel>::ReThetac() const { - tmp<volScalarField::Internal> tReThetac + auto tReThetac = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - IOobject::groupName("ReThetac", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_ - ), - this->mesh_, - dimless - ) + IOobject::groupName("ReThetac", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, + this->mesh_, + dimless ); - volScalarField::Internal& ReThetac = tReThetac.ref(); + auto& ReThetac = tReThetac.ref(); forAll(ReThetac, celli) { @@ -161,21 +154,14 @@ tmp<volScalarField::Internal> kOmegaSSTLM<BasicTurbulenceModel>::Flength const volScalarField::Internal& nu ) const { - tmp<volScalarField::Internal> tFlength + auto tFlength = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - IOobject::groupName("Flength", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_ - ), - this->mesh_, - dimless - ) + IOobject::groupName("Flength", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, + this->mesh_, + dimless ); - volScalarField::Internal& Flength = tFlength.ref(); + auto& Flength = tFlength.ref(); const volScalarField::Internal& omega = this->omega_(); const volScalarField::Internal& y = this->y_(); @@ -226,21 +212,14 @@ tmp<volScalarField::Internal> kOmegaSSTLM<BasicTurbulenceModel>::ReThetat0 const volScalarField::Internal& nu ) const { - tmp<volScalarField::Internal> tReThetat0 + auto tReThetat0 = volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject - ( - IOobject::groupName("ReThetat0", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_ - ), - this->mesh_, - dimless - ) + IOobject::groupName("ReThetat0", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, + this->mesh_, + dimless ); - volScalarField::Internal& ReThetat0 = tReThetat0.ref(); + auto& ReThetat0 = tReThetat0.ref(); const volScalarField& k = this->k_; @@ -349,13 +328,11 @@ tmp<volScalarField::Internal> kOmegaSSTLM<BasicTurbulenceModel>::Fonset const volScalarField::Internal Fonset3(max(1 - pow3(RT/2.5), scalar(0))); - return tmp<volScalarField::Internal> + return volScalarField::Internal::New ( - new volScalarField::Internal - ( - IOobject::groupName("Fonset", this->alphaRhoPhi_.group()), - max(Fonset2 - Fonset3, scalar(0)) - ) + IOobject::groupName("Fonset", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, + max(Fonset2 - Fonset3, scalar(0)) ); } @@ -459,7 +436,8 @@ kOmegaSSTLM<BasicTurbulenceModel>::kOmegaSSTLM this->runTime_.timeName(), this->mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh_ ), @@ -472,7 +450,8 @@ kOmegaSSTLM<BasicTurbulenceModel>::kOmegaSSTLM this->runTime_.timeName(), this->mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh_ ), diff --git a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C index 6e08625a61a..b5712400c58 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C @@ -101,14 +101,10 @@ void realizableKE<BasicTurbulenceModel>::correctNut() template<class BasicTurbulenceModel> tmp<fvScalarMatrix> realizableKE<BasicTurbulenceModel>::kSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions() - /dimTime - ) + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime ); } @@ -116,14 +112,10 @@ tmp<fvScalarMatrix> realizableKE<BasicTurbulenceModel>::kSource() const template<class BasicTurbulenceModel> tmp<fvScalarMatrix> realizableKE<BasicTurbulenceModel>::epsilonSource() const { - return tmp<fvScalarMatrix> + return tmp<fvScalarMatrix>::New ( - new fvScalarMatrix - ( - epsilon_, - dimVolume*this->rho_.dimensions()*epsilon_.dimensions() - /dimTime - ) + epsilon_, + dimVolume*this->rho_.dimensions()*epsilon_.dimensions()/dimTime ); } diff --git a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C index 65ae0c2d3ea..f37ad54b4e3 100644 --- a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C +++ b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C @@ -65,7 +65,8 @@ Foam::eddyViscosity<BasicTurbulenceModel>::eddyViscosity this->runTime_.timeName(), this->mesh_, IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), this->mesh_ ) @@ -104,22 +105,12 @@ Foam::eddyViscosity<BasicTurbulenceModel>::R() const } } - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField - ( - IOobject - ( - IOobject::groupName("R", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - ((2.0/3.0)*I)*tk() - (nut_)*devTwoSymm(fvc::grad(this->U_)), - patchFieldTypes - ) + IOobject::groupName("R", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, + ((2.0/3.0)*I)*tk() - (nut_)*devTwoSymm(fvc::grad(this->U_)), + patchFieldTypes ); } diff --git a/src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.C b/src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.C index 0e42398ef3d..e45fab2853b 100644 --- a/src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.C +++ b/src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.C @@ -89,17 +89,10 @@ template<class BasicTurbulenceModel> tmp<volScalarField> Stokes<BasicTurbulenceModel>::nut() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("nut", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::groupName("nut", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->mesh_, dimensionedScalar(dimViscosity, Zero) ); @@ -113,10 +106,7 @@ Stokes<BasicTurbulenceModel>::nut const label patchi ) const { - return tmp<scalarField> - ( - new scalarField(this->mesh_.boundary()[patchi].size(), Zero) - ); + return tmp<scalarField>::New(this->mesh_.boundary()[patchi].size(), Zero); } @@ -124,12 +114,11 @@ template<class BasicTurbulenceModel> tmp<volScalarField> Stokes<BasicTurbulenceModel>::nuEff() const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject::groupName("nuEff", this->alphaRhoPhi_.group()), this->nu() - ) + IOobject::groupName("nuEff", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, + this->nu() ); } diff --git a/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.C b/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.C index 22e7af0fbcf..41444d6420a 100644 --- a/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.C +++ b/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.C @@ -189,17 +189,10 @@ template<class BasicTurbulenceModel> Foam::tmp<Foam::volScalarField> Foam::laminarModel<BasicTurbulenceModel>::nut() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("nut", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::groupName("nut", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->mesh_, dimensionedScalar(dimViscosity, Zero) ); @@ -213,10 +206,7 @@ Foam::laminarModel<BasicTurbulenceModel>::nut const label patchi ) const { - return tmp<scalarField> - ( - new scalarField(this->mesh_.boundary()[patchi].size(), Zero) - ); + return tmp<scalarField>::New(this->mesh_.boundary()[patchi].size(), Zero); } @@ -224,12 +214,11 @@ template<class BasicTurbulenceModel> Foam::tmp<Foam::volScalarField> Foam::laminarModel<BasicTurbulenceModel>::nuEff() const { - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject::groupName("nuEff", this->alphaRhoPhi_.group()), this->nu() - ) + IOobject::groupName("nuEff", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, + this->nu() ); } @@ -249,17 +238,10 @@ template<class BasicTurbulenceModel> Foam::tmp<Foam::volScalarField> Foam::laminarModel<BasicTurbulenceModel>::k() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("k", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::groupName("k", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->mesh_, dimensionedScalar(sqr(this->U_.dimensions()), Zero) ); @@ -270,17 +252,10 @@ template<class BasicTurbulenceModel> Foam::tmp<Foam::volScalarField> Foam::laminarModel<BasicTurbulenceModel>::epsilon() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("epsilon", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::groupName("epsilon", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->mesh_, dimensionedScalar(sqr(this->U_.dimensions())/dimTime, Zero) ); @@ -291,17 +266,10 @@ template<class BasicTurbulenceModel> Foam::tmp<Foam::volScalarField> Foam::laminarModel<BasicTurbulenceModel>::omega() const { - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("omega", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::groupName("omega", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->mesh_, dimensionedScalar(dimless/dimTime, Zero) ); @@ -312,17 +280,10 @@ template<class BasicTurbulenceModel> Foam::tmp<Foam::volSymmTensorField> Foam::laminarModel<BasicTurbulenceModel>::R() const { - return tmp<volSymmTensorField>::New + return volSymmTensorField::New ( - IOobject - ( - IOobject::groupName("R", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::groupName("R", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->mesh_, dimensionedSymmTensor(sqr(this->U_.dimensions()), Zero) ); diff --git a/src/atmosphericModels/turbulenceModels/RAS/kL/kL.C b/src/atmosphericModels/turbulenceModels/RAS/kL/kL.C index 982e3cc7058..7fded669b35 100644 --- a/src/atmosphericModels/turbulenceModels/RAS/kL/kL.C +++ b/src/atmosphericModels/turbulenceModels/RAS/kL/kL.C @@ -80,17 +80,10 @@ tmp<volScalarField> kL<BasicTurbulenceModel>::epsilonCanopy() const return Cd*LAD*mag(U)*k_; } - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("epsilonCanopy", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::groupName("epsilonCanopy", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->mesh_, dimensionedScalar(sqr(dimLength)/pow3(dimTime), Zero) ); @@ -118,26 +111,22 @@ tmp<volScalarField> kL<BasicTurbulenceModel>::epsilon() const template<class BasicTurbulenceModel> tmp<volScalarField> kL<BasicTurbulenceModel>::canopyHeight() const { - const auto* canopyHeightPtr = - this->mesh_.template findObject<volScalarField>("canopyHeight"); + tmp<volScalarField> tcanopy; - if (canopyHeightPtr) + tcanopy.cref + ( + this->mesh_.template cfindObject<volScalarField>("canopyHeight") + ); + + if (tcanopy) { - const auto& canopyHeight = *canopyHeightPtr; - return canopyHeight; + return tcanopy; } - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - IOobject::groupName("canopyHeight", this->alphaRhoPhi_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + IOobject::groupName("canopyHeight", this->alphaRhoPhi_.group()), + IOobject::NO_REGISTER, this->mesh_, dimensionedScalar(dimLength, Zero) ); diff --git a/src/waveModels/fvOptions/multiphaseMangrovesSource/multiphaseMangrovesSource.C b/src/waveModels/fvOptions/multiphaseMangrovesSource/multiphaseMangrovesSource.C index 6c9ad94b3eb..8be3cd40043 100644 --- a/src/waveModels/fvOptions/multiphaseMangrovesSource/multiphaseMangrovesSource.C +++ b/src/waveModels/fvOptions/multiphaseMangrovesSource/multiphaseMangrovesSource.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 IH-Cantabria - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,16 +56,10 @@ namespace fv Foam::tmp<Foam::volScalarField> Foam::fv::multiphaseMangrovesSource::dragCoeff(const volVectorField& U) const { - auto tdragCoeff = tmp<volScalarField>::New + auto tdragCoeff = volScalarField::New ( - IOobject - ( - typeName + ":dragCoeff", - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(typeName, "dragCoeff"), + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless/dimTime, Zero) ); @@ -101,16 +95,10 @@ Foam::fv::multiphaseMangrovesSource::dragCoeff(const volVectorField& U) const Foam::tmp<Foam::volScalarField> Foam::fv::multiphaseMangrovesSource::inertiaCoeff() const { - auto tinertiaCoeff = tmp<volScalarField>::New + auto tinertiaCoeff = volScalarField::New ( - IOobject - ( - typeName + ":inertiaCoeff", - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(typeName, "inertiaCoeff"), + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/src/waveModels/fvOptions/multiphaseMangrovesTurbulenceModel/multiphaseMangrovesTurbulenceModel.C b/src/waveModels/fvOptions/multiphaseMangrovesTurbulenceModel/multiphaseMangrovesTurbulenceModel.C index e9fd781b4d7..4d5effb1141 100644 --- a/src/waveModels/fvOptions/multiphaseMangrovesTurbulenceModel/multiphaseMangrovesTurbulenceModel.C +++ b/src/waveModels/fvOptions/multiphaseMangrovesTurbulenceModel/multiphaseMangrovesTurbulenceModel.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 IH-Cantabria - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -58,21 +58,14 @@ Foam::fv::multiphaseMangrovesTurbulenceModel::kCoeff const volVectorField& U ) const { - auto tkCoeff = tmp<volScalarField>::New + auto tkCoeff = volScalarField::New ( - IOobject - ( - typeName + ":kCoeff", - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(typeName, "kCoeff"), + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless/dimTime, Zero) ); - - volScalarField& kCoeff = tkCoeff.ref(); + auto& kCoeff = tkCoeff.ref(); forAll(zoneIDs_, i) { @@ -104,21 +97,13 @@ Foam::fv::multiphaseMangrovesTurbulenceModel::epsilonCoeff const volVectorField& U ) const { - auto tepsilonCoeff = tmp<volScalarField>::New + auto tepsilonCoeff = volScalarField::New ( - IOobject - ( - typeName + ":epsilonCoeff", - mesh_.time().timeName(), - mesh_.time(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + IOobject::scopedName(typeName, "epsilonCoeff"), mesh_, dimensionedScalar(dimless/dimTime, Zero) ); - - volScalarField& epsilonCoeff = tepsilonCoeff.ref(); + auto& epsilonCoeff = tepsilonCoeff.ref(); forAll(zoneIDs_, i) { -- GitLab From ec2b1be8c550fac69bd634da3d12300d3332d4cc Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 10:55:56 +0100 Subject: [PATCH 058/231] ENH: use tmp field factory methods [11] (#2723) - src/optimisation --- .../adjoint/ATCModel/ATCModel/ATCModel.C | 25 ++---- .../adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C | 21 ++--- ...oundaryAdjointContributionIncompressible.C | 9 +-- .../elasticityMotionSolver.C | 4 +- .../volumetricBSplinesMotionSolver.C | 4 +- .../volPointInterpolateAdjoint.C | 17 ++-- .../designVariables/designVariables.C | 2 +- .../updateMethod/updateMethod/updateMethod.C | 7 +- .../NURBS3DVolume/NURBS3DVolume.C | 32 +++----- .../adjointSolverManager.C | 4 +- .../incompressible/incompressibleVars.C | 9 ++- .../incompressibleAdjointMeanFlowVars.C | 9 ++- .../adjointLaminar/adjointLaminar.C | 77 ++++++------------- .../adjointSpalartAllmaras.C | 55 ++++--------- .../adjointkOmegaSST/adjointkOmegaSST.C | 26 +++---- .../adjointTurbulenceModel.H | 12 +-- .../RAS/RASModelVariables/RASModelVariables.C | 36 +++------ .../RASModelVariables/RASModelVariablesI.H | 21 ++--- .../RAS/SpalartAllmaras/SpalartAllmaras.C | 12 +-- .../RAS/kOmegaSST/kOmegaSST.C | 16 ++-- 20 files changed, 137 insertions(+), 261 deletions(-) diff --git a/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCModel/ATCModel.C b/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCModel/ATCModel.C index 9a3bb69b9fe..2adc5016f83 100644 --- a/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCModel/ATCModel.C +++ b/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCModel/ATCModel.C @@ -229,25 +229,16 @@ tmp<volScalarField> ATCModel::createLimiter const labelList& zeroCells = zeroType->getZeroATCcells(); const label nSmooth = dict.getOrDefault<label>("nSmooth", 0); - tmp<volScalarField> tlimiter + auto tlimiter = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "limiter", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh, - scalar(1), - dimless, - fvPatchFieldBase::zeroGradientType() - ) + "limiter", + IOobject::NO_REGISTER, + mesh, + scalar(1), + dimless, + fvPatchFieldBase::zeroGradientType() ); - volScalarField& limiter = tlimiter.ref(); + auto& limiter = tlimiter.ref(); computeLimiter(limiter, zeroCells, nSmooth); diff --git a/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C b/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C index 62048a5e95d..ae5e9ea36af 100644 --- a/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C +++ b/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C @@ -102,23 +102,14 @@ void ATCUaGradU::addATC(fvVectorMatrix& UaEqn) tmp<volTensorField> ATCUaGradU::getFISensitivityTerm() const { - tmp<volTensorField> tvolSDTerm + auto tvolSDTerm = volTensorField::New ( - new volTensorField - ( - IOobject - ( - "ATCFISensitivityTerm" + type(), - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedTensor(sqr(dimLength)/pow(dimTime, 3), Zero) - ) + "ATCFISensitivityTerm" + type(), + IOobject::NO_REGISTER, + mesh_, + dimensionedTensor(sqr(dimLength)/pow(dimTime, 3), Zero) ); - volTensorField& volSDTerm = tvolSDTerm.ref(); + auto& volSDTerm = tvolSDTerm.ref(); const volVectorField& U = primalVars_.U(); const volVectorField& Ua = adjointVars_.Ua(); diff --git a/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C b/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C index 86f780e6b1c..51c29df2557 100644 --- a/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C +++ b/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C @@ -251,8 +251,8 @@ tmp<scalarField> boundaryAdjointContributionIncompressible::momentumDiffusion() tmp<scalarField> boundaryAdjointContributionIncompressible::laminarDiffusivity() { - tmp<scalarField> tnu(new scalarField(patch_.size(), Zero)); - scalarField& nu = tnu.ref(); + auto tnu = tmp<scalarField>::New(patch_.size(), Zero); + auto& nu = tnu.ref(); const autoPtr<incompressible::turbulenceModel>& turbulenceModel = primalVars_.turbulence(); @@ -272,13 +272,10 @@ tmp<scalarField> boundaryAdjointContributionIncompressible::thermalDiffusion() tmp<scalarField> talphaEff = turbulenceModel.alphaEff(patch_.index()); */ - tmp<scalarField> talphaEff(new scalarField(patch_.size(), Zero)); - WarningInFunction << "no abstract thermalDiffusion is implemented. Returning zero field"; - - return talphaEff; + return tmp<scalarField>::New(patch_.size(), Zero); } diff --git a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C index 5b562382f79..172b675c1f9 100644 --- a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C @@ -171,9 +171,7 @@ Foam::elasticityMotionSolver::elasticityMotionSolver Foam::tmp<Foam::pointField> Foam::elasticityMotionSolver::curPoints() const { - tmp<pointField> tnewPoints(new pointField(mesh().points())); - - return tnewPoints; + return tmp<pointField>::New(mesh().points()); } diff --git a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C index 89fa4dd4a41..143c9b84ad0 100644 --- a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C @@ -74,8 +74,8 @@ Foam::volumetricBSplinesMotionSolver::volumetricBSplinesMotionSolver Foam::tmp<Foam::pointField> Foam::volumetricBSplinesMotionSolver::curPoints() const { - tmp<vectorField> tPointMovement(new vectorField(mesh().points())); - vectorField& pointMovement = tPointMovement.ref(); + auto tPointMovement = tmp<vectorField>::New(mesh().points()); + auto& pointMovement = tPointMovement.ref(); label pastControlPoints(0); PtrList<NURBS3DVolume>& boxes = volBSplinesBase_.boxesRef(); diff --git a/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolateAdjoint.C b/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolateAdjoint.C index e174ef78889..a4841aea9d7 100644 --- a/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolateAdjoint.C +++ b/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolateAdjoint.C @@ -81,7 +81,8 @@ void Foam::volPointInterpolationAdjoint::pushUntransformedData template<class Type> -Foam::tmp<Foam::Field<Type>> Foam::volPointInterpolationAdjoint::flatBoundaryField +Foam::tmp<Foam::Field<Type>> +Foam::volPointInterpolationAdjoint::flatBoundaryField ( const GeometricField<Type, fvPatchField, volMesh>& vf ) const @@ -89,11 +90,8 @@ Foam::tmp<Foam::Field<Type>> Foam::volPointInterpolationAdjoint::flatBoundaryFie const fvMesh& mesh = vf.mesh(); const fvBoundaryMesh& bm = mesh.boundary(); - tmp<Field<Type>> tboundaryVals - ( - new Field<Type>(mesh.nBoundaryFaces()) - ); - Field<Type>& boundaryVals = tboundaryVals.ref(); + auto tboundaryVals = tmp<Field<Type>>::New(mesh.nBoundaryFaces()); + auto& boundaryVals = tboundaryVals.ref(); forAll(vf.boundaryField(), patchi) { @@ -188,11 +186,8 @@ void Foam::volPointInterpolationAdjoint::interpolateSensitivitiesField const fvMesh& Mesh = mesh(); const fvBoundaryMesh& bm = Mesh.boundary(); - tmp<Field<Type>> tboundaryVals - ( - new Field<Type>(Mesh.nBoundaryFaces(), Zero) - ); - Field<Type>& boundaryVals = tboundaryVals.ref(); + auto tboundaryVals = tmp<Field<Type>>::New(Mesh.nBoundaryFaces(), Zero); + auto& boundaryVals = tboundaryVals.ref(); // Do points on 'normal' patches from the surrounding patch faces // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C index bd0b171d589..3c3c3e4f349 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C @@ -262,7 +262,7 @@ void Foam::designVariables::addFvOptions Foam::tmp<Foam::scalarField> Foam::designVariables::constraintValues() { - return tmp<scalarField>(nullptr); + return nullptr; } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/updateMethod/updateMethod.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/updateMethod/updateMethod.C index 4178195c9b2..b08a2ffe2c6 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/updateMethod/updateMethod.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/updateMethod/updateMethod.C @@ -267,12 +267,7 @@ Foam::tmp<Foam::scalarField> Foam::updateMethod::readOrZeroField const label size ) { - return tmp<scalarField> - ( - found(name) ? - new scalarField(name, *this, size) : - new scalarField(size, Zero) - ); + return tmp<scalarField>::New(name, *this, size, IOobjectOption::LAZY_READ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C b/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C index fc43049d1f9..3ad91b1aafb 100644 --- a/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C +++ b/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C @@ -1342,8 +1342,9 @@ Foam::tmp<Foam::tensorField> Foam::NURBS3DVolume::dndbBasedSensitivities const fvPatch& patch = mesh_.boundary()[patchI]; const polyPatch& ppatch = patch.patch(); // Return field - tmp<tensorField> tdndbSens(new tensorField(patch.size(), Zero)); - tensorField& dndbSens = tdndbSens.ref(); + auto tdndbSens = tmp<tensorField>::New(patch.size(), Zero); + auto& dndbSens = tdndbSens.ref(); + // Auxiliary quantities deltaBoundary deltaBoundary(mesh_); const label patchStart = ppatch.start(); @@ -1574,8 +1575,8 @@ Foam::tmp<Foam::vectorField> Foam::NURBS3DVolume::computeNewPoints const vectorField& parameterizedPoints = tparameterizedPoints(); // Return field. Initialized with current mesh points - tmp<vectorField> tnewPoints(new vectorField(mesh_.points())); - vectorField& newPoints = tnewPoints.ref(); + auto tnewPoints = tmp<vectorField>::New(mesh_.points()); + auto& newPoints = tnewPoints.ref(); // Update position of parameterized points forAll(parameterizedPoints, pI) @@ -1612,8 +1613,8 @@ Foam::tmp<Foam::vectorField> Foam::NURBS3DVolume::computeNewBoundaryPoints } // Return field. Initialized with current mesh points - tmp<vectorField> tnewPoints(new vectorField(mesh_.points())); - vectorField& newPoints = tnewPoints.ref(); + auto tnewPoints = tmp<vectorField>::New(mesh_.points()); + auto& newPoints = tnewPoints.ref(); // Update position of parameterized boundary points for (const label patchI : patchesToBeMoved) @@ -1883,21 +1884,12 @@ Foam::tmp<Foam::volTensorField> Foam::NURBS3DVolume::getDxCellsDb const vectorField& parametricCoordinates = getParametricCoordinates(); // Set return field to zero - tmp<volTensorField> tDxDb + auto tDxDb = volTensorField::New ( - new volTensorField - ( - IOobject - ( - "DxDb", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedTensor(dimless, Zero) - ) + "DxDb", + IOobject::NO_REGISTER, + mesh_, + dimensionedTensor(dimless, Zero) ); volTensorField& DxDb = tDxDb.ref(); diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolverManager/adjointSolverManager.C b/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolverManager/adjointSolverManager.C index ed51b74da3c..69a56f42449 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolverManager/adjointSolverManager.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolverManager/adjointSolverManager.C @@ -301,8 +301,8 @@ void Foam::adjointSolverManager::solveAdjointEquations() Foam::tmp<Foam::scalarField> Foam::adjointSolverManager::aggregateSensitivities() { - tmp<scalarField> tsens(new scalarField(0)); - scalarField& sens = tsens.ref(); + auto tsens = tmp<scalarField>::New(); + auto& sens = tsens.ref(); // Sum sensitivities from all objectives expect the constraints for (const label solveri : objectiveSolverIDs_) diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressible/incompressibleVars.C b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressible/incompressibleVars.C index 0fe83537d5a..09b49f83369 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressible/incompressibleVars.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressible/incompressibleVars.C @@ -131,7 +131,8 @@ void incompressibleVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), pInst() ) @@ -146,7 +147,8 @@ void incompressibleVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), UInst() ) @@ -161,7 +163,8 @@ void incompressibleVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), phiInst() ) diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C index 2b03684a2d7..576a20f97e5 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C @@ -76,7 +76,8 @@ void incompressibleAdjointMeanFlowVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), paInst() ) @@ -91,7 +92,8 @@ void incompressibleAdjointMeanFlowVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), UaInst() ) @@ -106,7 +108,8 @@ void incompressibleAdjointMeanFlowVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), phiaInst() ) diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C index 2413c420efd..1300c7edba4 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C @@ -80,18 +80,11 @@ tmp<volSymmTensorField> adjointLaminar::devReff const volVectorField& U ) const { - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField + "devRhoReff", + IOobject::NO_REGISTER, ( - IOobject - ( - "devRhoReff", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), -nu()*devTwoSymm(fvc::grad(U)) ) ); @@ -110,23 +103,13 @@ tmp<fvVectorMatrix> adjointLaminar::divDevReff(volVectorField& U) const tmp<volVectorField> adjointLaminar::adjointMeanFlowSource() { - return tmp<volVectorField>::New - ( - IOobject - ( - "adjointMeanFlowSource", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedVector - ( - dimensionSet(0, 1, -2, 0, 0), - Zero - ) - ); + return volVectorField::New + ( + "adjointMeanFlowSource", + IOobject::NO_REGISTER, + mesh_, + dimensionedVector(dimensionSet(0, 1, -2, 0, 0), Zero) + ); } @@ -151,37 +134,25 @@ const boundaryVectorField& adjointLaminar::wallFloCoSensitivities() tmp<volScalarField> adjointLaminar::distanceSensitivities() { - return tmp<volScalarField>::New - ( - IOobject - ( - "adjointEikonalSource" + type(), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimLength/pow3(dimTime), Zero) - ); + return volScalarField::New + ( + "adjointEikonalSource" + type(), + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimLength/pow3(dimTime), Zero) + ); } tmp<volTensorField> adjointLaminar::FISensitivityTerm() { - return tmp<volTensorField>::New - ( - IOobject - ( - "volumeSensTerm" + type(), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedTensor(dimensionSet(0, 2, -3, 0, 0), Zero) - ); + return volTensorField::New + ( + "volumeSensTerm" + type(), + IOobject::NO_REGISTER, + mesh_, + dimensionedTensor(dimensionSet(0, 2, -3, 0, 0), Zero) + ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C index d4c6e8f8f64..702d5b369d3 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C @@ -440,32 +440,18 @@ void adjointSpalartAllmaras::updatePrimalRelatedFields() tmp<volScalarField> adjointSpalartAllmaras::allocateMask() { - tmp<volScalarField> mask; if (limitAdjointProduction_) { - mask = ATCModel::createLimiter(mesh_, coeffDict_); - } - else - { - mask = tmp<volScalarField> - ( - new volScalarField - ( - IOobject - ( - "unitMask", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar("unit", dimless, scalar(1)) - ) - ); + return ATCModel::createLimiter(mesh_, coeffDict_); } - return mask; + return volScalarField::New + ( + "unitMask", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar("unit", dimless, scalar(1)) + ); } @@ -714,19 +700,12 @@ tmp<volSymmTensorField> adjointSpalartAllmaras::devReff const volVectorField& U ) const { - return - tmp<volSymmTensorField>::New - ( - IOobject - ( - "devRhoReff", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - -nuEff()*devTwoSymm(fvc::grad(U)) - ); + return volSymmTensorField::New + ( + "devRhoReff", + IOobject::NO_REGISTER, + -nuEff()*devTwoSymm(fvc::grad(U)) + ); } @@ -767,10 +746,8 @@ tmp<volScalarField> adjointSpalartAllmaras::nutJacobianTMVar1() const tmp<scalarField> adjointSpalartAllmaras::diffusionCoeffVar1(label patchI) const { - tmp<scalarField> tdiffCoeff - ( - new scalarField(mesh_.boundary()[patchI].size(), Zero) - ); + auto tdiffCoeff = + tmp<scalarField>::New(mesh_.boundary()[patchI].size(), Zero); scalarField& diffCoeff = tdiffCoeff.ref(); diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C index fa3d542ff76..e04e2237059 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C @@ -125,21 +125,14 @@ tmp<volScalarField::Internal> adjointkOmegaSST::GbyNu tmp<volScalarField> adjointkOmegaSST::zeroFirstCell() { - auto tzeroFirstCell = - tmp<volScalarField>::New - ( - IOobject - ( - "zeroFirstCell", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimless, Foam::one{}) - ); - volScalarField& zeroFirstCell = tzeroFirstCell.ref(); + auto tzeroFirstCell = volScalarField::New + ( + "zeroFirstCell", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless, Foam::one{}) + ); + auto& zeroFirstCell = tzeroFirstCell.ref(); firstCellIDs_.resize(mesh_.nCells(), -1); label counter(0); @@ -1799,8 +1792,7 @@ tmp<volSymmTensorField> adjointkOmegaSST::devReff const volVectorField& U ) const { - return - tmp<volSymmTensorField>::New + return tmp<volSymmTensorField>::New ( IOobject ( diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.H index ebabdf33667..0ddf9e2385e 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.H @@ -174,12 +174,12 @@ public: const autoPtr<incompressible::RASModelVariables>& turbVars = primalVars_.RASModelVariables(); - return - tmp<volScalarField>::New - ( - "nuEff", - lamTrans.nu() + turbVars().nut() - ); + return volScalarField::New + ( + "nuEff", + IOobject::NO_REGISTER, + lamTrans.nu() + turbVars().nut() + ); } //- Return the effective viscosity on a given patch diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C index a16f7677e7d..07650771779 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C @@ -305,16 +305,10 @@ tmp<volScalarField> RASModelVariables::nutJacobianVar1 << "jutJacobianVar1 not implemented for the current turbulence model." << "Returning zero field" << endl; - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "nutJacobianVar1", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "nutJacobianVar1", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); @@ -330,16 +324,10 @@ tmp<volScalarField> RASModelVariables::nutJacobianVar2 << "nutJacobianVar2 not implemented for the current turbulence model." << "Returning zero field" << endl; - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "nutJacobianVar2", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "nutJacobianVar2", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); @@ -426,16 +414,10 @@ tmp<volSymmTensorField> RASModelVariables::devReff const volVectorField& U ) const { - return tmp<volSymmTensorField>::New + return volSymmTensorField::New ( - IOobject - ( - "devRhoReff", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "devRhoReff", + IOobject::NO_REGISTER, - (laminarTransport.nu() + nut())*devTwoSymm(fvc::grad(U)) ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariablesI.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariablesI.H index ccbc5285b8d..e05c8ea5c93 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariablesI.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariablesI.H @@ -148,20 +148,13 @@ inline tmp<volScalarField> RASModelVariables::nut() const return tmp<volScalarField>(nutRef()); } - return - tmp<volScalarField>::New - ( - IOobject - ( - "dummylaminarNut", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimViscosity, Zero) - ); + return volScalarField::New + ( + "dummylaminarNut", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimViscosity, Zero) + ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C index c583938e484..44a15b8222f 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C @@ -80,16 +80,10 @@ tmp<volScalarField> SpalartAllmaras::nutJacobianVar1 const singlePhaseTransportModel& laminarTransport ) const { - auto tnutJacobian = tmp<volScalarField>::New + auto tnutJacobian = volScalarField::New ( - IOobject - ( - "nutJacobianVar1", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "nutJacobianVar1", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C index cb02c4b7b60..fde3ec198a3 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C @@ -63,7 +63,8 @@ void kOmegaSST::allocateMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimArea/pow3(dimTime), Zero) @@ -120,12 +121,13 @@ tmp<volScalarField::Internal> kOmegaSST::computeG() ); // NB: leave tmp registered (for correctBoundaryConditions) - auto tG = - tmp<volScalarField::Internal>::New - ( - turbModel.GName(), - nutRefInst()*GbyNu0 - ); + auto tG = volScalarField::Internal::New + ( + turbModel.GName(), + IOobject::REGISTER, + nutRefInst()*GbyNu0 + ); + // Use correctBoundaryConditions instead of updateCoeffs to avoid // messing with updateCoeffs in the next iteration of omegaEqn TMVar2Inst().correctBoundaryConditions(); -- GitLab From 8b73d06898840219fedec75a0aa5f287cfb6d256 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Sun, 8 Oct 2023 18:35:04 +0200 Subject: [PATCH 059/231] ENH: use tmp field factory methods [12] (#2723) - applications --- .../PDRModels/dragModels/basic/basic.C | 45 +++------- .../XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C | 22 ++--- .../XiModels/XiEqModels/XiEqModel/XiEqModel.C | 44 ++++------ .../SCOPE/SCOPELaminarFlameSpeed.C | 86 ++++++------------- .../MPPICInterFoam/alphaEqnSubCycle.H | 7 +- .../solvers/multiphase/VoF/alphaEqnSubCycle.H | 7 +- .../compressibleAlphaEqnSubCycle.H | 21 ++--- .../compressibleAlphaEqnSubCycle.H | 21 ++--- .../multiphaseMixtureThermo.C | 20 ++--- .../driftFluxFoam/alphaEqnSubCycle.H | 7 +- .../relativeVelocityModel.C | 10 +-- .../laserDTRM/laserDTRM.C | 55 ++++-------- .../localDensityAbsorptionEmission.C | 66 ++++---------- .../constant/constant.C | 12 +-- .../twoPhaseMixtureEThermo.C | 2 +- .../interMixingFoam/alphaEqnSubCycle.H | 7 +- .../interIsoFoam/alphaEqnSubCycle.H | 7 +- .../interPhaseChangeFoam/alphaEqnSubCycle.H | 7 +- .../multiphase/multiphaseEulerFoam/pEqn.H | 3 +- .../multiphaseMixture/multiphaseMixture.C | 60 ++++--------- .../twoLiquidMixingFoam/alphaEqnSubCycle.H | 7 +- .../test/PatchTools/Test-PatchTools.C | 4 +- .../extrudeToRegionMesh/extrudeToRegionMesh.C | 4 +- .../cellSizeAndAlignmentGrid.C | 4 +- .../DelaunayMeshToolsTemplates.C | 4 +- .../cellShapeControlMesh.C | 4 +- .../smoothAlignmentSolver.C | 4 +- .../foamyHexMeshBackgroundMesh.C | 4 +- .../foamDictionary/foamDictionary.C | 2 +- .../surface/surfaceInflate/surfaceInflate.C | 4 +- .../surfaceLambdaMuSmooth.C | 4 +- .../twistingColumn/constant/dynamicMeshDict | 4 +- 32 files changed, 171 insertions(+), 387 deletions(-) diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C index ed72bbe540d..b48af20fea7 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -93,24 +94,14 @@ Foam::PDRDragModels::basic::~basic() Foam::tmp<Foam::volSymmTensorField> Foam::PDRDragModels::basic::Dcu() const { - tmp<volSymmTensorField> tDragDcu + auto tDragDcu = volSymmTensorField::New ( - new volSymmTensorField - ( - IOobject - ( - "tDragDcu", - U_.mesh().time().constant(), - U_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U_.mesh(), - dimensionedSymmTensor(dimMass/dimTime/dimVolume, Zero) - ) + "tDragDcu", + IOobject::NO_REGISTER, + U_.mesh(), + dimensionedSymmTensor(dimMass/dimTime/dimVolume, Zero) ); - - volSymmTensorField& DragDcu = tDragDcu.ref(); + auto& DragDcu = tDragDcu.ref(); if (on_) { @@ -127,24 +118,14 @@ Foam::tmp<Foam::volSymmTensorField> Foam::PDRDragModels::basic::Dcu() const Foam::tmp<Foam::volScalarField> Foam::PDRDragModels::basic::Gk() const { - tmp<volScalarField> tGk + auto tGk = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "tGk", - U_.mesh().time().constant(), - U_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U_.mesh(), - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "tGk", + IOobject::NO_REGISTER, + U_.mesh(), + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); - - volScalarField& Gk = tGk.ref(); + auto& Gk = tGk.ref(); if (on_) { diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C index b80b72a4c7c..04f977f208a 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -93,23 +94,14 @@ Foam::tmp<Foam::volScalarField> Foam::XiEqModels::SCOPEXiEq::XiEq() const volScalarField K(0.157*upBySu/sqrt(Rl)); volScalarField Ma(MaModel.Ma()); - tmp<volScalarField> tXiEq + auto tXiEq = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "XiEq", - epsilon.time().timeName(), - epsilon.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - epsilon.mesh(), - dimensionedScalar(dimless, Zero) - ) + "XiEq", + IOobject::NO_REGISTER, + epsilon.mesh(), + dimensionedScalar(dimless, Zero) ); - volScalarField& xieq = tXiEq.ref(); + auto& xieq = tXiEq.ref(); forAll(xieq, celli) { diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C index 084ffc1aef6..5d87437f6ca 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C @@ -78,11 +78,10 @@ bool Foam::XiEqModel::read(const dictionary& XiEqProperties) void Foam::XiEqModel::writeFields() const { //***HGW It is not clear why B is written here - if (Su_.mesh().foundObject<volSymmTensorField>("B")) + const auto* B = Su_.mesh().cfindObject<volSymmTensorField>("B"); + if (B) { - const volSymmTensorField& B = - Su_.mesh().lookupObject<volSymmTensorField>("B"); - B.write(); + B->write(); } } @@ -98,39 +97,26 @@ Foam::XiEqModel::calculateSchelkinEffect(const scalar uPrimeCoef) const const volSymmTensorField& nsv = mesh.lookupObject<volSymmTensorField>("nsv"); - tmp<volScalarField> tN + auto tN = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "tN", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh, - dimensionedScalar(Nv.dimensions(), Zero) - ) + "tN", + IOobject::NO_REGISTER, + mesh, + dimensionedScalar(Nv.dimensions(), Zero) ); - volScalarField& N = tN.ref(); + auto& N = tN.ref(); + N.primitiveFieldRef() = Nv.primitiveField()*pow(mesh.V(), 2.0/3.0); - volSymmTensorField ns + auto tns = volSymmTensorField::New ( - IOobject - ( - "tns", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "tns", + IOobject::NO_REGISTER, mesh, dimensionedSymmTensor(nsv.dimensions(), Zero) ); + auto& ns = tns.ref(); + ns.primitiveFieldRef() = nsv.primitiveField()*pow(mesh.V(), 2.0/3.0); const volVectorField Uhat diff --git a/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C b/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C index 6c9a7e10853..805c2f59890 100644 --- a/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C +++ b/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -255,24 +256,14 @@ Foam::tmp<Foam::volScalarField> Foam::laminarFlameSpeedModels::SCOPE::Su0pTphi scalar phi ) const { - tmp<volScalarField> tSu0 + auto tSu0 = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Su0", - p.time().timeName(), - p.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - p.mesh(), - dimensionedScalar(dimVelocity, Zero) - ) + "Su0", + IOobject::NO_REGISTER, + p.mesh(), + dimensionedScalar(dimVelocity, Zero) ); - - volScalarField& Su0 = tSu0.ref(); + auto& Su0 = tSu0.ref(); forAll(Su0, celli) { @@ -304,24 +295,14 @@ Foam::tmp<Foam::volScalarField> Foam::laminarFlameSpeedModels::SCOPE::Su0pTphi const volScalarField& phi ) const { - tmp<volScalarField> tSu0 + auto tSu0 = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Su0", - p.time().timeName(), - p.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - p.mesh(), - dimensionedScalar(dimVelocity, Zero) - ) + "Su0", + IOobject::NO_REGISTER, + p.mesh(), + dimensionedScalar(dimVelocity, Zero) ); - - volScalarField& Su0 = tSu0.ref(); + auto& Su0 = tSu0.ref(); forAll(Su0, celli) { @@ -358,24 +339,14 @@ Foam::tmp<Foam::volScalarField> Foam::laminarFlameSpeedModels::SCOPE::Ma const volScalarField& phi ) const { - tmp<volScalarField> tMa + auto tMa = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Ma", - phi.time().timeName(), - phi.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - phi.mesh(), - dimensionedScalar(dimless, Zero) - ) + "Ma", + IOobject::NO_REGISTER, + phi.mesh(), + dimensionedScalar(dimless, Zero) ); - - volScalarField& ma = tMa.ref(); + auto& ma = tMa.ref(); forAll(ma, celli) { @@ -418,21 +389,12 @@ Foam::laminarFlameSpeedModels::SCOPE::Ma() const { const fvMesh& mesh = psiuReactionThermo_.p().mesh(); - return tmp<volScalarField> + return volScalarField::New ( - new volScalarField - ( - IOobject - ( - "Ma", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh, - dimensionedScalar("Ma", dimless, Ma(equivalenceRatio_)) - ) + "Ma", + IOobject::NO_REGISTER, + mesh, + dimensionedScalar("Ma", dimless, Ma(equivalenceRatio_)) ); } } diff --git a/applications/solvers/multiphase/MPPICInterFoam/alphaEqnSubCycle.H b/applications/solvers/multiphase/MPPICInterFoam/alphaEqnSubCycle.H index 16269f7c4c9..392a953b6a8 100644 --- a/applications/solvers/multiphase/MPPICInterFoam/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/MPPICInterFoam/alphaEqnSubCycle.H @@ -3,12 +3,7 @@ if (nAlphaSubCycles > 1) dimensionedScalar totalDeltaT = runTime.deltaT(); surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("rhoPhiSum"), mesh, dimensionedScalar(rhoPhi.dimensions(), Zero) ); diff --git a/applications/solvers/multiphase/VoF/alphaEqnSubCycle.H b/applications/solvers/multiphase/VoF/alphaEqnSubCycle.H index c53d6e106b4..9ca190cb6fc 100644 --- a/applications/solvers/multiphase/VoF/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/VoF/alphaEqnSubCycle.H @@ -3,12 +3,7 @@ if (nAlphaSubCycles > 1) dimensionedScalar totalDeltaT = runTime.deltaT(); surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("rhoPhiSum"), mesh, dimensionedScalar(rhoPhi.dimensions(), Zero) ); diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleAlphaEqnSubCycle.H b/applications/solvers/multiphase/compressibleInterFoam/compressibleAlphaEqnSubCycle.H index 51dd6ea56c2..3f4c9779450 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleAlphaEqnSubCycle.H +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleAlphaEqnSubCycle.H @@ -4,26 +4,19 @@ if (nAlphaSubCycles > 1) { dimensionedScalar totalDeltaT = runTime.deltaT(); - talphaPhi1 = new surfaceScalarField + talphaPhi1.reset ( - IOobject + new surfaceScalarField ( - "alphaPhi1", - runTime.timeName(), - mesh - ), - mesh, - dimensionedScalar(alphaPhi10.dimensions(), Zero) + mesh.newIOobject("alphaPhi1"), + mesh, + dimensionedScalar(alphaPhi10.dimensions(), Zero) + ) ); surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("rhoPhiSum"), mesh, dimensionedScalar(rhoPhi.dimensions(), Zero) ); diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam/compressibleAlphaEqnSubCycle.H b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam/compressibleAlphaEqnSubCycle.H index 5fda0912c58..45d4077f4c1 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam/compressibleAlphaEqnSubCycle.H +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam/compressibleAlphaEqnSubCycle.H @@ -13,26 +13,19 @@ if (nAlphaSubCycles > 1) { dimensionedScalar totalDeltaT = runTime.deltaT(); - talphaPhi1 = new surfaceScalarField + talphaPhi1.reset ( - IOobject + new surfaceScalarField ( - "alphaPhi1", - runTime.timeName(), - mesh - ), - mesh, - dimensionedScalar(alphaPhi10.dimensions(), Zero) + mesh.newIOobject("alphaPhi1"), + mesh, + dimensionedScalar(alphaPhi10.dimensions(), Zero) + ) ); surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("rhoPhiSum"), mesh, dimensionedScalar(rhoPhi.dimensions(), Zero) ); diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C index 77d276973fd..a190682c4a0 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C @@ -99,7 +99,8 @@ Foam::multiphaseMixtureThermo::multiphaseMixtureThermo mesh_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimless, Zero) @@ -998,19 +999,12 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::K Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::nearInterface() const { - tmp<volScalarField> tnearInt + auto tnearInt = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "nearInterface", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar(dimless, Zero) - ) + "nearInterface", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless, Zero) ); for (const phaseModel& phase : phases_) diff --git a/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H b/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H index b38144700cc..ac51ae482ed 100644 --- a/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H @@ -18,12 +18,7 @@ dimensionedScalar totalDeltaT = runTime.deltaT(); surfaceScalarField alphaPhiSum ( - IOobject - ( - "alphaPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("alphaPhiSum"), mesh, dimensionedScalar(phi.dimensions(), Zero) ); diff --git a/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/relativeVelocityModel/relativeVelocityModel.C b/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/relativeVelocityModel/relativeVelocityModel.C index dc36b96e6a1..e88b24f32d2 100644 --- a/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/relativeVelocityModel/relativeVelocityModel.C +++ b/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/relativeVelocityModel/relativeVelocityModel.C @@ -158,13 +158,11 @@ Foam::tmp<Foam::volSymmTensorField> Foam::relativeVelocityModel::tauDm() const // Calculate the relative velocity of the continuous phase w.r.t the mean volVectorField Ucm(betad*Udm_/betac); - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField - ( - "tauDm", - betad*sqr(Udm_) + betac*sqr(Ucm) - ) + "tauDm", + IOobject::NO_REGISTER, + betad*sqr(Udm_) + betac*sqr(Ucm) ); } diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/laserDTRM.C b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/laserDTRM.C index 6524c571aed..40c906b57e5 100644 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/laserDTRM.C +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/laserDTRM.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -407,7 +407,8 @@ Foam::radiation::laserDTRM::laserDTRM(const volScalarField& T) mesh_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimPower/dimVolume, Zero) @@ -504,7 +505,8 @@ Foam::radiation::laserDTRM::laserDTRM mesh_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimPower/pow3(dimLength), Zero) @@ -535,42 +537,23 @@ Foam::label Foam::radiation::laserDTRM::nBands() const void Foam::radiation::laserDTRM::calculate() { - tmp<volScalarField> treflectingCells + auto treflectingCells = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "reflectingCellsVol", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar("zero", dimless, -1) - ) + "reflectingCellsVol", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar("zero", dimless, -1) ); - volScalarField& reflectingCellsVol = treflectingCells.ref(); - + auto& reflectingCellsVol = treflectingCells.ref(); - tmp<volVectorField> tnHat + auto tnHat = volVectorField::New ( - new volVectorField - ( - IOobject - ( - "nHat", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedVector(dimless, Zero) - ) + "nHat", + IOobject::NO_REGISTER, + mesh_, + dimensionedVector(dimless, Zero) ); - volVectorField& nHat = tnHat.ref(); + auto& nHat = tnHat.ref(); // Reset the field @@ -686,9 +669,9 @@ void Foam::radiation::laserDTRM::calculate() globalIndex::gatherInplaceOp(lines); - if (Pstream::master()) + if (UPstream::master()) { - OBJstream os(type() + ":particlePath.obj"); + OBJstream os(type() + "-particlePath.obj"); for (label pointi = 0; pointi < lines.size(); pointi += 2) { diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/localDensityAbsorptionEmission/localDensityAbsorptionEmission.C b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/localDensityAbsorptionEmission/localDensityAbsorptionEmission.C index 72e3d08d90e..a2cabf5d86b 100644 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/localDensityAbsorptionEmission/localDensityAbsorptionEmission.C +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/localDensityAbsorptionEmission/localDensityAbsorptionEmission.C @@ -88,25 +88,14 @@ Foam::radiation::localDensityAbsorptionEmission::localDensityAbsorptionEmission Foam::tmp<Foam::volScalarField> Foam::radiation::localDensityAbsorptionEmission::aCont(const label bandI) const { - tmp<volScalarField> ta + auto ta = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "a", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(inv(dimLength), Zero) - ) + "a", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(inv(dimLength), Zero) ); - - volScalarField& a = ta.ref(); + auto& a = ta.ref(); forAll(alphaNames_, i) { @@ -121,25 +110,14 @@ Foam::radiation::localDensityAbsorptionEmission::aCont(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::localDensityAbsorptionEmission::eCont(const label bandI) const { - tmp<volScalarField> te + auto te = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "e", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(inv(dimLength), Zero) - ) + "e", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(inv(dimLength), Zero) ); - - volScalarField& e = te.ref(); + auto& e = te.ref(); forAll(alphaNames_, i) { @@ -154,22 +132,12 @@ Foam::radiation::localDensityAbsorptionEmission::eCont(const label bandI) const Foam::tmp<Foam::volScalarField> Foam::radiation::localDensityAbsorptionEmission::ECont(const label bandI) const { - tmp<volScalarField> tE + auto tE = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "E", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) - ) + "E", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimMass/dimLength/pow3(dimTime), Zero) ); scalarField& E = tE.ref().primitiveFieldRef(); diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C index 8f1fb0f8837..121d3a5027b 100644 --- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C +++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C @@ -171,16 +171,8 @@ Foam::temperaturePhaseChangeTwoPhaseMixtures::constant::TSource() const const volScalarField& T = mesh_.lookupObject<volScalarField>("T"); - tmp<fvScalarMatrix> tTSource - ( - new fvScalarMatrix - ( - T, - dimEnergy/dimTime - ) - ); - - fvScalarMatrix& TSource = tTSource.ref(); + auto tTSource = tmp<fvScalarMatrix>::New(T, dimEnergy/dimTime); + auto& TSource = tTSource.ref(); const twoPhaseMixtureEThermo& thermo = refCast<const twoPhaseMixtureEThermo> diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C index 0cf652dbf53..f877106c19d 100644 --- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C +++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C @@ -382,7 +382,7 @@ Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureEThermo::kappaEff const volScalarField& kappat ) const { - tmp<Foam::volScalarField> kappaEff(kappa() + kappat); + tmp<volScalarField> kappaEff(kappa() + kappat); kappaEff.ref().rename("kappaEff"); return kappaEff; } diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/alphaEqnSubCycle.H b/applications/solvers/multiphase/interFoam/interMixingFoam/alphaEqnSubCycle.H index 117e593c69e..acbea8e9b9d 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/alphaEqnSubCycle.H @@ -3,12 +3,7 @@ if (nAlphaSubCycles > 1) dimensionedScalar totalDeltaT = runTime.deltaT(); surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("rhoPhiSum"), mesh, dimensionedScalar(rhoPhi.dimensions(), Zero) ); diff --git a/applications/solvers/multiphase/interIsoFoam/alphaEqnSubCycle.H b/applications/solvers/multiphase/interIsoFoam/alphaEqnSubCycle.H index 65376d61fe4..3189654bf5c 100644 --- a/applications/solvers/multiphase/interIsoFoam/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/interIsoFoam/alphaEqnSubCycle.H @@ -32,12 +32,7 @@ if (nAlphaSubCycles > 1) dimensionedScalar totalDeltaT = runTime.deltaT(); surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("rhoPhiSum"), mesh, dimensionedScalar(rhoPhi.dimensions(), Zero) ); diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/alphaEqnSubCycle.H b/applications/solvers/multiphase/interPhaseChangeFoam/alphaEqnSubCycle.H index f4643f1df43..89576739694 100644 --- a/applications/solvers/multiphase/interPhaseChangeFoam/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/interPhaseChangeFoam/alphaEqnSubCycle.H @@ -21,12 +21,7 @@ dimensionedScalar totalDeltaT = runTime.deltaT(); surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("rhoPhiSum"), mesh, dimensionedScalar(rhoPhi.dimensions(), Zero) ); diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H b/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H index 02ae8778b9f..88615618881 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H @@ -50,7 +50,8 @@ runTime.timeName(), mesh, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh, dimensionedScalar(dimVelocity*dimArea, Zero) diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C index 9c6ff5d3314..67db0089ab7 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C @@ -68,8 +68,9 @@ Foam::multiphaseMixture::multiphaseMixture "transportProperties", U.time().constant(), U.db(), - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE + IOobject::READ_MODIFIED, + IOobject::NO_WRITE, + IOobject::REGISTER ) ), @@ -85,9 +86,7 @@ Foam::multiphaseMixture::multiphaseMixture ( "rhoPhi", mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE + mesh_ ), mesh_, dimensionedScalar(dimMass/dimTime, Zero) @@ -101,7 +100,8 @@ Foam::multiphaseMixture::multiphaseMixture mesh_.time().timeName(), mesh_, IOobject::NO_READ, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimless, Zero) @@ -257,19 +257,12 @@ Foam::multiphaseMixture::nuf() const Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseMixture::surfaceTensionForce() const { - tmp<surfaceScalarField> tstf + auto tstf = surfaceScalarField::New ( - new surfaceScalarField - ( - IOobject - ( - "surfaceTensionForce", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar(dimensionSet(1, -2, -2, 0, 0), Zero) - ) + "surfaceTensionForce", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimensionSet(1, -2, -2, 0, 0), Zero) ); surfaceScalarField& stf = tstf.ref(); @@ -324,12 +317,7 @@ void Foam::multiphaseMixture::solve() { surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh_ - ), + mesh_.newIOobject("rhoPhiSum"), mesh_, dimensionedScalar(rhoPhi_.dimensions(), Zero) ); @@ -552,19 +540,12 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseMixture::K Foam::tmp<Foam::volScalarField> Foam::multiphaseMixture::nearInterface() const { - tmp<volScalarField> tnearInt + auto tnearInt = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "nearInterface", - mesh_.time().timeName(), - mesh_ - ), - mesh_, - dimensionedScalar(dimless, Zero) - ) + "nearInterface", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless, Zero) ); for (const phase& ph : phases_) @@ -649,12 +630,7 @@ void Foam::multiphaseMixture::solveAlphas volScalarField sumAlpha ( - IOobject - ( - "sumAlpha", - mesh_.time().timeName(), - mesh_ - ), + mesh_.newIOobject("sumAlpha"), mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/alphaEqnSubCycle.H b/applications/solvers/multiphase/twoLiquidMixingFoam/alphaEqnSubCycle.H index 0347512d281..5fb0d160414 100644 --- a/applications/solvers/multiphase/twoLiquidMixingFoam/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/twoLiquidMixingFoam/alphaEqnSubCycle.H @@ -5,12 +5,7 @@ if (nAlphaSubCycles > 1) dimensionedScalar totalDeltaT = runTime.deltaT(); surfaceScalarField rhoPhiSum ( - IOobject - ( - "rhoPhiSum", - runTime.timeName(), - mesh - ), + mesh.newIOobject("rhoPhiSum"), mesh, dimensionedScalar(rhoPhi.dimensions(), Zero) ); diff --git a/applications/test/PatchTools/Test-PatchTools.C b/applications/test/PatchTools/Test-PatchTools.C index c7222340060..6adfedd36de 100644 --- a/applications/test/PatchTools/Test-PatchTools.C +++ b/applications/test/PatchTools/Test-PatchTools.C @@ -67,8 +67,8 @@ using namespace Foam; // // (note:without calculating pointNormals // // to avoid them being stored) // -// tmp<pointField> textrudeN(new pointField(p.nPoints(), Zero)); -// pointField& extrudeN = textrudeN(); +// auto textrudeN = tmp<pointField>::New(p.nPoints(), Zero); +// auto& extrudeN = textrudeN.ref(); // { // const faceList& localFaces = p.localFaces(); // const vectorField& faceAreas = mesh.faceAreas(); diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C index decbb1aa566..f558637ce54 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C @@ -1088,8 +1088,8 @@ tmp<pointField> calcOffset { vectorField::subField fc = pp.faceCentres(); - tmp<pointField> toffsets(new pointField(fc.size())); - pointField& offsets = toffsets.ref(); + auto toffsets = tmp<pointField>::New(fc.size()); + auto& offsets = toffsets.ref(); forAll(fc, i) { diff --git a/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/cellSizeAndAlignmentGrid.C b/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/cellSizeAndAlignmentGrid.C index 6d96b054a29..6b8c08a947b 100644 --- a/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/cellSizeAndAlignmentGrid.C +++ b/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/cellSizeAndAlignmentGrid.C @@ -64,8 +64,8 @@ Foam::tmp<Foam::Field<Type>> filterFarPoints const Field<Type>& field ) { - tmp<Field<Type>> tNewField(new Field<Type>(field.size())); - Field<Type>& newField = tNewField.ref(); + auto tNewField = tmp<Field<Type>>::New(field.size()); + auto& newField = tNewField.ref(); label added = 0; label count = 0; diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshToolsTemplates.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshToolsTemplates.C index 70cae969d54..5b0bbc30282 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshToolsTemplates.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshToolsTemplates.C @@ -268,8 +268,8 @@ Foam::tmp<Foam::pointField> Foam::DelaunayMeshTools::allPoints const Triangulation& t ) { - tmp<pointField> tpts(new pointField(t.vertexCount(), point::max)); - pointField& pts = tpts.ref(); + auto tpts = tmp<pointField>::New(t.vertexCount(), point::max); + auto& pts = tpts.ref(); for ( diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C index 3df705a82c2..27ebc07801c 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C @@ -258,8 +258,8 @@ Foam::label Foam::cellShapeControlMesh::removePoints() Foam::tmp<Foam::pointField> Foam::cellShapeControlMesh::cellCentres() const { - tmp<pointField> tcellCentres(new pointField(number_of_finite_cells())); - pointField& cellCentres = tcellCentres.ref(); + auto tcellCentres = tmp<pointField>::New(number_of_finite_cells()); + auto& cellCentres = tcellCentres.ref(); label count = 0; for diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/smoothAlignmentSolver/smoothAlignmentSolver.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/smoothAlignmentSolver/smoothAlignmentSolver.C index fa4748d1c79..8ad03d0b2fc 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/smoothAlignmentSolver/smoothAlignmentSolver.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/smoothAlignmentSolver/smoothAlignmentSolver.C @@ -36,8 +36,8 @@ Foam::tmp<Foam::Field<Type>> Foam::smoothAlignmentSolver::filterFarPoints const Field<Type>& field ) { - tmp<Field<Type>> tNewField(new Field<Type>(field.size())); - Field<Type>& newField = tNewField.ref(); + auto tNewField = tmp<Field<Type>>::New(field.size()); + auto& newField = tNewField.ref(); label added = 0; label count = 0; diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C index b17e8c7c26e..3ac559c82ad 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C @@ -310,8 +310,8 @@ tmp<scalarField> signedDistance const labelList& surfaces ) { - tmp<scalarField> tfld(new scalarField(points.size(), Foam::sqr(GREAT))); - scalarField& fld = tfld.ref(); + auto tfld = tmp<scalarField>::New(points.size(), Foam::sqr(GREAT)); + auto& fld = tfld.ref(); // Find nearest List<pointIndexHit> nearest; diff --git a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C index 9b2a97bbede..bff76e88fd2 100644 --- a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C +++ b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C @@ -368,7 +368,7 @@ int main(int argc, char *argv[]) const auto dictFileName = args.get<fileName>(1); - autoPtr<IFstream> dictFile(new IFstream(dictFileName)); + auto dictFile = autoPtr<IFstream>::New(dictFileName); if (!dictFile().good()) { FatalErrorInFunction diff --git a/applications/utilities/surface/surfaceInflate/surfaceInflate.C b/applications/utilities/surface/surfaceInflate/surfaceInflate.C index 69adf9f171d..3292780ef73 100644 --- a/applications/utilities/surface/surfaceInflate/surfaceInflate.C +++ b/applications/utilities/surface/surfaceInflate/surfaceInflate.C @@ -360,8 +360,8 @@ tmp<scalarField> avg const scalarField& edgeWeights ) { - tmp<scalarField> tres(new scalarField(s.nPoints(), Zero)); - scalarField& res = tres.ref(); + auto tres = tmp<scalarField>::New(s.nPoints(), Zero); + auto& res = tres.ref(); scalarField sumWeight(s.nPoints(), Zero); diff --git a/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C b/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C index cde4e69ae59..097c6d57fb7 100644 --- a/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C +++ b/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C @@ -62,8 +62,8 @@ tmp<pointField> avg { const labelListList& pointEdges = s.pointEdges(); - tmp<pointField> tavg(new pointField(s.nPoints(), Zero)); - pointField& avg = tavg.ref(); + auto tavg = tmp<pointField>::New(s.nPoints(), Zero); + auto& avg = tavg.ref(); forAll(pointEdges, vertI) { diff --git a/tutorials/mesh/moveDynamicMesh/twistingColumn/constant/dynamicMeshDict b/tutorials/mesh/moveDynamicMesh/twistingColumn/constant/dynamicMeshDict index f5aa788d6b5..dd0504a986c 100644 --- a/tutorials/mesh/moveDynamicMesh/twistingColumn/constant/dynamicMeshDict +++ b/tutorials/mesh/moveDynamicMesh/twistingColumn/constant/dynamicMeshDict @@ -33,8 +33,8 @@ localCode const pointField& points ) { - tmp<pointField> tnewPoints(new pointField(points)); - pointField& newPoints = tnewPoints.ref(); + auto tnewPoints = tmp<pointField>::New(points); + auto& newPoints = tnewPoints.ref(); const boundBox bb(points, true); const scalar zMin = bb.min()[vector::Z]; -- GitLab From 25551b23bff9add1b634d9a3ff027b40177f11b5 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 22 Feb 2024 09:56:20 +0000 Subject: [PATCH 060/231] BUG: faceZoneSet: allow construction of faceZone. Fixes #2024 --- src/meshTools/topoSet/topoSets/faceZoneSet.C | 153 ++++++++++--------- 1 file changed, 77 insertions(+), 76 deletions(-) diff --git a/src/meshTools/topoSet/topoSets/faceZoneSet.C b/src/meshTools/topoSet/topoSets/faceZoneSet.C index 41177225c18..e36ba9e4047 100644 --- a/src/meshTools/topoSet/topoSets/faceZoneSet.C +++ b/src/meshTools/topoSet/topoSets/faceZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -78,6 +78,14 @@ Foam::faceZoneSet::faceZoneSet const faceZoneMesh& faceZones = mesh.faceZones(); label zoneID = faceZones.findZoneID(name); + if (IOobjectOption::isReadRequired(rOpt) && zoneID == -1) + { + FatalErrorInFunction + << "Zone named " << name << " not found. " + << "List of available zone names: " << faceZones.names() + << exit(FatalError); + } + if ( IOobjectOption::isReadRequired(rOpt) @@ -227,8 +235,7 @@ void Foam::faceZoneSet::addSet(const topoSet& set) forAll(zoneSet.addressing(), i) { - label facei = zoneSet.addressing()[i]; - + const label facei = zoneSet.addressing()[i]; const auto iter = faceToIndex.cfind(facei); if (iter.good()) @@ -315,57 +322,42 @@ void Foam::faceZoneSet::subtractSet(const topoSet& set) void Foam::faceZoneSet::sync(const polyMesh& mesh) { - // Make sure that the faceZone is consistent with the faceSet - { - const labelHashSet zoneSet(addressing_); - - // Elements that are in zone but not faceSet, and - // elements that are in faceSet but not in zone - labelHashSet badSet(*this ^ zoneSet); + // This routine serves two purposes + // 1. make sure that any previous faceZoneSet manipulation is + // consistent across coupled boundaries + // 2. push faceZone contents to faceSet (looses flip bit) - const label nBad = returnReduce(badSet.size(), sumOp<label>()); - - if (nBad) - { - WarningInFunction << "Detected " << nBad - << " faces that are in the faceZone but not" - << " in the faceSet or vice versa." - << " The faceZoneSet should only be manipulated" - << " using " << setsToFaceZone::typeName - << " or " << setToFaceZone::typeName << endl; - } - } - - - // Make sure that on coupled faces orientation is opposite. Pushes - // master orientation to slave in case of conflict. + // Collect all current zone info + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // 0 : not in faceZone // 1 : in faceZone and unflipped //-1 : in faceZone and flipped const label UNFLIPPED = 1; const label FLIPPED = -1; - labelList myZoneFace(mesh.nBoundaryFaces(), Zero); + labelList myZoneFace(mesh.nFaces(), Zero); forAll(addressing_, i) { - const label bFacei = addressing_[i]-mesh.nInternalFaces(); - - if (bFacei >= 0) - { - if (flipMap_[i]) - { - myZoneFace[bFacei] = FLIPPED; - } - else - { - myZoneFace[bFacei] = UNFLIPPED; - } - } + const label facei = addressing_[i]; + myZoneFace[facei] = + ( + flipMap_[i] + ? FLIPPED + : UNFLIPPED + ); } - labelList neiZoneFace(myZoneFace); + labelList neiZoneFace + ( + SubList<label> + ( + myZoneFace, + mesh.nBoundaryFaces(), + mesh.nInternalFaces() + ) + ); syncTools::swapBoundaryFaceList(mesh, neiZoneFace); @@ -375,57 +367,66 @@ void Foam::faceZoneSet::sync(const polyMesh& mesh) // Rebuild faceZone addressing and flipMap // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DynamicList<label> newAddressing(addressing_.size()); - DynamicList<bool> newFlipMap(flipMap_.size()); + const labelHashSet& set = *this; - forAll(addressing_, i) + DynamicList<label> newAddressing(set.size()); + DynamicList<bool> newFlipMap(set.size()); + + for (const label facei : set) { - const label facei = addressing_[i]; + // See if any info from original. If so maintain flipMap. if (facei < mesh.nInternalFaces()) { newAddressing.append(facei); - newFlipMap.append(flipMap_[i]); - } - } - - for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++) - { - label myStat = myZoneFace[facei-mesh.nInternalFaces()]; - label neiStat = neiZoneFace[facei-mesh.nInternalFaces()]; - - if (myStat == 0) - { - if (neiStat == UNFLIPPED) - { - // Neighbour is unflipped so I am flipped - newAddressing.append(facei); - newFlipMap.append(true); - } - else if (neiStat == FLIPPED) - { - newAddressing.append(facei); - newFlipMap.append(false); - } + newFlipMap.append(myZoneFace[facei] == FLIPPED); } else { - if (myStat == neiStat) + const label myStat = myZoneFace[facei]; + const label neiStat = neiZoneFace[facei-mesh.nInternalFaces()]; + + if (myStat == 0) { - // Conflict. masterFace wins - newAddressing.append(facei); - if (isMasterFace[facei]) + // My face was not in zone. Check neighbour + + if (neiStat == UNFLIPPED) { - newFlipMap.append(myStat == FLIPPED); + // Neighbour is unflipped so I am flipped + newAddressing.append(facei); + newFlipMap.append(true); } - else + else if (neiStat == FLIPPED) + { + newAddressing.append(facei); + newFlipMap.append(false); + } + else //if (neiStat == 0) { - newFlipMap.append(neiStat == UNFLIPPED); + // neighbour face not in zone either. Masterface decides. + newAddressing.append(facei); + newFlipMap.append(!isMasterFace[facei]); } } else { - newAddressing.append(facei); - newFlipMap.append(myStat == FLIPPED); + if (myStat == neiStat) + { + // Conflict. masterFace wins + newAddressing.append(facei); + if (isMasterFace[facei]) + { + newFlipMap.append(myStat == FLIPPED); + } + else + { + newFlipMap.append(neiStat == UNFLIPPED); + } + } + else + { + newAddressing.append(facei); + newFlipMap.append(myStat == FLIPPED); + } } } } -- GitLab From 613959c52b447d1e5086369acf8849b90be8248f Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 22 Feb 2024 10:08:08 +0000 Subject: [PATCH 061/231] ENH: faceZoneSet: doc. See #2024 --- etc/caseDicts/annotated/topoSetDict | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/etc/caseDicts/annotated/topoSetDict b/etc/caseDicts/annotated/topoSetDict index 789a7e027be..c30829dd784 100644 --- a/etc/caseDicts/annotated/topoSetDict +++ b/etc/caseDicts/annotated/topoSetDict @@ -103,6 +103,16 @@ actions source boxToCell; box (0.04 0 0)(0.06 100 100); } + + // Example: create faceZone from explicit contents. Assumes faceZone same + // orientation as face (flipMap is false) + { + name f0; + type faceZoneSet; + action new; + source labelToFace; + value (2); + } ); // ************************************************************************* // -- GitLab From 3b966afb9c276f741f5d8cea3ea7f3d9f37bdd0c Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 22 Feb 2024 16:08:51 +0000 Subject: [PATCH 062/231] BUG: snappyHexMesh: parallel inconsistency. Fixes #3106 --- .../snappyHexMeshDriver/snappySnapDriverFeature.C | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C index 2e3b373f4fb..e5e951c30df 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -513,7 +513,9 @@ void Foam::snappySnapDriver::calcNearestFacePointProperties forAll(pFaces, i) { label facei = pFaces[i]; - if (isMasterFace[facei] && faceSurfaceGlobalRegion[facei] != -1) + label globalRegioni = faceSurfaceGlobalRegion[facei]; + + if (isMasterFace[pp.addressing()[facei]] && globalRegioni != -1) { nFaces++; } @@ -535,7 +537,7 @@ void Foam::snappySnapDriver::calcNearestFacePointProperties label facei = pFaces[i]; label globalRegioni = faceSurfaceGlobalRegion[facei]; - if (isMasterFace[facei] && globalRegioni != -1) + if (isMasterFace[pp.addressing()[facei]] && globalRegioni != -1) { pNormals[nFaces] = faceSurfaceNormal[facei]; pDisp[nFaces] = faceDisp[facei]; -- GitLab From 90e9a070a7efe224f67eb6d2d53e327831deb346 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 24 Jan 2024 14:49:51 +0000 Subject: [PATCH 063/231] DOC: regionFaModels: improve header documentation --- .../KirchhoffShell/KirchhoffShell.H | 15 +++-- .../velocityFilmShellFvPatchVectorField.C | 1 - .../velocityFilmShellFvPatchVectorField.H | 38 ++++++----- .../thermalShellFvPatchScalarField.H | 6 +- .../vibrationShellFvPatchScalarField.H | 8 ++- .../kinematicThinFilm/kinematicThinFilm.H | 22 ++++++- .../liquidFilm/liquidFilmBase.H | 39 +++++++++++- .../liquidFilmModel/liquidFilmModel.H | 33 +++++++++- .../filmTurbulenceModel/filmTurbulenceModel.H | 63 +++++++++++++++++++ .../kinematic/force/forceList/forceList.H | 28 +++++++++ .../curvatureSeparation/curvatureSeparation.H | 42 ++++++++++++- .../injectionModelList/injectionModelList.H | 28 +++++++++ .../regionFaModel/regionFaModel.H | 15 ++--- .../thermalShell/thermalShell.H | 21 ++++--- .../thermalShellModel/thermalShellModel.H | 11 ++-- .../vibrationShellModel/vibrationShellModel.H | 9 +-- 16 files changed, 312 insertions(+), 67 deletions(-) diff --git a/src/regionFaModels/KirchhoffShell/KirchhoffShell.H b/src/regionFaModels/KirchhoffShell/KirchhoffShell.H index 75ef80cacb5..b29a48820cb 100644 --- a/src/regionFaModels/KirchhoffShell/KirchhoffShell.H +++ b/src/regionFaModels/KirchhoffShell/KirchhoffShell.H @@ -27,20 +27,23 @@ Class Foam::regionFaModels::KirchhoffShell Description + Vibration-shell finite-area model. Usage Example of the boundary condition specification: \verbatim <patchName> { - // Mandatory/Optional entries - ... - // Mandatory entries vibrationShellModel KirchhoffShell; - f0 0.04; - f1 0.0; - f2 0.0; + f0 <scalar>; + f1 <scalar>; + f2 <scalar>; + + // Inherited entries + ... + nNonOrthCorr <int>; // read from another dict + nSubCycles <int>; } \endverbatim diff --git a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C index 37f864463e4..478e03cb6c9 100644 --- a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C +++ b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C @@ -139,7 +139,6 @@ velocityFilmShellFvPatchVectorField::velocityFilmShellFvPatchVectorField // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - void velocityFilmShellFvPatchVectorField::updateCoeffs() { if (this->updated()) diff --git a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H index d9ae1a1e5d3..9c09fe1e335 100644 --- a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H +++ b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H @@ -30,25 +30,30 @@ Group grpLiquidFilmBoundaryConditions Description + This boundary condition provides a coupled velocity condition between + a primary region (3D mesh) and a liquid-film model (2D mesh). Usage Example of the boundary condition specification: \verbatim <patchName> { + // Mandatory entries type velocityFilmShell; + liquidFilmModel <word>; - active true; - infoOutput true; + // Optional entries + zeroWallVelocity <bool>; - U U; - pRef 1e5; - T0 300; - - deltaWet 1e-4; - h0 1e-8; - - zeroWallVelocity true; + // Inherited entries + ... + active <bool>; + infoOutput <bool>; + U <word>; + pRef <scalar>; + T0 <scalar>; + deltaWet <scalar>; + h0 <scalar>; thermo { @@ -56,7 +61,6 @@ Usage } turbulence laminar; - laminarCoeffs { friction ManningStrickler; // Wall friction model @@ -77,8 +81,6 @@ Usage } region film; - liquidFilmModel kinematicThinFilm; - value uniform (0 0 0); } \endverbatim @@ -87,21 +89,25 @@ Usage \table Property | Description | Type | Reqd | Deflt type | Type name: velocityFilmShell | word | yes | - + liquidFilmModel | Film model | word | yes | - + zeroWallVelocity | Flag to fix zero U for primary flow <!-- + --> | bool | no | true U | Name of the primary U | word | yes | - pRef | Reference pressure for thermo | scalar | yes | - T0 | Film initial temperature | scalar | no | READ thermo | Flow thermo | wordRes | yes | - - zeroWallVelocity | Flag to fix zero U for primary flow <!-- - --> | bool | no | true turbulence | Type of film turbulence model | word | yes | - injectionModels | Lagrangian injection | | no | - forces | Film force models | wordRes | no | - deltaWet | Wet film thickness | scalar | no | 1e-4 h0 | Numerical minimum thickness | scalar | no | 1e-7 region | Name of the 2D region | word | yes | - - liquidFilmModel | Film model | word | yes | - \endtable + The inherited entries are elaborated in: + - \link liquidFilmBase.H \endlink + - \link mixedFvPatchFields.H \endlink + SourceFiles velocityFilmShellFvPatchVectorField.C diff --git a/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H b/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H index e5f98883e22..bb5b48bc997 100644 --- a/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H +++ b/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H @@ -41,17 +41,17 @@ Usage \verbatim <masterPatchName> { - // Mandatory entries (unmodifiable) + // Mandatory entries type compressible::thermalShell; - // Mandatory/Optional (inherited) entries + // Inherited entries ... } \endverbatim where the entries mean: \table - Property | Description | Type | Reqd | Dflt + Property | Description | Type | Reqd | Deflt type | Type name: compressible::thermalShell | word | yes | - \endtable diff --git a/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H b/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H index f1720546d86..17341165f5b 100644 --- a/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H +++ b/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H @@ -30,23 +30,25 @@ Group grpVibrationBoundaryConditions Description + This boundary condition provides a coupled acoustic pressure condition + between a primary region (3D mesh) and a vibration shell model (2D mesh). Usage Example of the boundary condition specification: \verbatim <masterPatchName> { - // Mandatory entries (unmodifiable) + // Mandatory entries type vibrationShell; - // Mandatory/Optional (inherited) entries + // Inherited entries ... } \endverbatim where the entries mean: \table - Property | Description | Type | Reqd | Dflt + Property | Description | Type | Reqd | Deflt type | Type name: vibrationShell | word | yes | - \endtable diff --git a/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.H b/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.H index 92e1b5d4d4a..b198b2e40d8 100644 --- a/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.H +++ b/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.H @@ -29,9 +29,29 @@ Class Description Thin film model. +Usage + Example of the boundary condition specification: + \verbatim + { + // Mandatory entries + liquidFilmModel kinematicThinFilm; + + // Inherited entries + ... + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + liquidFilmModel | Type name: kinematicThinFilm | dict | yes | - + \endtable + + The inherited entries are elaborated in: + - \link liquidFilmModel.H \endlink + SourceFiles kinematicThinFilm.C - kinematicThinFilmI.H \*---------------------------------------------------------------------------*/ diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.H b/src/regionFaModels/liquidFilm/liquidFilmBase.H index af59546293c..98d1ec0b62e 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.H +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.H @@ -27,7 +27,44 @@ Class Foam::regionModels::liquidFilmBase Description - Base class for thermal 2D shells + Base class for liquid-film models. + +Usage + Example of the boundary condition specification: + \verbatim + <patchName> + { + // Mandatory entries + U <word>; + pRef <scalar>; + + // Optional entries + h0 <scalar>; + deltaWet <scalar>; + p <word>; + + // Inherited entries + ... + momentumPredictor <int>; + nOuterCorr <label>; + nCorr <label>; + nFilmCorr <label>; + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + U | Name of velocity field | word | yes | - + pRef | Reference absolute pressure | scalar | yes | - + h0 | Smallest film thickness | scalar | no | 1e-7 + deltaWet | Film thickness beyond which face is assumed to be wet <!-- + --> | scalar | no | 1e-4 + p | Name of pressure field | word | no | null + \endtable + + The inherited entries are elaborated in: + - \link regionFaModel.H \endlink SourceFiles liquidFilmBase.C diff --git a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H index 366c959feac..fce0f4f6823 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H +++ b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H @@ -27,12 +27,39 @@ Class Foam::regionFaModels::liquidFilmModel Description - Thin Model Film model. - + Thin film model. + +Usage + Example of the boundary condition specification: + \verbatim + <patchName> + { + // Mandatory entries + thermo <dict>; + + // Optional entries + T0 <scalar>; + + // Inherited entries + ... + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + thermo | Liquid thermodynamics properties | dict | yes | - + T0 | Reference temperature [K] | scalar | choice | - + \endtable + + The inherited entries are elaborated in: + - \link liquidFilmBase.H \endlink + - \link filmTurbulenceModel.H \endlink + - \link injectionModelList.H \endlink + - \link forceList.H \endlink SourceFiles liquidFilmModel.C - kinematicThinFilmI.H \*---------------------------------------------------------------------------*/ diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H index 69ce7cea267..df9e58e7d31 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H @@ -29,6 +29,69 @@ Class Description Base class for film turbulence models +Usage + Example of the model specification: + \verbatim + { + // Mandatory entries + turbulence <model>; + + <model>Coeffs + { + // Mandatory entries + friction <word>; + shearStress <word>; + + // Optional entries + rho <word>; + + // Conditional entries + + // if rho=rhoInf + rhoInf <scalar>; + + // if friction=DarcyWeisbach + DarcyWeisbach <scalar>; + + // if friction=ManningStrickler + n <scalar>; + + // if shearStress=simple + Cf <scalar>; + } + + // Inherited entries + ... + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + turbulence | Model name | word | yes | - + friction | Friction model | word | yes | - + shearStress | Shear-stress model | word | yes | - + rho | Name of density field | word | no | rho + rhoInf | Reference density | scalar | choice | - + DarcyWeisbach | Friction-model constant | scalar | choice | - + n | Friction-model constant | scalar | choice | - + Cf | Skin-friction coefficient | scalar | choice | - + \endtable + + Options for the \c friction entry: + \verbatim + quadraticProfile | Quadratic-profile model + linearProfile | Linear-profile model + DarcyWeisbach | Darcy-Weisbach model + ManningStrickler | Manning-Strickler model + \endverbatim + + Options for the \c shearStress entry: + \verbatim + simple | Skin-friction coefficient model + wallFunction | Wall-function model + \endverbatim + SourceFiles filmTurbulenceModel.C filmTurbulenceModelNew.C diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.H b/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.H index a778c762655..f22f2d23313 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.H @@ -29,6 +29,34 @@ Class Description List container for film sources +Usage + Example of the model specification: + \verbatim + { + // Mandatory entries + forces + ( + <forceModel1> + <forceModel2> + ... + ); + + <forceModel1>Coeffs + { + ... + } + + // Inherited entries + ... + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + forces | List of force models | list | yes | - + \endtable + SourceFiles forceList.C diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H index 0ec037e4326..f97db0968de 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H @@ -38,9 +38,45 @@ Description If F_sum < 0, the film separates. Similarly, if F_sum > 0 the film will remain attached. - Based on description given by - Owen and D. J. Ryley. The flow of thin liquid films around corners. - International Journal of Multiphase Flow, 11(1):51-62, 1985. + Reference: + \verbatim + Owen, I., & Ryley, D. J. (1985). + The flow of thin liquid films around corners. + International journal of multiphase flow, 11(1), 51-62. + \endverbatim + +Usage + Example of the model specification: + \verbatim + injectionModels + ( + curvatureSeparation + ); + + curvatureSeparationCoeffs + { + // Optional entries + deltaByR1Min <scalar>; + definedPatchRadii <scalar>; + fThreshold <scalar>; + minInvR1 <scalar>; + + // Inherited entries + ... + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + deltaByR1Min | Minimum gravity driven film thickness | scalar | no | 0 + definedPatchRadii | Patch radius i | scalar | no | 0 + fThreshold | Threshold force for separation | scalar | no | 1e-8 + minInvR1 | Minimum inv R1 for separation | scalar | no | 5 + \endtable + + The inherited entries are elaborated in: + - \link injectionModel.H \endlink SourceFiles curvatureSeparation.C diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.H b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.H index b159f9486a6..0e42c9059d3 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.H @@ -29,6 +29,34 @@ Class Description List container for film injection models +Usage + Example of the model specification: + \verbatim + { + // Mandatory entries + injectionModels + ( + <injectionModel1> + <injectionModel2> + ... + ); + + <injectionModel1>Coeffs + { + ... + } + + // Inherited entries + ... + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + injectionModels | List of injection models | list | yes | - + \endtable + SourceFiles injectionModelList.C diff --git a/src/regionFaModels/regionFaModel/regionFaModel.H b/src/regionFaModels/regionFaModel/regionFaModel.H index f10b3a14b80..7911df04633 100644 --- a/src/regionFaModels/regionFaModel/regionFaModel.H +++ b/src/regionFaModels/regionFaModel/regionFaModel.H @@ -34,25 +34,26 @@ Usage \verbatim <patchName> { - // Mandatory entries (runtime modifiable) - region <regionName>; - active true; + // Mandatory entries + region <word>; + active <bool>; - // Optional entries (runtime modifiable) - infoOutput false; <model>Coeffs { // subdictionary entries } - // Mandatory/Optional (derived) entries + // Optional entries + infoOutput <bool>; + + // Inherited entries ... } \endverbatim where the entries mean: \table - Property | Description | Type | Reqd | Dflt + Property | Description | Type | Reqd | Deflt region | Name of operand region | word | yes | - active | Flag to activate the model | bool | yes | - infoOutput | Flag to activate information output | bool | no | false diff --git a/src/regionFaModels/thermalShell/thermalShell.H b/src/regionFaModels/thermalShell/thermalShell.H index e6e7939eeba..de7e8e019ad 100644 --- a/src/regionFaModels/thermalShell/thermalShell.H +++ b/src/regionFaModels/thermalShell/thermalShell.H @@ -37,34 +37,35 @@ Usage \verbatim <patchName> { - // Mandatory/Optional (inherited) entries - ... - - // Mandatory entries (unmodifiable) + // Mandatory entries thermalShellModel thermalShell; thermo { // subdictionary entries } - // Mandatory/Optional (derived) entries + // Optional entries + qr <word>; + thickness <scalar>; + + // Inherited entries ... + nNonOrthCorr <int>; // read from another dict } \endverbatim where the entries mean: \table - Property | Description | Type | Reqd | Dflt - thermalShellModel | Type name: thermalShell | word | yes | - + Property | Description | Type | Reqd | Deflt + thermalShellModel | Type name: thermalShell | word | yes | - thermo | Solid thermal properties | dictionary | yes | - + qr | Name of radiative heat flux field | word | no | none + thickness | Uniform film thickness [m] | scalar | choice | - \endtable The inherited entries are elaborated in: - \link thermalShellModel.H \endlink -See also - - Foam::regionModels::thermalShellModels::thermalShellModel - SourceFiles thermalShell.C thermalShellI.H diff --git a/src/regionFaModels/thermalShellModel/thermalShellModel.H b/src/regionFaModels/thermalShellModel/thermalShellModel.H index 920a14bc623..80ea70bfa8b 100644 --- a/src/regionFaModels/thermalShellModel/thermalShellModel.H +++ b/src/regionFaModels/thermalShellModel/thermalShellModel.H @@ -34,16 +34,13 @@ Usage \verbatim <patchName> { - // Mandatory/Optional entries - ... - // Mandatory entries - T <Tname>; + T <word>; // Optional entries - thermalShellModel <thermalShellModelName>; + thermalShellModel <word>; - // Derived entries + // Inherited entries ... } \endverbatim @@ -53,7 +50,7 @@ Usage Property | Description | Type | Reqd | Deflt T | Name of operand temperature field | word | yes | - thermalShellModel | Name of thermal-shell model <!-- - --> | word | no | thermalShell + --> | word | choice | - \endtable The inherited entries are elaborated in: diff --git a/src/regionFaModels/vibrationShellModel/vibrationShellModel.H b/src/regionFaModels/vibrationShellModel/vibrationShellModel.H index 15747379ae5..cc9e8759907 100644 --- a/src/regionFaModels/vibrationShellModel/vibrationShellModel.H +++ b/src/regionFaModels/vibrationShellModel/vibrationShellModel.H @@ -34,19 +34,16 @@ Usage \verbatim <patchName> { - // Mandatory/Optional entries - ... - // Mandatory entries - vibrationShellModel <thermalShellModelName>; - p <pName>; + vibrationShellModel <word>; + p <word>; solid { // subdictionary entries } - // Mandatory/Optional (derived) entries + // Inherited entries ... } \endverbatim -- GitLab From b4d7a319132bdaced4cd6d61e96f1905a9043624 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 24 Jan 2024 15:30:38 +0000 Subject: [PATCH 064/231] STYLE: regionFaModels: add/remove various comments --- .../KirchhoffShell/KirchhoffShell.C | 11 +++-------- .../velocityFilmShellFvPatchVectorField.C | 2 +- .../velocityFilmShellFvPatchVectorField.H | 4 ++-- .../vibrationShellFvPatchScalarField.H | 2 +- .../setTimeStepFaRegionsFunctionObject.C | 1 - .../kinematicThinFilm/kinematicThinFilm.C | 13 +++++-------- .../liquidFilm/liquidFilmBase.C | 19 ------------------- .../liquidFilm/liquidFilmBase.H | 11 +++++------ .../liquidFilmModel/liquidFilmModel.C | 8 -------- .../liquidFilmModel/liquidFilmModel.H | 15 ++++++--------- .../filmTurbulenceModel/filmTurbulenceModel.H | 6 +++--- .../filmTurbulenceModel/laminar/laminar.C | 1 - .../curvatureSeparation/curvatureSeparation.H | 3 +-- .../thermalShell/thermalShell.C | 5 +---- .../thermalShell/thermalShell.H | 8 ++++---- .../vibrationShellModel/vibrationShellModel.C | 1 - 16 files changed, 32 insertions(+), 78 deletions(-) diff --git a/src/regionFaModels/KirchhoffShell/KirchhoffShell.C b/src/regionFaModels/KirchhoffShell/KirchhoffShell.C index b3daab327eb..7d0102f9106 100644 --- a/src/regionFaModels/KirchhoffShell/KirchhoffShell.C +++ b/src/regionFaModels/KirchhoffShell/KirchhoffShell.C @@ -41,7 +41,6 @@ namespace regionModels // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // defineTypeNameAndDebug(KirchhoffShell, 0); - addToRunTimeSelectionTable(vibrationShellModel, KirchhoffShell, dictionary); // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -56,10 +55,7 @@ bool KirchhoffShell::init(const dictionary& dict) void KirchhoffShell::solveDisplacement() { - if (debug) - { - InfoInFunction << endl; - } + DebugInFunction << endl; const Time& time = primaryMesh().time(); @@ -77,7 +73,7 @@ void KirchhoffShell::solveDisplacement() w_.oldTime().oldTime() = w00_; laplaceW_.oldTime() = laplaceW0_; laplace2W_.oldTime() = laplace2W0_; - } + } for ( @@ -89,7 +85,6 @@ void KirchhoffShell::solveDisplacement() !(++wSubCycle).end(); ) { - laplaceW_ = fac::laplacian(w_); laplace2W_ = fac::laplacian(laplaceW_); @@ -264,7 +259,7 @@ void KirchhoffShell::evolveRegion() nNonOrthCorr_ = solution().get<label>("nNonOrthCorr"); nSubCycles_ = solution().get<label>("nSubCycles"); - for (int nonOrth=0; nonOrth<=nNonOrthCorr_; nonOrth++) + for (int nonOrth=0; nonOrth<=nNonOrthCorr_; ++nonOrth) { solveDisplacement(); } diff --git a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C index 478e03cb6c9..d764b4a36f5 100644 --- a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C +++ b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C @@ -146,7 +146,7 @@ void velocityFilmShellFvPatchVectorField::updateCoeffs() return; } - // Execute the change to the openFraction only once per time-step + // Execute the change only once per time-step if (curTimeIndex_ != this->db().time().timeIndex()) { baffle_->evolve(); diff --git a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H index 9c09fe1e335..f0c22c58b8b 100644 --- a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H +++ b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H @@ -141,7 +141,7 @@ class velocityFilmShellFvPatchVectorField // Private Data - //- The liquid film + //- The liquid film model autoPtr<baffleType> baffle_; //- Dictionary @@ -150,7 +150,7 @@ class velocityFilmShellFvPatchVectorField //- Time index to evolve the film label curTimeIndex_; - //- Zero wall velocity. Fix U to zero or to film U + //- Flag to set velocity to zero or film velocity bool zeroWallVelocity_; diff --git a/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H b/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H index 17341165f5b..64158eb5553 100644 --- a/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H +++ b/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H @@ -89,7 +89,7 @@ class vibrationShellFvPatchScalarField // Private Data - //- The vibration shell + //- The vibration shell model autoPtr<baffleType> baffle_; //- Dictionary diff --git a/src/regionFaModels/functionObjects/setTimeStep/setTimeStepFaRegionsFunctionObject.C b/src/regionFaModels/functionObjects/setTimeStep/setTimeStepFaRegionsFunctionObject.C index 5b9cfa6df7d..021f13530bb 100644 --- a/src/regionFaModels/functionObjects/setTimeStep/setTimeStepFaRegionsFunctionObject.C +++ b/src/regionFaModels/functionObjects/setTimeStep/setTimeStepFaRegionsFunctionObject.C @@ -28,7 +28,6 @@ License #include "setTimeStepFaRegionsFunctionObject.H" #include "addToRunTimeSelectionTable.H" - // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam diff --git a/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.C b/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.C index a688527b423..f12e655ddd1 100644 --- a/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.C +++ b/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.C @@ -75,10 +75,7 @@ void kinematicThinFilm::preEvolveRegion() void kinematicThinFilm::evolveRegion() { - if (debug) - { - InfoInFunction << endl; - } + DebugInFunction << endl; const areaVectorField& ns = regionMesh().faceAreaNormals(); @@ -86,7 +83,7 @@ void kinematicThinFilm::evolveRegion() phi2s_ = fac::interpolate(h_)*phif_; - for (int oCorr=1; oCorr<=nOuterCorr_; oCorr++) + for (int oCorr=1; oCorr<=nOuterCorr_; ++oCorr) { pf_.storePrevIter(); @@ -108,10 +105,10 @@ void kinematicThinFilm::evolveRegion() if (momentumPredictor_) { - solve(UsEqn == - fac::grad(pf_*h_)/rho_ + pf_*fac::grad(h_)/rho_); + solve(UsEqn == -fac::grad(pf_*h_)/rho_ + pf_*fac::grad(h_)/rho_); } - for (int corr=1; corr<=nCorr_; corr++) + for (int corr=1; corr<=nCorr_; ++corr) { areaScalarField UsA(UsEqn.A()); @@ -126,7 +123,7 @@ void kinematicThinFilm::evolveRegion() + fac::interpolate(pf_/(rho_*UsA)) * fac::lnGrad(h_)*regionMesh().magLe(); - for (int nFilm=1; nFilm<=nFilmCorr_; nFilm++) + for (int nFilm=1; nFilm<=nFilmCorr_; ++nFilm) { faScalarMatrix hEqn ( diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.C b/src/regionFaModels/liquidFilm/liquidFilmBase.C index b392609c869..065acc3cb50 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.C +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.C @@ -60,7 +60,6 @@ liquidFilmBase::liquidFilmBase ) : regionFaModel(mesh, liquidFilmName, modelType, dict, true), - momentumPredictor_ ( this->solution().subDict("PIMPLE").get<bool>("momentumPredictor") @@ -74,17 +73,11 @@ liquidFilmBase::liquidFilmBase ( this->solution().subDict("PIMPLE").get<label>("nFilmCorr") ), - h0_("h0", dimLength, 1e-7, dict), - deltaWet_("deltaWet", dimLength, 1e-4, dict), - UName_(dict.get<word>("U")), - pName_(dict.getOrDefault<word>("p", word::null)), - pRef_(dict.get<scalar>("pRef")), - h_ ( IOobject @@ -97,7 +90,6 @@ liquidFilmBase::liquidFilmBase ), regionMesh() ), - Uf_ ( IOobject @@ -148,7 +140,6 @@ liquidFilmBase::liquidFilmBase ), fac::interpolate(Uf_) & regionMesh().Le() ), - phi2s_ ( IOobject @@ -161,7 +152,6 @@ liquidFilmBase::liquidFilmBase ), fac::interpolate(h_*Uf_) & regionMesh().Le() ), - gn_ ( IOobject @@ -175,9 +165,7 @@ liquidFilmBase::liquidFilmBase regionMesh(), dimensionedScalar(dimAcceleration, Zero) ), - g_(meshObjects::gravity::New(primaryMesh().time())), - massSource_ ( IOobject @@ -189,7 +177,6 @@ liquidFilmBase::liquidFilmBase primaryMesh(), dimensionedScalar(dimMass, Zero) ), - momentumSource_ ( IOobject @@ -201,7 +188,6 @@ liquidFilmBase::liquidFilmBase primaryMesh(), dimensionedVector(dimPressure, Zero) ), - pnSource_ ( IOobject @@ -213,7 +199,6 @@ liquidFilmBase::liquidFilmBase primaryMesh(), dimensionedScalar(dimPressure, Zero) ), - energySource_ ( IOobject @@ -225,9 +210,7 @@ liquidFilmBase::liquidFilmBase primaryMesh(), dimensionedScalar(dimEnergy, Zero) ), - addedMassTotal_(0), - faOptions_(Foam::fa::options::New(primaryMesh())) { const areaVectorField& ns = regionMesh().faceAreaNormals(); @@ -401,8 +384,6 @@ tmp<areaScalarField> liquidFilmBase::pg() const primaryMesh().lookupObject<volScalarField>(pName_), pfg.primitiveFieldRef() ); - - //pfg -= pRef_; } return tpg; diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.H b/src/regionFaModels/liquidFilm/liquidFilmBase.H index 98d1ec0b62e..d65197e4846 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.H +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.H @@ -105,13 +105,13 @@ protected: // Solution parameters - //- Momentum predictor + //- Flag to enable momentum predictor Switch momentumPredictor_; //- Number of outer correctors label nOuterCorr_; - //- Number of PISO-like correctors + //- Number of PISO-like inner correctors label nCorr_; //- Number of film thickness correctors @@ -120,10 +120,10 @@ protected: //- Cumulative continuity error scalar cumulativeContErr_; - //- Smallest numerical thickness + //- Smallest film thickness dimensionedScalar h0_; - //- Delta wet for sub-models + //- Film thickness beyond which face is assumed to be wet dimensionedScalar deltaWet_; @@ -139,7 +139,7 @@ protected: // Fields - //- Film hight + //- Film height areaScalarField h_; //- Film velocity @@ -210,7 +210,6 @@ public: // Constructors - //- Construct from type name and mesh and dict liquidFilmBase ( diff --git a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C index 1aa3078a316..b7e495be63c 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C +++ b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C @@ -31,7 +31,6 @@ License #include "gravityMeshObject.H" #include "volFields.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam @@ -91,9 +90,7 @@ liquidFilmModel::liquidFilmModel ) : liquidFilmBase(modelType, mesh, dict), - thermo_(dict.subDict("thermo")), - rho_ ( IOobject @@ -224,7 +221,6 @@ liquidFilmModel::liquidFilmModel primaryMesh(), dimensionedScalar(dimMass, Zero) ), - cloudDiameterTrans_ ( IOobject @@ -238,13 +234,9 @@ liquidFilmModel::liquidFilmModel primaryMesh(), dimensionedScalar(dimLength, Zero) ), - turbulence_(filmTurbulenceModel::New(*this, dict)), - availableMass_(regionMesh().faces().size(), Zero), - injection_(*this, dict), - forces_(*this, dict) { if (dict.readIfPresent("T0", Tref_)) diff --git a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H index fce0f4f6823..dc9ab25bf76 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H +++ b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H @@ -99,7 +99,7 @@ protected: //- Liquid thermo liquidMixtureProperties thermo_; - //- Reference tempararure + //- Reference temperature scalar Tref_; @@ -111,16 +111,16 @@ protected: //- Dynamic viscosity [Pa.s] areaScalarField mu_; - //- Film temperature + //- Film temperature [K] areaScalarField Tf_; - //- Film Heat capacity + //- Film heat capacity [J/K] areaScalarField Cp_; - //- Surface tension [m/s2] + //- Surface tension [m/s^2] areaScalarField sigma_; - //- Film rho*height + //- Film rho*height [m.kg/m^3] areaScalarField hRho_; @@ -138,7 +138,7 @@ protected: // Transfer fields - //- Film mass for transfer to cloud + //- Film mass for transfer to cloud volScalarField cloudMassTrans_; //- Parcel diameters originating from film to cloud @@ -159,9 +159,6 @@ protected: //- Cloud injection injectionModelList injection_; - //- Transfer with the continuous phase - //transferModelList transfer_; - //- List of film forces forceList forces_; diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H index df9e58e7d31..199cf53664c 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H @@ -169,13 +169,13 @@ protected: //- Model dictionary const dictionary dict_; - //- Method used + //- Friction model const frictionMethodType method_; - //- Shear method used + //- Shear-stress model const shearMethodType shearMethod_; - //- Name of density field (optional) + //- Name of density field word rhoName_; //- Reference density needed for incompressible calculations diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.C b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.C index 20b764f3ddf..eb33b6769c0 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.C @@ -28,7 +28,6 @@ License #include "laminar.H" #include "addToRunTimeSelectionTable.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H index f97db0968de..e451a70b014 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H @@ -125,8 +125,7 @@ protected: //- Minimum gravity driven film thickness (non-dimensionalised delta/R1) scalar deltaByR1Min_; - //- List of radii for patches - if patch not defined, radius - //- calculated based on mesh geometry + //- Patch radius scalar definedPatchRadii_; //- Magnitude of gravity vector diff --git a/src/regionFaModels/thermalShell/thermalShell.C b/src/regionFaModels/thermalShell/thermalShell.C index ede4196f9ad..0bcded72198 100644 --- a/src/regionFaModels/thermalShell/thermalShell.C +++ b/src/regionFaModels/thermalShell/thermalShell.C @@ -90,10 +90,7 @@ tmp<areaScalarField> thermalShell::qr() void thermalShell::solveEnergy() { - if (debug) - { - InfoInFunction << endl; - } + DebugInFunction << endl; const areaScalarField rhoCph(Cp()*rho()*h_); diff --git a/src/regionFaModels/thermalShell/thermalShell.H b/src/regionFaModels/thermalShell/thermalShell.H index de7e8e019ad..f509aa2db0d 100644 --- a/src/regionFaModels/thermalShell/thermalShell.H +++ b/src/regionFaModels/thermalShell/thermalShell.H @@ -123,16 +123,16 @@ protected: // Source term fields - //- External surface energy source / [J/m2/s] + //- External surface energy source [J/m2/s] areaScalarField qs_; - //- Thickness + //- Film thickness [m] areaScalarField h_; //- Name of the primary region radiative flux const word qrName_; - //- Uniform thickness + //- Uniform film thickness [m] scalar thickness_; @@ -178,7 +178,7 @@ public: //- Return the film specific heat capacity [J/kg/K] const tmp<areaScalarField> Cp() const; - //- Return density [Kg/m3] + //- Return density [kg/m3] const tmp<areaScalarField> rho() const; //- Return thermal conductivity [W/m/K] diff --git a/src/regionFaModels/vibrationShellModel/vibrationShellModel.C b/src/regionFaModels/vibrationShellModel/vibrationShellModel.C index f63bfdee4cc..d6a989c4441 100644 --- a/src/regionFaModels/vibrationShellModel/vibrationShellModel.C +++ b/src/regionFaModels/vibrationShellModel/vibrationShellModel.C @@ -40,7 +40,6 @@ namespace regionModels // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // defineTypeNameAndDebug(vibrationShellModel, 0); - defineRunTimeSelectionTable(vibrationShellModel, dictionary); // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -- GitLab From b6eb300718ad5b09299cafd27c16228f0d5a051a Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 24 Jan 2024 15:47:02 +0000 Subject: [PATCH 065/231] ENH: liquidFilm: consolidate and inline various access funcs --- .../liquidFilm/liquidFilmBase.C | 66 ------------------- .../liquidFilm/liquidFilmBase.H | 25 ++++--- .../liquidFilmModel/liquidFilmModel.C | 42 ------------ .../liquidFilmModel/liquidFilmModel.H | 17 +++-- 4 files changed, 22 insertions(+), 128 deletions(-) diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.C b/src/regionFaModels/liquidFilm/liquidFilmBase.C index 065acc3cb50..ea492e96871 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.C +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.C @@ -446,72 +446,6 @@ void liquidFilmBase::postEvolveRegion() } -Foam::fa::options& liquidFilmBase::faOptions() -{ - return faOptions_; -} - - -const areaVectorField& liquidFilmBase::Uf() const -{ - return Uf_; -} - - -const areaScalarField& liquidFilmBase::gn() const -{ - return gn_; -} - - -const uniformDimensionedVectorField& liquidFilmBase::g() const -{ - return g_; -} - - -const areaScalarField& liquidFilmBase::h() const -{ - return h_; -} - - -const edgeScalarField& liquidFilmBase::phif() const -{ - return phif_; -} - - -const edgeScalarField& liquidFilmBase::phi2s() const -{ - return phi2s_; -} - - -const dimensionedScalar& liquidFilmBase::h0() const -{ - return h0_; -} - - -const regionFaModel& liquidFilmBase::region() const -{ - return *this; -} - - -scalar liquidFilmBase::pRef() -{ - return pRef_; -} - - -word liquidFilmBase::UName() const -{ - return UName_; -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace areaSurfaceFilmModels diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.H b/src/regionFaModels/liquidFilm/liquidFilmBase.H index d65197e4846..4202ee62329 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.H +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.H @@ -264,41 +264,40 @@ public: tmp<areaScalarField> alpha() const; - // Access functions + // Access //- Return faOptions - Foam::fa::options& faOptions(); + Foam::fa::options& faOptions() noexcept { return faOptions_; } //- Access const reference Uf - const areaVectorField& Uf() const; + const areaVectorField& Uf() const noexcept { return Uf_; } //- Access const reference gn - const areaScalarField& gn() const; + const areaScalarField& gn() const noexcept { return gn_; } //- Gravity - const uniformDimensionedVectorField& g() const; + const uniformDimensionedVectorField& g() const noexcept { return g_; } //- Access const reference h - const areaScalarField& h() const; + const areaScalarField& h() const noexcept { return h_; } //- Access to momentum flux - const edgeScalarField& phif() const; + const edgeScalarField& phif() const noexcept { return phif_; } //- Access continuity flux - const edgeScalarField& phi2s() const; - + const edgeScalarField& phi2s() const noexcept { return phi2s_; } //- Return h0 - const dimensionedScalar& h0() const; + const dimensionedScalar& h0() const noexcept { return h0_; } //- Access to this region - const regionFaModel& region() const; + const regionFaModel& region() const noexcept { return *this; } //- Access to pRef - scalar pRef(); + scalar pRef() const { return pRef_; } //- Name of the U field - word UName() const; + word UName() const { return UName_; } // Transfer fields - to the primary region (lagragian injection) diff --git a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C index b7e495be63c..ff5fd9ed50f 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C +++ b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C @@ -249,48 +249,6 @@ liquidFilmModel::liquidFilmModel // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // -const areaScalarField& liquidFilmModel::mu() const -{ - return mu_; -} - - -const areaScalarField& liquidFilmModel::rho() const -{ - return rho_; -} - - -const areaScalarField& liquidFilmModel::sigma() const -{ - return sigma_; -} - - -const areaScalarField& liquidFilmModel::Tf() const -{ - return Tf_; -} - - -const areaScalarField& liquidFilmModel::Cp() const -{ - return Cp_; -} - - -const liquidMixtureProperties& liquidFilmModel::thermo() const -{ - return thermo_; -} - - -scalar liquidFilmModel::Tref() const -{ - return Tref_; -} - - const volScalarField& liquidFilmModel::cloudMassTrans() const { return cloudMassTrans_; diff --git a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H index dc9ab25bf76..e7542a414bc 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H +++ b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H @@ -201,25 +201,28 @@ public: // Access //- Access const reference mu - const areaScalarField& mu() const; + const areaScalarField& mu() const noexcept { return mu_; } //- Access const reference rho - const areaScalarField& rho() const; + const areaScalarField& rho() const noexcept { return rho_; } //- Access const reference sigma - const areaScalarField& sigma() const; + const areaScalarField& sigma() const noexcept { return sigma_; } //- Access const reference Tf - const areaScalarField& Tf() const; + const areaScalarField& Tf() const noexcept { return Tf_; } //- Access const reference Cp - const areaScalarField& Cp() const; + const areaScalarField& Cp() const noexcept { return Cp_; } //- Access to thermo - const liquidMixtureProperties& thermo() const; + const liquidMixtureProperties& thermo() const noexcept + { + return thermo_; + } //- Access to reference temperature - scalar Tref() const; + scalar Tref() const noexcept { return Tref_; } // Transfer fields - to the primary region (lagragian injection) -- GitLab From 05e4001cf27a1d047bdce6b2aec91db2e0ae7e27 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 24 Jan 2024 15:58:41 +0000 Subject: [PATCH 066/231] ENH: regionFaModels: remove redundant header files --- src/regionFaModels/KirchhoffShell/KirchhoffShell.C | 2 -- src/regionFaModels/KirchhoffShell/KirchhoffShell.H | 1 - .../filmShell/velocityFilmShellFvPatchVectorField.H | 1 - .../thermalShell/thermalShellFvPatchScalarField.H | 1 - .../vibrationShell/vibrationShellFvPatchScalarField.H | 1 - .../liquidFilm/kinematicThinFilm/kinematicThinFilm.C | 1 - .../liquidFilm/kinematicThinFilm/kinematicThinFilm.H | 2 -- src/regionFaModels/liquidFilm/liquidFilmBase.C | 2 -- src/regionFaModels/liquidFilm/liquidFilmBase.H | 2 -- .../liquidFilm/liquidFilmModel/liquidFilmModel.C | 2 -- .../liquidFilm/liquidFilmModel/liquidFilmModel.H | 1 - .../filmTurbulenceModel/filmTurbulenceModel.C | 1 - .../filmTurbulenceModel/filmTurbulenceModel.H | 4 ---- .../kinematic/filmTurbulenceModel/laminar/laminar.H | 3 +-- .../contactAngleForce/contactAngleForce.C | 2 -- .../dynamicContactAngleForce/dynamicContactAngleForce.C | 2 ++ .../dynamicContactAngleForce/dynamicContactAngleForce.H | 7 +++++-- .../subModels/kinematic/force/forceList/forceList.H | 2 -- .../curvatureSeparation/curvatureSeparation.C | 3 --- .../curvatureSeparation/curvatureSeparation.H | 1 - .../injectionModel/injectionModel/injectionModel.H | 2 -- .../injectionModel/injectionModelList/injectionModelList.H | 2 -- src/regionFaModels/regionFaModel/regionFaModel.H | 5 ----- src/regionFaModels/thermalShell/thermalShell.C | 1 - src/regionFaModels/thermalShell/thermalShell.H | 1 - src/regionFaModels/thermalShellModel/thermalShellModel.C | 3 --- src/regionFaModels/thermalShellModel/thermalShellModel.H | 2 -- .../vibrationShellModel/vibrationShellModel.C | 3 --- .../vibrationShellModel/vibrationShellModel.H | 2 -- 29 files changed, 8 insertions(+), 54 deletions(-) diff --git a/src/regionFaModels/KirchhoffShell/KirchhoffShell.C b/src/regionFaModels/KirchhoffShell/KirchhoffShell.C index 7d0102f9106..0b8cfd0a98d 100644 --- a/src/regionFaModels/KirchhoffShell/KirchhoffShell.C +++ b/src/regionFaModels/KirchhoffShell/KirchhoffShell.C @@ -27,8 +27,6 @@ License #include "KirchhoffShell.H" #include "addToRunTimeSelectionTable.H" -#include "fvPatchFields.H" -#include "zeroGradientFaPatchFields.H" #include "subCycle.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/KirchhoffShell/KirchhoffShell.H b/src/regionFaModels/KirchhoffShell/KirchhoffShell.H index b29a48820cb..38460fb83ea 100644 --- a/src/regionFaModels/KirchhoffShell/KirchhoffShell.H +++ b/src/regionFaModels/KirchhoffShell/KirchhoffShell.H @@ -69,7 +69,6 @@ SourceFiles #include "volFieldsFwd.H" #include "vibrationShellModel.H" -#include "faMesh.H" #include "faCFD.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H index f0c22c58b8b..a24587a23d0 100644 --- a/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H +++ b/src/regionFaModels/derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.H @@ -116,7 +116,6 @@ SourceFiles #ifndef velocityFilmShellFvPatchVectorField_H #define velocityFilmShellFvPatchVectorField_H -#include "autoPtr.H" #include "liquidFilmBase.H" #include "mixedFvPatchFields.H" diff --git a/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H b/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H index bb5b48bc997..a229a436664 100644 --- a/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H +++ b/src/regionFaModels/derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.H @@ -71,7 +71,6 @@ SourceFiles #ifndef Foam_thermalShellFvPatchScalarField_H #define Foam_thermalShellFvPatchScalarField_H -#include "autoPtr.H" #include "thermalShellModel.H" #include "fixedValueFvPatchFields.H" diff --git a/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H b/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H index 64158eb5553..7a41512e1ea 100644 --- a/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H +++ b/src/regionFaModels/derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.H @@ -64,7 +64,6 @@ SourceFiles #ifndef vibrationShellFvPatchScalarField_H #define vibrationShellFvPatchScalarField_H -#include "autoPtr.H" #include "vibrationShellModel.H" #include "mixedFvPatchFields.H" diff --git a/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.C b/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.C index f12e655ddd1..f066339a04c 100644 --- a/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.C +++ b/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.C @@ -27,7 +27,6 @@ License #include "kinematicThinFilm.H" #include "addToRunTimeSelectionTable.H" -#include "uniformDimensionedFields.H" #include "volFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.H b/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.H index b198b2e40d8..9847757f2b5 100644 --- a/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.H +++ b/src/regionFaModels/liquidFilm/kinematicThinFilm/kinematicThinFilm.H @@ -60,8 +60,6 @@ SourceFiles #include "volFieldsFwd.H" #include "liquidFilmModel.H" -#include "faMesh.H" -#include "filmTurbulenceModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.C b/src/regionFaModels/liquidFilm/liquidFilmBase.C index ea492e96871..8675df546dd 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.C +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.C @@ -26,12 +26,10 @@ License \*---------------------------------------------------------------------------*/ #include "liquidFilmBase.H" -#include "faMesh.H" #include "gravityMeshObject.H" #include "movingWallVelocityFvPatchVectorField.H" #include "turbulentFluidThermoModel.H" #include "turbulentTransportModel.H" -#include "calculatedFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.H b/src/regionFaModels/liquidFilm/liquidFilmBase.H index 4202ee62329..acd16f60802 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.H +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.H @@ -74,8 +74,6 @@ SourceFiles #ifndef Foam_liquidFilmBase_H #define Foam_liquidFilmBase_H -#include "runTimeSelectionTables.H" -#include "autoPtr.H" #include "faCFD.H" #include "volFieldsFwd.H" #include "uniformDimensionedFields.H" diff --git a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C index ff5fd9ed50f..00f0d1b6824 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C +++ b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C @@ -27,8 +27,6 @@ License #include "liquidFilmModel.H" #include "addToRunTimeSelectionTable.H" -#include "uniformDimensionedFields.H" -#include "gravityMeshObject.H" #include "volFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H index e7542a414bc..43300fb3bda 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H +++ b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.H @@ -68,7 +68,6 @@ SourceFiles #include "volFieldsFwd.H" #include "liquidFilmBase.H" -#include "faMesh.H" #include "filmTurbulenceModel.H" #include "liquidMixtureProperties.H" #include "injectionModelList.H" diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C index 93b54a3ce0b..bece3126780 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C @@ -29,7 +29,6 @@ License #include "gravityMeshObject.H" #include "turbulentTransportModel.H" #include "turbulentFluidThermoModel.H" -#include "PtrMap.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H index 199cf53664c..c6d0fe743b6 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H @@ -102,11 +102,7 @@ SourceFiles #define regionFaModels_filmTurbulenceModel_H #include "areaFieldsFwd.H" -#include "runTimeSelectionTables.H" -#include "faMatrices.H" #include "liquidFilmBase.H" -#include "fvMesh.H" -#include "Enum.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.H b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.H index 64488aa23a1..6dfb3ef759d 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.H @@ -37,8 +37,7 @@ SourceFiles #ifndef regionFaModels_surfaceFilmModels_laminar_H #define regionFaModels_surfaceFilmModels_laminar_H -#include "liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H" -#include "faCFD.H" +#include "filmTurbulenceModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C b/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C index dfe9dad3887..5f5ddaeaac6 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C @@ -27,9 +27,7 @@ License #include "contactAngleForce.H" #include "addToRunTimeSelectionTable.H" -#include "faCFD.H" #include "unitConversion.H" -#include "meshWavePatchDistMethod.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.C b/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.C index 559dbab3b74..f09e8a6cd85 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.C @@ -27,6 +27,8 @@ License #include "dynamicContactAngleForce.H" #include "addToRunTimeSelectionTable.H" +#include "Function1.H" +#include "distributionModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.H b/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.H index 8f2ec84b881..b1db31df72a 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.H @@ -86,14 +86,17 @@ SourceFiles #define areaSurfaceFilmModels_dynamicContactAngleForce_H #include "contactAngleForce.H" -#include "Function1.H" -#include "distributionModel.H" #include "Random.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { + +// Forward Declarations +template<class Type> class Function1; +class distributionModel; + namespace regionModels { namespace areaSurfaceFilmModels diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.H b/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.H index f22f2d23313..58b9860aaee 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/force/forceList/forceList.H @@ -65,9 +65,7 @@ SourceFiles #ifndef forceList_H #define forceList_H -#include "PtrList.H" #include "force.H" -#include "faCFD.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C index 69e33a08f3b..de6effd2c94 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C @@ -28,9 +28,6 @@ License #include "curvatureSeparation.H" #include "addToRunTimeSelectionTable.H" -#include "Time.H" -#include "stringListOps.H" -#include "cyclicPolyPatch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H index e451a70b014..07dbef9e18a 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H @@ -87,7 +87,6 @@ SourceFiles #define curvatureSeparation_H #include "injectionModel.H" -#include "faCFD.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModel/injectionModel.H b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModel/injectionModel.H index 5bf117f7a97..fe6a86363de 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModel/injectionModel.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModel/injectionModel.H @@ -40,8 +40,6 @@ SourceFiles #define injectionModel_H #include "filmSubModelBase.H" -#include "runTimeSelectionTables.H" -#include "scalarField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.H b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.H index 0e42c9059d3..b57bb02bce4 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.H +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.H @@ -65,10 +65,8 @@ SourceFiles #ifndef injectionModelList_H #define injectionModelList_H -#include "PtrList.H" #include "injectionModel.H" #include "filmSubModelBase.H" -#include "scalarField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/regionFaModel/regionFaModel.H b/src/regionFaModels/regionFaModel/regionFaModel.H index 7911df04633..2a36c2c1741 100644 --- a/src/regionFaModels/regionFaModel/regionFaModel.H +++ b/src/regionFaModels/regionFaModel/regionFaModel.H @@ -69,11 +69,6 @@ SourceFiles #define Foam_regionFaModel_H #include "volMesh.H" -#include "IOdictionary.H" -#include "Switch.H" -#include "labelList.H" -#include "areaFields.H" -#include "faMesh.H" #include "volSurfaceMapping.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/thermalShell/thermalShell.C b/src/regionFaModels/thermalShell/thermalShell.C index 0bcded72198..7d625ecfe4d 100644 --- a/src/regionFaModels/thermalShell/thermalShell.C +++ b/src/regionFaModels/thermalShell/thermalShell.C @@ -28,7 +28,6 @@ License #include "thermalShell.H" #include "addToRunTimeSelectionTable.H" #include "fvPatchFields.H" -#include "zeroGradientFaPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/thermalShell/thermalShell.H b/src/regionFaModels/thermalShell/thermalShell.H index f509aa2db0d..caf0574803a 100644 --- a/src/regionFaModels/thermalShell/thermalShell.H +++ b/src/regionFaModels/thermalShell/thermalShell.H @@ -78,7 +78,6 @@ SourceFiles #include "volFieldsFwd.H" #include "thermalShellModel.H" #include "solidProperties.H" -#include "faMesh.H" #include "faCFD.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/thermalShellModel/thermalShellModel.C b/src/regionFaModels/thermalShellModel/thermalShellModel.C index 4e9274a78d4..dab5d08c608 100644 --- a/src/regionFaModels/thermalShellModel/thermalShellModel.C +++ b/src/regionFaModels/thermalShellModel/thermalShellModel.C @@ -26,9 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "thermalShellModel.H" -#include "faMesh.H" -#include "fvMesh.H" -#include "fvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/thermalShellModel/thermalShellModel.H b/src/regionFaModels/thermalShellModel/thermalShellModel.H index 80ea70bfa8b..a56a48b3afa 100644 --- a/src/regionFaModels/thermalShellModel/thermalShellModel.H +++ b/src/regionFaModels/thermalShellModel/thermalShellModel.H @@ -65,8 +65,6 @@ SourceFiles #ifndef Foam_regionModels_thermalShellModel_H #define Foam_regionModels_thermalShellModel_H -#include "runTimeSelectionTables.H" -#include "autoPtr.H" #include "areaFieldsFwd.H" #include "volFieldsFwd.H" #include "regionFaModel.H" diff --git a/src/regionFaModels/vibrationShellModel/vibrationShellModel.C b/src/regionFaModels/vibrationShellModel/vibrationShellModel.C index d6a989c4441..bc952ad3a77 100644 --- a/src/regionFaModels/vibrationShellModel/vibrationShellModel.C +++ b/src/regionFaModels/vibrationShellModel/vibrationShellModel.C @@ -26,9 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "vibrationShellModel.H" -#include "faMesh.H" -#include "fvMesh.H" -#include "fvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionFaModels/vibrationShellModel/vibrationShellModel.H b/src/regionFaModels/vibrationShellModel/vibrationShellModel.H index cc9e8759907..c21c928d5f2 100644 --- a/src/regionFaModels/vibrationShellModel/vibrationShellModel.H +++ b/src/regionFaModels/vibrationShellModel/vibrationShellModel.H @@ -68,8 +68,6 @@ SourceFiles #ifndef Foam_regionModels_vibrationShellModel_H #define Foam_regionModels_vibrationShellModel_H -#include "runTimeSelectionTables.H" -#include "autoPtr.H" #include "areaFieldsFwd.H" #include "volFieldsFwd.H" #include "regionFaModel.H" -- GitLab From 6e2bdb0613ba7d4964c0772ae16726ad55c55d2d Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 24 Jan 2024 16:37:46 +0000 Subject: [PATCH 067/231] ENH: liquidFilmBase: remove unused energy source field --- src/regionFaModels/liquidFilm/liquidFilmBase.C | 11 ----------- src/regionFaModels/liquidFilm/liquidFilmBase.H | 3 --- 2 files changed, 14 deletions(-) diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.C b/src/regionFaModels/liquidFilm/liquidFilmBase.C index 8675df546dd..8d575da6e73 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.C +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.C @@ -197,17 +197,6 @@ liquidFilmBase::liquidFilmBase primaryMesh(), dimensionedScalar(dimPressure, Zero) ), - energySource_ - ( - IOobject - ( - "energySource", - primaryMesh().time().timeName(), - primaryMesh().thisDb() - ), - primaryMesh(), - dimensionedScalar(dimEnergy, Zero) - ), addedMassTotal_(0), faOptions_(Foam::fa::options::New(primaryMesh())) { diff --git a/src/regionFaModels/liquidFilm/liquidFilmBase.H b/src/regionFaModels/liquidFilm/liquidFilmBase.H index acd16f60802..d272e2df9c1 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmBase.H +++ b/src/regionFaModels/liquidFilm/liquidFilmBase.H @@ -173,9 +173,6 @@ protected: //- Normal pressure by particles volScalarField pnSource_; - //- Energy - volScalarField energySource_; - //- Total mass added scalar addedMassTotal_; -- GitLab From 7891960bd12c554e08f3e27b545191c4edf97540 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 24 Jan 2024 17:35:17 +0000 Subject: [PATCH 068/231] ENH: KirchhoffShell: reduce code footprint --- .../KirchhoffShell/KirchhoffShell.C | 64 ++++++++++------- .../KirchhoffShell/KirchhoffShell.H | 72 ++++++++----------- .../vibrationShellModel/vibrationShellModel.C | 8 +-- .../vibrationShellModel/vibrationShellModel.H | 18 ++--- 4 files changed, 81 insertions(+), 81 deletions(-) diff --git a/src/regionFaModels/KirchhoffShell/KirchhoffShell.C b/src/regionFaModels/KirchhoffShell/KirchhoffShell.C index 0b8cfd0a98d..d19871c2fe9 100644 --- a/src/regionFaModels/KirchhoffShell/KirchhoffShell.C +++ b/src/regionFaModels/KirchhoffShell/KirchhoffShell.C @@ -49,7 +49,6 @@ bool KirchhoffShell::init(const dictionary& dict) return true; } -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // void KirchhoffShell::solveDisplacement() { @@ -57,20 +56,27 @@ void KirchhoffShell::solveDisplacement() const Time& time = primaryMesh().time(); - areaScalarField solidMass(rho()*h_); - areaScalarField solidD(D()/solidMass); + // Create operand fields for solid physics + const areaScalarField solidMass(rho()*h_); + const areaScalarField solidD(D()/solidMass); - // Save old times - areaScalarField w0(w_.oldTime()); - areaScalarField w00(w_.oldTime().oldTime()); + // Deep copy old times of shell displacement field + auto tw0 = tmp<areaScalarField>::New(w_.oldTime()); + auto tw00 = tmp<areaScalarField>::New(w_.oldTime().oldTime()); + // Flag terms to avoid redundant time-derivative calculations + const bool f0_enabled = (f0_.value() != scalar(0)); + const bool f1_enabled = (f1_.value() != scalar(0)); + const bool f2_enabled = (f2_.value() != scalar(0)); + + // Restore various old fields in sub-cycling, if need be if (nSubCycles_ > 1) { - // Restore the oldTime in sub-cycling w_.oldTime() = w0_; w_.oldTime().oldTime() = w00_; - laplaceW_.oldTime() = laplaceW0_; - laplace2W_.oldTime() = laplace2W0_; + + if (f0_enabled) laplaceW_.oldTime() = laplaceW0_; + if (f2_enabled) laplace2W_.oldTime() = laplace2W0_; } for @@ -89,25 +95,29 @@ void KirchhoffShell::solveDisplacement() faScalarMatrix wEqn ( fam::d2dt2(w_) - + f1_*fam::ddt(w_) - - f0_*sqrt(solidD)*fac::ddt(laplaceW_) - + solidD*(laplace2W_ + f2_*fac::ddt(laplace2W_)) + + solidD*laplace2W_ == ps_/solidMass + faOptions()(solidMass, w_, dimLength/sqr(dimTime)) ); + // Avoid time-derivative calculations for f terms, if possible + if (f0_enabled) wEqn -= f0_*sqrt(solidD)*fac::ddt(laplaceW_); + if (f1_enabled) wEqn += f1_*fam::ddt(w_); + if (f2_enabled) wEqn += f2_*solidD*fac::ddt(laplace2W_); + faOptions().constrain(wEqn); wEqn.solve(); + // Cache various old fields inside the sub-cycling if (wSubCycle.index() >= wSubCycle.nSubCycles()) { - // Cache oldTimes inside the sub-cycling w0_ = w_.oldTime(); w00_ = w_.oldTime().oldTime(); - laplaceW0_ = laplaceW_.oldTime(); - laplace2W0_ = laplace2W_.oldTime(); + + if (f0_enabled) laplaceW0_ = laplaceW_.oldTime(); + if (f2_enabled) laplace2W0_ = laplace2W_.oldTime(); // Update shell acceleration a_ = fac::d2dt2(w_); @@ -116,9 +126,9 @@ void KirchhoffShell::solveDisplacement() Info<< w_.name() << " min/max = " << gMinMax(w_) << endl; - // Restore old time in main time - w_.oldTime() = w0; - w_.oldTime().oldTime() = w00; + // Steal the deep-copy of old times to restore the shell displacement + w_.oldTime() = tw0; + w_.oldTime().oldTime() = tw00; faOptions().correct(w_); } @@ -134,11 +144,6 @@ KirchhoffShell::KirchhoffShell ) : vibrationShellModel(modelType, mesh, dict), - f0_("f0", dimless, dict), - f1_("f1", inv(dimTime), dict), - f2_("f2", dimTime, dict), - nNonOrthCorr_(1), - nSubCycles_(1), ps_ ( IOobject @@ -241,7 +246,12 @@ KirchhoffShell::KirchhoffShell ), regionMesh(), dimensionedScalar(inv(pow3(dimLength)), Zero) - ) + ), + f0_("f0", dimless, dict), + f1_("f1", inv(dimTime), dict), + f2_("f2", dimTime, dict), + nNonOrthCorr_(1), + nSubCycles_(1) { init(dict); } @@ -254,10 +264,10 @@ void KirchhoffShell::preEvolveRegion() void KirchhoffShell::evolveRegion() { - nNonOrthCorr_ = solution().get<label>("nNonOrthCorr"); - nSubCycles_ = solution().get<label>("nSubCycles"); + nNonOrthCorr_ = solution().getLabel("nNonOrthCorr"); + nSubCycles_ = solution().getLabel("nSubCycles"); - for (int nonOrth=0; nonOrth<=nNonOrthCorr_; ++nonOrth) + for (int nonOrth=0; nonOrth <= nNonOrthCorr_; ++nonOrth) { solveDisplacement(); } diff --git a/src/regionFaModels/KirchhoffShell/KirchhoffShell.H b/src/regionFaModels/KirchhoffShell/KirchhoffShell.H index 38460fb83ea..cf09f8dd670 100644 --- a/src/regionFaModels/KirchhoffShell/KirchhoffShell.H +++ b/src/regionFaModels/KirchhoffShell/KirchhoffShell.H @@ -88,64 +88,54 @@ class KirchhoffShell { // Private Data - //- Damping coefficients [1/s] - dimensionedScalar f0_; - dimensionedScalar f1_; - dimensionedScalar f2_; - - - // Private Member Functions - - //- Initialise KirchhoffShell - bool init(const dictionary& dict); - - -protected: - - // Protected Data + // Source term fields - // Solution parameters + //- External surface source [Pa] + const areaScalarField ps_; - //- Number of non orthogonal correctors - label nNonOrthCorr_; + //- Thickness [m] + areaScalarField h_; - //- Sub cycles - label nSubCycles_; + //- Laplace of the displacement + areaScalarField laplaceW_; + //- Laplace of the Laplace for the displacement + areaScalarField laplace2W_; - // Source term fields + //- Cache w.oldTime() in sub-cycling + areaScalarField w0_; - //- External surface source [Pa] - areaScalarField ps_; + //- Cache w.oldTime.oldTime() in sub-cycling + areaScalarField w00_; - //- Thickness [m] - areaScalarField h_; + //- Cache laplaceW.oldTime() in sub-cycling + areaScalarField laplaceW0_; - //- Laplace of the displacement - areaScalarField laplaceW_; + //- Cache laplace2.oldTime() in sub-cycling + areaScalarField laplace2W0_; - //- Laplace of the Laplace for the displacement - areaScalarField laplace2W_; - //- Cache w.oldTime() in sub-cycling - areaScalarField w0_; + // Solution parameters - //- Cache w.oldTime.oldTime() in sub-cycling - areaScalarField w00_; + //- Damping coefficients [1/s] + const dimensionedScalar f0_; + const dimensionedScalar f1_; + const dimensionedScalar f2_; - //- Cache laplaceW.oldTime() in sub-cycling - areaScalarField laplaceW0_; + //- Number of non orthogonal correctors + label nNonOrthCorr_; - //- Cache laplace2.oldTime() in sub-cycling - areaScalarField laplace2W0_; + //- Sub cycles + label nSubCycles_; - // Protected Member Functions + // Private Member Functions - // Equations + //- Initialise Kirchhoff shell model + bool init(const dictionary& dict); - //- Solve energy equation - void solveDisplacement(); + //- Solve energy equation + void solveDisplacement(); public: diff --git a/src/regionFaModels/vibrationShellModel/vibrationShellModel.C b/src/regionFaModels/vibrationShellModel/vibrationShellModel.C index bc952ad3a77..7ce1aaf7eec 100644 --- a/src/regionFaModels/vibrationShellModel/vibrationShellModel.C +++ b/src/regionFaModels/vibrationShellModel/vibrationShellModel.C @@ -49,8 +49,6 @@ vibrationShellModel::vibrationShellModel ) : regionFaModel(mesh, "vibratingShell", modelType, dict, true), - pName_(dict.get<word>("p")), - pa_(mesh.lookupObject<volScalarField>(pName_)), w_ ( IOobject @@ -76,8 +74,10 @@ vibrationShellModel::vibrationShellModel regionMesh(), dimensionedScalar(dimAcceleration, Zero) ), - faOptions_(Foam::fa::options::New(mesh)), - solid_(dict.subDict("solid")) + solid_(dict.subDict("solid")), + pName_(dict.get<word>("p")), + pa_(mesh.lookupObject<volScalarField>(pName_)), + faOptions_(Foam::fa::options::New(mesh)) { if (faOptions_.optionList::empty()) { diff --git a/src/regionFaModels/vibrationShellModel/vibrationShellModel.H b/src/regionFaModels/vibrationShellModel/vibrationShellModel.H index c21c928d5f2..e8053ec526d 100644 --- a/src/regionFaModels/vibrationShellModel/vibrationShellModel.H +++ b/src/regionFaModels/vibrationShellModel/vibrationShellModel.H @@ -93,24 +93,24 @@ protected: // Protected Data - //- Name of the coupled field in the primary region - word pName_; - - //- Primary region acoustic pressure - const volScalarField& pa_; - //- Shell displacement areaScalarField w_; //- Shell acceleration areaScalarField a_; - //- Pointer to faOptions - Foam::fa::options& faOptions_; - //- Solid properties solidProperties solid_; + //- Name of the coupled field in the primary region + word pName_; + + //- Primary region acoustic pressure + const volScalarField& pa_; + + //- Reference to faOptions + Foam::fa::options& faOptions_; + public: -- GitLab From f7cdd3ef63d3a69f7c5d729e9c417fc6533d7f67 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 23 Feb 2024 14:46:35 +0100 Subject: [PATCH 069/231] ENH: extra objectRegistry::newIOobject form with IOobjectOption - example use: mesh.newIOobject(name, { IOobject::REGISTER }); vs mesh.newIOobject ( name, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER ); --- src/OpenFOAM/db/objectRegistry/objectRegistry.C | 16 ++++++++++++++++ src/OpenFOAM/db/objectRegistry/objectRegistry.H | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.C b/src/OpenFOAM/db/objectRegistry/objectRegistry.C index b16e3886292..2264011936b 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.C +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.C @@ -151,6 +151,22 @@ Foam::HashTable<Foam::wordHashSet> Foam::objectRegistry::classes() const } +Foam::IOobject Foam::objectRegistry::newIOobject +( + const word& name, + IOobjectOption ioOpt +) const +{ + return IOobject + ( + name, + time().timeName(), // instance + *this, + ioOpt + ); +} + + Foam::IOobject Foam::objectRegistry::newIOobject ( const word& name, diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.H b/src/OpenFOAM/db/objectRegistry/objectRegistry.H index 175d11a6183..957eb5fb1ed 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.H +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.H @@ -241,6 +241,14 @@ public: // Helper Functions + //- Create an IOobject at the current time instance (timeName) + //- with the specified options + IOobject newIOobject + ( + const word& name, //!< The object name + IOobjectOption ioOpt //!< The IOobject options + ) const; + //- Create an IOobject at the current time instance (timeName). // By default the object is NO_READ/NO_WRITE/NO_REGISTER IOobject newIOobject -- GitLab From 4f43f0302dec282c54abd68ddad56a74268bec14 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 21 Feb 2024 09:34:58 +0100 Subject: [PATCH 070/231] ENH: additional Map/HashTable constructors and ListOp functions - construct Map/HashTable from key/value lists. - invertToMap() : like invert() but returns a Map<label>, which is useful for sparse numbering - inplaceRenumber() : taking a Map<label> for the mapper ENH: construct/reset CStringList for list of C-strings --- .../test/HashTable2/Test-HashTable2.C | 10 ++-- applications/test/cstring/Make/files | 2 +- .../{Test-cstring.C => Test-cstring.cxx} | 19 +++++-- .../mesh/conversion/gmshToFoam/gmshToFoam.C | 39 +++++--------- .../ideasUnvToFoam/ideasUnvToFoam.C | 40 +++++--------- .../conversion/tetgenToFoam/tetgenToFoam.C | 17 ++---- .../splitMeshRegions/splitMeshRegions.C | 16 ++---- .../HashTables/HashTable/HashTable.C | 32 +++++++++-- .../HashTables/HashTable/HashTable.H | 21 ++++++-- src/OpenFOAM/containers/HashTables/Map/Map.H | 25 +++++++-- .../containers/Lists/ListOps/ListOps.C | 36 +++++++++++-- .../containers/Lists/ListOps/ListOps.H | 23 ++++++-- .../Lists/ListOps/ListOpsTemplates.C | 25 ++++++++- .../polyMesh/globalMeshData/globalMeshData.C | 10 ++-- .../polyMesh/syncTools/syncToolsTemplates.C | 14 ++--- .../PrimitivePatch/PrimitivePatchMeshData.C | 12 ++--- .../primitives/strings/lists/CStringList.C | 53 +++++++++++++++++-- .../primitives/strings/lists/CStringList.H | 27 ++++++++-- .../primitives/strings/lists/CStringListI.H | 30 +++++++---- .../strings/lists/CStringListTemplates.C | 16 +++--- .../attachDetach/detachInterface.C | 10 +--- .../layerAdditionRemoval/addCellLayer.C | 10 +--- .../layerAdditionRemoval/removeCellLayer.C | 15 ++---- .../multiDirRefinement/multiDirRefinement.C | 10 ++-- .../enrichedPatch/enrichedPatch.C | 14 ++--- src/finiteArea/faMesh/faMeshPatches.C | 3 +- .../fvMeshSubset/fvMeshSubsetTemplates.C | 11 ++-- .../interpolationPointMVC/pointMVCWeight.C | 6 +-- .../meshRefinement/meshRefinement.C | 8 +-- .../edgeFormats/nastran/NASedgeFormat.C | 11 +--- .../edgeFormats/starcd/STARCDedgeFormat.C | 8 +-- src/meshTools/regionSplit2D/regionSplit2D.C | 9 ++-- src/meshTools/topoSet/topoSets/faceZoneSet.C | 21 ++------ .../faDecompose/faMeshDecomposition.C | 21 ++------ .../abaqus/ABAQUSsurfaceFormat.C | 15 ++---- .../surfaceFormats/nas/NASsurfaceFormat.C | 12 ++--- .../starcd/STARCDsurfaceFormat.C | 8 +-- 37 files changed, 362 insertions(+), 297 deletions(-) rename applications/test/cstring/{Test-cstring.C => Test-cstring.cxx} (89%) diff --git a/applications/test/HashTable2/Test-HashTable2.C b/applications/test/HashTable2/Test-HashTable2.C index 19406361fc5..bcc6913b862 100644 --- a/applications/test/HashTable2/Test-HashTable2.C +++ b/applications/test/HashTable2/Test-HashTable2.C @@ -124,11 +124,11 @@ int main(int argc, char *argv[]) << "toc: " << flatOutput(table0.toc()) << nl; HashTable<label, label, Hash<label>> table2 - ({ - {3, 10}, - {5, 12}, - {7, 16} - }); + ( + // From key/value pairs + labelList({3, 5, 7}), + labelList({10, 12, 16}) + ); Info<< "table2: " << table2 << nl << "toc: " << flatOutput(table2.toc()) << nl; diff --git a/applications/test/cstring/Make/files b/applications/test/cstring/Make/files index eb7e33dc8bc..f98b8f1b1a6 100644 --- a/applications/test/cstring/Make/files +++ b/applications/test/cstring/Make/files @@ -1,3 +1,3 @@ -Test-cstring.C +Test-cstring.cxx EXE = $(FOAM_USER_APPBIN)/Test-cstring diff --git a/applications/test/cstring/Test-cstring.C b/applications/test/cstring/Test-cstring.cxx similarity index 89% rename from applications/test/cstring/Test-cstring.C rename to applications/test/cstring/Test-cstring.cxx index 095a2253a12..002300e0094 100644 --- a/applications/test/cstring/Test-cstring.C +++ b/applications/test/cstring/Test-cstring.cxx @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2017 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -81,8 +81,7 @@ int print(char *argv[]) int main(int argc, char *argv[]) { - DynamicList<string> dynlst; - dynlst.reserve(16); + DynamicList<string> dynlst(16); dynlst.push_back("string1 with content"); dynlst.push_back("string2 other content"); @@ -104,6 +103,18 @@ int main(int argc, char *argv[]) Info<< nl; } + { + CStringList inC({ "string1", "string2", "string3", "end" }); + + Info<< "null-terminated string list from " << nl; + print(inC.strings()); + + Info<< "sublist: starting at " << inC.size()/2 << nl; + print(inC.strings(inC.size()/2)); + + Info<< nl; + } + { string testInput ( @@ -124,7 +135,7 @@ int main(int argc, char *argv[]) Info<< nl; } - Info<<"command-line with " << CStringList::count(argv) << " items"<< endl; + Info<< "command-line with " << CStringList::count(argv) << " items" << nl; print(argc, argv); diff --git a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C index 77331991ab9..b4f6e8d6fe6 100644 --- a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C +++ b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -98,19 +98,6 @@ bool skipSection(IFstream& inFile) } -void renumber -( - const Map<label>& mshToFoam, - labelList& labels -) -{ - forAll(labels, labelI) - { - labels[labelI] = mshToFoam[labels[labelI]]; - } -} - - // Find face in pp which uses all vertices in meshF (in mesh point labels) label findFace(const primitivePatch& pp, const labelList& meshF) { @@ -587,7 +574,7 @@ void readCellsLegacy { lineStr >> triPoints[0] >> triPoints[1] >> triPoints[2]; - renumber(mshToFoam, triPoints); + inplaceRenumber(mshToFoam, triPoints); const auto regFnd = physToPatch.cfind(regPhys); @@ -620,7 +607,7 @@ void readCellsLegacy >> quadPoints[0] >> quadPoints[1] >> quadPoints[2] >> quadPoints[3]; - renumber(mshToFoam, quadPoints); + inplaceRenumber(mshToFoam, quadPoints); const auto regFnd = physToPatch.cfind(regPhys); @@ -662,7 +649,7 @@ void readCellsLegacy >> tetPoints[0] >> tetPoints[1] >> tetPoints[2] >> tetPoints[3]; - renumber(mshToFoam, tetPoints); + inplaceRenumber(mshToFoam, tetPoints); cells[celli++].reset(tet, tetPoints); @@ -683,7 +670,7 @@ void readCellsLegacy >> pyrPoints[0] >> pyrPoints[1] >> pyrPoints[2] >> pyrPoints[3] >> pyrPoints[4]; - renumber(mshToFoam, pyrPoints); + inplaceRenumber(mshToFoam, pyrPoints); cells[celli++].reset(pyr, pyrPoints); @@ -704,7 +691,7 @@ void readCellsLegacy >> prismPoints[0] >> prismPoints[1] >> prismPoints[2] >> prismPoints[3] >> prismPoints[4] >> prismPoints[5]; - renumber(mshToFoam, prismPoints); + inplaceRenumber(mshToFoam, prismPoints); cells[celli].reset(prism, prismPoints); @@ -745,7 +732,7 @@ void readCellsLegacy >> hexPoints[4] >> hexPoints[5] >> hexPoints[6] >> hexPoints[7]; - renumber(mshToFoam, hexPoints); + inplaceRenumber(mshToFoam, hexPoints); cells[celli].reset(hex, hexPoints); @@ -929,7 +916,7 @@ void readCells IStringStream lineStr(line); lineStr >> elemID >> triPoints[0] >> triPoints[1] >> triPoints[2]; - renumber(mshToFoam, triPoints); + inplaceRenumber(mshToFoam, triPoints); const auto regFnd = physToPatch.cfind(regPhys); @@ -967,7 +954,7 @@ void readCells >> quadPoints[0] >> quadPoints[1] >> quadPoints[2] >> quadPoints[3]; - renumber(mshToFoam, quadPoints); + inplaceRenumber(mshToFoam, quadPoints); const auto regFnd = physToPatch.cfind(regPhys); @@ -1017,7 +1004,7 @@ void readCells >> tetPoints[0] >> tetPoints[1] >> tetPoints[2] >> tetPoints[3]; - renumber(mshToFoam, tetPoints); + inplaceRenumber(mshToFoam, tetPoints); cells[celli++].reset(tet, tetPoints); } @@ -1044,7 +1031,7 @@ void readCells >> pyrPoints[0] >> pyrPoints[1] >> pyrPoints[2] >> pyrPoints[3] >> pyrPoints[4]; - renumber(mshToFoam, pyrPoints); + inplaceRenumber(mshToFoam, pyrPoints); cells[celli++].reset(pyr, pyrPoints); } @@ -1071,7 +1058,7 @@ void readCells >> prismPoints[0] >> prismPoints[1] >> prismPoints[2] >> prismPoints[3] >> prismPoints[4] >> prismPoints[5]; - renumber(mshToFoam, prismPoints); + inplaceRenumber(mshToFoam, prismPoints); cells[celli].reset(prism, prismPoints); @@ -1118,7 +1105,7 @@ void readCells >> hexPoints[4] >> hexPoints[5] >> hexPoints[6] >> hexPoints[7]; - renumber(mshToFoam, hexPoints); + inplaceRenumber(mshToFoam, hexPoints); cells[celli].reset(hex, hexPoints); diff --git a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C index 125995083d3..2c3ca71f091 100644 --- a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C +++ b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -219,14 +219,14 @@ void readPoints << endl; } - point pt; is.getLine(line); - pt[0] = readUnvScalar(line.substr(0, 25)); - pt[1] = readUnvScalar(line.substr(25, 25)); - pt[2] = readUnvScalar(line.substr(50, 25)); - unvPointID.append(pointi); - points.append(pt); + unvPointID.push_back(pointi); + point& p = points.emplace_back(); + + p.x() = readUnvScalar(line.substr(0, 25)); + p.y() = readUnvScalar(line.substr(25, 25)); + p.z() = readUnvScalar(line.substr(50, 25)); } points.shrink(); @@ -847,7 +847,7 @@ int main(int argc, char *argv[]) labelList own(boundaryFaces.size(), -1); labelList nei(boundaryFaces.size(), -1); - Map<label> faceToCell[2]; + Pair<Map<label>> faceToCell; { // Can use face::symmHasher or use sorted indices instead @@ -996,12 +996,7 @@ int main(int argc, char *argv[]) labelHashSet alreadyOnBoundary; // Construct map from boundaryFaceIndices - Map<label> boundaryFaceToIndex(boundaryFaceIndices.size()); - - forAll(boundaryFaceIndices, i) - { - boundaryFaceToIndex.insert(boundaryFaceIndices[i], i); - } + Map<label> boundaryFaceToIndex(invertToMap(boundaryFaceIndices)); forAll(patchFaceVerts, patchi) { @@ -1216,20 +1211,13 @@ int main(int argc, char *argv[]) { const label old = oldIndizes[i]; label noveau = -1; - label c1 = -1, c2 = -1; - if (faceToCell[0].found(old)) - { - c1 = faceToCell[0][old]; - } - if (faceToCell[1].found(old)) - { - c2 = faceToCell[1][old]; - } + + label c1 = faceToCell[0].lookup(old, -1); + label c2 = faceToCell[1].lookup(old, -1); + if (c1 < c2) { - label tmp = c1; - c1 = c2; - c2 = tmp; + std::swap(c1, c2); } if (c2 == -1) { diff --git a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C index 97c67c26a85..152eb1e8be2 100644 --- a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C +++ b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -197,7 +197,7 @@ int main(int argc, char *argv[]) // pointField points(nNodes); - Map<label> nodeToPoint(nNodes); + Map<label> nodeToPoint(2*nNodes); { labelList pointIndex(nNodes); @@ -439,23 +439,16 @@ int main(int argc, char *argv[]) // Get Foam patchID and update region->patch table. - label patchi = 0; + label patchi = regionToPatch.lookup(region, -1); - const auto patchFind = regionToPatch.cfind(region); - - if (patchFind.good()) - { - patchi = *patchFind; - } - else + if (patchi < 0) { patchi = nPatches; + regionToPatch.insert(region, nPatches++); Info<< "Mapping tetgen region " << region << " to patch " << patchi << endl; - - regionToPatch.insert(region, nPatches++); } boundaryPatch[facei] = patchi; diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C index 45941574625..d2cc1376399 100644 --- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C +++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C @@ -295,9 +295,7 @@ void addToInterface else { // Create new interface of size 1. - Map<label> zoneToSize; - zoneToSize.insert(zoneID, 1); - regionsToSize.insert(interface, zoneToSize); + regionsToSize(interface).insert(zoneID, 1); } } @@ -484,18 +482,10 @@ void getInterfaceSizes zoneName + "_" + name1 + "_to_" + name0 ); } + interfaceSizes[nInterfaces] = infoIter(); + regionsToInterface(e).insert(zoneID, nInterfaces); - if (regionsToInterface.found(e)) - { - regionsToInterface[e].insert(zoneID, nInterfaces); - } - else - { - Map<label> zoneAndInterface; - zoneAndInterface.insert(zoneID, nInterfaces); - regionsToInterface.insert(e, zoneAndInterface); - } nInterfaces++; } } diff --git a/src/OpenFOAM/containers/HashTables/HashTable/HashTable.C b/src/OpenFOAM/containers/HashTables/HashTable/HashTable.C index f564003f7ba..681abd1ea25 100644 --- a/src/OpenFOAM/containers/HashTables/HashTable/HashTable.C +++ b/src/OpenFOAM/containers/HashTables/HashTable/HashTable.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -98,14 +98,38 @@ Foam::HashTable<T, Key, Hash>::HashTable(HashTable<T, Key, Hash>&& rhs) noexcept template<class T, class Key, class Hash> Foam::HashTable<T, Key, Hash>::HashTable ( - std::initializer_list<std::pair<Key, T>> list + std::initializer_list<std::pair<Key, T>> list, + const bool overwrite ) : - HashTable<T, Key, Hash>(2*list.size()) + HashTable<T, Key, Hash>() { + reserve(list.size()); + for (const auto& keyval : list) { - set(keyval.first, keyval.second); + this->setEntry(overwrite, keyval.first, keyval.second); + } +} + + +template<class T, class Key, class Hash> +Foam::HashTable<T, Key, Hash>::HashTable +( + const UList<Key>& keys, + const UList<T>& values, + const bool overwrite +) +: + HashTable<T, Key, Hash>() +{ + const label len = std::min(keys.size(), values.size()); + + reserve(len); + + for (label i = 0; i < len; ++i) + { + this->setEntry(overwrite, keys[i], values[i]); } } diff --git a/src/OpenFOAM/containers/HashTables/HashTable/HashTable.H b/src/OpenFOAM/containers/HashTables/HashTable/HashTable.H index 07ffb7e2f0b..e1c88a5384e 100644 --- a/src/OpenFOAM/containers/HashTables/HashTable/HashTable.H +++ b/src/OpenFOAM/containers/HashTables/HashTable/HashTable.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -252,9 +252,22 @@ public: //- Move construct HashTable(this_type&& rhs) noexcept; - //- Construct from an initializer list - // Duplicate entries are handled by overwriting - HashTable(std::initializer_list<std::pair<Key, T>> list); + //- Construct from key/value pairs in initializer list + // By default, uses insert not overwrite semantics for duplicates. + HashTable + ( + std::initializer_list<std::pair<Key, T>> list, + const bool overwrite = false + ); + + //- Construct from key/value pairs + // By default, uses insert not overwrite semantics for duplicates. + HashTable + ( + const UList<Key>& keys, + const UList<T>& values, + const bool overwrite = false + ); //- Destructor diff --git a/src/OpenFOAM/containers/HashTables/Map/Map.H b/src/OpenFOAM/containers/HashTables/Map/Map.H index 4a318f31ee7..a2b91f1746d 100644 --- a/src/OpenFOAM/containers/HashTables/Map/Map.H +++ b/src/OpenFOAM/containers/HashTables/Map/Map.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -106,10 +106,27 @@ public: parent_type(std::move(map)) {} - //- Construct from pairs of values - Map(std::initializer_list<std::pair<label, T>> map) + //- Construct from key/value pairs in initializer list + // By default, uses insert not overwrite semantics for duplicates. + Map + ( + std::initializer_list<std::pair<label, T>> map, + const bool overwrite = false + ) : - parent_type(map) + parent_type(map, overwrite) + {} + + //- Construct from key/value pairs + // By default, uses insert not overwrite semantics for duplicates. + Map + ( + const UList<label>& keys, + const UList<T>& values, + const bool overwrite = false + ) + : + parent_type(keys, values, overwrite) {} diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOps.C b/src/OpenFOAM/containers/Lists/ListOps/ListOps.C index dd73a696863..d221f20bb5a 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOps.C +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOps.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -110,6 +110,24 @@ Foam::labelList Foam::invert(const bitSet& map) } +Foam::Map<Foam::label> Foam::invertToMap(const labelUList& values) +{ + const label len = values.size(); + + Map<label> inverse(2*len); + + for (label i = 0 ; i < len; ++i) + { + // For correct behaviour with duplicates, do NOT use + // inverse.insert(values[i], inverse.size()); + + inverse.insert(values[i], i); + } + + return inverse; +} + + Foam::labelListList Foam::invertOneToMany ( const label len, @@ -122,16 +140,26 @@ Foam::labelListList Foam::invertOneToMany { if (newIdx >= 0) { + #ifdef FULLDEBUG + if (newIdx >= len) + { + FatalErrorInFunction + << "Inverse location " << newIdx + << " is out of range. List has size " << len + << abort(FatalError); + } + #endif + ++sizes[newIdx]; } } labelListList inverse(len); - for (label i=0; i < len; ++i) + for (label i = 0; i < len; ++i) { inverse[i].resize(sizes[i]); - sizes[i] = 0; // reset size counter + sizes[i] = 0; // reset size counter } label i = 0; @@ -196,7 +224,7 @@ void Foam::inplaceReorder const bool prune ) { - input = reorder(oldToNew, input, prune); + input = Foam::reorder(oldToNew, input, prune); } diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOps.H b/src/OpenFOAM/containers/Lists/ListOps/ListOps.H index b72a3da928d..4b5a1f3adfd 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOps.H +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOps.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,16 +59,21 @@ SourceFiles namespace Foam { -//- Renumber the values (not the indices) of a list. -// Negative IntListType elements are left untouched. +//- Renumber the values within a list. +// Negative input values are left untouched. template<class IntListType> IntListType renumber(const labelUList& oldToNew, const IntListType& input); -//- Inplace renumber the values (not the indices) of a list. -// Negative IntListType elements are left untouched. +//- Inplace renumber the values within a list. +// Negative input values are left untouched. template<class IntListType> void inplaceRenumber(const labelUList& oldToNew, IntListType& input); +//- Inplace renumber the values of a list. +// Values that are not mapped by oldToNew are left untouched. +template<class IntListType> +void inplaceRenumber(const Map<label>& oldToNew, IntListType& input); + //- Reorder the elements of a list. // Locations with negative oldToNew values are left as is (copy-through). @@ -362,6 +367,14 @@ labelList invert(const label len, const bitSet& map); // \return the inverse mapping with -1 for unmapped elements. labelList invert(const bitSet& map); +//- Create inverse mapping, which is a lookup table into the given list +// \param values the values (likely unique). +// +// Negative values are allowed, duplicates are "first wins" +// +// \return the inverse lookup +Map<label> invertToMap(const labelUList& values); + //- Invert one-to-many map. Unmapped elements will be size 0. labelListList invertOneToMany(const label len, const labelUList& map); diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C index e1914040e3e..4824a419156 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,6 +71,27 @@ void Foam::inplaceRenumber } +template<class IntListType> +void Foam::inplaceRenumber +( + const Map<label>& oldToNew, + IntListType& input +) +{ + const label len = input.size(); + + for (label i = 0; i < len; ++i) + { + const auto fnd = oldToNew.cfind(input[i]); + + if (fnd.good()) + { + input[i] = fnd.val(); + } + } +} + + template<class ListType> ListType Foam::reorder ( @@ -224,7 +245,7 @@ void Foam::inplaceReorder const bool prune ) { - input = reorder(oldToNew, input, prune); + input = Foam::reorder(oldToNew, input, prune); // Verify address (for movable refs) // Info<< "now have " << name(input.cdata()) << nl; diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C index 6ad4372c6bd..e7a6ee98337 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,6 +35,7 @@ License #include "processorPolyPatch.H" #include "processorTopologyNew.H" #include "globalIndexAndTransform.H" +#include "ListOps.H" #include "Pstream.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -314,11 +315,8 @@ void Foam::globalMeshData::calcSharedEdges() const // Since don't want to construct pointEdges for whole mesh create // Map for all shared points. - Map<label> meshToShared(2*sharedPtLabels.size()); - forAll(sharedPtLabels, i) - { - meshToShared.insert(sharedPtLabels[i], i); - } + Map<label> meshToShared(invertToMap(sharedPtLabels)); + // Find edges using shared points. Store correspondence to local edge // numbering. Note that multiple local edges can have the same shared diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C index dbd296f4216..874a3726b3a 100644 --- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -359,11 +359,7 @@ void Foam::syncTools::syncPointMap // pointValues (keyed on mesh points). // Map from global shared index to meshpoint - Map<label> sharedToMeshPoint(2*sharedPtAddr.size()); - forAll(sharedPtAddr, i) - { - sharedToMeshPoint.insert(sharedPtAddr[i], sharedPtLabels[i]); - } + Map<label> sharedToMeshPoint(sharedPtAddr, sharedPtLabels); forAllConstIters(sharedToMeshPoint, iter) { @@ -622,11 +618,7 @@ void Foam::syncTools::syncEdgeMap const labelList& sharedPtLabels = pd.sharedPointLabels(); // 1. Create map from meshPoint to globalShared index. - Map<label> meshToShared(2*sharedPtLabels.size()); - forAll(sharedPtLabels, i) - { - meshToShared.insert(sharedPtLabels[i], sharedPtAddr[i]); - } + Map<label> meshToShared(sharedPtLabels, sharedPtAddr); // Values on shared points. From two sharedPtAddr indices to a value. EdgeMap<T> sharedEdgeValues(meshToShared.size()); diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchMeshData.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchMeshData.C index c75900e8502..9650ab41384 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchMeshData.C +++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchMeshData.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -129,15 +129,9 @@ Foam::PrimitivePatch<FaceList, PointField>::calcMeshPointMap() const << abort(FatalError); } - const labelList& mp = meshPoints(); - - meshPointMapPtr_.reset(new Map<label>(2*mp.size())); - auto& mpMap = *meshPointMapPtr_; + const labelList& meshPts = meshPoints(); - forAll(mp, i) - { - mpMap.insert(mp[i], i); - } + meshPointMapPtr_.reset(new Map<label>(invertToMap(meshPts))); DebugInfo << "Calculated mesh point map" << endl; } diff --git a/src/OpenFOAM/primitives/strings/lists/CStringList.C b/src/OpenFOAM/primitives/strings/lists/CStringList.C index 88d16f872e1..d9edbe829cb 100644 --- a/src/OpenFOAM/primitives/strings/lists/CStringList.C +++ b/src/OpenFOAM/primitives/strings/lists/CStringList.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,20 +28,67 @@ License #include "CStringList.H" #include "Ostream.H" +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +int Foam::CStringList::reset +( + std::initializer_list<const char* const> input +) +{ + clear(); + + if (!input.size()) + { + // Special handling of an empty list + argv_ = new char*[1]; + argv_[0] = nullptr; // Final nullptr terminator + return 0; + } + + // Count overall required string length, including each trailing nul char + for (const char* const s : input) + { + // nbytes_ += Foam::string::length(s) + 1 + nbytes_ += (s ? strlen(s) : 0) + 1; + } + --nbytes_; // Do not include final nul char in overall count + + argv_ = new char*[input.size()+1]; // Extra +1 for terminating nullptr + data_ = new char[nbytes_+1]; // Extra +1 for terminating nul char + + argv_[0] = data_; // Starts here + + for (const char* const s : input) + { + char *next = stringCopy(argv_[argc_], s); + argv_[++argc_] = next; // The start of next string + } + + argv_[argc_] = nullptr; // Final nullptr terminator + + return argc_; +} + + + // * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // Foam::Ostream& Foam::operator<<(Ostream& os, const CStringList& list) { const int n = list.size(); - for (int i = 0, space = 0; i < n; ++i) + bool separator = false; + + for (int i = 0; i < n; ++i) { const char* p = list.get(i); if (p && *p) { - if (space++) os << ' '; + if (separator) os << ' '; os << p; + + separator = true; } } diff --git a/src/OpenFOAM/primitives/strings/lists/CStringList.H b/src/OpenFOAM/primitives/strings/lists/CStringList.H index e562ad2052e..ec9b1736759 100644 --- a/src/OpenFOAM/primitives/strings/lists/CStringList.H +++ b/src/OpenFOAM/primitives/strings/lists/CStringList.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -55,6 +55,9 @@ Description #include "stringList.H" #include "wordList.H" +#include <algorithm> // std::copy +#include <utility> // std::initializer_list + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam @@ -87,6 +90,11 @@ class CStringList // Private Member Functions + //- Copy characters into dest as NUL-terminated string. + // + // \return location one-past end of dest (ie, the next destination) + static inline char* stringCopy(char* dest, const char* src); + //- Copy string characters into dest as NUL-terminated string. // Forces conversion of std::sub_match to string form // @@ -99,6 +107,10 @@ class CStringList int resetContent(const ListType& input); +public: + + // Generated Methods + //- No copy construct CStringList(const CStringList&) = delete; @@ -106,13 +118,18 @@ class CStringList void operator=(const CStringList&) = delete; -public: - // Constructors //- Default construct, adding content later (via reset). inline constexpr CStringList() noexcept; + //- Copy construct from a list of C-strings + // Copies the input characters. + inline explicit CStringList + ( + std::initializer_list<const char* const> input + ); + //- Copy construct from a list of strings // Copies the input characters. template<class StringType> @@ -174,6 +191,10 @@ public: //- Clear contents and free memory inline void clear(); + //- Copy the input list of C-strings + // \return number of arguments (argc) + int reset(std::initializer_list<const char* const> input); + //- Copy the input list of strings. // \return number of arguments (argc) template<class StringType> diff --git a/src/OpenFOAM/primitives/strings/lists/CStringListI.H b/src/OpenFOAM/primitives/strings/lists/CStringListI.H index f7fa66ac085..112a3791dcc 100644 --- a/src/OpenFOAM/primitives/strings/lists/CStringListI.H +++ b/src/OpenFOAM/primitives/strings/lists/CStringListI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2017 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,17 +27,18 @@ License // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -inline char* Foam::CStringList::stringCopy(char *dest, const std::string& src) +inline char* Foam::CStringList::stringCopy(char* dest, const char* src) { - // Like string::copy() but without extra checks - const size_t len = src.length(); - for (size_t i = 0; i < len; ++i) - { - *dest = src[i]; - ++dest; - } + dest = std::copy_n(src, (src ? strlen(src) : 0), dest); *(dest++) = '\0'; + return dest; +} + +inline char* Foam::CStringList::stringCopy(char *dest, const std::string& src) +{ + dest = std::copy_n(src.data(), src.size(), dest); + *(dest++) = '\0'; return dest; } @@ -69,6 +70,17 @@ inline constexpr Foam::CStringList::CStringList() noexcept {} +inline Foam::CStringList::CStringList +( + std::initializer_list<const char* const> input +) +: + CStringList() +{ + reset(input); +} + + template<class StringType> inline Foam::CStringList::CStringList(const UList<StringType>& input) : diff --git a/src/OpenFOAM/primitives/strings/lists/CStringListTemplates.C b/src/OpenFOAM/primitives/strings/lists/CStringListTemplates.C index 9d52052659f..69a1d717d24 100644 --- a/src/OpenFOAM/primitives/strings/lists/CStringListTemplates.C +++ b/src/OpenFOAM/primitives/strings/lists/CStringListTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2017 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,7 +34,7 @@ int Foam::CStringList::resetContent(const ListType& input) { clear(); - if (input.empty()) + if (!input.size()) { // Special handling of an empty list argv_ = new char*[1]; @@ -43,9 +43,9 @@ int Foam::CStringList::resetContent(const ListType& input) } // Count overall required string length, including each trailing nul char - for (const auto& str : input) + for (const auto& s : input) { - nbytes_ += str.length() + 1; + nbytes_ += s.length() + 1; } --nbytes_; // Do not include final nul char in overall count @@ -54,10 +54,10 @@ int Foam::CStringList::resetContent(const ListType& input) argv_[0] = data_; // Starts here - for (const auto& str : input) + for (const auto& s : input) { - char *next = stringCopy(argv_[argc_], str); - argv_[++argc_] = next; // The start of next string + char *next = stringCopy(argv_[argc_], s); + argv_[++argc_] = next; // The start of next string } argv_[argc_] = nullptr; // Final nullptr terminator @@ -76,7 +76,7 @@ Foam::CStringList::asList(int argc, const char * const argv[]) for (int i=0; i < argc; ++i) { - list[i] = argv[i]; + if (argv[i]) list[i] = argv[i]; } return list; diff --git a/src/dynamicMesh/attachDetach/detachInterface.C b/src/dynamicMesh/attachDetach/detachInterface.C index 34f94d4cad4..5e3fd103bc1 100644 --- a/src/dynamicMesh/attachDetach/detachInterface.C +++ b/src/dynamicMesh/attachDetach/detachInterface.C @@ -366,16 +366,8 @@ void Foam::attachDetach::detachInterface } // Create the master layer point map - Map<label> masterLayerPointMap(2*mp.size()); + Map<label> masterLayerPointMap(mp, addedPoints); - forAll(mp, pointi) - { - masterLayerPointMap.insert - ( - mp[pointi], - addedPoints[pointi] - ); - } // Grab the list of faces of the master layer const labelList masterCellFaces = masterCellFaceMap.toc(); diff --git a/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C b/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C index 43f12a7cd7e..b7e7c1b4881 100644 --- a/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C +++ b/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C @@ -562,16 +562,8 @@ void Foam::layerAdditionRemoval::addCellLayer } // Create the master layer point map - Map<label> masterLayerPointMap(2*mp.size()); + Map<label> masterLayerPointMap(mp, addedPoints); - forAll(mp, pointi) - { - masterLayerPointMap.insert - ( - mp[pointi], - addedPoints[pointi] - ); - } // Grab the list of faces of the master layer const labelList masterCellFaces = masterCellFaceMap.toc(); diff --git a/src/dynamicMesh/layerAdditionRemoval/removeCellLayer.C b/src/dynamicMesh/layerAdditionRemoval/removeCellLayer.C index e04075d2e0c..34d8c13ae58 100644 --- a/src/dynamicMesh/layerAdditionRemoval/removeCellLayer.C +++ b/src/dynamicMesh/layerAdditionRemoval/removeCellLayer.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -155,9 +155,9 @@ void Foam::layerAdditionRemoval::removeCellLayer } // Remove all points that will be collapsed - forAll(ptc, pointi) + for (const label pointi : ptc) { - ref.setAction(polyRemovePoint(ptc[pointi])); + ref.setAction(polyRemovePoint(pointi)); } // Grab all faces coming off points to be deleted. If the face @@ -167,15 +167,10 @@ void Foam::layerAdditionRemoval::removeCellLayer // Make a map of all point to be removed, giving the master point label // for each of them - Map<label> removedPointMap(2*ptc.size()); - const labelList& meshPoints = - mesh.faceZones()[faceZoneID_.index()]().meshPoints(); + mesh.faceZones()[faceZoneID_.index()].patch().meshPoints(); - forAll(ptc, pointi) - { - removedPointMap.insert(ptc[pointi], meshPoints[pointi]); - } + Map<label> removedPointMap(ptc, meshPoints); const labelListList& pf = mesh.pointFaces(); diff --git a/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C b/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C index 94b23d800e0..497c7222196 100644 --- a/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C +++ b/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -277,16 +277,14 @@ void Foam::multiDirRefinement::refineHex8 { // Create count 1 for original cells Map<label> hexCellSet(2*hexCells.size()); - forAll(hexCells, i) + for (const label celli : hexCells) { - hexCellSet.insert(hexCells[i], 1); + hexCellSet.insert(celli, 1); } // Increment count - forAll(consistentCells, i) + for (const label celli : consistentCells) { - const label celli = consistentCells[i]; - auto iter = hexCellSet.find(celli); if (iter.good()) diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C index e3b7833bbde..05e9d45beb5 100644 --- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C +++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,6 +29,7 @@ License #include "enrichedPatch.H" #include "OFstream.H" #include "meshTools.H" +#include "ListOps.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -65,12 +66,8 @@ void Foam::enrichedPatch::calcLocalFaces() const // Invert mesh points and renumber faces using it const labelList& mp = meshPoints(); - Map<label> mpLookup(2*mp.size()); + Map<label> mpLookup(invertToMap(mp)); - forAll(mp, mpi) - { - mpLookup.insert(mp[mpi], mpi); - } // Create local faces. // Copy original faces and overwrite vertices after @@ -82,10 +79,7 @@ void Foam::enrichedPatch::calcLocalFaces() const for (face& f : locFaces) { - for (label& pointi : f) - { - pointi = *(mpLookup.cfind(pointi)); - } + inplaceRenumber(mpLookup, f); } } diff --git a/src/finiteArea/faMesh/faMeshPatches.C b/src/finiteArea/faMesh/faMeshPatches.C index 6cf01d2a625..11b2ee01e7c 100644 --- a/src/finiteArea/faMesh/faMeshPatches.C +++ b/src/finiteArea/faMesh/faMeshPatches.C @@ -528,8 +528,9 @@ Foam::faPatchList Foam::faMesh::createPatchList } // Create processor-processor definitions - Map<label> procToDefLookup(2*procConnections.size()); + Map<label> procToDefLookup; { + procToDefLookup.reserve(procConnections.size()); faPatchDefs.reserve(faPatchDefs.size() + procConnections.size()); for (const label otherProci : procConnections.sortedToc()) diff --git a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C index 233090cd716..7936eaeb1a4 100644 --- a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C +++ b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2020 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -493,11 +493,8 @@ Foam::fvMeshSubset::interpolate const labelList& meshPoints = basePatch.meshPoints(); // Make addressing from mesh to patch point - Map<label> meshPointMap(2*meshPoints.size()); - forAll(meshPoints, localI) - { - meshPointMap.insert(meshPoints[localI], localI); - } + Map<label> meshPointMap(invertToMap(meshPoints)); + // Find which subpatch points originate from which patch point const pointPatch& subPatch = sMesh.boundary()[patchi]; @@ -515,7 +512,7 @@ Foam::fvMeshSubset::interpolate if (iter.good()) { - directAddressing[localI] = *iter; + directAddressing[localI] = iter.val(); } } diff --git a/src/finiteVolume/interpolation/interpolation/interpolationPointMVC/pointMVCWeight.C b/src/finiteVolume/interpolation/interpolation/interpolationPointMVC/pointMVCWeight.C index 28559e3ded2..e26f61466b7 100644 --- a/src/finiteVolume/interpolation/interpolation/interpolationPointMVC/pointMVCWeight.C +++ b/src/finiteVolume/interpolation/interpolation/interpolationPointMVC/pointMVCWeight.C @@ -254,11 +254,7 @@ Foam::pointMVCWeight::pointMVCWeight { // Addressing - face vertices to local points and vice versa const labelList& toGlobal = mesh.cellPoints()[cellIndex_]; - Map<label> toLocal(2*toGlobal.size()); - forAll(toGlobal, i) - { - toLocal.insert(toGlobal[i], i); - } + Map<label> toLocal(invertToMap(toGlobal)); // Initialise weights diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C index 93281ea440d..130845c1961 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1364,11 +1364,7 @@ Foam::label Foam::meshRefinement::splitFacesUndo } { - Map<label> splitFaceToIndex(2*splitFaces.size()); - forAll(splitFaces, i) - { - splitFaceToIndex.insert(splitFaces[i], i); - } + Map<label> splitFaceToIndex(invertToMap(splitFaces)); forAll(map.faceMap(), facei) { diff --git a/src/meshTools/edgeMesh/edgeFormats/nastran/NASedgeFormat.C b/src/meshTools/edgeMesh/edgeFormats/nastran/NASedgeFormat.C index 9940ccf093c..916d898cd65 100644 --- a/src/meshTools/edgeMesh/edgeFormats/nastran/NASedgeFormat.C +++ b/src/meshTools/edgeMesh/edgeFormats/nastran/NASedgeFormat.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -165,15 +165,8 @@ bool Foam::fileFormats::NASedgeFormat::read // transfer to normal lists storedPoints().transfer(dynPoints); - pointId.shrink(); - dynEdges.shrink(); - // Build inverse mapping (NASTRAN pointId -> index) - Map<label> mapPointId(2*pointId.size()); - forAll(pointId, i) - { - mapPointId.insert(pointId[i], i); - } + Map<label> mapPointId(invertToMap(pointId)); // note which points were really used and which can be culled bitSet usedPoints(points().size()); diff --git a/src/meshTools/edgeMesh/edgeFormats/starcd/STARCDedgeFormat.C b/src/meshTools/edgeMesh/edgeFormats/starcd/STARCDedgeFormat.C index 9dda97df8b1..bab726a6b39 100644 --- a/src/meshTools/edgeMesh/edgeFormats/starcd/STARCDedgeFormat.C +++ b/src/meshTools/edgeMesh/edgeFormats/starcd/STARCDedgeFormat.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -128,11 +128,7 @@ bool Foam::fileFormats::STARCDedgeFormat::read ); // Build inverse mapping (STARCD pointId -> index) - Map<label> mapPointId(2*pointId.size()); - forAll(pointId, i) - { - mapPointId.insert(pointId[i], i); - } + Map<label> mapPointId(invertToMap(pointId)); pointId.clear(); // Note which points were really used and which can be culled diff --git a/src/meshTools/regionSplit2D/regionSplit2D.C b/src/meshTools/regionSplit2D/regionSplit2D.C index 6d7271e401a..c86761302a2 100644 --- a/src/meshTools/regionSplit2D/regionSplit2D.C +++ b/src/meshTools/regionSplit2D/regionSplit2D.C @@ -130,12 +130,15 @@ Foam::regionSplit2D::regionSplit2D } // In-place renumber the local regionI to global (compact) regionI - globalIndex giCompact(compactRegionI); - forAllIters(regionToCompactAddr, iter) { - *iter = giCompact.toGlobal(*iter); + const label myProcOffset = globalIndex::calcOffset(compactRegionI); + forAllIters(regionToCompactAddr, iter) + { + iter.val() += myProcOffset; + } } + // Ensure regionToCompactAddr consistent across all processors // - not concerned about the op (keys are unique) // - map size will be the number of regions in the set of faces diff --git a/src/meshTools/topoSet/topoSets/faceZoneSet.C b/src/meshTools/topoSet/topoSets/faceZoneSet.C index e36ba9e4047..ab86d89c636 100644 --- a/src/meshTools/topoSet/topoSets/faceZoneSet.C +++ b/src/meshTools/topoSet/topoSets/faceZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022,2024 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,6 +32,7 @@ License #include "setToFaceZone.H" #include "setsToFaceZone.H" #include "syncTools.H" +#include "ListOps.H" #include "addToRunTimeSelectionTable.H" @@ -177,11 +178,7 @@ void Foam::faceZoneSet::subset(const topoSet& set) DynamicList<label> newAddressing(addressing_.size()); DynamicList<bool> newFlipMap(flipMap_.size()); - Map<label> faceToIndex(addressing_.size()); - forAll(addressing_, i) - { - faceToIndex.insert(addressing_[i], i); - } + Map<label> faceToIndex(invertToMap(addressing_)); const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); @@ -225,11 +222,7 @@ void Foam::faceZoneSet::addSet(const topoSet& set) DynamicList<label> newAddressing(addressing_); DynamicList<bool> newFlipMap(flipMap_); - Map<label> faceToIndex(addressing_.size()); - forAll(addressing_, i) - { - faceToIndex.insert(addressing_[i], i); - } + Map<label> faceToIndex(invertToMap(addressing_)); const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); @@ -277,11 +270,7 @@ void Foam::faceZoneSet::subtractSet(const topoSet& set) const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); - Map<label> faceToIndex(zoneSet.addressing().size()); - forAll(zoneSet.addressing(), i) - { - faceToIndex.insert(zoneSet.addressing()[i], i); - } + Map<label> faceToIndex(invertToMap(zoneSet.addressing())); forAll(addressing_, i) { diff --git a/src/parallel/decompose/faDecompose/faMeshDecomposition.C b/src/parallel/decompose/faDecompose/faMeshDecomposition.C index a3775f461b3..6cc52b74ecc 100644 --- a/src/parallel/decompose/faDecompose/faMeshDecomposition.C +++ b/src/parallel/decompose/faDecompose/faMeshDecomposition.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,6 +35,7 @@ License #include "OSspecific.H" #include "Map.H" #include "SLList.H" +#include "ListOps.H" #include "globalMeshData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -275,17 +276,9 @@ void Foam::faMeshDecomposition::decomposeMesh() ioAddr.rename("faceProcAddressing"); labelIOList fvFaceProcAddressing(ioAddr); - fvFaceProcAddressingHash.reserve(fvFaceProcAddressing.size()); + fvFaceProcAddressingHash = invertToMap(fvFaceProcAddressing); + } - forAll(fvFaceProcAddressing, facei) - { - fvFaceProcAddressingHash.insert - ( - fvFaceProcAddressing[facei], - facei - ); - } - }; const labelList& curProcFaceAddressing = procFaceAddressing_[procI]; @@ -1116,12 +1109,8 @@ bool Foam::faMeshDecomposition::writeDecomposition() Info<< "\nConstructing processor FA meshes" << endl; // Make a lookup map for globally shared points - Map<label> sharedPointLookup(2*globallySharedPoints_.size()); + Map<label> sharedPointLookup(invertToMap(globallySharedPoints_)); - forAll(globallySharedPoints_, pointi) - { - sharedPointLookup.insert(globallySharedPoints_[pointi], pointi); - } label maxProcFaces = 0; label totProcFaces = 0; diff --git a/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.C b/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.C index 849c920a9fa..a58d42cbc28 100644 --- a/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.C +++ b/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -177,18 +177,13 @@ bool Foam::fileFormats::ABAQUSsurfaceFormat<Face>::read // Extra safety if (newToOldZone.empty()) { - newToOldZone.resize(1, Zero); - } - - Map<label> oldToNewZone(2*newToOldZone.size()); - - forAll(newToOldZone, zonei) - { - oldToNewZone.set(newToOldZone[zonei], zonei); + newToOldZone.push_back(0); } wordList zoneNames(newToOldZone.size()); - labelList zoneSizes(newToOldZone.size(), Zero); + labelList zoneSizes(newToOldZone.size(), Foam::zero{}); + + Map<label> oldToNewZone(invertToMap(newToOldZone)); forAllConstIters(reader.elsetMap_, iter) { diff --git a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C index fedf3f303d0..816433deccb 100644 --- a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C +++ b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -493,16 +493,11 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read // Transfer to normal lists this->storedPoints().transfer(dynPoints); - pointId.shrink(); dynFaces.shrink(); // Build inverse mapping (NASTRAN pointId -> index) - Map<label> mapPointId; - mapPointId.reserve(pointId.size()); - for (const label pointi : pointId) - { - mapPointId.insert(pointi, mapPointId.size()); - } + Map<label> mapPointId(invertToMap(pointId)); + pointId.clearStorage(); // Relabel faces // ~~~~~~~~~~~~~ @@ -513,7 +508,6 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read vert = mapPointId[vert]; } } - pointId.clearStorage(); mapPointId.clear(); DebugInfo diff --git a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C index 9c0ae4d6331..4b761f239bd 100644 --- a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C +++ b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -107,11 +107,7 @@ bool Foam::fileFormats::STARCDsurfaceFormat<Face>::read ); // Build inverse mapping (STARCD pointId -> index) - Map<label> mapPointId(2*pointId.size()); - forAll(pointId, i) - { - mapPointId.insert(pointId[i], i); - } + Map<label> mapPointId(invertToMap(pointId)); pointId.clear(); -- GitLab From 04d880e2ce9cb41420caea3ee5fef20d8919ee34 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 19 Feb 2024 11:50:20 +0100 Subject: [PATCH 071/231] STYLE: use send/recv serializers for globalIndex and mapDistribute etc --- .../manipulation/createPatch/createPatch.C | 27 ++-- .../splitMeshRegions/splitMeshRegions.C | 20 +-- .../IOstreams/Pstreams/PstreamCombineGather.C | 32 +--- .../db/IOstreams/Pstreams/PstreamGather.C | 52 +------ .../db/IOstreams/Pstreams/PstreamGatherList.C | 8 +- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C | 5 +- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H | 6 +- .../mapDistribute/mapDistributeBase.C | 23 +-- .../mapDistributeBaseTemplates.C | 146 ++++-------------- .../polyMesh/syncTools/syncToolsTemplates.C | 24 +-- .../globalIndex/globalIndexTemplates.C | 26 ++-- .../surface/isoSurface/isoSurfacePoint.C | 26 +--- 12 files changed, 87 insertions(+), 308 deletions(-) diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C index d27d6df8299..545fe26f84a 100644 --- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C +++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -568,12 +568,8 @@ void syncPoints } } - OPstream toNbr - ( - Pstream::commsTypes::blocking, - procPatch.neighbProcNo() - ); - toNbr << patchInfo; + // buffered send + OPstream::bsend(patchInfo, procPatch.neighbProcNo()); } } @@ -587,17 +583,12 @@ void syncPoints if (pp.nPoints() && !procPatch.owner()) { - pointField nbrPatchInfo(procPatch.nPoints()); - { - // We do not know the number of points on the other side - // so cannot use UIPstream::read - IPstream fromNbr - ( - Pstream::commsTypes::blocking, - procPatch.neighbProcNo() - ); - fromNbr >> nbrPatchInfo; - } + pointField nbrPatchInfo; + + // We do not know the number of points on the other side + // so cannot use UIPstream::read + IPstream::recv(nbrPatchInfo, procPatch.neighbProcNo()); + // Null any value which is not on neighbouring processor nbrPatchInfo.setSize(procPatch.nPoints(), nullValue); diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C index d2cc1376399..eb84cc3ff66 100644 --- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C +++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -379,11 +379,10 @@ void getInterfaceSizes if (Pstream::master()) { // Receive and add to my sizes - for (const int slave : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - IPstream fromSlave(Pstream::commsTypes::blocking, slave); - - EdgeMap<Map<label>> slaveSizes(fromSlave); + EdgeMap<Map<label>> slaveSizes; + IPstream::recv(slaveSizes, proci); forAllConstIters(slaveSizes, slaveIter) { @@ -421,15 +420,8 @@ void getInterfaceSizes } else { - // Send to master - { - OPstream toMaster - ( - Pstream::commsTypes::blocking, - Pstream::masterNo() - ); - toMaster << regionsToSize; - } + // buffered send to master + OPstream::bsend(regionsToSize, UPstream::masterNo()); } } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C index 6b280517e0d..ac47fdef691 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C @@ -36,8 +36,8 @@ Description \*---------------------------------------------------------------------------*/ -#include "OPstream.H" #include "IPstream.H" +#include "OPstream.H" #include "IOstreams.H" #include "contiguous.H" @@ -129,15 +129,7 @@ void Foam::Pstream::combineGather } else { - OPstream toAbove - ( - UPstream::commsTypes::scheduled, - myComm.above(), - 0, // bufsize - tag, - comm - ); - toAbove << value; + OPstream::send(value, myComm.above(), tag, comm); } } } @@ -255,15 +247,7 @@ void Foam::Pstream::listCombineGather } else { - OPstream toAbove - ( - UPstream::commsTypes::scheduled, - myComm.above(), - 0, // bufsize - tag, - comm - ); - toAbove << values; + OPstream::send(values, myComm.above(), tag, comm); } } } @@ -357,15 +341,7 @@ void Foam::Pstream::mapCombineGather << " data:" << values << endl; } - OPstream toAbove - ( - UPstream::commsTypes::scheduled, - myComm.above(), - 0, // bufsize - tag, - comm - ); - toAbove << values; + OPstream::send(values, myComm.above(), tag, comm); } } } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C index 920a9a22168..ce2a1b34aef 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGather.C @@ -32,8 +32,8 @@ Description \*---------------------------------------------------------------------------*/ -#include "OPstream.H" #include "IPstream.H" +#include "OPstream.H" #include "contiguous.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -73,15 +73,7 @@ void Foam::Pstream::gather } else { - IPstream fromBelow - ( - UPstream::commsTypes::scheduled, - belowID, - 0, // bufsize - tag, - comm - ); - fromBelow >> received; + IPstream::recv(received, belowID, tag, comm); } value = bop(value, received); @@ -104,15 +96,7 @@ void Foam::Pstream::gather } else { - OPstream toAbove - ( - UPstream::commsTypes::scheduled, - myComm.above(), - 0, // bufsize - tag, - comm - ); - toAbove << value; + OPstream::send(value, myComm.above(), tag, comm); } } } @@ -166,28 +150,12 @@ Foam::List<T> Foam::Pstream::listGatherValues for (int proci = 1; proci < numProc; ++proci) { - IPstream fromProc - ( - UPstream::commsTypes::scheduled, - proci, - 0, // bufsize - tag, - comm - ); - fromProc >> allValues[proci]; + IPstream::recv(allValues[proci], proci, tag, comm); } } else if (UPstream::is_rank(comm)) { - OPstream toProc - ( - UPstream::commsTypes::scheduled, - UPstream::masterNo(), - 0, // bufsize - tag, - comm - ); - toProc << localValue; + OPstream::send(localValue, UPstream::masterNo(), tag, comm); } } } @@ -269,15 +237,7 @@ T Foam::Pstream::listScatterValues } else if (UPstream::is_rank(comm)) { - IPstream fromProc - ( - UPstream::commsTypes::scheduled, - UPstream::masterNo(), - 0, // bufsize - tag, - comm - ); - fromProc >> localValue; + IPstream::recv(localValue, UPstream::masterNo(), tag, comm); } } } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C index 74af324b34c..e3705feed57 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C @@ -99,7 +99,7 @@ void Foam::Pstream::gatherList ( UPstream::commsTypes::scheduled, belowID, - 0, + 0, // bufsize tag, comm ); @@ -167,7 +167,7 @@ void Foam::Pstream::gatherList ( UPstream::commsTypes::scheduled, myComm.above(), - 0, + 0, // bufsize tag, comm ); @@ -248,7 +248,7 @@ void Foam::Pstream::scatterList ( UPstream::commsTypes::scheduled, myComm.above(), - 0, + 0, // bufsize tag, comm ); @@ -298,7 +298,7 @@ void Foam::Pstream::scatterList ( UPstream::commsTypes::scheduled, belowID, - 0, + 0, // bufsize tag, comm ); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C index 5c96b9a3808..bdf79dd6cd4 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C @@ -50,10 +50,9 @@ const Foam::Enum > Foam::UPstream::commsTypeNames ({ - { commsTypes::blocking, "blocking" }, + { commsTypes::blocking, "blocking" }, // "buffered" { commsTypes::scheduled, "scheduled" }, - // { commsTypes::nonBlocking, "non-blocking" }, - { commsTypes::nonBlocking, "nonBlocking" }, + { commsTypes::nonBlocking, "nonBlocking" }, // "immediate" }); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H index de61d0e46a9..f4ebe300a35 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H @@ -70,9 +70,9 @@ public: //- Communications types enum class commsTypes : char { - blocking, //!< "blocking" : (MPI_Bsend, MPI_Recv) - scheduled, //!< "scheduled" : (MPI_Send, MPI_Recv) - nonBlocking //!< "nonBlocking" : (MPI_Isend, MPI_Irecv) + blocking, //!< "blocking" (buffered) : (MPI_Bsend, MPI_Recv) + scheduled, //!< "scheduled" (MPI standard) : (MPI_Send, MPI_Recv) + nonBlocking //!< "nonBlocking" (immediate) : (MPI_Isend, MPI_Irecv) }; //- Enumerated names for the communication types diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C index 42905a08d1d..87d8da09133 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -227,15 +227,8 @@ Foam::List<Foam::labelPair> Foam::mapDistributeBase::schedule // Receive and merge for (const int proci : UPstream::subProcs(comm)) { - IPstream fromProc - ( - UPstream::commsTypes::scheduled, - proci, - 0, - tag, - comm - ); - List<labelPair> nbrData(fromProc); + List<labelPair> nbrData; + IPstream::recv(nbrData, proci, tag, comm); for (const labelPair& connection : nbrData) { @@ -247,15 +240,7 @@ Foam::List<Foam::labelPair> Foam::mapDistributeBase::schedule { if (UPstream::parRun()) { - OPstream toMaster - ( - UPstream::commsTypes::scheduled, - UPstream::masterNo(), - 0, - tag, - comm - ); - toMaster << allComms; + OPstream::send(allComms, UPstream::masterNo(), tag, comm); } } diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C index a7279cfd241..a14b4cc2b1c 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -503,20 +503,13 @@ void Foam::mapDistributeBase::distribute if (proci != myRank && map.size()) { - OPstream os - ( - UPstream::commsTypes::blocking, - proci, - 0, - tag, - comm - ); List<T> subField ( accessAndFlip(field, map, subHasFlip, negOp) ); - os << subField; + // buffered send + OPstream::bsend(subField, proci, tag, comm); } } @@ -552,15 +545,8 @@ void Foam::mapDistributeBase::distribute if (proci != myRank && map.size()) { - IPstream is - ( - UPstream::commsTypes::blocking, - proci, - 0, - tag, - comm - ); - List<T> subField(is); + List<T> subField; + IPstream::recv(subField, proci, tag, comm); checkReceivedSize(proci, map.size(), subField.size()); @@ -620,15 +606,6 @@ void Foam::mapDistributeBase::distribute const label nbrProc = twoProcs.second(); { - OPstream os - ( - UPstream::commsTypes::scheduled, - nbrProc, - 0, - tag, - comm - ); - const labelList& map = subMap[nbrProc]; List<T> subField @@ -636,18 +613,12 @@ void Foam::mapDistributeBase::distribute accessAndFlip(field, map, subHasFlip, negOp) ); - os << subField; + OPstream::send(subField, nbrProc, tag, comm); } { - IPstream is - ( - UPstream::commsTypes::scheduled, - nbrProc, - 0, - tag, - comm - ); - List<T> subField(is); + List<T> subField; + IPstream::recv(subField, nbrProc, tag, comm); + const labelList& map = constructMap[nbrProc]; checkReceivedSize(nbrProc, map.size(), subField.size()); @@ -669,15 +640,9 @@ void Foam::mapDistributeBase::distribute const label nbrProc = twoProcs.first(); { - IPstream is - ( - UPstream::commsTypes::scheduled, - nbrProc, - 0, - tag, - comm - ); - List<T> subField(is); + List<T> subField; + IPstream::recv(subField, nbrProc, tag, comm); + const labelList& map = constructMap[nbrProc]; checkReceivedSize(nbrProc, map.size(), subField.size()); @@ -693,15 +658,6 @@ void Foam::mapDistributeBase::distribute ); } { - OPstream os - ( - UPstream::commsTypes::scheduled, - nbrProc, - 0, - tag, - comm - ); - const labelList& map = subMap[nbrProc]; List<T> subField @@ -709,7 +665,7 @@ void Foam::mapDistributeBase::distribute accessAndFlip(field, map, subHasFlip, negOp) ); - os << subField; + OPstream::send(subField, nbrProc, tag, comm); } } } @@ -730,13 +686,12 @@ void Foam::mapDistributeBase::distribute if (proci != myRank && map.size()) { - UOPstream os(proci, pBufs); - List<T> subField ( accessAndFlip(field, map, subHasFlip, negOp) ); + UOPstream os(proci, pBufs); os << subField; } } @@ -992,21 +947,13 @@ void Foam::mapDistributeBase::distribute if (proci != myRank && map.size()) { - OPstream os - ( - UPstream::commsTypes::blocking, - proci, - 0, - tag, - comm - ); - List<T> subField ( accessAndFlip(field, map, subHasFlip, negOp) ); - os << subField; + // buffered send + OPstream::bsend(subField, proci, tag, comm); } } @@ -1041,15 +988,8 @@ void Foam::mapDistributeBase::distribute if (proci != myRank && map.size()) { - IPstream is - ( - UPstream::commsTypes::blocking, - proci, - 0, - tag, - comm - ); - List<T> subField(is); + List<T> subField; + IPstream::recv(subField, proci, tag, comm); checkReceivedSize(proci, map.size(), subField.size()); @@ -1107,33 +1047,17 @@ void Foam::mapDistributeBase::distribute const label nbrProc = twoProcs.second(); { - OPstream os - ( - UPstream::commsTypes::scheduled, - nbrProc, - 0, - tag, - comm - ); - const labelList& map = subMap[nbrProc]; List<T> subField ( accessAndFlip(field, map, subHasFlip, negOp) ); - os << subField; + OPstream::send(subField, nbrProc, tag, comm); } { - IPstream is - ( - UPstream::commsTypes::scheduled, - nbrProc, - 0, - tag, - comm - ); - List<T> subField(is); + List<T> subField; + IPstream::recv(subField, nbrProc, tag, comm); const labelList& map = constructMap[nbrProc]; @@ -1156,15 +1080,8 @@ void Foam::mapDistributeBase::distribute const label nbrProc = twoProcs.first(); { - IPstream is - ( - UPstream::commsTypes::scheduled, - nbrProc, - 0, - tag, - comm - ); - List<T> subField(is); + List<T> subField; + IPstream::recv(subField, nbrProc, tag, comm); const labelList& map = constructMap[nbrProc]; @@ -1181,22 +1098,13 @@ void Foam::mapDistributeBase::distribute ); } { - OPstream os - ( - UPstream::commsTypes::scheduled, - nbrProc, - 0, - tag, - comm - ); - const labelList& map = subMap[nbrProc]; List<T> subField ( accessAndFlip(field, map, subHasFlip, negOp) ); - os << subField; + OPstream::send(subField, nbrProc, tag, comm); } } } @@ -1217,13 +1125,12 @@ void Foam::mapDistributeBase::distribute if (proci != myRank && map.size()) { - UOPstream os(proci, pBufs); - List<T> subField ( accessAndFlip(field, map, subHasFlip, negOp) ); + UOPstream os(proci, pBufs); os << subField; } } @@ -1433,13 +1340,12 @@ void Foam::mapDistributeBase::send if (map.size()) { - UOPstream os(proci, pBufs); - List<T> subField ( accessAndFlip(field, map, subHasFlip_, flipOp()) ); + UOPstream os(proci, pBufs); os << subField; } } diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C index 874a3726b3a..4148c24427b 100644 --- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C @@ -324,8 +324,8 @@ void Foam::syncTools::syncPointMap // Receive the edges using shared points from other procs for (const int proci : UPstream::subProcs()) { - IPstream fromProc(UPstream::commsTypes::scheduled, proci); - Map<T> nbrValues(fromProc); + Map<T> nbrValues; + IPstream::recv(nbrValues, proci); // Merge neighbouring values with my values forAllConstIters(nbrValues, iter) @@ -343,12 +343,7 @@ void Foam::syncTools::syncPointMap else { // Send to master - OPstream toMaster - ( - UPstream::commsTypes::scheduled, - UPstream::masterNo() - ); - toMaster << sharedPointValues; + OPstream::send(sharedPointValues, UPstream::masterNo()); } // Broadcast: send merged values to all @@ -687,8 +682,8 @@ void Foam::syncTools::syncEdgeMap // Receive the edges using shared points from other procs for (const int proci : UPstream::subProcs()) { - IPstream fromProc(UPstream::commsTypes::scheduled, proci); - EdgeMap<T> nbrValues(fromProc); + EdgeMap<T> nbrValues; + IPstream::recv(nbrValues, proci); // Merge neighbouring values with my values forAllConstIters(nbrValues, iter) @@ -706,14 +701,7 @@ void Foam::syncTools::syncEdgeMap else { // Send to master - { - OPstream toMaster - ( - UPstream::commsTypes::scheduled, - UPstream::masterNo() - ); - toMaster << sharedEdgeValues; - } + OPstream::send(sharedEdgeValues, UPstream::masterNo()); } // Broadcast: send merged values to all diff --git a/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C b/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C index 71c66727542..9de90ba469e 100644 --- a/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C +++ b/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -170,8 +170,7 @@ void Foam::globalIndex::gatherValues } else { - IPstream fromProc(commsType, procIDs[i], 0, tag, comm); - fromProc >> allValues[i]; + IPstream::recv(allValues[i], procIDs[i], tag, comm); } } } @@ -193,8 +192,7 @@ void Foam::globalIndex::gatherValues } else { - OPstream toMaster(commsType, masterProci, 0, tag, comm); - toMaster << localValue; + OPstream::send(localValue, commsType, masterProci, tag, comm); } } @@ -269,8 +267,7 @@ void Foam::globalIndex::gather } else { - IPstream fromProc(commsType, procIDs[i], 0, tag, comm); - fromProc >> procSlot; + IPstream::recv(procSlot, procIDs[i], tag, comm); } } } @@ -294,8 +291,7 @@ void Foam::globalIndex::gather } else { - OPstream toMaster(commsType, masterProci, 0, tag, comm); - toMaster << fld; + OPstream::send(fld, commsType, masterProci, tag, comm); } } @@ -378,8 +374,7 @@ void Foam::globalIndex::gather } else { - IPstream fromProc(commsType, procIDs[i], 0, tag, comm); - fromProc >> procSlot; + IPstream::recv(procSlot, procIDs[i], tag, comm); } } } @@ -391,8 +386,7 @@ void Foam::globalIndex::gather } else { - OPstream toMaster(commsType, masterProci, 0, tag, comm); - toMaster << fld; + OPstream::send(fld, commsType, masterProci, tag, comm); } } @@ -962,8 +956,7 @@ void Foam::globalIndex::scatter } else { - OPstream toProc(commsType, procIDs[i], 0, tag, comm); - toProc << procSlot; + OPstream::send(procSlot, commsType, procIDs[i], tag, comm); } } @@ -999,8 +992,7 @@ void Foam::globalIndex::scatter } else { - IPstream fromMaster(commsType, masterProci, 0, tag, comm); - fromMaster >> fld; + IPstream::recv(fld, masterProci, tag, comm); } } diff --git a/src/sampling/surface/isoSurface/isoSurfacePoint.C b/src/sampling/surface/isoSurface/isoSurfacePoint.C index 464af60d826..0c0d0ac5d84 100644 --- a/src/sampling/surface/isoSurface/isoSurfacePoint.C +++ b/src/sampling/surface/isoSurface/isoSurfacePoint.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -164,12 +164,8 @@ void Foam::isoSurfacePoint::syncUnseparatedPoints patchInfo[nbrPointi] = pointValues[meshPts[pointi]]; } - OPstream toNbr - ( - Pstream::commsTypes::blocking, - procPatch.neighbProcNo() - ); - toNbr << patchInfo; + // buffered send + OPstream::bsend(patchInfo, procPatch.neighbProcNo()); } } @@ -181,17 +177,11 @@ void Foam::isoSurfacePoint::syncUnseparatedPoints if (pp.nPoints() && collocatedPatch(pp)) { - pointField nbrPatchInfo(procPatch.nPoints()); - { - // We do not know the number of points on the other side - // so cannot use UIPstream::read - IPstream fromNbr - ( - Pstream::commsTypes::blocking, - procPatch.neighbProcNo() - ); - fromNbr >> nbrPatchInfo; - } + pointField nbrPatchInfo; + + // We do not know the number of points on the other side + // so cannot use UIPstream::read + IPstream::recv(nbrPatchInfo, procPatch.neighbProcNo()); const labelList& meshPts = procPatch.meshPoints(); -- GitLab From 337e672d53605a74154b3f368964a37914afc7bf Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 19 Feb 2024 11:50:20 +0100 Subject: [PATCH 072/231] ENH: extend globalMeshData::calcCellCells handling - add convenience forms for common combinations - avoid allocation for 1:1 identity agglomerations - support subsetting forms (avoids an intermediate fvMeshSubset) that also return the cellMap - refactored to eliminate code duplication between weighted and unweighted forms --- .../Test-checkDecomposePar.C | 10 +- .../decomposePar/domainDecompositionDryRun.C | 12 +- .../meshes/bandCompression/bandCompression.C | 18 +- .../meshes/bandCompression/bandCompression.H | 11 +- .../polyMesh/globalMeshData/globalMeshData.H | 81 +++- .../globalMeshData/globalMeshDataTopology.C | 403 +++++++++++------- .../primitiveMesh/primitiveMeshCellCells.C | 9 +- .../decompose/decompositionInformation.C | 15 +- .../decompositionMethod/decompositionMethod.C | 4 +- .../metisLikeDecomp/metisLikeDecomp.C | 20 +- .../multiLevelDecomp/multiLevelDecomp.C | 23 +- .../multiLevelDecomp/multiLevelDecomp.H | 2 +- .../decompose/kahipDecomp/kahipDecomp.C | 2 +- .../decompose/metisDecomp/metisDecomp.C | 2 +- .../decompose/ptscotchDecomp/ptscotchDecomp.C | 20 +- .../decompose/scotchDecomp/scotchDecomp.C | 2 +- .../CuthillMcKeeRenumber.C | 15 +- .../renumberMethod/renumberMethod.C | 12 +- .../springRenumber/springRenumber.C | 14 +- 19 files changed, 398 insertions(+), 277 deletions(-) diff --git a/applications/test/checkDecomposePar/Test-checkDecomposePar.C b/applications/test/checkDecomposePar/Test-checkDecomposePar.C index 8019fd0d459..903a22b0d42 100644 --- a/applications/test/checkDecomposePar/Test-checkDecomposePar.C +++ b/applications/test/checkDecomposePar/Test-checkDecomposePar.C @@ -123,15 +123,9 @@ int main(int argc, char *argv[]) const label nDomains = max(cellToProc) + 1; + // Local mesh connectivity CompactListList<label> cellCells; - globalMeshData::calcCellCells - ( - mesh, - identity(mesh.nCells()), - mesh.nCells(), - false, - cellCells - ); + globalMeshData::calcCellCells(mesh, cellCells); decompositionInformation info ( diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDryRun.C b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDryRun.C index 36d04152d7c..af5cfeca98b 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDryRun.C +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDryRun.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -112,15 +112,9 @@ void Foam::domainDecompositionDryRun::execute decompositionMethod& method = model.decomposer(); + // Local mesh connectivity CompactListList<label> cellCells; - globalMeshData::calcCellCells - ( - mesh_, - identity(mesh_.nCells()), - mesh_.nCells(), - false, // false = local only - cellCells - ); + globalMeshData::calcCellCells(mesh_, cellCells); labelList cellToProc = method.decompose(mesh_, cellWeights); diff --git a/src/OpenFOAM/meshes/bandCompression/bandCompression.C b/src/OpenFOAM/meshes/bandCompression/bandCompression.C index ffcb574f48a..b2f1a977add 100644 --- a/src/OpenFOAM/meshes/bandCompression/bandCompression.C +++ b/src/OpenFOAM/meshes/bandCompression/bandCompression.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,6 +28,8 @@ License #include "bandCompression.H" #include "bitSet.H" +#include "polyMesh.H" +#include "globalMeshData.H" #include "CircularBuffer.H" #include "CompactListList.H" #include "DynamicList.H" @@ -173,10 +175,10 @@ Foam::labelList Foam::meshTools::bandCompression ) { // Protect against zero-sized offset list - const label nOldCells = max(0, (offsets.size()-1)); + const label nOldCells = Foam::max(0, (offsets.size()-1)); // Count number of neighbours - labelList numNbrs(nOldCells, Zero); + labelList numNbrs(nOldCells, Foam::zero{}); for (label celli = 0; celli < nOldCells; ++celli) { const label beg = offsets[celli]; @@ -312,6 +314,16 @@ Foam::labelList Foam::meshTools::bandCompression // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +Foam::labelList Foam::meshTools::bandCompression(const polyMesh& mesh) +{ + // Local mesh connectivity + CompactListList<label> cellCells; + globalMeshData::calcCellCells(mesh, cellCells); + + return cuthill_mckee_algorithm(cellCells); +} + + Foam::labelList Foam::meshTools::bandCompression ( const CompactListList<label>& cellCellAddressing diff --git a/src/OpenFOAM/meshes/bandCompression/bandCompression.H b/src/OpenFOAM/meshes/bandCompression/bandCompression.H index 805a0783bfc..d90cca8e586 100644 --- a/src/OpenFOAM/meshes/bandCompression/bandCompression.H +++ b/src/OpenFOAM/meshes/bandCompression/bandCompression.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -50,6 +50,7 @@ namespace Foam { // Forward Declarations +class polyMesh; template<class T> class CompactListList; } // End namespace Foam @@ -64,6 +65,12 @@ namespace meshTools // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +//- Renumber (mesh) addressing to reduce the band of the mesh connectivity, +//- using the Cuthill-McKee algorithm. +// +// \returns order in which the cells are to be visited (ordered to original) +labelList bandCompression(const polyMesh& mesh); + //- Renumber (mesh) addressing to reduce the band of the matrix, //- using the Cuthill-McKee algorithm. // @@ -97,12 +104,14 @@ namespace Foam { //- Forward to meshTools::bandCompression +// \deprecated(2022-03) prefer meshTools::bandCompression() inline labelList bandCompression(const labelListList& cellCellAddressing) { return meshTools::bandCompression(cellCellAddressing); } //- Forward to meshTools::bandCompression +// \deprecated(2022-03) prefer meshTools::bandCompression() inline labelList bandCompression ( const labelUList& cellCells, diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H index a1228f65451..a06582b94eb 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -614,6 +614,7 @@ public: //- Determine (local or global) cellCells from mesh agglomeration. // Agglomeration is local to the processor. + // // - parallel = false // Resulting connections are in local cell indices. // Coupled across cyclics but not processor patches. @@ -623,9 +624,14 @@ public: static void calcCellCells ( const polyMesh& mesh, - const labelList& agglom, + //! The cell agglomeration, negative agglomeration are excluded + //! from the sub-mesh + const labelUList& agglom, + //! The number of unique, agglomerated cells const label nLocalCoarse, - const bool parallel, //!< Use global cell ids in parallel + //! Use global cell ids in parallel + const bool parallel, + //! [out] the mesh connectivity as CSR CompactListList<label>& cellCells ); @@ -635,12 +641,77 @@ public: static void calcCellCells ( const polyMesh& mesh, - const labelList& agglom, + //! The cell agglomeration, negative agglomeration are excluded + //! from the sub-mesh + const labelUList& agglom, + //! The number of unique, agglomerated cells const label nLocalCoarse, - const bool parallel, //!< Use global cell ids in parallel + //! Use global cell ids in parallel + const bool parallel, + //! [out] the mesh connectivity as CSR CompactListList<label>& cellCells, + //! [out] the connectivity weights (face area) CompactListList<scalar>& cellCellWeights ); + + //- Determine (local or global) mesh connectivity + // + // - parallel = false + // Resulting connections are in local cell indices. + // Coupled across cyclics but not processor patches. + // - parallel = true + // Resulting connections are in global cell indices. + // Coupled across cyclics and processor patches. + static void calcCellCells + ( + const polyMesh& mesh, + //! [out] the mesh connectivity as CSR + CompactListList<label>& cellCells, + //! Use global cell ids in parallel + const bool parallel = false + ); + + //- Determine (local or global) sub-mesh connectivity + // + // - parallel = false + // Resulting connections are in local cell indices. + // Coupled across cyclics but not processor patches. + // - parallel = true + // Resulting connections are in global cell indices. + // Coupled across cyclics and processor patches. + // + // \return the cellMap + static labelList calcCellCells + ( + const polyMesh& mesh, + //! The cell-subset + const bitSet& selectedCells, + //! [out] the mesh connectivity as CSR + CompactListList<label>& cellCells, + //! Use global cell ids in parallel + const bool parallel = false + ); + + //- Determine (local or global) sub-mesh connectivity + // + // - parallel = false + // Resulting connections are in local cell indices. + // Coupled across cyclics but not processor patches. + // - parallel = true + // Resulting connections are in global cell indices. + // Coupled across cyclics and processor patches. + // + // \return the cellMap + static labelList calcCellCells + ( + const polyMesh& mesh, + //! The cell-subset + const labelUList& selectedCells, + //! [out] the mesh connectivity as CSR + CompactListList<label>& cellCells, + //! Use global cell ids in parallel + const bool parallel = false + ); }; diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTopology.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTopology.C index 7743b757143..3a26d28681f 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTopology.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTopology.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,33 +32,58 @@ License #include "processorPolyPatch.H" #include "syncTools.H" -// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // -void Foam::globalMeshData::calcCellCells +namespace Foam +{ + +// NOTE: the AgglomerationType is anything that behaves like a List with +// an operator[] and provides coverage in the (0-nCells) range. +// - identityOp() does this + +template<class AgglomerationType> +static void calcCellCellsImpl ( const polyMesh& mesh, - const labelList& agglom, + const AgglomerationType& agglom, const label nLocalCoarse, const bool parallel, - CompactListList<label>& cellCells + CompactListList<label>& cellCells, + CompactListList<scalar>* cellCellWeightsPtr = nullptr ) { const labelList& faceOwner = mesh.faceOwner(); const labelList& faceNeigh = mesh.faceNeighbour(); const polyBoundaryMesh& pbm = mesh.boundaryMesh(); - // FUTURE? treat empty agglomeration like an identity map - // Global cell numbers (agglomerated numbering) const label myProci = UPstream::myProcNo(UPstream::worldComm); const globalIndex globalAgglom(nLocalCoarse, UPstream::worldComm, parallel); - // The agglomerated owner per boundary faces (global numbering) // from the other side (of coupled patches) - labelList globalNeighbour(agglom, pbm.faceOwner()); - globalAgglom.inplaceToGlobal(myProci, globalNeighbour); + labelList globalNeighbour; + { + const label myAgglomOffset = globalAgglom.localStart(myProci); + + const labelList::subList bndFaceOwner = pbm.faceOwner(); + + const label nBoundaryFaces = bndFaceOwner.size(); + + globalNeighbour.resize(nBoundaryFaces); + + for (label bfacei = 0; bfacei < nBoundaryFaces; ++bfacei) + { + label val = agglom[bndFaceOwner[bfacei]]; + if (val >= 0) + { + // Only offset 'real' (non-negative) agglomerations + val += myAgglomOffset; + } + globalNeighbour[bfacei] = val; + } + } syncTools::swapBoundaryFaceList(mesh, globalNeighbour); @@ -66,13 +91,16 @@ void Foam::globalMeshData::calcCellCells // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Number of faces per coarse cell - labelList nFacesPerCell(nLocalCoarse, Zero); + labelList nFacesPerCell(nLocalCoarse, Foam::zero{}); for (label facei = 0; facei < mesh.nInternalFaces(); ++facei) { const label own = agglom[faceOwner[facei]]; const label nei = agglom[faceNeigh[facei]]; + // Negative agglomeration (exclude from subset) + if (own < 0 || nei < 0) continue; + ++nFacesPerCell[own]; ++nFacesPerCell[nei]; } @@ -81,12 +109,15 @@ void Foam::globalMeshData::calcCellCells { if (pp.coupled() && (parallel || !isA<processorPolyPatch>(pp))) { - label bFacei = pp.start()-mesh.nInternalFaces(); + const label bndOffset = mesh.nInternalFaces(); for (const label facei : pp.range()) { const label own = agglom[faceOwner[facei]]; - const label globalNei = globalNeighbour[bFacei]; + const label globalNei = globalNeighbour[facei-bndOffset]; + + // Negative agglomeration (exclude from subset) + if (own < 0 || globalNei < 0) continue; if ( @@ -96,8 +127,6 @@ void Foam::globalMeshData::calcCellCells { ++nFacesPerCell[own]; } - - ++bFacei; } } } @@ -107,23 +136,45 @@ void Foam::globalMeshData::calcCellCells // ~~~~~~~~~~~~~~~~~~~~~~~ cellCells.resize_nocopy(nFacesPerCell); - nFacesPerCell = 0; // Restart the count - labelList& m = cellCells.values(); + + // CSR indexing const labelList& offsets = cellCells.offsets(); + // CSR connections + labelList& connect = cellCells.values(); + + + // CSR connection weights + scalarList weights; + if (cellCellWeightsPtr) + { + cellCellWeightsPtr->clear(); + weights.resize(cellCells.totalSize()); + } + + // For internal faces is just offsetted owner and neighbour for (label facei = 0; facei < mesh.nInternalFaces(); ++facei) { const label own = agglom[faceOwner[facei]]; const label nei = agglom[faceNeigh[facei]]; + // Negative agglomeration (exclude from subset) + if (own < 0 || nei < 0) continue; + const label ownIndex = offsets[own] + nFacesPerCell[own]++; const label neiIndex = offsets[nei] + nFacesPerCell[nei]++; - m[ownIndex] = globalAgglom.toGlobal(myProci, nei); - m[neiIndex] = globalAgglom.toGlobal(myProci, own); + connect[ownIndex] = globalAgglom.toGlobal(myProci, nei); + connect[neiIndex] = globalAgglom.toGlobal(myProci, own); + + if (!weights.empty()) + { + weights[ownIndex] = Foam::mag(mesh.faceAreas()[facei]); + weights[neiIndex] = weights[ownIndex]; + } } // For boundary faces is offsetted coupled neighbour @@ -131,12 +182,15 @@ void Foam::globalMeshData::calcCellCells { if (pp.coupled() && (parallel || !isA<processorPolyPatch>(pp))) { - label bFacei = pp.start()-mesh.nInternalFaces(); + const label bndOffset = mesh.nInternalFaces(); for (const label facei : pp.range()) { const label own = agglom[faceOwner[facei]]; - const label globalNei = globalNeighbour[bFacei]; + const label globalNei = globalNeighbour[facei-bndOffset]; + + // Negative agglomeration (exclude from subset) + if (own < 0 || globalNei < 0) continue; if ( @@ -146,10 +200,13 @@ void Foam::globalMeshData::calcCellCells { const label ownIndex = offsets[own] + nFacesPerCell[own]++; - m[ownIndex] = globalNei; - } + connect[ownIndex] = globalNei; - ++bFacei; + if (!weights.empty()) + { + weights[ownIndex] = Foam::mag(mesh.faceAreas()[facei]); + } + } } } } @@ -164,13 +221,12 @@ void Foam::globalMeshData::calcCellCells if (!cellCells.empty()) { - label newIndex = 0; - labelHashSet nbrCells; - - labelList& m = cellCells.values(); + // Need non-const access to CSR indexing labelList& offsets = cellCells.offsets(); label startIndex = offsets[0]; + label newIndex = 0; + labelHashSet nbrCells; const label nCellCells = cellCells.size(); @@ -189,9 +245,15 @@ void Foam::globalMeshData::calcCellCells for (label i = startIndex; i < endIndex; ++i) { - if (nbrCells.insert(m[i])) + if (nbrCells.insert(connect[i])) { - m[newIndex] = m[i]; + connect[newIndex] = connect[i]; + + if (!weights.empty()) + { + weights[newIndex] = weights[i]; + } + ++newIndex; } } @@ -199,9 +261,23 @@ void Foam::globalMeshData::calcCellCells offsets[celli+1] = newIndex; } - m.resize(newIndex); + connect.resize(newIndex); + if (!weights.empty()) + { + weights.resize(newIndex); + } } + + // CSR connection weights + // - addressing is identical to the connections + if (cellCellWeightsPtr) + { + cellCellWeightsPtr->offsets() = cellCells.offsets(); + cellCellWeightsPtr->values() = std::move(weights); + } + + //forAll(cellCells, celli) //{ // Pout<< "Original: Coarse cell " << celli << endl; @@ -218,183 +294,194 @@ void Foam::globalMeshData::calcCellCells //} } +} // End namespace Foam + + +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // void Foam::globalMeshData::calcCellCells ( const polyMesh& mesh, - const labelList& agglom, + const labelUList& agglom, const label nLocalCoarse, const bool parallel, - CompactListList<label>& cellCells, - CompactListList<scalar>& cellCellWeights + CompactListList<label>& cellCells ) { - const labelList& faceOwner = mesh.faceOwner(); - const labelList& faceNeigh = mesh.faceNeighbour(); - const polyBoundaryMesh& pbm = mesh.boundaryMesh(); + calcCellCellsImpl + ( + mesh, + agglom, + nLocalCoarse, + parallel, + cellCells + ); +} - // FUTURE? treat empty agglomeration like an identity map - // Global cell numbers (agglomerated numbering) - const label myProci = UPstream::myProcNo(UPstream::worldComm); - const globalIndex globalAgglom(nLocalCoarse, UPstream::worldComm, parallel); +void Foam::globalMeshData::calcCellCells +( + const polyMesh& mesh, + const labelUList& agglom, + const label nLocalCoarse, + const bool parallel, + CompactListList<label>& cellCells, + CompactListList<scalar>& cellCellWeights +) +{ + calcCellCellsImpl + ( + mesh, + agglom, + nLocalCoarse, + parallel, + cellCells, + &cellCellWeights + ); +} - // The agglomerated owner per boundary faces (global numbering) - // from the other side (of coupled patches) +// Convenience forms - labelList globalNeighbour(agglom, pbm.faceOwner()); - globalAgglom.inplaceToGlobal(myProci, globalNeighbour); - syncTools::swapBoundaryFaceList(mesh, globalNeighbour); +void Foam::globalMeshData::calcCellCells +( + const polyMesh& mesh, + CompactListList<label>& cellCells, + const bool parallel +) +{ + calcCellCellsImpl + ( + mesh, + Foam::identityOp{}, + mesh.nCells(), + parallel, + cellCells + ); +} - // Count number of faces (internal + coupled) - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Foam::labelList Foam::globalMeshData::calcCellCells +( + const polyMesh& mesh, + const bitSet& selectedCells, + CompactListList<label>& cellCells, + const bool parallel +) +{ + const label nCells = mesh.nCells(); - // Number of faces per coarse cell - labelList nFacesPerCell(nLocalCoarse, Zero); + labelList agglom(nCells, -1); + labelList cellMap; - for (label facei = 0; facei < mesh.nInternalFaces(); ++facei) + // First pass - sorted order without duplicates + label nCompact = 0; + for (const label celli : selectedCells) { - const label own = agglom[faceOwner[facei]]; - const label nei = agglom[faceNeigh[facei]]; - - ++nFacesPerCell[own]; - ++nFacesPerCell[nei]; + // A bitSet has no negatives/duplicates, so just check the upper range + if (celli >= nCells) + { + break; + } + else + { + agglom[celli] = celli; + ++nCompact; + } } - for (const polyPatch& pp : pbm) + // Second pass - finalize mappings + if (nCompact) { - if (pp.coupled() && (parallel || !isA<processorPolyPatch>(pp))) - { - label bFacei = pp.start()-mesh.nInternalFaces(); + cellMap.resize(nCompact); + nCompact = 0; - for (const label facei : pp.range()) + for (label& celli : agglom) + { + if (celli >= 0) { - const label own = agglom[faceOwner[facei]]; - const label globalNei = globalNeighbour[bFacei]; + cellMap[nCompact] = celli; + celli = nCompact; + ++nCompact; - if - ( - !globalAgglom.isLocal(myProci, globalNei) - || globalAgglom.toLocal(myProci, globalNei) != own - ) + if (nCompact == cellMap.size()) { - ++nFacesPerCell[own]; + break; // Early termination } - - ++bFacei; } } } + globalMeshData::calcCellCells + ( + mesh, + agglom, + nCompact, // == cellMap.size() + parallel, + cellCells + ); - // Fill in offset and data - // ~~~~~~~~~~~~~~~~~~~~~~~ - - cellCells.resize_nocopy(nFacesPerCell); - cellCellWeights.resize_nocopy(nFacesPerCell); - - nFacesPerCell = 0; // Restart the count - - labelList& m = cellCells.values(); - scalarList& w = cellCellWeights.values(); - const labelList& offsets = cellCells.offsets(); + return cellMap; +} - // For internal faces is just offsetted owner and neighbour - for (label facei = 0; facei < mesh.nInternalFaces(); ++facei) - { - const label own = agglom[faceOwner[facei]]; - const label nei = agglom[faceNeigh[facei]]; - const label ownIndex = offsets[own] + nFacesPerCell[own]++; - const label neiIndex = offsets[nei] + nFacesPerCell[nei]++; +Foam::labelList Foam::globalMeshData::calcCellCells +( + const polyMesh& mesh, + const labelUList& selectedCells, + CompactListList<label>& cellCells, + const bool parallel +) +{ + const label nCells = mesh.nCells(); - m[ownIndex] = globalAgglom.toGlobal(myProci, nei); - m[neiIndex] = globalAgglom.toGlobal(myProci, own); + labelList agglom(nCells, -1); + labelList cellMap; - w[ownIndex] = mag(mesh.faceAreas()[facei]); - w[neiIndex] = w[ownIndex]; - } - - // For boundary faces is offsetted coupled neighbour - for (const polyPatch& pp : pbm) + // First pass - creates a sorted order without duplicates + label nCompact = 0; + for (const label celli : selectedCells) { - if (pp.coupled() && (parallel || !isA<processorPolyPatch>(pp))) + // Check cell is in range, and squash out duplicates + if (celli >= 0 && celli < nCells && agglom[celli] < 0) { - label bFacei = pp.start()-mesh.nInternalFaces(); - - for (const label facei : pp.range()) - { - const label own = agglom[faceOwner[facei]]; - const label globalNei = globalNeighbour[bFacei]; - - if - ( - !globalAgglom.isLocal(myProci, globalNei) - || globalAgglom.toLocal(myProci, globalNei) != own - ) - { - const label ownIndex = offsets[own] + nFacesPerCell[own]++; - - m[ownIndex] = globalNei; - w[ownIndex] = mag(mesh.faceAreas()[facei]); - } - - ++bFacei; - } + agglom[celli] = celli; + ++nCompact; } } - - // Check for duplicates connections between cells - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Done as postprocessing step since we now have cellCells. - - // NB: Because of agglomeration, self-connections will occur - // and must be filtered out. - - if (!cellCells.empty()) + // Second pass - finalize mappings + if (nCompact) { - label newIndex = 0; - labelHashSet nbrCells; - - labelList& m = cellCells.values(); - scalarList& w = cellCellWeights.values(); - labelList& offsets = cellCells.offsets(); - - label startIndex = offsets[0]; + cellMap.resize(nCompact); + nCompact = 0; - const label nCellCells = cellCells.size(); - - for (label celli = 0; celli < nCellCells; ++celli) + for (label& celli : agglom) { - const label self = globalAgglom.toGlobal(myProci, celli); - - nbrCells.clear(); - nbrCells.insert(self); - - const label endIndex = offsets[celli+1]; - - for (label i = startIndex; i < endIndex; ++i) + if (celli >= 0) { - if (nbrCells.insert(m[i])) + cellMap[nCompact] = celli; + celli = nCompact; + ++nCompact; + + if (nCompact == cellMap.size()) { - m[newIndex] = m[i]; - w[newIndex] = w[i]; - ++newIndex; + break; // Early termination } } - startIndex = endIndex; - offsets[celli+1] = newIndex; } + } - m.resize(newIndex); - w.resize(newIndex); + globalMeshData::calcCellCells + ( + mesh, + agglom, + nCompact, // == cellMap.size() + parallel, + cellCells + ); - // Weights has identical offsets as cellCells - cellCellWeights.offsets() = cellCells.offsets(); - } + return cellMap; } diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCells.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCells.C index a1924d6388e..e28eb7e53fb 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCells.C +++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCells.C @@ -60,7 +60,7 @@ void Foam::primitiveMesh::calcCellCells() const { // 1. Count number of internal faces per cell - labelList ncc(nCells(), Zero); + labelList ncc(nCells(), Foam::zero{}); const labelList& own = faceOwner(); const labelList& nei = faceNeighbour(); @@ -73,17 +73,16 @@ void Foam::primitiveMesh::calcCellCells() const // Create the storage ccPtr_ = new labelListList(ncc.size()); - labelListList& cellCellAddr = *ccPtr_; - + auto& cellCellAddr = *ccPtr_; // 2. Size and fill cellFaceAddr forAll(cellCellAddr, celli) { - cellCellAddr[celli].setSize(ncc[celli]); + cellCellAddr[celli].resize(ncc[celli]); + ncc[celli] = 0; // reset size counter } - ncc = 0; forAll(nei, facei) { diff --git a/src/parallel/decompose/decompose/decompositionInformation.C b/src/parallel/decompose/decompose/decompositionInformation.C index ba3bc31a2c1..8b4a31b7b4a 100644 --- a/src/parallel/decompose/decompose/decompositionInformation.C +++ b/src/parallel/decompose/decompose/decompositionInformation.C @@ -40,17 +40,16 @@ void Foam::decompositionInformation::populate { nDomains_ = nDomain; - distrib_.clear(); - distrib_.resize(nDomain); + distrib_.resize_nocopy(nDomain); for (labelList& subdist : distrib_) { - subdist.clear(); - subdist.resize(nDomain, Zero); + subdist.resize_nocopy(nDomain); + subdist = Foam::zero{}; } // Protect against zero-sized offset list - const label numCells = max(0, (xadj.size()-1)); + const label numCells = Foam::max(0, (xadj.size()-1)); for (label celli = 0; celli < numCells; ++celli) { @@ -75,9 +74,9 @@ void Foam::decompositionInformation::populate // Build summary - labelList cellsCount(nDomains_, Zero); - labelList neighCount(nDomains_, Zero); - labelList facesCount(nDomains_, Zero); + labelList cellsCount(nDomains_, Foam::zero{}); + labelList neighCount(nDomains_, Foam::zero{}); + labelList facesCount(nDomains_, Foam::zero{}); forAll(distrib_, ownProc) { diff --git a/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C b/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C index 355899fe409..ba67ac89021 100644 --- a/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C +++ b/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C @@ -413,7 +413,7 @@ Foam::labelList Foam::decompositionMethod::decompose mesh, fineToCoarse, coarsePoints.size(), - true, // use global cell labels + true, // Global mesh connectivity coarseCellCells ); @@ -589,7 +589,7 @@ Foam::labelList Foam::decompositionMethod::decompose // If we average the region centre instead, cyclics could cause // the average domain centre to be outside of domain. - scalarField regionWeights(localRegion.nLocalRegions(), Zero); + scalarField regionWeights(localRegion.nLocalRegions(), Foam::zero{}); pointField regionCentres(localRegion.nLocalRegions(), point::max); diff --git a/src/parallel/decompose/decompositionMethods/metisLikeDecomp/metisLikeDecomp.C b/src/parallel/decompose/decompositionMethods/metisLikeDecomp/metisLikeDecomp.C index 210dcde5f31..2a07ac2a047 100644 --- a/src/parallel/decompose/decompositionMethods/metisLikeDecomp/metisLikeDecomp.C +++ b/src/parallel/decompose/decompositionMethods/metisLikeDecomp/metisLikeDecomp.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,7 +59,7 @@ Foam::label Foam::metisLikeDecomp::decomposeGeneral } // Protect against zero-sized offset list - const label numCells = max(0, (xadj.size()-1)); + const label numCells = Foam::max(0, (xadj.size()-1)); const globalIndex globalAdjncy(adjncy.size()); const globalIndex globalCells(numCells); @@ -224,17 +224,10 @@ Foam::labelList Foam::metisLikeDecomp::decompose << exit(FatalError); } + // Global mesh connectivity CompactListList<label> cellCells; - globalMeshData::calcCellCells - ( - mesh, - identity(mesh.nCells()), - mesh.nCells(), - true, - cellCells - ); + globalMeshData::calcCellCells(mesh, cellCells, true); - // Decompose using default weights labelList decomp; decomposeGeneral ( @@ -274,11 +267,10 @@ Foam::labelList Foam::metisLikeDecomp::decompose mesh, agglom, agglomPoints.size(), - true, + true, // Global mesh connectivity cellCells ); - // Decompose using default weights labelList decomp; decomposeGeneral ( @@ -313,7 +305,6 @@ Foam::labelList Foam::metisLikeDecomp::decompose // adjncy : contains neighbours (= edges in graph) // xadj(celli) : start of information in adjncy for celli - // Decompose using default weights labelList decomp; decomposeGeneral ( @@ -349,7 +340,6 @@ Foam::labelList Foam::metisLikeDecomp::decompose auto cellCells(CompactListList<label>::pack(globalCellCells)); - // Decompose using default weights labelList decomp; decomposeGeneral ( diff --git a/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C b/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C index d3d0f3469bc..b91df7c6d69 100644 --- a/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C +++ b/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -383,9 +383,6 @@ void Foam::multiLevelDecomp::decompose { // Recurse - // Determine points per domain - labelListList domainToPoints(invertOneToMany(nCurrDomains, dist)); - // Extract processor+local index from point-point addressing if (debug && Pstream::master()) { @@ -510,7 +507,7 @@ void Foam::multiLevelDecomp::decompose // Count the number inbetween blocks of nNext size label nPoints = 0; - labelList nOutsideConnections(nCurrDomains, Zero); + labelList nOutsideConnections(nCurrDomains, Foam::zero{}); forAll(pointPoints, pointi) { if ((dist[pointi] / nNext) == blockI) @@ -611,19 +608,19 @@ Foam::labelList Foam::multiLevelDecomp::decompose const scalarField& cWeights ) const { + labelList finalDecomp(cc.size(), Foam::zero{}); + labelList cellMap(Foam::identity(cc.size())); + CompactListList<label> cellCells; globalMeshData::calcCellCells ( mesh, - identity(cc.size()), - cc.size(), - true, + cellMap, + cellMap.size(), + true, // Global mesh connectivity cellCells ); - labelList finalDecomp(cc.size(), Foam::zero{}); - labelList cellMap(identity(cc.size())); - decompose ( cellCells.unpack(), @@ -648,7 +645,7 @@ Foam::labelList Foam::multiLevelDecomp::decompose ) const { labelList finalDecomp(cc.size(), Foam::zero{}); - labelList cellMap(identity(cc.size())); + labelList cellMap(Foam::identity(cc.size())); decompose ( @@ -674,7 +671,7 @@ Foam::labelList Foam::multiLevelDecomp::decompose ) const { labelList finalDecomp(cc.size(), Foam::zero{}); - labelList cellMap(identity(cc.size())); + labelList cellMap(Foam::identity(cc.size())); decompose ( diff --git a/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.H b/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.H index 468af9c45d1..5baeca557df 100644 --- a/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.H +++ b/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.H @@ -72,7 +72,7 @@ class multiLevelDecomp //- Given connectivity across processors work out connectivity - // for a (consistent) subset + //- for a (consistent) subset void subsetGlobalCellCells ( const label nDomains, diff --git a/src/parallel/decompose/kahipDecomp/kahipDecomp.C b/src/parallel/decompose/kahipDecomp/kahipDecomp.C index b889efa0200..b2341cd69ce 100644 --- a/src/parallel/decompose/kahipDecomp/kahipDecomp.C +++ b/src/parallel/decompose/kahipDecomp/kahipDecomp.C @@ -101,7 +101,7 @@ Foam::label Foam::kahipDecomp::decomposeSerial } #endif - int numCells = max(0, (xadj.size()-1)); + int numCells = Foam::max(0, (xadj.size()-1)); // Addressing ConstPrecisionAdaptor<int, label, List> adjncy_param(adjncy); diff --git a/src/parallel/decompose/metisDecomp/metisDecomp.C b/src/parallel/decompose/metisDecomp/metisDecomp.C index d62307cb48f..4557c6effc3 100644 --- a/src/parallel/decompose/metisDecomp/metisDecomp.C +++ b/src/parallel/decompose/metisDecomp/metisDecomp.C @@ -85,7 +85,7 @@ Foam::label Foam::metisDecomp::decomposeSerial const dictionary* coeffsDictPtr = decompDict_.findDict("metisCoeffs"); - idx_t numCells = max(0, (xadj.size()-1)); + idx_t numCells = Foam::max(0, (xadj.size()-1)); // Decomposition options List<idx_t> options(METIS_NOPTIONS); diff --git a/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C b/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C index 1fb105cf4f3..f5e1d9b0bff 100644 --- a/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C +++ b/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -117,7 +117,7 @@ Foam::label Foam::ptscotchDecomp::decompose labelList& decomp ) const { - const SCOTCH_Num numCells = max(0, (xadj.size()-1)); + const SCOTCH_Num numCells = Foam::max(0, (xadj.size()-1)); // Addressing ConstPrecisionAdaptor<SCOTCH_Num, label, List> adjncy_param(adjncy); @@ -559,17 +559,10 @@ Foam::labelList Foam::ptscotchDecomp::decompose // adjncy : contains neighbours (= edges in graph) // xadj(celli) : start of information in adjncy for celli + // Global mesh connectivity CompactListList<label> cellCells; - globalMeshData::calcCellCells - ( - mesh, - identity(mesh.nCells()), - mesh.nCells(), - true, - cellCells - ); + globalMeshData::calcCellCells(mesh, cellCells, true); - // Decompose using default weights labelList decomp; decompose ( @@ -606,13 +599,14 @@ Foam::labelList Foam::ptscotchDecomp::decompose // Make Metis CSR (Compressed Storage Format) storage // adjncy : contains neighbours (= edges in graph) // xadj(celli) : start of information in adjncy for celli + CompactListList<label> cellCells; globalMeshData::calcCellCells ( mesh, agglom, agglomPoints.size(), - true, + true, // Global mesh connectivity cellCells ); @@ -654,7 +648,6 @@ Foam::labelList Foam::ptscotchDecomp::decompose // adjncy : contains neighbours (= edges in graph) // xadj(celli) : start of information in adjncy for celli - // Decompose using default weights labelList decomp; decompose ( @@ -692,7 +685,6 @@ Foam::labelList Foam::ptscotchDecomp::decompose auto cellCells(CompactListList<label>::pack(globalCellCells)); - // Decompose using default weights labelList decomp; decompose ( diff --git a/src/parallel/decompose/scotchDecomp/scotchDecomp.C b/src/parallel/decompose/scotchDecomp/scotchDecomp.C index c3637bd4dd5..b2e4dc65d4b 100644 --- a/src/parallel/decompose/scotchDecomp/scotchDecomp.C +++ b/src/parallel/decompose/scotchDecomp/scotchDecomp.C @@ -113,7 +113,7 @@ Foam::label Foam::scotchDecomp::decomposeSerial labelList& decomp ) const { - const SCOTCH_Num numCells = max(0, (xadj.size()-1)); + const SCOTCH_Num numCells = Foam::max(0, (xadj.size()-1)); // Addressing ConstPrecisionAdaptor<SCOTCH_Num, label, List> adjncy_param(adjncy); diff --git a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C index b2662f90f6e..c5a867decdc 100644 --- a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C +++ b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,7 +29,6 @@ License #include "CuthillMcKeeRenumber.H" #include "addToRunTimeSelectionTable.H" #include "bandCompression.H" -#include "globalMeshData.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -67,17 +66,7 @@ Foam::labelList Foam::CuthillMcKeeRenumber::renumber const pointField& points ) const { - CompactListList<label> cellCells; - globalMeshData::calcCellCells - ( - mesh, - identity(mesh.nCells()), - mesh.nCells(), - false, // local only - cellCells - ); - - labelList orderedToOld = meshTools::bandCompression(cellCells); + labelList orderedToOld = meshTools::bandCompression(mesh); if (reverse_) { diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C index 2ea1cf0c7e9..7be4654d920 100644 --- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C +++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C @@ -73,15 +73,9 @@ Foam::labelList Foam::renumberMethod::renumber const pointField& points ) const { + // Local mesh connectivity CompactListList<label> cellCells; - globalMeshData::calcCellCells - ( - mesh, - identity(mesh.nCells()), - mesh.nCells(), - false, // local only - cellCells - ); + globalMeshData::calcCellCells(mesh, cellCells); return renumber(cellCells, points); } @@ -122,7 +116,7 @@ Foam::labelList Foam::renumberMethod::renumber mesh, fineToCoarse, coarsePoints.size(), - false, // local only + false, // local only (parallel = false) coarseCellCells ); diff --git a/src/renumber/renumberMethods/springRenumber/springRenumber.C b/src/renumber/renumberMethods/springRenumber/springRenumber.C index f7b79dfc93e..c331b23ad80 100644 --- a/src/renumber/renumberMethods/springRenumber/springRenumber.C +++ b/src/renumber/renumberMethods/springRenumber/springRenumber.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -79,7 +79,7 @@ Foam::labelList Foam::springRenumber::renumberImpl // Sum force per cell. Also reused for the displacement scalarField sumForce(nOldCells); - labelList oldToNew(identity(nOldCells)); + labelList oldToNew(Foam::identity(nOldCells)); scalar maxCo = (maxCo_ * nOldCells); @@ -163,15 +163,9 @@ Foam::labelList Foam::springRenumber::renumber const pointField& ) const { + // Local mesh connectivity CompactListList<label> cellCells; - globalMeshData::calcCellCells - ( - mesh, - identity(mesh.nCells()), - mesh.nCells(), - false, // local only - cellCells - ); + globalMeshData::calcCellCells(mesh, cellCells); return renumberImpl(cellCells); } -- GitLab From 8b793f88668f964ae8cc1c6a675795e20ecd5b05 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 22 Feb 2024 13:56:32 +0100 Subject: [PATCH 073/231] ENH: add global point/face/cell addressing to globalMeshData (#3108) - permits reuse in other places without subsequent communication --- .../polyMesh/globalMeshData/globalMeshData.C | 228 ++++++++++-------- .../polyMesh/globalMeshData/globalMeshData.H | 69 ++++-- .../polyMesh/globalMeshData/globalPoints.C | 4 +- .../polyMesh/globalMeshData/globalPoints.H | 38 +-- .../processorTopology/processorTopology.C | 5 +- .../processorTopology/processorTopology.H | 2 +- 6 files changed, 197 insertions(+), 149 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C index e7a6ee98337..6c9e7c46f82 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C @@ -86,14 +86,9 @@ void Foam::globalMeshData::initProcAddr() processorPatches_.resize(nNeighbours); - if (Pstream::parRun()) + if (UPstream::parRun()) { - PstreamBuffers pBufs - ( - Pstream::commsTypes::nonBlocking, - UPstream::msgType(), - mesh_.comm() - ); + PstreamBuffers pBufs(mesh_.comm()); // Send indices of my processor patches to my neighbours for (const label patchi : processorPatches_) @@ -180,15 +175,11 @@ void Foam::globalMeshData::calcSharedPoints() const if (pPoints.size()+transPPoints.size() > 0) { master[i] = masterNumbering.toGlobal(nMaster); - forAll(pPoints, j) - { - master[pPoints[j]] = master[i]; - } - forAll(transPPoints, j) - { - master[transPPoints[j]] = master[i]; - } - nMaster++; + + labelUIndList(master, pPoints) = master[i]; + labelUIndList(master, transPPoints) = master[i]; + + ++nMaster; } } @@ -325,9 +316,9 @@ void Foam::globalMeshData::calcSharedEdges() const const edgeList& edges = mesh_.edges(); - forAll(edges, edgeI) + forAll(edges, edgei) { - const edge& e = edges[edgeI]; + const edge& e = edges[edgei]; const auto e0Fnd = meshToShared.cfind(e[0]); @@ -343,26 +334,12 @@ void Foam::globalMeshData::calcSharedEdges() const // of the shared points) edge sharedEdge ( - sharedPtAddr[e0Fnd()], - sharedPtAddr[e1Fnd()] + sharedPtAddr[e0Fnd.val()], + sharedPtAddr[e1Fnd.val()] ); - auto iter = localShared.find(sharedEdge); - - if (!iter.good()) - { - // First occurrence of this point combination. Store. - localShared.insert(sharedEdge, labelList(1, edgeI)); - } - else - { - // Add this edge to list of edge labels. - labelList& edgeLabels = iter(); - - const label sz = edgeLabels.size(); - edgeLabels.setSize(sz+1); - edgeLabels[sz] = edgeI; - } + // Add this edge to list of edge labels + localShared(sharedEdge).push_back(edgei); } } } @@ -377,9 +354,9 @@ void Foam::globalMeshData::calcSharedEdges() const // used). But then this only gets done once so not too bothered about the // extra global communication. - EdgeMap<label> globalShared(nGlobalPoints()); + EdgeMap<label> globalShared(2*nGlobalPoints()); - if (Pstream::master()) + if (UPstream::master()) { label sharedEdgeI = 0; @@ -392,13 +369,13 @@ void Foam::globalMeshData::calcSharedEdges() const countSharedEdges(localShared, globalShared, sharedEdgeI); // Receive data and insert - if (Pstream::parRun()) + if (UPstream::parRun()) { - for (const int proci : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { // Receive the edges using shared points from the slave. - IPstream fromProc(Pstream::commsTypes::blocking, proci); - EdgeMap<labelList> procSharedEdges(fromProc); + EdgeMap<labelList> procSharedEdges; + IPstream::recv(procSharedEdges, proci); if (debug) { @@ -415,17 +392,17 @@ void Foam::globalMeshData::calcSharedEdges() const // These were only used once so are not proper shared edges. // Remove them. { - EdgeMap<label> oldSharedEdges(globalShared); - + EdgeMap<label> oldSharedEdges(std::move(globalShared)); globalShared.clear(); forAllConstIters(oldSharedEdges, iter) { - if (iter() != -1) + if (iter.val() != -1) { - globalShared.insert(iter.key(), iter()); + globalShared.insert(iter.key(), iter.val()); } } + if (debug) { Pout<< "globalMeshData::calcSharedEdges : Filtered " @@ -436,15 +413,10 @@ void Foam::globalMeshData::calcSharedEdges() const } else { - if (Pstream::parRun()) + if (UPstream::parRun()) { - // Send local edges to master - OPstream toMaster - ( - Pstream::commsTypes::blocking, - Pstream::masterNo() - ); - toMaster << localShared; + // buffered send local edges to master + OPstream::bsend(localShared, UPstream::masterNo()); } } @@ -484,20 +456,24 @@ void Foam::globalMeshData::calcSharedEdges() const } - sharedEdgeLabelsPtr_.reset(new labelList()); - labelList& sharedEdgeLabels = sharedEdgeLabelsPtr_(); - sharedEdgeLabels.transfer(dynSharedEdgeLabels); + sharedEdgeLabelsPtr_.reset + ( + new labelList(std::move(dynSharedEdgeLabels)) + ); - sharedEdgeAddrPtr_.reset(new labelList()); - labelList& sharedEdgeAddr = sharedEdgeAddrPtr_(); - sharedEdgeAddr.transfer(dynSharedEdgeAddr); + sharedEdgeAddrPtr_.reset + ( + new labelList(std::move(dynSharedEdgeAddr)) + ); if (debug) { Pout<< "globalMeshData : nGlobalEdges_:" << nGlobalEdges_ << nl - << "globalMeshData : sharedEdgeLabels:" << sharedEdgeLabels.size() + << "globalMeshData : sharedEdgeLabels:" + << sharedEdgeLabelsPtr_().size() << nl - << "globalMeshData : sharedEdgeAddr:" << sharedEdgeAddr.size() + << "globalMeshData : sharedEdgeAddr:" + << sharedEdgeAddrPtr_().size() << endl; } } @@ -976,7 +952,7 @@ void Foam::globalMeshData::calcGlobalEdgeSlaves() const } allEdgeConnectivity[edgeI].transfer(eEdges); - sort + Foam::sort ( allEdgeConnectivity[edgeI], globalIndexAndTransform::less(transforms) @@ -1286,6 +1262,8 @@ void Foam::globalMeshData::calcGlobalPointBoundaryFaces() const << endl; } + const label myProci = UPstream::myProcNo(); + // Construct local point to (uncoupled)boundaryfaces. labelListList pointBoundaryFaces; calcPointBoundaryFaces(pointBoundaryFaces); @@ -1296,7 +1274,7 @@ void Foam::globalMeshData::calcGlobalPointBoundaryFaces() const ( new globalIndex(mesh_.nBoundaryFaces()) ); - globalIndex& globalIndices = globalBoundaryFaceNumberingPtr_(); + const auto& globalIndices = *globalBoundaryFaceNumberingPtr_; // Convert local boundary faces to global numbering @@ -1304,17 +1282,15 @@ void Foam::globalMeshData::calcGlobalPointBoundaryFaces() const ( new labelListList(globalPointSlavesMap().constructSize()) ); - labelListList& globalPointBoundaryFaces = globalPointBoundaryFacesPtr_(); + auto& globalPointBoundaryFaces = *globalPointBoundaryFacesPtr_; forAll(pointBoundaryFaces, pointi) { - const labelList& bFaces = pointBoundaryFaces[pointi]; - labelList& globalFaces = globalPointBoundaryFaces[pointi]; - globalFaces.setSize(bFaces.size()); - forAll(bFaces, i) - { - globalFaces[i] = globalIndices.toGlobal(bFaces[i]); - } + globalPointBoundaryFaces[pointi] = globalIndices.toGlobal + ( + myProci, + pointBoundaryFaces[pointi] + ); } @@ -1477,6 +1453,8 @@ void Foam::globalMeshData::calcGlobalPointBoundaryCells() const << endl; } + const label myProci = UPstream::myProcNo(); + // Create map of boundary cells and point-cell addressing // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1526,24 +1504,23 @@ void Foam::globalMeshData::calcGlobalPointBoundaryCells() const ( new globalIndex(boundaryCells.size()) ); - globalIndex& globalIndices = globalBoundaryCellNumberingPtr_(); + const auto& globalIndices = *globalBoundaryCellNumberingPtr_; + // Convert local boundary cells to global numbering globalPointBoundaryCellsPtr_.reset ( new labelListList(globalPointSlavesMap().constructSize()) ); - labelListList& globalPointBoundaryCells = globalPointBoundaryCellsPtr_(); + auto& globalPointBoundaryCells = *globalPointBoundaryCellsPtr_; forAll(pointBoundaryCells, pointi) { - const labelList& pCells = pointBoundaryCells[pointi]; - labelList& globalCells = globalPointBoundaryCells[pointi]; - globalCells.setSize(pCells.size()); - forAll(pCells, i) - { - globalCells[i] = globalIndices.toGlobal(pCells[i]); - } + globalPointBoundaryCells[pointi] = globalIndices.toGlobal + ( + myProci, + pointBoundaryCells[pointi] + ); } @@ -1733,9 +1710,9 @@ void Foam::globalMeshData::calcGlobalCoPointSlaves() const Foam::globalMeshData::globalMeshData(const polyMesh& mesh) : mesh_(mesh), - nTotalPoints_(-1), - nTotalFaces_(-1), - nTotalCells_(-1), + globalMeshPointAddr_(), + globalMeshFaceAddr_(), + globalMeshCellAddr_(), processorTopology_ ( processorTopology::New<processorPolyPatch> @@ -2103,13 +2080,10 @@ const { const labelList& me = coupledPatchMeshEdges(); - coupledPatchMeshEdgeMapPtr_.reset(new Map<label>(2*me.size())); - Map<label>& em = coupledPatchMeshEdgeMapPtr_(); - - forAll(me, i) - { - em.insert(me[i], i); - } + coupledPatchMeshEdgeMapPtr_.reset + ( + new Map<label>(invertToMap(me)) + ); } return *coupledPatchMeshEdgeMapPtr_; } @@ -2715,9 +2689,12 @@ void Foam::globalMeshData::updateMesh() Pout<< "globalMeshData : merge dist:" << tolDim << endl; } + // NOTE + // - revisit the dupComm hack + // - verify if it should be mesh_.comm() instead of worldComm + // *** Temporary hack to avoid problems with overlapping communication // *** between these reductions and the calculation of deltaCoeffs - UPstream::communicator dupComm ( UPstream::worldComm, @@ -2727,25 +2704,72 @@ void Foam::globalMeshData::updateMesh() const label comm = dupComm.comm(); const label oldWarnComm = UPstream::commWarn(comm); - FixedList<label, 3> totals; + if (UPstream::is_parallel(comm)) + { + const label myProci = UPstream::myProcNo(comm); + const label numProc = UPstream::nProcs(comm); - totals[0] = mesh_.nPoints(); - totals[1] = mesh_.nFaces(); - totals[2] = mesh_.nCells(); + // Gather all three sizes together + labelList allSizes(3*numProc); + { + label* tup = allSizes.begin(3*myProci); + tup[0] = mesh_.nPoints(); + tup[1] = mesh_.nFaces(); + tup[2] = mesh_.nCells(); + } - reduce(totals, sumOp<label>(), UPstream::msgType(), comm); + UPstream::mpiAllGather(allSizes.data(), 3, comm); - nTotalPoints_ = totals[0]; - nTotalFaces_ = totals[1]; - nTotalCells_ = totals[2]; + // Extract counts per mesh entity + // TBD: check for label overflow? + + labelList counts(numProc); + for (label proci = 0, idx = 0; proci < numProc; ++proci, idx += 3) + { + counts[proci] = allSizes[idx]; + } + globalMeshPointAddr_.reset(counts); + + for (label proci = 0, idx = 1; proci < numProc; ++proci, idx += 3) + { + counts[proci] = allSizes[idx]; + } + globalMeshFaceAddr_.reset(counts); + + for (label proci = 0, idx = 2; proci < numProc; ++proci, idx += 3) + { + counts[proci] = allSizes[idx]; + } + globalMeshCellAddr_.reset(counts); + } + else + { + globalMeshPointAddr_.reset(globalIndex::gatherNone{}, mesh_.nPoints()); + globalMeshFaceAddr_.reset(globalIndex::gatherNone{}, mesh_.nFaces()); + globalMeshCellAddr_.reset(globalIndex::gatherNone{}, mesh_.nCells()); + } // Restore communicator settings UPstream::commWarn(oldWarnComm); + // OLD CODE: + // FixedList<label, 3> totals; + // totals[0] = mesh_.nPoints(); + // totals[1] = mesh_.nFaces(); + // totals[2] = mesh_.nCells(); + // + // reduce(totals, sumOp<label>(), UPstream::msgType(), comm); + // + // nTotalPoints_ = totals[0]; + // nTotalFaces_ = totals[1]; + // nTotalCells_ = totals[2]; + if (debug) { - Info<< "globalMeshData : Total points/faces/cells : " - << totals << endl; + Info<< "globalMeshData : Total points/faces/cells : (" + << nTotalPoints() << ' ' + << nTotalFaces() << ' ' + << nTotalCells() << ')' << endl; } } diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H index a06582b94eb..306ca8344d5 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H @@ -85,6 +85,7 @@ SourceFiles #define Foam_globalMeshData_H #include "processorTopology.H" +#include "globalIndex.H" #include "labelPair.H" #include "indirectPrimitivePatch.H" @@ -98,7 +99,6 @@ class polyMesh; class mapDistribute; template<class T> class CompactListList; template<class T> class EdgeMap; -class globalIndex; class globalIndexAndTransform; class bitSet; @@ -114,16 +114,18 @@ class globalMeshData const polyMesh& mesh_; - // Data related to the complete mesh + // Data related to the complete mesh - //- Total number of points in the complete mesh - label nTotalPoints_; + //- Global numbering for mesh points. + //- Not compensated for duplicate points! + globalIndex globalMeshPointAddr_; - //- Total number of faces in the complete mesh - label nTotalFaces_; + //- Global numbering for mesh faces. + //- Not compensated for duplicate faces! + globalIndex globalMeshFaceAddr_; - //- Total number of cells in the complete mesh - label nTotalCells_; + //- Global numbering for mesh cells. + globalIndex globalMeshCellAddr_; // Processor patch addressing (be careful if not running in parallel!) @@ -357,24 +359,44 @@ public: return !processorPatches_.empty(); } - //- Return total number of points in decomposed mesh. + //- Global numbering for \b mesh points. + //- Not compensated for duplicate points! + const globalIndex& globalMeshPointAddr() const noexcept + { + return globalMeshPointAddr_; + } + + //- Global numbering for \b mesh faces. + //- Not compensated for duplicate faces! + const globalIndex& globalMeshFaceAddr() const noexcept + { + return globalMeshFaceAddr_; + } + + //- Global numbering for \b mesh cells. + const globalIndex& globalMeshCellAddr() const noexcept + { + return globalMeshCellAddr_; + } + + //- Total global number of \b mesh points. //- Not compensated for duplicate points! label nTotalPoints() const noexcept { - return nTotalPoints_; + return globalMeshPointAddr_.totalSize(); } - //- Return total number of faces in decomposed mesh. + //- Total global number of \b mesh faces. //- Not compensated for duplicate faces! label nTotalFaces() const noexcept { - return nTotalFaces_; + return globalMeshFaceAddr_.totalSize(); } - //- Return total number of cells in decomposed mesh. + //- Total global number of \b mesh cells. label nTotalCells() const noexcept { - return nTotalCells_; + return globalMeshCellAddr_.totalSize(); } @@ -425,7 +447,7 @@ public: const labelList& sharedPointLabels() const; //- Return addressing into the complete globally shared points - // list + //- list // Note: It is assumed that a (never constructed) complete // list of globally shared points exists. The set of shared // points on the current processor is a subset of all shared @@ -435,27 +457,28 @@ public: const labelList& sharedPointAddr() const; //- Return shared point global labels. Tries to read - // 'pointProcAddressing' and returns list or -1 if none - // available. + //- 'pointProcAddressing' and returns list or -1 if none + //- available. const labelList& sharedPointGlobalLabels() const; //- Collect coordinates of shared points on all processors. - // (does parallel communication!) + //- (does parallel communication!) // Note: not valid for cyclicParallel since shared cyclic points // are merged into single global point. (use geometricSharedPoints // instead) pointField sharedPoints() const; //- Like sharedPoints but keeps cyclic points separate. - // (does geometric merging; uses matchTol_*bb as merging tolerance) - // Use sharedPoints() instead. + //- (does geometric merging; uses matchTol_*bb as merging tolerance) + //- Use sharedPoints() instead. pointField geometricSharedPoints() const; // Globally shared edge addressing - //- Return number of globally shared edges. Demand-driven + //- Return number of globally shared edges. + // Demand-driven // calculation so call needs to be synchronous among processors! label nGlobalEdges() const; @@ -464,8 +487,8 @@ public: // calculation so call needs to be synchronous among processors! const labelList& sharedEdgeLabels() const; - //- Return addressing into the complete globally shared edge - // list. The set of shared + //- Return addressing into the complete globally shared edge list. + // The set of shared // edges on the current processor is a subset of all shared // edges. Shared edge addressing gives the index in the // list of all globally shared edges for each of the locally diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C index 25ce60d1c8f..bdd3993d817 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C @@ -1136,8 +1136,8 @@ Foam::globalPoints::globalPoints meshToProcPoint_(nPatchPoints_) { // Empty patch maps to signal storing mesh point labels - Map<label> meshToPatchPoint(0); - labelList patchToMeshPoint(0); + Map<label> meshToPatchPoint; + labelList patchToMeshPoint; calculateSharedPoints ( diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.H b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.H index 84fdd21f677..3d2cb594703 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.H +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.H @@ -76,8 +76,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef globalPoints_H -#define globalPoints_H +#ifndef Foam_globalPoints_H +#define Foam_globalPoints_H #include "DynamicList.H" #include "indirectPrimitivePatch.H" @@ -309,39 +309,41 @@ public: // Access //- Global numbering of untransformed (mesh or patch) points - const globalIndex& globalIndices() const + const globalIndex& globalIndices() const noexcept { return globalIndices_; } //- Global numbering of transformed (mesh or patch) points - const globalIndexAndTransform& globalTransforms() const + const globalIndexAndTransform& globalTransforms() const noexcept { return globalTransforms_; } - //- Non-transformed connected points per point (in mapDistribute - // indices) - const labelListList& pointPoints() const + //- Non-transformed connected points per point + //- (in mapDistribute indices) + const labelListList& pointPoints() const noexcept { return pointPoints_; } - //- Non-transformed connected points per point (in mapDistribute - // indices) - labelListList& pointPoints() + //- Non-transformed connected points per point + //- (in mapDistribute indices) + labelListList& pointPoints() noexcept { return pointPoints_; } - //- Transformed points per point (in mapDistribute indices) - const labelListList& transformedPointPoints() const + //- Transformed points per point + //- (in mapDistribute indices) + const labelListList& transformedPointPoints() const noexcept { return transformedPointPoints_; } - //- Transformed points per point (in mapDistribute indices) - labelListList& transformedPointPoints() + //- Transformed points per point + //- (in mapDistribute indices) + labelListList& transformedPointPoints() noexcept { return transformedPointPoints_; } @@ -359,14 +361,14 @@ public: } //- From (mesh or patch) point to index in procPoints - const Map<label>& meshToProcPoint() const + const Map<label>& meshToProcPoint() const noexcept { return meshToProcPoint_; } - //- procPoints is per point the connected points (in - // globalTransformAndIndex point numbers) - const DynamicList<labelPairList>& procPoints() const + //- The procPoints are per point the connected points + //- (in globalTransformAndIndex point numbers) + const DynamicList<labelPairList>& procPoints() const noexcept { return procPoints_; } diff --git a/src/OpenFOAM/parallel/processorTopology/processorTopology.C b/src/OpenFOAM/parallel/processorTopology/processorTopology.C index 4689d7b38ef..1f09f546b0a 100644 --- a/src/OpenFOAM/parallel/processorTopology/processorTopology.C +++ b/src/OpenFOAM/parallel/processorTopology/processorTopology.C @@ -26,13 +26,12 @@ License \*---------------------------------------------------------------------------*/ #include "processorTopology.H" -#include "Pstream.H" +#include "Pstream.H" // For allGatherList() // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::processorTopology::processorTopology() +Foam::processorTopology::processorTopology() noexcept : - procPatchMap_(0), comm_(UPstream::worldComm) {} diff --git a/src/OpenFOAM/parallel/processorTopology/processorTopology.H b/src/OpenFOAM/parallel/processorTopology/processorTopology.H index 8a15d6ebed1..cb33005aa0c 100644 --- a/src/OpenFOAM/parallel/processorTopology/processorTopology.H +++ b/src/OpenFOAM/parallel/processorTopology/processorTopology.H @@ -118,7 +118,7 @@ public: // Constructors //- Default construct (empty) - processorTopology(); + processorTopology() noexcept; // Static Functions -- GitLab From 46e0ef92d3a3f3aa4f0c905d7d016bf55d728b9d Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 28 Feb 2024 09:08:07 +0000 Subject: [PATCH 074/231] STYLE: spelling --- etc/caseDicts/annotated/sampleDict | 2 +- .../combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/caseDicts/annotated/sampleDict b/etc/caseDicts/annotated/sampleDict index 98f4fef0665..81c9884e628 100644 --- a/etc/caseDicts/annotated/sampleDict +++ b/etc/caseDicts/annotated/sampleDict @@ -72,7 +72,7 @@ fields // midPoint one point per cell, inbetween two face intersections // midPointAndFace combination of face and midPoint // -// polyLine specified points, not nessecary on line, uses +// polyLine specified points, not necessary on line, uses // tracking // cloud specified points, uses findCell // triSurfaceMeshPointSet points of triSurface diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict index fbc05bdb230..f757d8be6d7 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict @@ -62,7 +62,7 @@ fields // midPoint one point per cell, inbetween two face intersections // midPointAndFace combination of face and midPoint // -// curve specified points, not nessecary on line, uses +// curve specified points, not necessary on line, uses // tracking // cloud specified points, uses findCell // -- GitLab From 9de77857a6d334677cc338da9b3ce23e7bea12cb Mon Sep 17 00:00:00 2001 From: Martin Lichtmes <> Date: Tue, 5 Mar 2024 15:19:29 +0100 Subject: [PATCH 075/231] ENH: add surface patch index to surfaceCheck output - makes it somewhat easier to find a correspondence of patch names and patch index (for paraview) --- .../utilities/surface/surfaceCheck/surfaceCheck.C | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C index fd6e5dbbca8..7c6be507e17 100644 --- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C +++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -413,7 +413,7 @@ int main(int argc, char *argv[]) // ~~~~~~~~~~~~ { - labelList regionSize(surf.patches().size(), Zero); + labelList regionSize(surf.patches().size(), Foam::zero{}); forAll(surf, facei) { @@ -433,11 +433,12 @@ int main(int argc, char *argv[]) } } - Info<< "Region\tSize" << nl - << "------\t----" << nl; + Info<< "Index\tRegion\tSize" << nl + << "-----\t------\t----" << nl; forAll(surf.patches(), patchi) { - Info<< surf.patches()[patchi].name() << '\t' + Info<< patchi << '\t' + << surf.patches()[patchi].name() << '\t' << regionSize[patchi] << nl; } Info<< nl << endl; -- GitLab From b393d6eca12e8be0067b1611a4cb5a44c35b473a Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Fri, 19 Jan 2024 15:44:04 +0000 Subject: [PATCH 076/231] STYLE: finiteArea: add/fix comments STYLE: finiteArea: consistent use of =delete for removed ctors/assignments --- src/finiteArea/areaMesh/areaFaMesh.H | 15 ++-------- .../distributed/faMeshDistributor.H | 1 + src/finiteArea/edgeMesh/edgeFaMesh.H | 16 +++-------- src/finiteArea/faMatrices/faMatrix/faMatrix.C | 4 +-- .../faGlobalMeshData/faGlobalMeshData.H | 14 +++++----- src/finiteArea/faMesh/faMesh.H | 15 ++++++---- src/finiteArea/faMesh/faMeshLduAddressing.H | 6 ++-- .../faMesh/faMeshMapper/faAreaMapper.H | 17 ++++++----- .../faMesh/faMeshMapper/faEdgeMapper.C | 1 - .../faMesh/faMeshMapper/faEdgeMapper.H | 20 ++++++------- .../faMesh/faMeshMapper/faMeshMapper.H | 8 +++--- .../faMesh/faMeshMapper/faPatchMapper.H | 18 ++++++------ .../faMesh/faMeshSubset/faMeshSubset.H | 14 ++++++---- src/finiteArea/faSolution/faSolution.H | 10 ++++--- .../constraint/cyclic/cyclicFaPatchField.H | 2 +- .../faPatchField/faPatchFieldMapperPatchRef.H | 2 +- .../constraint/cyclic/cyclicFaePatchField.H | 2 +- .../faConvectionScheme/faConvectionScheme.H | 27 +++++++++--------- .../gaussFaConvectionScheme.H | 17 +++++------ .../EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.H | 15 ++++++---- .../faD2dt2Scheme/faD2dt2Scheme.C | 3 -- .../faD2dt2Scheme/faD2dt2Scheme.H | 28 +++++++++---------- .../EulerFaDdtScheme/EulerFaDdtScheme.H | 14 +++++----- .../backwardFaDdtScheme/backwardFaDdtScheme.H | 15 ++++++---- .../boundedBackwardFaDdtScheme.H | 14 ++++++---- .../ddtSchemes/faDdtScheme/faDdtScheme.H | 28 +++++++++---------- .../steadyStateFaDdtScheme.H | 14 +++++----- .../divSchemes/faDivScheme/faDivScheme.H | 25 ++++++++--------- .../gaussFaDivScheme/gaussFaDivScheme.H | 14 +++++----- .../finiteArea/faSchemes/faSchemes.H | 10 ++++--- src/finiteArea/finiteArea/fac/facAverage.H | 1 - src/finiteArea/finiteArea/fac/facDdt.H | 1 - src/finiteArea/finiteArea/fac/facDiv.H | 1 - .../finiteArea/fac/facEdgeIntegrate.H | 1 - src/finiteArea/finiteArea/fac/facGrad.H | 1 - src/finiteArea/finiteArea/fac/facLaplacian.H | 1 - src/finiteArea/finiteArea/fac/facLnGrad.H | 1 - .../gradSchemes/faGradScheme/faGradScheme.H | 24 ++++++++-------- .../gradSchemes/gaussFaGrad/gaussFaGrad.H | 14 +++++----- .../leastSquaresFaGrad/leastSquaresFaGrad.H | 14 +++++----- .../leastSquaresFaVectors.H | 4 +-- .../edgeLimitedFaGrad/edgeLimitedFaGrad.H | 15 ++++++---- .../faceLimitedFaGrad/faceLimitedFaGrad.H | 15 +++++----- .../faLaplacianScheme/faLaplacianScheme.H | 18 ++++++------ .../gaussFaLaplacianScheme.H | 14 +++++----- .../correctedLnGrad/correctedLnGrad.H | 15 ++++++---- .../lnGradSchemes/fourthLnGrad/fourthLnGrad.H | 20 ++++++------- .../limitedLnGrad/limitedLnGrad.C | 2 +- .../limitedLnGrad/limitedLnGrad.H | 17 ++++++----- .../lnGradSchemes/lnGradScheme/lnGradScheme.H | 28 +++++++++---------- .../uncorrectedLnGrad/uncorrectedLnGrad.H | 20 ++++++------- .../edgeInterpolation/edgeInterpolate.C | 20 ++++++------- .../edgeInterpolation/edgeInterpolation.H | 14 +++++++--- .../edgeInterpolationScheme.H | 24 ++++++++-------- .../edgeInterpolation/schemes/Gamma/Gamma.H | 6 +++- .../schemes/NVDscheme/faNVDscheme.H | 17 +++++------ .../blended/blendedEdgeInterpolation.H | 17 +++++------ .../leastSquaresEdgeInterpolation.H | 16 +++++++---- .../schemes/linear/linearEdgeInterpolation.H | 14 ++++++---- .../schemes/linearUpwind/linearUpwind.H | 10 ++++++- .../skewCorrectedEdgeInterpolation.H | 20 +++++++------ .../schemes/upwind/upwindEdgeInterpolation.H | 18 +++++++----- src/finiteArea/output/ensight/ensightFaMesh.H | 7 +++-- 63 files changed, 419 insertions(+), 380 deletions(-) diff --git a/src/finiteArea/areaMesh/areaFaMesh.H b/src/finiteArea/areaMesh/areaFaMesh.H index 0a9cea06d47..039a574c7c1 100644 --- a/src/finiteArea/areaMesh/areaFaMesh.H +++ b/src/finiteArea/areaMesh/areaFaMesh.H @@ -69,22 +69,13 @@ public: // Member Functions //- Return size. Number of faces - static label size(const Mesh& mesh) - { - return mesh.nFaces(); - } + static label size(const Mesh& mesh) { return mesh.nFaces(); } //- Return size. Number of faces - label size() const - { - return size(mesh_); - } + label size() const { return size(mesh_); } //- Field of face centres - const areaVectorField& C() const - { - return mesh_.areaCentres(); - } + const areaVectorField& C() const { return mesh_.areaCentres(); } }; diff --git a/src/finiteArea/distributed/faMeshDistributor.H b/src/finiteArea/distributed/faMeshDistributor.H index 52f2c4d8259..05f40ab9ccf 100644 --- a/src/finiteArea/distributed/faMeshDistributor.H +++ b/src/finiteArea/distributed/faMeshDistributor.H @@ -99,6 +99,7 @@ class faMeshDistributor //- Debug: check addressing void checkAddressing() const; + //- Construct reconstruct mapping static mapDistributePolyMesh createReconstructMap ( const faMesh& mesh, diff --git a/src/finiteArea/edgeMesh/edgeFaMesh.H b/src/finiteArea/edgeMesh/edgeFaMesh.H index e726f628810..214af6a9c74 100644 --- a/src/finiteArea/edgeMesh/edgeFaMesh.H +++ b/src/finiteArea/edgeMesh/edgeFaMesh.H @@ -65,25 +65,17 @@ public: GeoMesh<faMesh>(mesh) {} + // Member Functions //- Return size. Number of internal edges - static label size(const Mesh& mesh) - { - return mesh.nInternalEdges(); - } + static label size(const Mesh& mesh) { return mesh.nInternalEdges(); } //- Return size. Number of internal edges - label size() const - { - return size(mesh_); - } + label size() const { return size(mesh_); } //- Field of edge centres - const edgeVectorField& C() const - { - return mesh_.edgeCentres(); - } + const edgeVectorField& C() const { return mesh_.edgeCentres(); } }; diff --git a/src/finiteArea/faMatrices/faMatrix/faMatrix.C b/src/finiteArea/faMatrices/faMatrix/faMatrix.C index 4d06db262d2..ca564e8d7cc 100644 --- a/src/finiteArea/faMatrices/faMatrix/faMatrix.C +++ b/src/finiteArea/faMatrices/faMatrix/faMatrix.C @@ -50,7 +50,7 @@ void Foam::faMatrix<Type>::addToInternalField { FatalErrorInFunction << "addressing (" << addr.size() - << ") and field (" << pf.size() << ") are different sizes" << endl + << ") and field (" << pf.size() << ") are different sizes" << abort(FatalError); } @@ -88,7 +88,7 @@ void Foam::faMatrix<Type>::subtractFromInternalField { FatalErrorInFunction << "addressing (" << addr.size() - << ") and field (" << pf.size() << ") are different sizes" << endl + << ") and field (" << pf.size() << ") are different sizes" << abort(FatalError); } diff --git a/src/finiteArea/faMesh/faGlobalMeshData/faGlobalMeshData.H b/src/finiteArea/faMesh/faGlobalMeshData/faGlobalMeshData.H index c494e22f535..ea6da26d7fd 100644 --- a/src/finiteArea/faMesh/faGlobalMeshData/faGlobalMeshData.H +++ b/src/finiteArea/faMesh/faGlobalMeshData/faGlobalMeshData.H @@ -77,7 +77,13 @@ class faGlobalMeshData labelList sharedPointAddr_; - // Private Member Functions +public: + + //- Runtime type information + ClassName("faGlobalMeshData"); + + + // Generated Methods //- No copy construct faGlobalMeshData(const faGlobalMeshData&) = delete; @@ -86,12 +92,6 @@ class faGlobalMeshData void operator=(const faGlobalMeshData&) = delete; -public: - - //- Runtime type information - ClassName("faGlobalMeshData"); - - // Constructors //- Construct from mesh diff --git a/src/finiteArea/faMesh/faMesh.H b/src/finiteArea/faMesh/faMesh.H index ce875b9a794..f5879735308 100644 --- a/src/finiteArea/faMesh/faMesh.H +++ b/src/finiteArea/faMesh/faMesh.H @@ -332,12 +332,6 @@ class faMesh // Private Member Functions - //- No copy construct - faMesh(const faMesh&) = delete; - - //- No copy assignment - void operator=(const faMesh&) = delete; - //- Set indirect patch, removing any old one. // No communication void initPatch() const; @@ -524,6 +518,15 @@ public: static word meshSubDir; + // Generated Methods + + //- No copy construct + faMesh(const faMesh&) = delete; + + //- No copy assignment + void operator=(const faMesh&) = delete; + + // Constructors //- Read construct from polyMesh, using its IOobject properties diff --git a/src/finiteArea/faMesh/faMeshLduAddressing.H b/src/finiteArea/faMesh/faMeshLduAddressing.H index 28981c11c8b..3e6d41e3e56 100644 --- a/src/finiteArea/faMesh/faMeshLduAddressing.H +++ b/src/finiteArea/faMesh/faMeshLduAddressing.H @@ -73,7 +73,9 @@ class faMeshLduAddressing const lduSchedule& patchSchedule_; - // Private Member Functions +public: + + // Generated Methods //- No copy construct faMeshLduAddressing(const faMeshLduAddressing&) = delete; @@ -82,8 +84,6 @@ class faMeshLduAddressing void operator=(const faMeshLduAddressing&) = delete; -public: - // Constructors //- Construct from components diff --git a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H index e13c97c6bf6..ee7a9504849 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H @@ -60,7 +60,7 @@ class faAreaMapper : public morphFieldMapper { - // Private data + // Private Data //- Reference to mesh mapper const faMesh& mesh_; @@ -101,12 +101,6 @@ class faAreaMapper // Private Member Functions - //- No copy construct - faAreaMapper(const faAreaMapper&) = delete; - - //- No copy assignment - void operator=(const faAreaMapper&) = delete; - //- Calculate addressing void calcAddressing() const; @@ -116,6 +110,15 @@ class faAreaMapper public: + // Generated Methods + + //- No copy construct + faAreaMapper(const faAreaMapper&) = delete; + + //- No copy assignment + void operator=(const faAreaMapper&) = delete; + + //- Construct from components faAreaMapper ( diff --git a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C index dd0684a39c5..582faf239a3 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C @@ -63,7 +63,6 @@ Foam::faEdgeMapper::faEdgeMapper ) : mesh_(mesh), -// mpm_(mpm), sizeBeforeMapping_(mesh.nInternalEdges()), hasUnmapped_(false), directAddrPtr_(nullptr) diff --git a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H index 267790b7d26..f01ef5ea977 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H @@ -61,14 +61,11 @@ class faEdgeMapper : public morphFieldMapper { - // Private data + // Private Data //- Reference to mesh const faMesh& mesh_; - //- Reference to mapPolyMesh - //const mapPolyMesh& mpm_; - //- Old mesh size label sizeBeforeMapping_; @@ -83,12 +80,6 @@ class faEdgeMapper // Private Member Functions - //- No copy construct - faEdgeMapper(const faEdgeMapper&) = delete; - - //- No copy assignment - void operator=(const faEdgeMapper&) = delete; - //- Calculate addressing void calcAddressing() const; @@ -98,6 +89,15 @@ class faEdgeMapper public: + // Generated Methods + + //- No copy construct + faEdgeMapper(const faEdgeMapper&) = delete; + + //- No copy assignment + void operator=(const faEdgeMapper&) = delete; + + //- Construct from components faEdgeMapper ( diff --git a/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.H b/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.H index aaef4826d8e..16760b12e67 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.H @@ -68,7 +68,7 @@ class mapPolyMesh; class faMeshMapper { - // Private data + // Private Data //- Reference to mesh const faMesh& mesh_; @@ -110,7 +110,9 @@ class faMeshMapper faBoundaryMeshMapper boundaryMap_; - // Private Member Functions +public: + + // Generated Methods //- No copy construct faMeshMapper(const faMeshMapper&) = delete; @@ -119,8 +121,6 @@ class faMeshMapper void operator=(const faMeshMapper&) = delete; -public: - // Constructors //- Construct from components diff --git a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H index 764ecd34a44..ec35ef13105 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H @@ -64,7 +64,7 @@ class faPatchMapper : public faPatchFieldMapper { - // Private data + // Private Data //- Reference to patch const faPatch& patch_; @@ -89,13 +89,6 @@ class faPatchMapper // Private Member Functions - //- No copy construct - faPatchMapper(const faPatchMapper&) = delete; - - //- No copy assignment - void operator=(const faPatchMapper&) = delete; - - //- Calculate addressing for mapping with inserted cells void calcAddressing() const; @@ -105,6 +98,15 @@ class faPatchMapper public: + // Generated Methods + + //- No copy construct + faPatchMapper(const faPatchMapper&) = delete; + + //- No copy assignment + void operator=(const faPatchMapper&) = delete; + + //- Construct from mappers faPatchMapper ( diff --git a/src/finiteArea/faMesh/faMeshSubset/faMeshSubset.H b/src/finiteArea/faMesh/faMeshSubset/faMeshSubset.H index 0617e7e7d6a..3c4c3b217f9 100644 --- a/src/finiteArea/faMesh/faMeshSubset/faMeshSubset.H +++ b/src/finiteArea/faMesh/faMeshSubset/faMeshSubset.H @@ -102,12 +102,6 @@ protected: //- FatalError if subset has not been performed bool checkHasSubMesh() const; - //- No copy construct - faMeshSubset(const faMeshSubset&) = delete; - - //- No copy assignment - void operator=(const faMeshSubset&) = delete; - public: @@ -116,6 +110,14 @@ public: //- Name for exposed internal edges (default: oldInternalEdges) static word exposedPatchName; + // Generated Methods + + //- No copy construct + faMeshSubset(const faMeshSubset&) = delete; + + //- No copy assignment + void operator=(const faMeshSubset&) = delete; + // Constructors diff --git a/src/finiteArea/faSolution/faSolution.H b/src/finiteArea/faSolution/faSolution.H index ded55b74311..c3e4772b0d3 100644 --- a/src/finiteArea/faSolution/faSolution.H +++ b/src/finiteArea/faSolution/faSolution.H @@ -61,11 +61,13 @@ class faSolution { public: - //- No copy construct - faSolution(const faSolution&) = delete; + // Generated Methods - //- No copy assignment - void operator=(const faSolution&) = delete; + //- No copy construct + faSolution(const faSolution&) = delete; + + //- No copy assignment + void operator=(const faSolution&) = delete; // Constructors diff --git a/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.H index 5ac2a891c5e..7a6f8e158cd 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.H @@ -68,7 +68,7 @@ class cyclicFaPatchField const cyclicFaPatch& cyclicPatch_; - // Private member functions + // Private Member Functions //- Return neighbour side field given internal fields template<class Type2> diff --git a/src/finiteArea/fields/faPatchFields/faPatchField/faPatchFieldMapperPatchRef.H b/src/finiteArea/fields/faPatchFields/faPatchField/faPatchFieldMapperPatchRef.H index fc0bb216a62..ba6e52aa05e 100644 --- a/src/finiteArea/fields/faPatchFields/faPatchField/faPatchFieldMapperPatchRef.H +++ b/src/finiteArea/fields/faPatchFields/faPatchField/faPatchFieldMapperPatchRef.H @@ -48,7 +48,7 @@ class faPatchFieldMapperPatchRef : public faPatchFieldMapper { - // Private data + // Private Data const faPatch& sourcePatch_; const faPatch& targetPatch_; diff --git a/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchField.H b/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchField.H index 3993605ab30..77dd9189186 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/constraint/cyclic/cyclicFaePatchField.H @@ -59,7 +59,7 @@ class cyclicFaePatchField : public coupledFaePatchField<Type> { - // Private data + // Private Data //- Local reference cast into the cyclic patch const cyclicFaPatch& cyclicPatch_; diff --git a/src/finiteArea/finiteArea/convectionSchemes/faConvectionScheme/faConvectionScheme.H b/src/finiteArea/finiteArea/convectionSchemes/faConvectionScheme/faConvectionScheme.H index ae2673c8fc6..43e0f9d67b5 100644 --- a/src/finiteArea/finiteArea/convectionSchemes/faConvectionScheme/faConvectionScheme.H +++ b/src/finiteArea/finiteArea/convectionSchemes/faConvectionScheme/faConvectionScheme.H @@ -48,6 +48,7 @@ SourceFiles namespace Foam { +// Forward Declarations template<class Type> class faMatrix; @@ -67,20 +68,12 @@ class convectionScheme : public refCount { - // Private data + // Private Data + //- Reference to mesh const faMesh& mesh_; - // Private Member Functions - - //- No copy construct - convectionScheme(const convectionScheme&) = delete; - - //- No copy assignment - void operator=(const convectionScheme&) = delete; - - public: // Declare run-time constructor selection tables @@ -99,6 +92,15 @@ public: ); + // Generated Methods + + //- No copy construct + convectionScheme(const convectionScheme&) = delete; + + //- No copy assignment + void operator=(const convectionScheme&) = delete; + + // Constructors //- Construct from mesh, flux and Istream @@ -130,10 +132,7 @@ public: // Member Functions //- Return mesh reference - const faMesh& mesh() const - { - return mesh_; - } + const faMesh& mesh() const noexcept { return mesh_; } virtual tmp<GeometricField<Type, faePatchField, edgeMesh>> flux ( diff --git a/src/finiteArea/finiteArea/convectionSchemes/gaussFaConvectionScheme/gaussFaConvectionScheme.H b/src/finiteArea/finiteArea/convectionSchemes/gaussFaConvectionScheme/gaussFaConvectionScheme.H index be22ae9dbc1..b3b46da0f96 100644 --- a/src/finiteArea/finiteArea/convectionSchemes/gaussFaConvectionScheme/gaussFaConvectionScheme.H +++ b/src/finiteArea/finiteArea/convectionSchemes/gaussFaConvectionScheme/gaussFaConvectionScheme.H @@ -60,12 +60,19 @@ class gaussConvectionScheme : public fa::convectionScheme<Type> { - // Private data + // Private Data + //- Edge-interpolation scheme tmp<edgeInterpolationScheme<Type>> tinterpScheme_; - // Private Member Functions +public: + + //- Runtime type information + TypeName("Gauss"); + + + // Generated Methods //- No copy construct gaussConvectionScheme(const gaussConvectionScheme&) = delete; @@ -74,12 +81,6 @@ class gaussConvectionScheme void operator=(const gaussConvectionScheme&) = delete; -public: - - //- Runtime type information - TypeName("Gauss"); - - // Constructors //- Construct from flux and interpolation scheme diff --git a/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.H b/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.H index f25ca65a793..584114c2fa4 100644 --- a/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.H +++ b/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.H @@ -67,12 +67,6 @@ class EulerFaD2dt2Scheme //- Return the previous time-step scalar deltaT0_() const; - //- No copy construct - EulerFaD2dt2Scheme(const EulerFaD2dt2Scheme&) = delete; - - //- No copy assignment - void operator=(const EulerFaD2dt2Scheme&) = delete; - public: @@ -80,6 +74,15 @@ public: TypeName("Euler"); + // Generated Methods + + //- No copy construct + EulerFaD2dt2Scheme(const EulerFaD2dt2Scheme&) = delete; + + //- No copy assignment + void operator=(const EulerFaD2dt2Scheme&) = delete; + + // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C b/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C index 2f33acefcf4..6f0d7a84b5d 100644 --- a/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C +++ b/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C @@ -24,9 +24,6 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. -Description - Abstract base class for finite area d2dt2 schemes. - \*---------------------------------------------------------------------------*/ #include "fa.H" diff --git a/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H b/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H index 1b679b5f7ea..96a2b5d4e33 100644 --- a/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H +++ b/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H @@ -49,6 +49,7 @@ SourceFiles namespace Foam { +// Forward Declarations template<class Type> class faMatrix; @@ -68,23 +69,14 @@ class faD2dt2Scheme : public refCount { - protected: - // Protected data + // Protected Data + //- Reference to mesh const faMesh& mesh_; - // Private Member Functions - - //- No copy construct - faD2dt2Scheme(const faD2dt2Scheme&) = delete; - - //- No copy assignment - void operator=(const faD2dt2Scheme&) = delete; - - public: //- Runtime type information @@ -103,6 +95,15 @@ public: ); + // Generated Methods + + //- No copy construct + faD2dt2Scheme(const faD2dt2Scheme&) = delete; + + //- No copy assignment + void operator=(const faD2dt2Scheme&) = delete; + + // Constructors //- Construct from mesh @@ -135,10 +136,7 @@ public: // Member Functions //- Return mesh reference - const faMesh& mesh() const - { - return mesh_; - } + const faMesh& mesh() const noexcept { return mesh_; } virtual tmp<GeometricField<Type, faPatchField, areaMesh>> facD2dt2 ( diff --git a/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.H b/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.H index 6d0d96c1405..834cc62a23e 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.H +++ b/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.H @@ -59,7 +59,13 @@ class EulerFaDdtScheme : public fa::faDdtScheme<Type> { - // Private Member Functions +public: + + //- Runtime type information + TypeName("Euler"); + + + // Generated Methods //- No copy construct EulerFaDdtScheme(const EulerFaDdtScheme&) = delete; @@ -68,12 +74,6 @@ class EulerFaDdtScheme void operator=(const EulerFaDdtScheme&) = delete; -public: - - //- Runtime type information - TypeName("Euler"); - - // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.H b/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.H index e2bff705188..54fcb89e4e9 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.H +++ b/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.H @@ -72,12 +72,6 @@ class backwardFaDdtScheme template<class GeoField> scalar deltaT0_(const GeoField&) const; - //- No copy construct - backwardFaDdtScheme(const backwardFaDdtScheme&) = delete; - - //- No copy assignment - void operator=(const backwardFaDdtScheme&) = delete; - public: @@ -85,6 +79,15 @@ public: TypeName("backward"); + // Generated Methods + + //- No copy construct + backwardFaDdtScheme(const backwardFaDdtScheme&) = delete; + + //- No copy assignment + void operator=(const backwardFaDdtScheme&) = delete; + + // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.H b/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.H index 02163a746be..97d501734b5 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.H +++ b/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.H @@ -83,6 +83,14 @@ class boundedBackwardFaDdtScheme } +public: + + //- Runtime type information + TypeName("boundedBackward"); + + + // Generated Methods + //- No copy construct boundedBackwardFaDdtScheme(const boundedBackwardFaDdtScheme&) = delete; @@ -90,12 +98,6 @@ class boundedBackwardFaDdtScheme void operator=(const boundedBackwardFaDdtScheme&) = delete; -public: - - //- Runtime type information - TypeName("boundedBackward"); - - // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H b/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H index 3415c5332e5..59020f11434 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H +++ b/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H @@ -49,6 +49,7 @@ SourceFiles namespace Foam { +// Forward Declarations template<class Type> class faMatrix; @@ -68,23 +69,14 @@ class faDdtScheme : public refCount { - protected: - // Protected data + // Protected Data + //- Reference to mesh const faMesh& mesh_; - // Private Member Functions - - //- No copy construct - faDdtScheme(const faDdtScheme&) = delete; - - //- No copy assignment - void operator=(const faDdtScheme&) = delete; - - public: //- Runtime type information @@ -103,6 +95,15 @@ public: ); + // Generated Methods + + //- No copy construct + faDdtScheme(const faDdtScheme&) = delete; + + //- No copy assignment + void operator=(const faDdtScheme&) = delete; + + // Constructors //- Construct from mesh @@ -135,10 +136,7 @@ public: // Member Functions //- Return mesh reference - const faMesh& mesh() const - { - return mesh_; - } + const faMesh& mesh() const noexcept { return mesh_; } virtual tmp<GeometricField<Type, faPatchField, areaMesh>> facDdt ( diff --git a/src/finiteArea/finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtScheme.H b/src/finiteArea/finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtScheme.H index af83dcc556c..48704d0d192 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtScheme.H +++ b/src/finiteArea/finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtScheme.H @@ -58,7 +58,13 @@ class steadyStateFaDdtScheme : public fa::faDdtScheme<Type> { - // Private Member Functions +public: + + //- Runtime type information + TypeName("steadyState"); + + + // Generated Methods //- No copy construct steadyStateFaDdtScheme(const steadyStateFaDdtScheme&) = delete; @@ -67,12 +73,6 @@ class steadyStateFaDdtScheme void operator=(const steadyStateFaDdtScheme&) = delete; -public: - - //- Runtime type information - TypeName("steadyState"); - - // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H index 47414a91231..fb8bb441da7 100644 --- a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H +++ b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H @@ -72,20 +72,13 @@ protected: // Protected Data + //- Reference to mesh const faMesh& mesh_; + //- Edge interpolation scheme tmp<edgeInterpolationScheme<Type>> tinterpScheme_; - // Private Member Functions - - //- No copy construct - divScheme(const divScheme&) = delete; - - //- No copy assignment - void operator=(const divScheme&) = delete; - - public: // Declare run-time constructor selection tables @@ -100,6 +93,15 @@ public: ); + // Generated Methods + + //- No copy construct + divScheme(const divScheme&) = delete; + + //- No copy assignment + void operator=(const divScheme&) = delete; + + // Constructors //- Construct from mesh @@ -148,10 +150,7 @@ public: // Member Functions //- Return mesh reference - const faMesh& mesh() const - { - return mesh_; - } + const faMesh& mesh() const noexcept { return mesh_; } virtual tmp < diff --git a/src/finiteArea/finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivScheme.H b/src/finiteArea/finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivScheme.H index 98e834128fe..7217f80acc2 100644 --- a/src/finiteArea/finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivScheme.H +++ b/src/finiteArea/finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivScheme.H @@ -59,7 +59,13 @@ class gaussDivScheme : public fa::divScheme<Type> { - // Private Member Functions +public: + + //- Runtime type information + TypeName("Gauss"); + + + // Generated Methods //- No copy construct gaussDivScheme(const gaussDivScheme&) = delete; @@ -68,12 +74,6 @@ class gaussDivScheme void operator=(const gaussDivScheme&) = delete; -public: - - //- Runtime type information - TypeName("Gauss"); - - // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/faSchemes/faSchemes.H b/src/finiteArea/finiteArea/faSchemes/faSchemes.H index 8647069ad3c..0d666c3c968 100644 --- a/src/finiteArea/finiteArea/faSchemes/faSchemes.H +++ b/src/finiteArea/finiteArea/faSchemes/faSchemes.H @@ -61,11 +61,13 @@ class faSchemes { public: - //- No copy construct - faSchemes(const faSchemes&) = delete; + // Generated Methods - //- No copy assignment - void operator=(const faSchemes&) = delete; + //- No copy construct + faSchemes(const faSchemes&) = delete; + + //- No copy assignment + void operator=(const faSchemes&) = delete; // Constructors diff --git a/src/finiteArea/finiteArea/fac/facAverage.H b/src/finiteArea/finiteArea/fac/facAverage.H index 5ff0a1993af..1aac0cdb272 100644 --- a/src/finiteArea/finiteArea/fac/facAverage.H +++ b/src/finiteArea/finiteArea/fac/facAverage.H @@ -34,7 +34,6 @@ SourceFiles \*---------------------------------------------------------------------------*/ - #ifndef facAverage_H #define facAverage_H diff --git a/src/finiteArea/finiteArea/fac/facDdt.H b/src/finiteArea/finiteArea/fac/facDdt.H index 64c6d35d760..2b9c872477b 100644 --- a/src/finiteArea/finiteArea/fac/facDdt.H +++ b/src/finiteArea/finiteArea/fac/facDdt.H @@ -37,7 +37,6 @@ Author \*---------------------------------------------------------------------------*/ - #ifndef facDdt_H #define facDdt_H diff --git a/src/finiteArea/finiteArea/fac/facDiv.H b/src/finiteArea/finiteArea/fac/facDiv.H index d98e2d4ca7b..b3f4ecadba7 100644 --- a/src/finiteArea/finiteArea/fac/facDiv.H +++ b/src/finiteArea/finiteArea/fac/facDiv.H @@ -34,7 +34,6 @@ SourceFiles \*---------------------------------------------------------------------------*/ - #ifndef facDiv_H #define facDiv_H diff --git a/src/finiteArea/finiteArea/fac/facEdgeIntegrate.H b/src/finiteArea/finiteArea/fac/facEdgeIntegrate.H index d7acc4231c2..b9a1d887c7a 100644 --- a/src/finiteArea/finiteArea/fac/facEdgeIntegrate.H +++ b/src/finiteArea/finiteArea/fac/facEdgeIntegrate.H @@ -35,7 +35,6 @@ SourceFiles \*---------------------------------------------------------------------------*/ - #ifndef facEdgeIntegrate_H #define facEdgeIntegrate_H diff --git a/src/finiteArea/finiteArea/fac/facGrad.H b/src/finiteArea/finiteArea/fac/facGrad.H index 29c9d4ef0c8..89e60708343 100644 --- a/src/finiteArea/finiteArea/fac/facGrad.H +++ b/src/finiteArea/finiteArea/fac/facGrad.H @@ -34,7 +34,6 @@ SourceFiles \*---------------------------------------------------------------------------*/ - #ifndef facGrad_H #define facGrad_H diff --git a/src/finiteArea/finiteArea/fac/facLaplacian.H b/src/finiteArea/finiteArea/fac/facLaplacian.H index 0e29d7c97db..53697dcdce6 100644 --- a/src/finiteArea/finiteArea/fac/facLaplacian.H +++ b/src/finiteArea/finiteArea/fac/facLaplacian.H @@ -34,7 +34,6 @@ SourceFiles \*---------------------------------------------------------------------------*/ - #ifndef facLaplacian_H #define facLaplacian_H diff --git a/src/finiteArea/finiteArea/fac/facLnGrad.H b/src/finiteArea/finiteArea/fac/facLnGrad.H index 8a136ed844a..cfc3cbb1118 100644 --- a/src/finiteArea/finiteArea/fac/facLnGrad.H +++ b/src/finiteArea/finiteArea/fac/facLnGrad.H @@ -34,7 +34,6 @@ SourceFiles \*---------------------------------------------------------------------------*/ - #ifndef facLnGrad_H #define facLnGrad_H diff --git a/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H b/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H index e6f2bac9c1e..07dc9cdb854 100644 --- a/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H +++ b/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H @@ -50,6 +50,7 @@ SourceFiles namespace Foam { +// Forward Declarations class faMesh; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,20 +67,12 @@ class gradScheme : public refCount { - // Private data + // Private Data + //- Reference to mesh const faMesh& mesh_; - // Private Member Functions - - //- No copy construct - gradScheme(const gradScheme&) = delete; - - //- No copy assignment - void operator=(const gradScheme&) = delete; - - public: // Declare run-time constructor selection tables @@ -94,6 +87,15 @@ public: ); + // Generated Methods + + //- No copy construct + gradScheme(const gradScheme&) = delete; + + //- No copy assignment + void operator=(const gradScheme&) = delete; + + // Constructors //- Construct from mesh @@ -120,7 +122,7 @@ public: // Member Functions //- Return mesh reference - const faMesh& mesh() const { return mesh_; } + const faMesh& mesh() const noexcept { return mesh_; } //- Calculate and return the grad of the given field. // Used by grad either to recalculate the cached gradient when it is diff --git a/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.H b/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.H index 59fc08d91d4..9b008cabed6 100644 --- a/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.H +++ b/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.H @@ -69,7 +69,13 @@ class gaussGrad tmp<edgeInterpolationScheme<Type>> tinterpScheme_; - // Private Member Functions +public: + + //- Runtime type information + TypeName("Gauss"); + + + // Generated Methods //- No copy construct gaussGrad(const gaussGrad&) = delete; @@ -78,12 +84,6 @@ class gaussGrad void operator=(const gaussGrad&) = delete; -public: - - //- Runtime type information - TypeName("Gauss"); - - // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.H b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.H index 1e3e518f76e..95612b12253 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.H +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.H @@ -62,7 +62,13 @@ class leastSquaresFaGrad : public fa::gradScheme<Type> { - // Private Member Functions +public: + + //- Runtime type information + TypeName("leastSquares"); + + + // Generated Methods //- No copy construct leastSquaresFaGrad(const leastSquaresFaGrad&) = delete; @@ -71,12 +77,6 @@ class leastSquaresFaGrad void operator=(const leastSquaresFaGrad&) = delete; -public: - - //- Runtime type information - TypeName("leastSquares"); - - // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H index db963c6786f..b60907520c3 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H @@ -58,14 +58,14 @@ class leastSquaresFaVectors : public MeshObject<faMesh, Foam::MoveableMeshObject, leastSquaresFaVectors> { - // Private data + // Private Data //- Least-squares gradient vectors mutable edgeVectorField* pVectorsPtr_; mutable edgeVectorField* nVectorsPtr_; - // Private member functions + // Private Member Functions //- Construct Least-squares gradient vectors void makeLeastSquaresVectors() const; diff --git a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrad.H b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrad.H index 1d4ca927fdf..4eef13831fa 100644 --- a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrad.H +++ b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrad.H @@ -66,6 +66,7 @@ class edgeLimitedGrad { // Private Data + //- Basic gradient scheme tmp<fa::gradScheme<Type>> basicGradScheme_; //- Limiter coefficient @@ -83,6 +84,14 @@ class edgeLimitedGrad ) const; +public: + + //- RunTime type information + TypeName("edgeLimited"); + + + // Generated Methods + //- No copy construct edgeLimitedGrad(const edgeLimitedGrad&) = delete; @@ -90,12 +99,6 @@ class edgeLimitedGrad void operator=(const edgeLimitedGrad&) = delete; -public: - - //- RunTime type information - TypeName("edgeLimited"); - - // Constructors //- Construct from mesh and schemeData diff --git a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrad.H b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrad.H index 16f50332642..006280d2656 100644 --- a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrad.H +++ b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrad.H @@ -69,13 +69,20 @@ class faceLimitedGrad { // Private Data + //- Basic gradient scheme tmp<fa::gradScheme<Type>> basicGradScheme_; //- Limiter coefficient scalar k_; - // Private Member Functions +public: + + //- RunTime type information + TypeName("faceLimited"); + + + // Generated Methods //- No copy construct faceLimitedGrad(const faceLimitedGrad&) = delete; @@ -84,12 +91,6 @@ class faceLimitedGrad void operator=(const faceLimitedGrad&) = delete; -public: - - //- RunTime type information - TypeName("faceLimited"); - - // Constructors //- Construct from mesh and schemeData diff --git a/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H b/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H index 009d2a80014..112e8540ef4 100644 --- a/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H +++ b/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H @@ -79,15 +79,6 @@ protected: tmp<lnGradScheme<Type>> tlnGradScheme_; - // Private Member Functions - - //- No copy construct - laplacianScheme(const laplacianScheme&) = delete; - - //- No copy assignment - void operator=(const laplacianScheme&) = delete; - - public: // Declare run-time constructor selection tables @@ -102,6 +93,15 @@ public: ); + // Generated Methods + + //- No copy construct + laplacianScheme(const laplacianScheme&) = delete; + + //- No copy assignment + void operator=(const laplacianScheme&) = delete; + + // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.H b/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.H index 7da23957004..86130d54b53 100644 --- a/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.H +++ b/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.H @@ -59,7 +59,13 @@ class gaussLaplacianScheme : public fa::laplacianScheme<Type> { - // Private Member Functions +public: + + //- Runtime type information + TypeName("Gauss"); + + + // Generated Methods //- No copy construct gaussLaplacianScheme(const gaussLaplacianScheme&) = delete; @@ -68,12 +74,6 @@ class gaussLaplacianScheme void operator=(const gaussLaplacianScheme&) = delete; -public: - - //- Runtime type information - TypeName("Gauss"); - - // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrad.H b/src/finiteArea/finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrad.H index b7128c00a6c..74bcf22ba19 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrad.H +++ b/src/finiteArea/finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrad.H @@ -58,18 +58,21 @@ class correctedLnGrad : public lnGradScheme<Type> { - // Private Member Functions - - //- No copy assignment - void operator=(const correctedLnGrad&) = delete; - - public: //- Runtime type information TypeName("corrected"); + // Generated Methods + + //- No copy construct + correctedLnGrad(const correctedLnGrad&) = delete; + + //- No copy assignment + void operator=(const correctedLnGrad&) = delete; + + // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.H b/src/finiteArea/finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.H index 97a250e9c6e..6a9ad2331ad 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.H +++ b/src/finiteArea/finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.H @@ -58,18 +58,21 @@ class fourthLnGrad : public lnGradScheme<Type> { - // Private Member Functions - - //- No copy assignment - void operator=(const fourthLnGrad&) = delete; - - public: //- Runtime type information TypeName("fourth"); + // Generated Methods + + //- No copy construct + fourthLnGrad(const fourthLnGrad&) = delete; + + //- No copy assignment + void operator=(const fourthLnGrad&) = delete; + + // Constructors //- Construct from mesh @@ -102,10 +105,7 @@ public: } //- Return true if this scheme uses an explicit correction - virtual bool corrected() const - { - return true; - } + virtual bool corrected() const { return true; } //- Return the explicit correction to the fourthLnGrad // for the given field diff --git a/src/finiteArea/finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrad.C b/src/finiteArea/finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrad.C index 8c3f93a3f6f..d8857d4e1f6 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrad.C +++ b/src/finiteArea/finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrad.C @@ -72,7 +72,7 @@ limitedLnGrad<Type>::correction (1 - limitCoeff_)*mag(corr) + dimensionedScalar("small", corr.dimensions(), SMALL) ), - dimensionedScalar("one", dimless, 1.0) + dimensionedScalar(dimless, Foam::one{}) ) ); diff --git a/src/finiteArea/finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrad.H b/src/finiteArea/finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrad.H index 1e0a6d7720e..eef75a51f8a 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrad.H +++ b/src/finiteArea/finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrad.H @@ -68,24 +68,27 @@ class limitedLnGrad : public lnGradScheme<Type> { - // Private data + // Private Data //- Limiter. 0 = no limiting, 1 = full limiting scalar limitCoeff_; - // Private Member Functions - - //- No copy assignment - void operator=(const limitedLnGrad&) = delete; - - public: //- Runtime type information TypeName("limited"); + // Generated Methods + + //- No copy construct + limitedLnGrad(const limitedLnGrad&) = delete; + + //- No copy assignment + void operator=(const limitedLnGrad&) = delete; + + // Constructors //- Construct from mesh diff --git a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H index 63adf7ea78a..89831bba596 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H +++ b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H @@ -48,6 +48,7 @@ SourceFiles namespace Foam { +// Forward Declarations class faMesh; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -64,18 +65,12 @@ class lnGradScheme : public refCount { - // Private data + // Private Data //- Hold reference to mesh const faMesh& mesh_; - // Private Member Functions - - //- No copy assignment - void operator=(const lnGradScheme&) = delete; - - public: // Declare run-time constructor selection tables @@ -90,6 +85,15 @@ public: ); + // Generated Methods + + //- No copy construct + lnGradScheme(const lnGradScheme&) = delete; + + //- No copy assignment + void operator=(const lnGradScheme&) = delete; + + // Constructors //- Construct from mesh @@ -116,10 +120,7 @@ public: // Member Functions //- Return mesh reference - const faMesh& mesh() const - { - return mesh_; - } + const faMesh& mesh() const noexcept { return mesh_; } //- Return the lnGrad of the given cell field // with the given weighting factors @@ -138,10 +139,7 @@ public: ) const = 0; //- Return true if this scheme uses an explicit correction - virtual bool corrected() const - { - return false; - } + virtual bool corrected() const { return false; } //- Return the explicit correction to the lnGrad // for the given field diff --git a/src/finiteArea/finiteArea/lnGradSchemes/uncorrectedLnGrad/uncorrectedLnGrad.H b/src/finiteArea/finiteArea/lnGradSchemes/uncorrectedLnGrad/uncorrectedLnGrad.H index 8ff48692cec..ecda9a6e1fc 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/uncorrectedLnGrad/uncorrectedLnGrad.H +++ b/src/finiteArea/finiteArea/lnGradSchemes/uncorrectedLnGrad/uncorrectedLnGrad.H @@ -58,18 +58,21 @@ class uncorrectedLnGrad : public lnGradScheme<Type> { - // Private Member Functions - - //- No copy assignment - void operator=(const uncorrectedLnGrad&) = delete; - - public: //- Runtime type information TypeName("uncorrected"); + // Generated Methods + + //- No copy construct + uncorrectedLnGrad(const uncorrectedLnGrad&) = delete; + + //- No copy assignment + void operator=(const uncorrectedLnGrad&) = delete; + + // Constructors //- Construct from mesh @@ -101,10 +104,7 @@ public: } //- Return true if this scheme uses an explicit correction - virtual bool corrected() const - { - return false; - } + virtual bool corrected() const { return false; } //- Return the explicit correction to the uncorrectedLnGrad //- for the given field diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolate.C b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolate.C index 54dcd271b14..2fcbe116a1a 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolate.C +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolate.C @@ -100,14 +100,14 @@ Foam::fac::interpolate Istream& schemeData ) { -# ifdef DEBUGInterpolations + #ifdef DEBUGInterpolations if (edgeInterpolation::debug) { InfoInFunction << "interpolating GeometricField<Type, faPatchField, areaMesh> " << endl; } -# endif + #endif return scheme<Type>(faceFlux, schemeData)().interpolate(vf); } @@ -122,7 +122,7 @@ Foam::fac::interpolate const word& name ) { -# ifdef DEBUGInterpolations + #ifdef DEBUGInterpolations if (edgeInterpolation::debug) { InfoInFunction @@ -130,7 +130,7 @@ Foam::fac::interpolate << "using " << name << endl; } -# endif + #endif return scheme<Type>(faceFlux, name)().interpolate(vf); } @@ -199,14 +199,14 @@ Foam::fac::interpolate Istream& schemeData ) { -# ifdef DEBUGInterpolations + #ifdef DEBUGInterpolations if (edgeInterpolation::debug) { InfoInFunction << "interpolating GeometricField<Type, faPatchField, areaMesh> " << endl; } -# endif + #endif return scheme<Type>(vf.mesh(), schemeData)().interpolate(vf); } @@ -220,7 +220,7 @@ Foam::fac::interpolate const word& name ) { -# ifdef DEBUGInterpolations + #ifdef DEBUGInterpolations if (edgeInterpolation::debug) { InfoInFunction @@ -228,7 +228,7 @@ Foam::fac::interpolate << "using " << name << endl; } -# endif + #endif return scheme<Type>(vf.mesh(), name)().interpolate(vf); } @@ -257,7 +257,7 @@ Foam::fac::interpolate const GeometricField<Type, faPatchField, areaMesh>& vf ) { -# ifdef DEBUGInterpolations + #ifdef DEBUGInterpolations if (edgeInterpolation::debug) { InfoInFunction @@ -265,7 +265,7 @@ Foam::fac::interpolate << "using run-time selected scheme" << endl; } -# endif + #endif return interpolate(vf, "interpolate(" + vf.name() + ')'); } diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H index ff84b3c7420..1de506b5aab 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H @@ -129,6 +129,15 @@ public: ClassName("edgeInterpolation"); + // Generated Methods + + //- No copy construct + edgeInterpolation(const edgeInterpolation&) = delete; + + //- No copy assignment + void operator=(const edgeInterpolation&) = delete; + + // Constructors //- Construct given an faMesh @@ -142,10 +151,7 @@ public: // Member Functions //- Return mesh reference - const faMesh& mesh() const noexcept - { - return faMesh_; - } + const faMesh& mesh() const noexcept { return faMesh_; } //- Return reference to PN geodesic distance const edgeScalarField& lPN() const; diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H index 64bc2a9cef8..597cd2c5075 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H @@ -59,18 +59,12 @@ class edgeInterpolationScheme : public refCount { - // Private data + // Private Data - //- Hold reference to mesh + //- Reference to mesh const faMesh& mesh_; - // Private Member Functions - - //- No copy assignment - void operator=(const edgeInterpolationScheme&) = delete; - - public: // Declare run-time constructor selection tables @@ -101,6 +95,15 @@ public: ); + // Private Member Functions + + //- No copy construct + edgeInterpolationScheme(const edgeInterpolationScheme&) = delete; + + //- No copy assignment + void operator=(const edgeInterpolationScheme&) = delete; + + // Constructors //- Construct from mesh @@ -179,10 +182,7 @@ public: ) const = 0; //- Return true if this scheme uses an explicit correction - virtual bool corrected() const - { - return false; - } + virtual bool corrected() const { return false; } //- Return the explicit correction to the face-interpolate // for the given field diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/Gamma/Gamma.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/Gamma/Gamma.H index 39b547745de..18b4973828f 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/Gamma/Gamma.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/Gamma/Gamma.H @@ -54,7 +54,11 @@ namespace Foam class GammaWeight { - scalar k_; + // Private Data + + //- Model coefficient [0,1] + scalar k_; + public: diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/NVDscheme/faNVDscheme.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/NVDscheme/faNVDscheme.H index b6ad35709a3..442d045698c 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/NVDscheme/faNVDscheme.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/NVDscheme/faNVDscheme.H @@ -72,14 +72,6 @@ protected: const edgeScalarField& edgeFlux_; - // Protected Member Functions - - //- No copy construct - faNVDscheme(const faNVDscheme&) = delete; - - //- No copy assignment - void operator=(const faNVDscheme&) = delete; - public: @@ -91,6 +83,15 @@ public: TypeName("faNVDscheme"); + // Generated Methods + + //- No copy construct + faNVDscheme(const faNVDscheme&) = delete; + + //- No copy assignment + void operator=(const faNVDscheme&) = delete; + + // Constructors //- Construct from mesh and edgeFlux and blendingFactor diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/blended/blendedEdgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/blended/blendedEdgeInterpolation.H index 5e3bfc513a7..f4a027d4a21 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/blended/blendedEdgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/blended/blendedEdgeInterpolation.H @@ -56,12 +56,19 @@ class blendedEdgeInterpolation public linearEdgeInterpolation<Type>, public upwindEdgeInterpolation<Type> { - // Private data + // Private Data + //- Blending factor const scalar blendingFactor_; - // Private Member Functions +public: + + //- Runtime type information + TypeName("blended"); + + + // Generated Methods //- No copy construct blendedEdgeInterpolation(const blendedEdgeInterpolation&) = delete; @@ -70,12 +77,6 @@ class blendedEdgeInterpolation void operator=(const blendedEdgeInterpolation&) = delete; -public: - - //- Runtime type information - TypeName("blended"); - - // Constructors //- Construct from mesh, faceFlux and blendingFactor diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/leastSquares/leastSquaresEdgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/leastSquares/leastSquaresEdgeInterpolation.H index fd261bae448..6ccff4b7956 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/leastSquares/leastSquaresEdgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/leastSquares/leastSquaresEdgeInterpolation.H @@ -67,18 +67,22 @@ class leastSquaresEdgeInterpolation : virtual public edgeInterpolationScheme<Type> { - // Private Member Functions - - //- No copy assignment - void operator=(const leastSquaresEdgeInterpolation&) = delete; - - public: //- Runtime type information TypeName("leastSquares"); + // Generated Methods + + //- No copy construct + leastSquaresEdgeInterpolation(const leastSquaresEdgeInterpolation&) + = delete; + + //- No copy assignment + void operator=(const leastSquaresEdgeInterpolation&) = delete; + + // Constructors //- Construct from mesh diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/linear/linearEdgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/linear/linearEdgeInterpolation.H index 9a1c99c3d2e..e4ce7041bd3 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/linear/linearEdgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/linear/linearEdgeInterpolation.H @@ -54,17 +54,21 @@ class linearEdgeInterpolation : virtual public edgeInterpolationScheme<Type> { - // Private Member Functions - - //- No copy assignment - void operator=(const linearEdgeInterpolation&) = delete; - public: //- Runtime type information TypeName("linear"); + // Generated Methods + + //- No copy construct + linearEdgeInterpolation(const linearEdgeInterpolation&) = delete; + + //- No copy assignment + void operator=(const linearEdgeInterpolation&) = delete; + + // Constructors //- Construct from mesh diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/linearUpwind/linearUpwind.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/linearUpwind/linearUpwind.H index da9b6bdfc7e..5ac45a79130 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/linearUpwind/linearUpwind.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/linearUpwind/linearUpwind.H @@ -58,9 +58,17 @@ namespace Foam class linearUpwindWeight { - public: + // Generated Methods + + //- No copy construct + linearUpwindWeight(const linearUpwindWeight&) = delete; + + //- No copy assignment + void operator=(const linearUpwindWeight&) = delete; + + linearUpwindWeight(Istream&) {} diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolation.H index da63c64444d..d5c72023394 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolation.H @@ -60,6 +60,7 @@ class skewCorrectedEdgeInterpolation { // Private Data + //- Edge-interpolation scheme tmp<edgeInterpolationScheme<Type>> tScheme_; @@ -69,6 +70,16 @@ public: TypeName("skewCorrected"); + // Generated Methods + + //- No copy construct + skewCorrectedEdgeInterpolation(const skewCorrectedEdgeInterpolation&) + = delete; + + //- No copy assignment + void operator=(const skewCorrectedEdgeInterpolation&) = delete; + + // Constructors //- Construct from Istream @@ -96,13 +107,6 @@ public: ) {} - //- No copy construct - skewCorrectedEdgeInterpolation(const skewCorrectedEdgeInterpolation&) = - delete; - - //- No copy assignment - void operator=(const skewCorrectedEdgeInterpolation&) = delete; - // Member Functions @@ -115,7 +119,7 @@ public: return tScheme_().weights(vf); } - //- Return true if this scheme uses an explicit correction + //- Return true if this scheme uses an explicit correction virtual bool corrected() const { return diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/upwind/upwindEdgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/upwind/upwindEdgeInterpolation.H index 7384f19d5e9..fbafdcb4e81 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/upwind/upwindEdgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/upwind/upwindEdgeInterpolation.H @@ -55,23 +55,27 @@ class upwindEdgeInterpolation : virtual public edgeInterpolationScheme<Type> { - // Private data + // Private Data + //- Face flux const edgeScalarField& faceFlux_; - // Private Member Functions - - //- No copy assignment - void operator=(const upwindEdgeInterpolation&) = delete; - - public: //- Runtime type information TypeName("upwind"); + // Generated Methods + + //- No copy construct + upwindEdgeInterpolation(const upwindEdgeInterpolation&) = delete; + + //- No copy assignment + void operator=(const upwindEdgeInterpolation&) = delete; + + // Constructors //- Construct from faceFlux diff --git a/src/finiteArea/output/ensight/ensightFaMesh.H b/src/finiteArea/output/ensight/ensightFaMesh.H index ce3deb7534a..ae30d33ea76 100644 --- a/src/finiteArea/output/ensight/ensightFaMesh.H +++ b/src/finiteArea/output/ensight/ensightFaMesh.H @@ -85,6 +85,11 @@ class ensightFaMesh //- Enforce consistent index/part numbering void renumber(); + +public: + + // Generated Methods + //- No copy construct ensightFaMesh(const ensightFaMesh&) = delete; @@ -92,8 +97,6 @@ class ensightFaMesh void operator=(const ensightFaMesh&) = delete; -public: - // Constructors //- Construct from mesh with all default options -- GitLab From 1cbbcf15d3ac9b3ff69bcb1e434fd0612484ac46 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Fri, 19 Jan 2024 16:28:05 +0000 Subject: [PATCH 077/231] ENH: finiteArea: remove redundant header files --- .../interfaceTrackingFvMesh/interfaceTrackingFvMesh.C | 1 + src/finiteArea/faMatrices/faMatrix/faMatrix.C | 3 --- src/finiteArea/faMatrices/faMatrix/faMatrix.H | 4 ---- src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C | 1 - src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H | 2 -- src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H | 3 --- src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H | 1 - src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H | 1 - src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C | 4 ---- src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H | 1 - .../faMesh/faPatches/constraint/cyclic/cyclicFaPatch.C | 2 -- .../faMesh/faPatches/constraint/processor/processorFaPatch.C | 1 - .../faMesh/faPatches/constraint/wedge/wedgeFaPatch.C | 3 --- src/finiteArea/fields/areaFields/areaFields.H | 1 - src/finiteArea/fields/edgeFields/edgeFields.H | 1 - .../faConvectionScheme/faConvectionScheme.H | 2 -- .../d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C | 1 - .../finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C | 1 - .../finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H | 2 -- .../ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C | 1 - .../ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C | 1 - .../boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C | 1 - .../finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.C | 1 - .../finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H | 2 -- .../finiteArea/divSchemes/faDivScheme/faDivScheme.C | 2 -- .../finiteArea/divSchemes/faDivScheme/faDivScheme.H | 2 -- .../finiteArea/gradSchemes/faGradScheme/faGradScheme.C | 1 - .../finiteArea/gradSchemes/faGradScheme/faGradScheme.H | 3 --- .../finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.C | 2 -- .../finiteArea/gradSchemes/gaussFaGrad/gaussFaGrads.C | 1 - .../gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C | 5 ----- .../gradSchemes/leastSquaresFaGrad/leastSquaresFaGrads.C | 1 - .../gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C | 1 - .../gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H | 1 - .../edgeLimitedFaGrad/edgeLimitedFaGrads.C | 5 ----- .../faceLimitedFaGrad/faceLimitedFaGrads.C | 5 ----- .../laplacianSchemes/faLaplacianScheme/faLaplacianScheme.C | 2 -- .../laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H | 3 --- .../lnGradSchemes/correctedLnGrad/correctedLnGrad.C | 2 -- .../finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.C | 1 - .../finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.C | 1 - .../finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H | 2 -- .../finiteArea/lnGradSchemes/lnGradScheme/lnGradSchemes.C | 1 - .../interpolation/edgeInterpolation/edgeInterpolate.H | 1 - .../interpolation/edgeInterpolation/edgeInterpolation.C | 2 -- .../interpolation/edgeInterpolation/edgeInterpolation.H | 3 --- .../edgeInterpolationScheme/edgeInterpolationScheme.C | 2 -- .../edgeInterpolationScheme/edgeInterpolationScheme.H | 2 -- .../schemes/skewCorrected/skewCorrectedEdgeInterpolation.H | 2 -- 49 files changed, 1 insertion(+), 93 deletions(-) diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C b/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C index 4197ef6bac7..bc97ae9c80f 100644 --- a/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C +++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C @@ -50,6 +50,7 @@ License #include "demandDrivenData.H" #include "unitConversion.H" #include "foamVtkIndPatchWriter.H" +#include "calculatedFaPatchFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMatrices/faMatrix/faMatrix.C b/src/finiteArea/faMatrices/faMatrix/faMatrix.C index ca564e8d7cc..9db099316f2 100644 --- a/src/finiteArea/faMatrices/faMatrix/faMatrix.C +++ b/src/finiteArea/faMatrices/faMatrix/faMatrix.C @@ -28,12 +28,9 @@ License #include "areaFields.H" #include "edgeFields.H" -#include "calculatedFaPatchFields.H" #include "extrapolatedCalculatedFaPatchFields.H" -#include "zeroGradientFaPatchFields.H" #include "IndirectList.H" #include "UniformList.H" -#include "demandDrivenData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // diff --git a/src/finiteArea/faMatrices/faMatrix/faMatrix.H b/src/finiteArea/faMatrices/faMatrix/faMatrix.H index 47b19d76048..dd56ad68dbf 100644 --- a/src/finiteArea/faMatrices/faMatrix/faMatrix.H +++ b/src/finiteArea/faMatrices/faMatrix/faMatrix.H @@ -46,10 +46,6 @@ Author #include "areaFields.H" #include "edgeFields.H" #include "lduMatrix.H" -#include "tmp.H" -#include "autoPtr.H" -#include "dimensionedTypes.H" -#include "className.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C index 5df6a43abe8..3ed9ea7f8fc 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C @@ -29,7 +29,6 @@ License #include "faBoundaryMesh.H" #include "faMesh.H" #include "globalIndex.H" -#include "primitiveMesh.H" #include "processorFaPatch.H" #include "wordRes.H" #include "PtrListOps.H" diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H index 9a147781d5b..0603bd28d2e 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H @@ -46,8 +46,6 @@ Author #include "faPatch.H" #include "labelPair.H" #include "lduInterfacePtrsList.H" -#include "wordList.H" -#include "pointField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H index ee7a9504849..7569df58f77 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H @@ -43,9 +43,6 @@ SourceFiles #include "morphFieldMapper.H" #include "faMesh.H" -#include "faceMapper.H" -#include "HashSet.H" -#include "mapPolyMesh.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H b/src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H index 8cb95b33583..b60d1a66124 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H @@ -34,7 +34,6 @@ Description #ifndef faBoundaryMeshMapper_H #define faBoundaryMeshMapper_H -#include "PtrList.H" #include "faPatchMapper.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H index f01ef5ea977..620795a0e81 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H @@ -45,7 +45,6 @@ SourceFiles #include "morphFieldMapper.H" #include "faMesh.H" #include "faceMapper.H" -#include "HashSet.H" #include "mapPolyMesh.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C index 569a2c02f38..b54faafc132 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C @@ -26,11 +26,7 @@ License \*---------------------------------------------------------------------------*/ #include "faPatchMapper.H" -#include "faPatch.H" -#include "faBoundaryMesh.H" -#include "faMesh.H" #include "mapPolyMesh.H" -#include "faceMapper.H" #include "demandDrivenData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H index ec35ef13105..8672301bd8b 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H @@ -45,7 +45,6 @@ SourceFiles #include "faPatchFieldMapper.H" #include "faceMapper.H" #include "faPatch.H" -#include "primitiveFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faPatches/constraint/cyclic/cyclicFaPatch.C b/src/finiteArea/faMesh/faPatches/constraint/cyclic/cyclicFaPatch.C index f5131631901..5d0ffcb436f 100644 --- a/src/finiteArea/faMesh/faPatches/constraint/cyclic/cyclicFaPatch.C +++ b/src/finiteArea/faMesh/faPatches/constraint/cyclic/cyclicFaPatch.C @@ -27,10 +27,8 @@ License \*---------------------------------------------------------------------------*/ #include "cyclicFaPatch.H" -#include "coupledPolyPatch.H" #include "addToRunTimeSelectionTable.H" #include "transform.H" -#include "faMesh.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faPatches/constraint/processor/processorFaPatch.C b/src/finiteArea/faMesh/faPatches/constraint/processor/processorFaPatch.C index 34040349809..c60a08a0ba6 100644 --- a/src/finiteArea/faMesh/faPatches/constraint/processor/processorFaPatch.C +++ b/src/finiteArea/faMesh/faPatches/constraint/processor/processorFaPatch.C @@ -30,7 +30,6 @@ License #include "processorPolyPatch.H" // For newName() #include "addToRunTimeSelectionTable.H" #include "transformField.H" -#include "faBoundaryMesh.H" #include "faMesh.H" #include "globalMeshData.H" diff --git a/src/finiteArea/faMesh/faPatches/constraint/wedge/wedgeFaPatch.C b/src/finiteArea/faMesh/faPatches/constraint/wedge/wedgeFaPatch.C index c6dc0755051..8c8e70e661d 100644 --- a/src/finiteArea/faMesh/faPatches/constraint/wedge/wedgeFaPatch.C +++ b/src/finiteArea/faMesh/faPatches/constraint/wedge/wedgeFaPatch.C @@ -28,9 +28,6 @@ License #include "wedgeFaPatch.H" #include "addToRunTimeSelectionTable.H" -#include "faBoundaryMesh.H" -#include "wedgePolyPatch.H" -#include "polyMesh.H" #include "faMesh.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/fields/areaFields/areaFields.H b/src/finiteArea/fields/areaFields/areaFields.H index eedec105a2f..22ce54161aa 100644 --- a/src/finiteArea/fields/areaFields/areaFields.H +++ b/src/finiteArea/fields/areaFields/areaFields.H @@ -47,7 +47,6 @@ SourceFiles #include "faMesh.H" #include "faPatchFields.H" #include "areaFieldsFwd.H" -#include "calculatedFaPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/fields/edgeFields/edgeFields.H b/src/finiteArea/fields/edgeFields/edgeFields.H index 974dfc7d0a9..73c95fb2d7a 100644 --- a/src/finiteArea/fields/edgeFields/edgeFields.H +++ b/src/finiteArea/fields/edgeFields/edgeFields.H @@ -48,7 +48,6 @@ SourceFiles #include "faMesh.H" #include "faePatchFields.H" #include "edgeFieldsFwd.H" -#include "calculatedFaePatchFields.H" #endif diff --git a/src/finiteArea/finiteArea/convectionSchemes/faConvectionScheme/faConvectionScheme.H b/src/finiteArea/finiteArea/convectionSchemes/faConvectionScheme/faConvectionScheme.H index 43e0f9d67b5..cb882d12069 100644 --- a/src/finiteArea/finiteArea/convectionSchemes/faConvectionScheme/faConvectionScheme.H +++ b/src/finiteArea/finiteArea/convectionSchemes/faConvectionScheme/faConvectionScheme.H @@ -37,10 +37,8 @@ SourceFiles #ifndef faConvectionScheme_H #define faConvectionScheme_H -#include "tmp.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" -#include "typeInfo.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C b/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C index 7327de14f5d..0788c39e60d 100644 --- a/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C +++ b/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "EulerFaD2dt2Scheme.H" -#include "facDiv.H" #include "faMatrices.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C b/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C index 6f0d7a84b5d..76a5c8b615a 100644 --- a/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C +++ b/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.C @@ -27,7 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "fa.H" -#include "HashTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H b/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H index 96a2b5d4e33..9d040c4062f 100644 --- a/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H +++ b/src/finiteArea/finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Scheme.H @@ -37,11 +37,9 @@ SourceFiles #ifndef faD2dt2Scheme_H #define faD2dt2Scheme_H -#include "tmp.H" #include "dimensionedType.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" -#include "typeInfo.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C b/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C index 8b9c8e9fac2..33452b4ccb5 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C +++ b/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "EulerFaDdtScheme.H" -#include "facDiv.H" #include "faMatrices.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C b/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C index 01c0576d719..98d1889a46c 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C +++ b/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "backwardFaDdtScheme.H" -#include "facDiv.H" #include "faMatrices.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C b/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C index b63446ae20b..32aeac7c158 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C +++ b/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "boundedBackwardFaDdtScheme.H" -#include "facDiv.H" #include "faMatrices.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.C b/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.C index 9c18bf8f16c..d8f2c655056 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.C +++ b/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.C @@ -27,7 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "fa.H" -#include "HashTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H b/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H index 59020f11434..1cbaa58008f 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H +++ b/src/finiteArea/finiteArea/ddtSchemes/faDdtScheme/faDdtScheme.H @@ -37,11 +37,9 @@ SourceFiles #ifndef faDdtScheme_H #define faDdtScheme_H -#include "tmp.H" #include "dimensionedType.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" -#include "typeInfo.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.C b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.C index 6d85dfafd9b..d2fdc7ca434 100644 --- a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.C +++ b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.C @@ -27,8 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "fa.H" -#include "HashTable.H" -#include "linearEdgeInterpolation.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H index fb8bb441da7..8fac369c6aa 100644 --- a/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H +++ b/src/finiteArea/finiteArea/divSchemes/faDivScheme/faDivScheme.H @@ -38,11 +38,9 @@ SourceFiles #ifndef Foam_faDivScheme_H #define Foam_faDivScheme_H -#include "tmp.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" #include "linearEdgeInterpolation.H" -#include "typeInfo.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.C b/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.C index 597355f7147..e008472d0b4 100644 --- a/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.C +++ b/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.C @@ -27,7 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "fa.H" -#include "HashTable.H" #include "objectRegistry.H" #include "solution.H" diff --git a/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H b/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H index 07dc9cdb854..9cd17ef905e 100644 --- a/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H +++ b/src/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H @@ -39,11 +39,8 @@ SourceFiles #ifndef faGradScheme_H #define faGradScheme_H -#include "tmp.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" -#include "typeInfo.H" -#include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.C b/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.C index af88fa2cf92..f83661c1bd0 100644 --- a/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.C +++ b/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrad.C @@ -28,8 +28,6 @@ License #include "gaussFaGrad.H" #include "facGrad.H" -#include "areaFields.H" -#include "edgeFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrads.C b/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrads.C index 7780036413c..479ec97c5ac 100644 --- a/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrads.C +++ b/src/finiteArea/finiteArea/gradSchemes/gaussFaGrad/gaussFaGrads.C @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "gaussFaGrad.H" -#include "faMesh.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C index ea983b89750..656187479e7 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C @@ -29,11 +29,6 @@ License #include "leastSquaresFaGrad.H" #include "leastSquaresFaVectors.H" #include "gaussFaGrad.H" -#include "faMesh.H" -#include "areaFaMesh.H" -#include "edgeFaMesh.H" -#include "GeometricField.H" -#include "zeroGradientFaPatchField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrads.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrads.C index b593bbde114..04927b53994 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrads.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrads.C @@ -25,7 +25,6 @@ License \*---------------------------------------------------------------------------*/ -#include "faMesh.H" #include "leastSquaresFaGrad.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C index 3421ea63796..10d4aff3683 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C @@ -29,7 +29,6 @@ License #include "leastSquaresFaVectors.H" #include "edgeFields.H" #include "areaFields.H" -#include "mapPolyMesh.H" #include "demandDrivenData.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H index b60907520c3..9b032a5167f 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H @@ -43,7 +43,6 @@ SourceFiles #include "MeshObject.H" #include "faMesh.H" #include "edgeFieldsFwd.H" -#include "labelPair.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C index d86270a326c..3aa9c4d205d 100644 --- a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C +++ b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C @@ -28,11 +28,6 @@ License #include "edgeLimitedFaGrad.H" #include "gaussFaGrad.H" -#include "faMesh.H" -#include "areaFaMesh.H" -#include "edgeFaMesh.H" -#include "areaFields.H" -#include "fixedValueFaPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C index c32dda42fe4..da2fb1bf7b0 100644 --- a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C +++ b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C @@ -28,11 +28,6 @@ License #include "faceLimitedFaGrad.H" #include "gaussFaGrad.H" -#include "faMesh.H" -#include "areaFaMesh.H" -#include "edgeFaMesh.H" -#include "areaFields.H" -#include "fixedValueFaPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.C b/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.C index 821f2c74e3d..af560bc7dbd 100644 --- a/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.C +++ b/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.C @@ -27,8 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "fa.H" -#include "HashTable.H" -#include "linearEdgeInterpolation.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H b/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H index 112e8540ef4..63c76b9f92f 100644 --- a/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H +++ b/src/finiteArea/finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianScheme.H @@ -38,12 +38,9 @@ SourceFiles #ifndef Foam_faLaplacianScheme_H #define Foam_faLaplacianScheme_H -#include "tmp.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" -#include "linearEdgeInterpolation.H" #include "correctedLnGrad.H" -#include "typeInfo.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrad.C b/src/finiteArea/finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrad.C index 808fd89648f..53805d07aed 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrad.C +++ b/src/finiteArea/finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrad.C @@ -25,10 +25,8 @@ License \*---------------------------------------------------------------------------*/ -#include "correctedLnGrad.H" #include "areaFields.H" #include "edgeFields.H" -#include "linearEdgeInterpolation.H" #include "gaussFaGrad.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.C b/src/finiteArea/finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.C index b8cef677775..425891626aa 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.C +++ b/src/finiteArea/finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrad.C @@ -29,7 +29,6 @@ License #include "areaFields.H" #include "edgeFields.H" #include "correctedLnGrad.H" -#include "linearEdgeInterpolation.H" #include "gaussFaGrad.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.C b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.C index 2fbc4fbc81b..1e073adb513 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.C +++ b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.C @@ -30,7 +30,6 @@ License #include "lnGradScheme.H" #include "areaFields.H" #include "edgeFields.H" -#include "HashTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H index 89831bba596..a1692f0d8d8 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H +++ b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H @@ -37,10 +37,8 @@ SourceFiles #ifndef lnGradScheme_H #define lnGradScheme_H -#include "tmp.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" -#include "typeInfo.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradSchemes.C b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradSchemes.C index 65acc733043..49ae846a8b6 100644 --- a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradSchemes.C +++ b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradSchemes.C @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "lnGradScheme.H" -#include "HashTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolate.H b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolate.H index 2b38213350c..a9a974ad01c 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolate.H +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolate.H @@ -36,7 +36,6 @@ SourceFiles #ifndef edgeInterpolate_H #define edgeInterpolate_H -#include "tmp.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" #include "edgeInterpolationScheme.H" diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.C b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.C index be58b303255..4bdedcf6b73 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.C +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.C @@ -29,8 +29,6 @@ License #include "faMesh.H" #include "areaFields.H" #include "edgeFields.H" -#include "demandDrivenData.H" -#include "faPatchFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H index 1de506b5aab..f33a44cbf7c 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H @@ -42,11 +42,8 @@ SourceFiles #ifndef Foam_edgeInterpolation_H #define Foam_edgeInterpolation_H -#include "tmp.H" -#include "scalar.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" -#include "className.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C index b348c7ca0f2..5d4ead9d021 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C @@ -29,9 +29,7 @@ License #include "edgeInterpolationScheme.H" #include "areaFields.H" #include "edgeFields.H" -#include "faPatchFields.H" #include "coupledFaPatchField.H" -#include "transform.H" // * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H index 597cd2c5075..bc4a12f06f6 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H @@ -37,10 +37,8 @@ SourceFiles #ifndef edgeInterpolationScheme_H #define edgeInterpolationScheme_H -#include "tmp.H" #include "areaFieldsFwd.H" #include "edgeFieldsFwd.H" -#include "typeInfo.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolation.H index d5c72023394..a725730e359 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolation.H @@ -39,10 +39,8 @@ SourceFiles #define skewCorrectedEdgeInterpolation_H #include "edgeInterpolationScheme.H" -#include "linearEdgeInterpolation.H" #include "gaussFaGrad.H" #include "areaFields.H" -#include "zeroGradientFaPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -- GitLab From cd8bc891f0ea0651fada48f19ffa51765d0299a1 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Tue, 27 Feb 2024 13:40:36 +0000 Subject: [PATCH 078/231] ENH: fvMatrix, faMatrix: replace raw pointers with unique_ptr (#3107) --- .../reactingMultiphaseEulerFoam/pUf/pEqn.H | 5 +- src/finiteArea/faMatrices/faMatrix/faMatrix.C | 52 ++++++++---------- src/finiteArea/faMatrices/faMatrix/faMatrix.H | 11 +++- .../gaussFaLaplacianScheme.C | 6 +- .../gaussLaplacianScheme.C | 2 +- .../gaussLaplacianSchemes.C | 6 +- .../relaxedNonOrthoGaussLaplacianScheme.C | 2 +- .../relaxedNonOrthoGaussLaplacianSchemes.C | 2 +- .../fvMatrices/fvMatrix/fvMatrix.C | 55 +++++++++---------- .../fvMatrices/fvMatrix/fvMatrix.H | 11 +++- 10 files changed, 76 insertions(+), 76 deletions(-) diff --git a/applications/solvers/multiphase/reactingMultiphaseEulerFoam/pUf/pEqn.H b/applications/solvers/multiphase/reactingMultiphaseEulerFoam/pUf/pEqn.H index 08d97031b04..b66aabffce6 100644 --- a/applications/solvers/multiphase/reactingMultiphaseEulerFoam/pUf/pEqn.H +++ b/applications/solvers/multiphase/reactingMultiphaseEulerFoam/pUf/pEqn.H @@ -272,10 +272,7 @@ while (pimple.correct()) ).ptr() ); - deleteDemandDrivenData - ( - pEqnComps[phasei].faceFluxCorrectionPtr() - ); + pEqnComps[phasei].faceFluxCorrectionPtr(nullptr); pEqnComps[phasei].relax(); } diff --git a/src/finiteArea/faMatrices/faMatrix/faMatrix.C b/src/finiteArea/faMatrices/faMatrix/faMatrix.C index 9db099316f2..ac90e710128 100644 --- a/src/finiteArea/faMatrices/faMatrix/faMatrix.C +++ b/src/finiteArea/faMatrices/faMatrix/faMatrix.C @@ -190,8 +190,7 @@ Foam::faMatrix<Type>::faMatrix dimensions_(ds), source_(psi.size(), Zero), internalCoeffs_(psi.mesh().boundary().size()), - boundaryCoeffs_(psi.mesh().boundary().size()), - faceFluxCorrectionPtr_(nullptr) + boundaryCoeffs_(psi.mesh().boundary().size()) { DebugInFunction << "constructing faMatrix<Type> for field " << psi_.name() @@ -231,19 +230,17 @@ Foam::faMatrix<Type>::faMatrix(const faMatrix<Type>& fam) dimensions_(fam.dimensions_), source_(fam.source_), internalCoeffs_(fam.internalCoeffs_), - boundaryCoeffs_(fam.boundaryCoeffs_), - faceFluxCorrectionPtr_(nullptr) + boundaryCoeffs_(fam.boundaryCoeffs_) { DebugInFunction << "Copying faMatrix<Type> for field " << psi_.name() << endl; if (fam.faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = - new GeometricField<Type, faePatchField, edgeMesh> - ( - *(fam.faceFluxCorrectionPtr_) - ); + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> + ( + *(fam.faceFluxCorrectionPtr_) + ); } } @@ -256,8 +253,7 @@ Foam::faMatrix<Type>::faMatrix(const tmp<faMatrix<Type>>& tmat) dimensions_(tmat().dimensions_), source_(tmat.constCast().source_, tmat.movable()), internalCoeffs_(tmat.constCast().internalCoeffs_, tmat.movable()), - boundaryCoeffs_(tmat.constCast().boundaryCoeffs_, tmat.movable()), - faceFluxCorrectionPtr_(nullptr) + boundaryCoeffs_(tmat.constCast().boundaryCoeffs_, tmat.movable()) { DebugInFunction << "Copy/Move faMatrix<Type> for field " << psi_.name() << endl; @@ -266,16 +262,15 @@ Foam::faMatrix<Type>::faMatrix(const tmp<faMatrix<Type>>& tmat) { if (tmat.movable()) { - faceFluxCorrectionPtr_ = tmat().faceFluxCorrectionPtr_; - tmat().faceFluxCorrectionPtr_ = nullptr; + faceFluxCorrectionPtr_ = + std::move(tmat.constCast().faceFluxCorrectionPtr_); } - else + else if (tmat().faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = - new GeometricField<Type, faePatchField, edgeMesh> - ( - *(tmat().faceFluxCorrectionPtr_) - ); + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> + ( + *(tmat().faceFluxCorrectionPtr_) + ); } } @@ -290,8 +285,6 @@ Foam::faMatrix<Type>::~faMatrix() { DebugInFunction << "Destroying faMatrix<Type> for field " << psi_.name() << endl; - - deleteDemandDrivenData(faceFluxCorrectionPtr_); } @@ -788,9 +781,10 @@ void Foam::faMatrix<Type>::operator=(const faMatrix<Type>& famv) } else if (famv.faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = - new GeometricField<Type, faePatchField, edgeMesh> - (*famv.faceFluxCorrectionPtr_); + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> + ( + *famv.faceFluxCorrectionPtr_ + ); } } @@ -835,8 +829,7 @@ void Foam::faMatrix<Type>::operator+=(const faMatrix<Type>& famv) } else if (famv.faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = new - GeometricField<Type, faePatchField, edgeMesh> + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> ( *famv.faceFluxCorrectionPtr_ ); @@ -869,9 +862,10 @@ void Foam::faMatrix<Type>::operator-=(const faMatrix<Type>& famv) } else if (famv.faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = - new GeometricField<Type, faePatchField, edgeMesh> - (-*famv.faceFluxCorrectionPtr_); + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> + ( + -*famv.faceFluxCorrectionPtr_ + ); } } diff --git a/src/finiteArea/faMatrices/faMatrix/faMatrix.H b/src/finiteArea/faMatrices/faMatrix/faMatrix.H index dd56ad68dbf..0b4681537c0 100644 --- a/src/finiteArea/faMatrices/faMatrix/faMatrix.H +++ b/src/finiteArea/faMatrices/faMatrix/faMatrix.H @@ -151,7 +151,7 @@ private: FieldField<Field, Type> boundaryCoeffs_; //- Face flux field for non-orthogonal correction - mutable faceFluxFieldType* faceFluxCorrectionPtr_; + mutable std::unique_ptr<faceFluxFieldType> faceFluxCorrectionPtr_; protected: @@ -353,8 +353,7 @@ public: } //- Declare return type of the faceFluxCorrectionPtr() function - typedef GeometricField<Type, faePatchField, edgeMesh> - *faceFluxFieldPtrType; + typedef std::unique_ptr<faceFluxFieldType> faceFluxFieldPtrType; //- Return pointer to face-flux non-orthogonal correction field faceFluxFieldPtrType& faceFluxCorrectionPtr() @@ -362,6 +361,12 @@ public: return faceFluxCorrectionPtr_; } + //- Set pointer to face-flux non-orthogonal correction field + void faceFluxCorrectionPtr(faceFluxFieldType* flux) + { + faceFluxCorrectionPtr_.reset(flux); + } + //- True if face-flux non-orthogonal correction field exists bool hasFaceFluxCorrection() const noexcept { diff --git a/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.C b/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.C index 46e7d4bb4f3..b5236b2369e 100644 --- a/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.C +++ b/src/finiteArea/finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianScheme.C @@ -82,8 +82,10 @@ gaussLaplacianScheme<Type>::famLaplacian { if (this->mesh().fluxRequired(vf.name())) { - fam.faceFluxCorrectionPtr() = new - GeometricField<Type, faePatchField, edgeMesh> + fam.faceFluxCorrectionPtr() = std::make_unique + < + GeometricField<Type, faePatchField, edgeMesh> + > ( gammaMagSf*this->tlnGradScheme_().correction(vf) ); diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianScheme.C b/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianScheme.C index 20f20e80e1b..27f420f72ee 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianScheme.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianScheme.C @@ -194,7 +194,7 @@ gaussLaplacianScheme<Type, GType>::fvmLaplacian if (mesh.fluxRequired(vf.name())) { - fvm.faceFluxCorrectionPtr() = tfaceFluxCorrection.ptr(); + fvm.faceFluxCorrectionPtr(tfaceFluxCorrection.ptr()); } return tfvm; diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C b/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C index 1201bad1fe2..7d19f5b2656 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C @@ -61,8 +61,10 @@ Foam::fv::gaussLaplacianScheme<Foam::Type, Foam::scalar>::fvmLaplacian \ { \ if (mesh.fluxRequired(vf.name())) \ { \ - fvm.faceFluxCorrectionPtr() = new \ - GeometricField<Type, fvsPatchField, surfaceMesh> \ + fvm.faceFluxCorrectionPtr() = std::make_unique \ + < \ + GeometricField<Type, fvsPatchField, surfaceMesh> \ + > \ ( \ gammaMagSf*this->tsnGradScheme_().correction(vf) \ ); \ diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianScheme.C b/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianScheme.C index ef0efdb299f..44e554ad400 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianScheme.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianScheme.C @@ -222,7 +222,7 @@ relaxedNonOrthoGaussLaplacianScheme<Type, GType>::fvmLaplacian if (mesh.fluxRequired(vf.name())) { - fvm.faceFluxCorrectionPtr() = trelaxedCorrection.ptr(); + fvm.faceFluxCorrectionPtr(trelaxedCorrection.ptr()); } return tfvm; diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C b/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C index ce32fd20fbb..662e909dd50 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C @@ -98,7 +98,7 @@ fvmLaplacian \ \ if (mesh.fluxRequired(vf.name())) \ { \ - fvm.faceFluxCorrectionPtr() = trelaxedCorrection.ptr(); \ + fvm.faceFluxCorrectionPtr(trelaxedCorrection.ptr()); \ } \ } \ \ diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C index bf2ab42635a..254436784f3 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C @@ -369,8 +369,7 @@ Foam::fvMatrix<Type>::fvMatrix dimensions_(ds), source_(psi.size(), Zero), internalCoeffs_(psi.mesh().boundary().size()), - boundaryCoeffs_(psi.mesh().boundary().size()), - faceFluxCorrectionPtr_(nullptr) + boundaryCoeffs_(psi.mesh().boundary().size()) { DebugInFunction << "Constructing fvMatrix<Type> for field " << psi_.name() << endl; @@ -410,19 +409,17 @@ Foam::fvMatrix<Type>::fvMatrix(const fvMatrix<Type>& fvm) dimensions_(fvm.dimensions_), source_(fvm.source_), internalCoeffs_(fvm.internalCoeffs_), - boundaryCoeffs_(fvm.boundaryCoeffs_), - faceFluxCorrectionPtr_(nullptr) + boundaryCoeffs_(fvm.boundaryCoeffs_) { DebugInFunction << "Copying fvMatrix<Type> for field " << psi_.name() << endl; if (fvm.faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = - new GeometricField<Type, fvsPatchField, surfaceMesh> - ( - *(fvm.faceFluxCorrectionPtr_) - ); + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> + ( + *(fvm.faceFluxCorrectionPtr_) + ); } } @@ -438,8 +435,7 @@ Foam::fvMatrix<Type>::fvMatrix(const tmp<fvMatrix<Type>>& tmat) dimensions_(tmat().dimensions_), source_(tmat.constCast().source_, tmat.movable()), internalCoeffs_(tmat.constCast().internalCoeffs_, tmat.movable()), - boundaryCoeffs_(tmat.constCast().boundaryCoeffs_, tmat.movable()), - faceFluxCorrectionPtr_(nullptr) + boundaryCoeffs_(tmat.constCast().boundaryCoeffs_, tmat.movable()) { DebugInFunction << "Copy/move fvMatrix<Type> for field " << psi_.name() << endl; @@ -448,16 +444,15 @@ Foam::fvMatrix<Type>::fvMatrix(const tmp<fvMatrix<Type>>& tmat) { if (tmat.movable()) { - faceFluxCorrectionPtr_ = tmat().faceFluxCorrectionPtr_; - tmat().faceFluxCorrectionPtr_ = nullptr; + faceFluxCorrectionPtr_ = + std::move(tmat.constCast().faceFluxCorrectionPtr_); } - else + else if (tmat().faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = - new GeometricField<Type, fvsPatchField, surfaceMesh> - ( - *(tmat().faceFluxCorrectionPtr_) - ); + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> + ( + *(tmat().faceFluxCorrectionPtr_) + ); } } @@ -473,7 +468,6 @@ Foam::fvMatrix<Type>::~fvMatrix() DebugInFunction << "Destroying fvMatrix<Type> for field " << psi_.name() << endl; - deleteDemandDrivenData(faceFluxCorrectionPtr_); subMatrices_.clear(); } @@ -1577,9 +1571,10 @@ void Foam::fvMatrix<Type>::operator=(const fvMatrix<Type>& fvmv) } else if (fvmv.faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = - new GeometricField<Type, fvsPatchField, surfaceMesh> - (*fvmv.faceFluxCorrectionPtr_); + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> + ( + *fvmv.faceFluxCorrectionPtr_ + ); } useImplicit_ = fvmv.useImplicit_; @@ -1631,8 +1626,7 @@ void Foam::fvMatrix<Type>::operator+=(const fvMatrix<Type>& fvmv) } else if (fvmv.faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = new - GeometricField<Type, fvsPatchField, surfaceMesh> + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> ( *fvmv.faceFluxCorrectionPtr_ ); @@ -1669,9 +1663,10 @@ void Foam::fvMatrix<Type>::operator-=(const fvMatrix<Type>& fvmv) } else if (fvmv.faceFluxCorrectionPtr_) { - faceFluxCorrectionPtr_ = - new GeometricField<Type, fvsPatchField, surfaceMesh> - (-*fvmv.faceFluxCorrectionPtr_); + faceFluxCorrectionPtr_ = std::make_unique<faceFluxFieldType> + ( + -*fvmv.faceFluxCorrectionPtr_ + ); } } @@ -2002,7 +1997,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::correction // Delete the faceFluxCorrection from the correction matrix // as it does not have a clear meaning or purpose - deleteDemandDrivenData(tAcorr.ref().faceFluxCorrectionPtr()); + tAcorr.ref().faceFluxCorrectionPtr(nullptr); return tAcorr; } @@ -2018,7 +2013,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::correction // Delete the faceFluxCorrection from the correction matrix // as it does not have a clear meaning or purpose - deleteDemandDrivenData(tAcorr.ref().faceFluxCorrectionPtr()); + tAcorr.ref().faceFluxCorrectionPtr(nullptr); return tAcorr; } diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.H b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.H index c00236f7c9f..78f18d22c3e 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.H +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.H @@ -172,7 +172,7 @@ private: FieldField<Field, Type> boundaryCoeffs_; //- Face flux field for non-orthogonal correction - mutable faceFluxFieldType* faceFluxCorrectionPtr_; + mutable std::unique_ptr<faceFluxFieldType> faceFluxCorrectionPtr_; protected: @@ -494,8 +494,7 @@ public: } //- Declare return type of the faceFluxCorrectionPtr() function - typedef GeometricField<Type, fvsPatchField, surfaceMesh> - *faceFluxFieldPtrType; + typedef std::unique_ptr<faceFluxFieldType> faceFluxFieldPtrType; //- Return pointer to face-flux non-orthogonal correction field faceFluxFieldPtrType& faceFluxCorrectionPtr() @@ -503,6 +502,12 @@ public: return faceFluxCorrectionPtr_; } + //- Set pointer to face-flux non-orthogonal correction field + void faceFluxCorrectionPtr(faceFluxFieldType* flux) + { + faceFluxCorrectionPtr_.reset(flux); + } + //- True if face-flux non-orthogonal correction field exists bool hasFaceFluxCorrection() const noexcept { -- GitLab From 47232ccf664cf0ed7010ceea853d4d6381eaa78d Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Tue, 27 Feb 2024 13:40:27 +0000 Subject: [PATCH 079/231] ENH: finiteArea: replace raw pointers with unique_ptr --- .../distributed/faMeshDistributor.C | 8 +- .../distributed/faMeshDistributor.H | 2 +- .../distributed/faMeshDistributorTemplates.C | 4 +- src/finiteArea/faMesh/faMesh.C | 135 +++------- src/finiteArea/faMesh/faMesh.H | 29 +-- .../faMesh/faMeshDemandDrivenData.C | 231 +++++++++--------- .../faMesh/faMeshMapper/faAreaMapper.C | 45 ++-- .../faMesh/faMeshMapper/faAreaMapper.H | 13 +- .../faMesh/faMeshMapper/faEdgeMapper.C | 7 +- .../faMesh/faMeshMapper/faEdgeMapper.H | 2 +- .../faMesh/faMeshMapper/faPatchMapper.C | 7 +- .../faMesh/faMeshMapper/faPatchMapper.H | 2 +- src/finiteArea/faMesh/faMeshTopology.C | 11 +- .../faMesh/faPatches/faPatch/faPatch.C | 26 +- .../leastSquaresFaVectors.C | 21 +- .../leastSquaresFaVectors.H | 6 +- .../edgeInterpolation/edgeInterpolation.C | 88 +++---- .../edgeInterpolation/edgeInterpolation.H | 24 +- 18 files changed, 257 insertions(+), 404 deletions(-) diff --git a/src/finiteArea/distributed/faMeshDistributor.C b/src/finiteArea/distributed/faMeshDistributor.C index 9ee084fd949..a3b8841d1ec 100644 --- a/src/finiteArea/distributed/faMeshDistributor.C +++ b/src/finiteArea/distributed/faMeshDistributor.C @@ -84,10 +84,10 @@ void Foam::faMeshDistributor::createInternalEdgeMap() const const auto& faEdgeMap = distMap_.faceMap(); // Copy full map - internalEdgeMap_.reset(new mapDistributeBase(faEdgeMap)); + internalEdgeMapPtr_ = std::make_unique<mapDistributeBase>(faEdgeMap); // Retain internal edges - internalEdgeMap_->compactRemoteData + internalEdgeMapPtr_->compactRemoteData ( bitSet(tgtMesh_.nInternalEdges(), true), UPstream::msgType(), @@ -200,8 +200,6 @@ Foam::faMeshDistributor::faMeshDistributor srcMesh_(srcMesh), tgtMesh_(tgtMesh), distMap_(distMap), - internalEdgeMap_(), - patchEdgeMaps_(), dummyHandler_(fileOperation::null()), writeHandler_(dummyHandler_), isWriteProc_(isWriteProc) @@ -221,8 +219,6 @@ Foam::faMeshDistributor::faMeshDistributor srcMesh_(srcMesh), tgtMesh_(tgtMesh), distMap_(distMap), - internalEdgeMap_(), - patchEdgeMaps_(), dummyHandler_(nullptr), writeHandler_(writeHandler), isWriteProc_(Switch::INVALID) diff --git a/src/finiteArea/distributed/faMeshDistributor.H b/src/finiteArea/distributed/faMeshDistributor.H index 05f40ab9ccf..632d6173083 100644 --- a/src/finiteArea/distributed/faMeshDistributor.H +++ b/src/finiteArea/distributed/faMeshDistributor.H @@ -73,7 +73,7 @@ class faMeshDistributor const mapDistributePolyMesh& distMap_; //- Internal edge mapper - mutable std::unique_ptr<mapDistributeBase> internalEdgeMap_; + mutable std::unique_ptr<mapDistributeBase> internalEdgeMapPtr_; //- Patch edge mappers mutable PtrList<mapDistributeBase> patchEdgeMaps_; diff --git a/src/finiteArea/distributed/faMeshDistributorTemplates.C b/src/finiteArea/distributed/faMeshDistributorTemplates.C index 9215cc3b2bf..8df66fe2ab8 100644 --- a/src/finiteArea/distributed/faMeshDistributorTemplates.C +++ b/src/finiteArea/distributed/faMeshDistributorTemplates.C @@ -154,7 +154,7 @@ Foam::faMeshDistributor::distributeField const GeometricField<Type, faePatchField, edgeMesh>& fld ) const { - if (!internalEdgeMap_) + if (!internalEdgeMapPtr_) { createInternalEdgeMap(); } @@ -165,7 +165,7 @@ Foam::faMeshDistributor::distributeField const distributedFieldMapper mapper ( labelUList::null(), - *(internalEdgeMap_) + *(internalEdgeMapPtr_) ); DimensionedField<Type, edgeMesh> internalField diff --git a/src/finiteArea/faMesh/faMesh.C b/src/finiteArea/faMesh/faMesh.C index cfb9e1608cb..49c518363d5 100644 --- a/src/finiteArea/faMesh/faMesh.C +++ b/src/finiteArea/faMesh/faMesh.C @@ -169,14 +169,12 @@ void Foam::faMesh::checkBoundaryEdgeLabelRange void Foam::faMesh::initPatch() const { - patchPtr_.reset + patchPtr_ = std::make_unique<uindirectPrimitivePatch> ( - new uindirectPrimitivePatch - ( - UIndirectList<face>(mesh().faces(), faceLabels_), - mesh().points() - ) + UIndirectList<face>(mesh().faces(), faceLabels_), + mesh().points() ); + // Could set some basic primitive data here... // nEdges_ = patchPtr_->nEdges(); // nInternalEdges_ = patchPtr_->nInternalEdges(); @@ -253,17 +251,17 @@ void Foam::faMesh::clearGeomNotAreas() const polyPatchFacesPtr_.reset(nullptr); polyPatchIdsPtr_.reset(nullptr); bndConnectPtr_.reset(nullptr); - deleteDemandDrivenData(SPtr_); - deleteDemandDrivenData(patchStartsPtr_); - deleteDemandDrivenData(LePtr_); - deleteDemandDrivenData(magLePtr_); - deleteDemandDrivenData(faceCentresPtr_); - deleteDemandDrivenData(edgeCentresPtr_); - deleteDemandDrivenData(faceAreaNormalsPtr_); - deleteDemandDrivenData(edgeAreaNormalsPtr_); + SPtr_.reset(nullptr); + patchStartsPtr_.reset(nullptr); + LePtr_.reset(nullptr); + magLePtr_.reset(nullptr); + faceCentresPtr_.reset(nullptr); + edgeCentresPtr_.reset(nullptr); + faceAreaNormalsPtr_.reset(nullptr); + edgeAreaNormalsPtr_.reset(nullptr); pointAreaNormalsPtr_.reset(nullptr); - deleteDemandDrivenData(faceCurvaturesPtr_); - deleteDemandDrivenData(edgeTransformTensorsPtr_); + faceCurvaturesPtr_.reset(nullptr); + edgeTransformTensorsPtr_.reset(nullptr); } @@ -272,9 +270,9 @@ void Foam::faMesh::clearGeom() const DebugInFunction << "Clearing geometry" << endl; clearGeomNotAreas(); - deleteDemandDrivenData(S0Ptr_); - deleteDemandDrivenData(S00Ptr_); - deleteDemandDrivenData(correctPatchPointNormalsPtr_); + S0Ptr_.reset(nullptr); + S00Ptr_.reset(nullptr); + correctPatchPointNormalsPtr_.reset(nullptr); } @@ -282,7 +280,7 @@ void Foam::faMesh::clearAddressing() const { DebugInFunction << "Clearing addressing" << endl; - deleteDemandDrivenData(lduPtr_); + lduPtr_.reset(nullptr); } @@ -402,33 +400,7 @@ Foam::faMesh::faMesh *this ), comm_(UPstream::worldComm), - curTimeIndex_(time().timeIndex()), - - patchPtr_(nullptr), - polyPatchFacesPtr_(nullptr), - polyPatchIdsPtr_(nullptr), - bndConnectPtr_(nullptr), - lduPtr_(nullptr), - - SPtr_(nullptr), - S0Ptr_(nullptr), - S00Ptr_(nullptr), - patchStartsPtr_(nullptr), - LePtr_(nullptr), - magLePtr_(nullptr), - faceCentresPtr_(nullptr), - edgeCentresPtr_(nullptr), - faceAreaNormalsPtr_(nullptr), - edgeAreaNormalsPtr_(nullptr), - pointAreaNormalsPtr_(nullptr), - faceCurvaturesPtr_(nullptr), - edgeTransformTensorsPtr_(nullptr), - correctPatchPointNormalsPtr_(nullptr), - globalMeshDataPtr_(nullptr), - - haloMapPtr_(nullptr), - haloFaceCentresPtr_(nullptr), - haloFaceNormalsPtr_(nullptr) + curTimeIndex_(time().timeIndex()) { DebugInFunction << "Creating from IOobject" << endl; @@ -459,7 +431,7 @@ Foam::faMesh::faMesh rio.resetHeader("S0"); if (returnReduceOr(rio.typeHeaderOk<regIOobject>(false))) { - S0Ptr_ = new DimensionedField<scalar, areaMesh> + S0Ptr_ = std::make_unique<DimensionedField<scalar, areaMesh>> ( rio, *this, @@ -524,33 +496,7 @@ Foam::faMesh::faMesh label(0) ), comm_(UPstream::worldComm), - curTimeIndex_(time().timeIndex()), - - patchPtr_(nullptr), - polyPatchFacesPtr_(nullptr), - polyPatchIdsPtr_(nullptr), - bndConnectPtr_(nullptr), - lduPtr_(nullptr), - - SPtr_(nullptr), - S0Ptr_(nullptr), - S00Ptr_(nullptr), - patchStartsPtr_(nullptr), - LePtr_(nullptr), - magLePtr_(nullptr), - faceCentresPtr_(nullptr), - edgeCentresPtr_(nullptr), - faceAreaNormalsPtr_(nullptr), - edgeAreaNormalsPtr_(nullptr), - pointAreaNormalsPtr_(nullptr), - faceCurvaturesPtr_(nullptr), - edgeTransformTensorsPtr_(nullptr), - correctPatchPointNormalsPtr_(nullptr), - globalMeshDataPtr_(nullptr), - - haloMapPtr_(nullptr), - haloFaceCentresPtr_(nullptr), - haloFaceNormalsPtr_(nullptr) + curTimeIndex_(time().timeIndex()) { // Not yet much for primitive mesh data possible... nPoints_ = 0; @@ -609,33 +555,7 @@ Foam::faMesh::faMesh label(0) ), comm_(UPstream::worldComm), - curTimeIndex_(time().timeIndex()), - - patchPtr_(nullptr), - polyPatchFacesPtr_(nullptr), - polyPatchIdsPtr_(nullptr), - bndConnectPtr_(nullptr), - lduPtr_(nullptr), - - SPtr_(nullptr), - S0Ptr_(nullptr), - S00Ptr_(nullptr), - patchStartsPtr_(nullptr), - LePtr_(nullptr), - magLePtr_(nullptr), - faceCentresPtr_(nullptr), - edgeCentresPtr_(nullptr), - faceAreaNormalsPtr_(nullptr), - edgeAreaNormalsPtr_(nullptr), - pointAreaNormalsPtr_(nullptr), - faceCurvaturesPtr_(nullptr), - edgeTransformTensorsPtr_(nullptr), - correctPatchPointNormalsPtr_(nullptr), - globalMeshDataPtr_(nullptr), - - haloMapPtr_(nullptr), - haloFaceCentresPtr_(nullptr), - haloFaceNormalsPtr_(nullptr) + curTimeIndex_(time().timeIndex()) { // Not yet much for primitive mesh data possible... nPoints_ = 0; @@ -732,7 +652,7 @@ Foam::faMesh::faMesh rio.resetHeader("S0"); if (returnReduceOr(rio.typeHeaderOk<regIOobject>(false))) { - S0Ptr_ = new DimensionedField<scalar, areaMesh> + S0Ptr_ = std::make_unique<DimensionedField<scalar, areaMesh>> ( rio, *this, @@ -948,7 +868,7 @@ Foam::faMesh::S00() const { if (!S00Ptr_) { - S00Ptr_ = new DimensionedField<scalar, areaMesh> + S00Ptr_ = std::make_unique<DimensionedField<scalar, areaMesh>> ( IOobject ( @@ -994,7 +914,7 @@ const Foam::vectorField& Foam::faMesh::pointAreaNormals() const { if (!pointAreaNormalsPtr_) { - pointAreaNormalsPtr_.reset(new vectorField(nPoints())); + pointAreaNormalsPtr_ = std::make_unique<vectorField>(nPoints()); calcPointAreaNormals(*pointAreaNormalsPtr_); @@ -1082,7 +1002,7 @@ bool Foam::faMesh::movePoints() { DebugInfo<< "Creating old cell volumes." << endl; - S0Ptr_ = new DimensionedField<scalar, areaMesh> + S0Ptr_ = std::make_unique<DimensionedField<scalar, areaMesh>> ( IOobject ( @@ -1140,7 +1060,8 @@ Foam::boolList& Foam::faMesh::correctPatchPointNormals() const { if (!correctPatchPointNormalsPtr_) { - correctPatchPointNormalsPtr_ = new boolList(boundary().size(), false); + correctPatchPointNormalsPtr_ = + std::make_unique<boolList>(boundary().size(), false); } return *correctPatchPointNormalsPtr_; diff --git a/src/finiteArea/faMesh/faMesh.H b/src/finiteArea/faMesh/faMesh.H index f5879735308..34e1352250f 100644 --- a/src/finiteArea/faMesh/faMesh.H +++ b/src/finiteArea/faMesh/faMesh.H @@ -261,52 +261,53 @@ class faMesh mutable std::unique_ptr<List<labelPair>> bndConnectPtr_; //- Ldu addressing data - mutable faMeshLduAddressing* lduPtr_; + mutable std::unique_ptr<faMeshLduAddressing> lduPtr_; // Geometric Data //- Face areas - mutable DimensionedField<scalar, areaMesh>* SPtr_; + mutable std::unique_ptr<DimensionedField<scalar, areaMesh>> SPtr_; //- Face areas old time level - mutable DimensionedField<scalar, areaMesh>* S0Ptr_; + mutable std::unique_ptr<DimensionedField<scalar, areaMesh>> S0Ptr_; //- Face areas old-old time level - mutable DimensionedField<scalar, areaMesh>* S00Ptr_; + mutable std::unique_ptr<DimensionedField<scalar, areaMesh>> S00Ptr_; //- Patch starts in the edge list - mutable labelList* patchStartsPtr_; + mutable std::unique_ptr<labelList> patchStartsPtr_; //- Edge length vectors - mutable edgeVectorField* LePtr_; + mutable std::unique_ptr<edgeVectorField> LePtr_; //- Mag edge length vectors - mutable edgeScalarField* magLePtr_; + mutable std::unique_ptr<edgeScalarField> magLePtr_; //- Face centres - mutable areaVectorField* faceCentresPtr_; + mutable std::unique_ptr<areaVectorField> faceCentresPtr_; //- Edge centres - mutable edgeVectorField* edgeCentresPtr_; + mutable std::unique_ptr<edgeVectorField> edgeCentresPtr_; //- Face area normals - mutable areaVectorField* faceAreaNormalsPtr_; + mutable std::unique_ptr<areaVectorField> faceAreaNormalsPtr_; //- Edge area normals - mutable edgeVectorField* edgeAreaNormalsPtr_; + mutable std::unique_ptr<edgeVectorField> edgeAreaNormalsPtr_; //- Point area normals mutable std::unique_ptr<vectorField> pointAreaNormalsPtr_; //- Face curvatures - mutable areaScalarField* faceCurvaturesPtr_; + mutable std::unique_ptr<areaScalarField> faceCurvaturesPtr_; //- Edge transformation tensors - mutable FieldField<Field, tensor>* edgeTransformTensorsPtr_; + mutable std::unique_ptr<FieldField<Field, tensor>> + edgeTransformTensorsPtr_; //- Whether point normals must be corrected for a patch - mutable boolList* correctPatchPointNormalsPtr_; + mutable std::unique_ptr<boolList> correctPatchPointNormalsPtr_; // Other mesh-related data diff --git a/src/finiteArea/faMesh/faMeshDemandDrivenData.C b/src/finiteArea/faMesh/faMeshDemandDrivenData.C index 3f94292886e..49b60d40180 100644 --- a/src/finiteArea/faMesh/faMeshDemandDrivenData.C +++ b/src/finiteArea/faMesh/faMeshDemandDrivenData.C @@ -222,7 +222,7 @@ void Foam::faMesh::calcLduAddressing() const << abort(FatalError); } - lduPtr_ = new faMeshLduAddressing(*this); + lduPtr_ = std::make_unique<faMeshLduAddressing>(*this); } @@ -238,7 +238,7 @@ void Foam::faMesh::calcPatchStarts() const << abort(FatalError); } - patchStartsPtr_ = new labelList(boundary().patchStarts()); + patchStartsPtr_ = std::make_unique<labelList>(boundary().patchStarts()); } @@ -254,9 +254,9 @@ void Foam::faMesh::calcWhichPatchFaces() const const polyBoundaryMesh& pbm = mesh().boundaryMesh(); - polyPatchFacesPtr_.reset + polyPatchFacesPtr_ = std::make_unique<List<labelPair>> ( - new List<labelPair>(pbm.whichPatchFace(faceLabels_)) + pbm.whichPatchFace(faceLabels_) ); labelHashSet ids; @@ -278,7 +278,7 @@ void Foam::faMesh::calcWhichPatchFaces() const this->comm() ); - polyPatchIdsPtr_.reset(new labelList(ids.sortedToc())); + polyPatchIdsPtr_ = std::make_unique<labelList>(ids.sortedToc()); } @@ -675,23 +675,22 @@ void Foam::faMesh::calcLe() const << abort(FatalError); } - LePtr_ = - new edgeVectorField + LePtr_ = std::make_unique<edgeVectorField> + ( + IOobject ( - IOobject - ( - "Le", - mesh().pointsInstance(), - faMesh::meshSubDir, - faMesh::thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - *this, - dimLength - // -> calculatedType() - ); + "Le", + mesh().pointsInstance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + *this, + dimLength + // -> calculatedType() + ); edgeVectorField& Le = *LePtr_; // Need face centres @@ -773,23 +772,21 @@ void Foam::faMesh::calcMagLe() const << abort(FatalError); } - magLePtr_ = - new edgeScalarField + magLePtr_ = std::make_unique<edgeScalarField> + ( + IOobject ( - IOobject - ( - "magLe", - mesh().pointsInstance(), - faMesh::meshSubDir, - faMesh::thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - *this, - dimLength - ); - + "magLe", + mesh().pointsInstance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + *this, + dimLength + ); edgeScalarField& magLe = *magLePtr_; const pointField& localPoints = points(); @@ -849,24 +846,22 @@ void Foam::faMesh::calcFaceCentres() const << abort(FatalError); } - faceCentresPtr_ = - new areaVectorField + faceCentresPtr_ = std::make_unique<areaVectorField> + ( + IOobject ( - IOobject - ( - "centres", - mesh().pointsInstance(), - faMesh::meshSubDir, - faMesh::thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - *this, - dimLength - // -> calculatedType() - ); - + "centres", + mesh().pointsInstance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + *this, + dimLength + // -> calculatedType() + ); areaVectorField& centres = *faceCentresPtr_; // Need local points @@ -931,24 +926,22 @@ void Foam::faMesh::calcEdgeCentres() const << abort(FatalError); } - edgeCentresPtr_ = - new edgeVectorField + edgeCentresPtr_ = std::make_unique<edgeVectorField> + ( + IOobject ( - IOobject - ( - "edgeCentres", - mesh().pointsInstance(), - faMesh::meshSubDir, - faMesh::thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - *this, - dimLength - // -> calculatedType() - ); - + "edgeCentres", + mesh().pointsInstance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + *this, + dimLength + // -> calculatedType() + ); edgeVectorField& centres = *edgeCentresPtr_; // Need local points @@ -996,7 +989,7 @@ void Foam::faMesh::calcS() const << abort(FatalError); } - SPtr_ = new DimensionedField<scalar, areaMesh> + SPtr_ = std::make_unique<DimensionedField<scalar, areaMesh>> ( IOobject ( @@ -1068,23 +1061,21 @@ void Foam::faMesh::calcFaceAreaNormals() const << abort(FatalError); } - faceAreaNormalsPtr_ = - new areaVectorField + faceAreaNormalsPtr_ = std::make_unique<areaVectorField> + ( + IOobject ( - IOobject - ( - "faceAreaNormals", - mesh().pointsInstance(), - faMesh::meshSubDir, - faMesh::thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - *this, - dimless - ); - + "faceAreaNormals", + mesh().pointsInstance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + *this, + dimless + ); areaVectorField& faceNormals = *faceAreaNormalsPtr_; const pointField& localPoints = points(); @@ -1149,23 +1140,22 @@ void Foam::faMesh::calcEdgeAreaNormals() const << abort(FatalError); } - edgeAreaNormalsPtr_ = - new edgeVectorField + edgeAreaNormalsPtr_ = std::make_unique<edgeVectorField> + ( + IOobject ( - IOobject - ( - "edgeAreaNormals", - mesh().pointsInstance(), - faMesh::meshSubDir, - faMesh::thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - *this, - dimless - // -> calculatedType() - ); + "edgeAreaNormals", + mesh().pointsInstance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + *this, + dimless + // -> calculatedType() + ); edgeVectorField& edgeAreaNormals = *edgeAreaNormalsPtr_; @@ -1279,23 +1269,21 @@ void Foam::faMesh::calcFaceCurvatures() const << abort(FatalError); } - faceCurvaturesPtr_ = - new areaScalarField + faceCurvaturesPtr_ = std::make_unique<areaScalarField> + ( + IOobject ( - IOobject - ( - "faceCurvatures", - mesh().pointsInstance(), - faMesh::meshSubDir, - faMesh::thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - *this, - dimless/dimLength - ); - + "faceCurvatures", + mesh().pointsInstance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + *this, + dimless/dimLength + ); areaScalarField& faceCurvatures = *faceCurvaturesPtr_; @@ -1321,7 +1309,8 @@ void Foam::faMesh::calcEdgeTransformTensors() const << abort(FatalError); } - edgeTransformTensorsPtr_ = new FieldField<Field, tensor>(nEdges_); + edgeTransformTensorsPtr_ = + std::make_unique<FieldField<Field, tensor>>(nEdges_); auto& edgeTransformTensors = *edgeTransformTensorsPtr_; // Initialize all transformation tensors diff --git a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.C b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.C index e079de2bab5..f575d1a6e87 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.C @@ -61,10 +61,18 @@ void Foam::faAreaMapper::calcAddressing() const // Prepare a list of new face labels and (preliminary) addressing // Note: dimensioned to number of boundary faces of polyMesh - newFaceLabelsPtr_ = new labelList(mesh_.mesh().nBoundaryFaces(), -1); - labelList& newFaceLabels = *newFaceLabelsPtr_; + newFaceLabelsPtr_ = std::make_unique<labelList> + ( + mesh_.mesh().nBoundaryFaces(), + -1 + ); + auto& newFaceLabels = *newFaceLabelsPtr_; - newFaceLabelsMapPtr_ = new labelList(mesh_.mesh().nBoundaryFaces(), -1); + newFaceLabelsMapPtr_ = std::make_unique<labelList> + ( + mesh_.mesh().nBoundaryFaces(), + -1 + ); labelList& newFaceLabelsMap = *newFaceLabelsMapPtr_; label nNewFaces = 0; @@ -94,7 +102,7 @@ void Foam::faAreaMapper::calcAddressing() const // Direct mapping: no further faces to add. Resize list newFaceLabels.setSize(nNewFaces); - directAddrPtr_ = new labelList(newFaceLabels.size()); + directAddrPtr_ = std::make_unique<labelList>(newFaceLabels.size()); labelList& addr = *directAddrPtr_; // Adjust for creation of a boundary face from an internal face @@ -114,10 +122,13 @@ void Foam::faAreaMapper::calcAddressing() const { // There are further faces to add. Prepare interpolation addressing // and weights to full size - interpolationAddrPtr_ = new labelListList(newFaceLabels.size()); + interpolationAddrPtr_ = std::make_unique<labelListList> + ( + newFaceLabels.size() + ); labelListList& addr = *interpolationAddrPtr_; - weightsPtr_ = new scalarListList(newFaceLabels.size()); + weightsPtr_ = std::make_unique<scalarListList>(newFaceLabels.size()); scalarListList& w = *weightsPtr_; // Insert single addressing and weights @@ -256,20 +267,20 @@ void Foam::faAreaMapper::calcAddressing() const // Inserted objects cannot appear in the new faMesh as they have no master // HJ, 10/Aug/2011 - insertedObjectLabelsPtr_ = new labelList(0); + insertedObjectLabelsPtr_ = std::make_unique<labelList>(); } void Foam::faAreaMapper::clearOut() { - deleteDemandDrivenData(newFaceLabelsPtr_); - deleteDemandDrivenData(newFaceLabelsMapPtr_); + newFaceLabelsPtr_.reset(nullptr); + newFaceLabelsMapPtr_.reset(nullptr); - deleteDemandDrivenData(directAddrPtr_); - deleteDemandDrivenData(interpolationAddrPtr_); - deleteDemandDrivenData(weightsPtr_); + directAddrPtr_.reset(nullptr); + interpolationAddrPtr_.reset(nullptr); + weightsPtr_.reset(nullptr); - deleteDemandDrivenData(insertedObjectLabelsPtr_); + insertedObjectLabelsPtr_.reset(nullptr); hasUnmapped_ = false; } @@ -286,13 +297,7 @@ Foam::faAreaMapper::faAreaMapper mpm_(mpm), direct_(false), hasUnmapped_(false), - sizeBeforeMapping_(mesh.nFaces()), - newFaceLabelsPtr_(nullptr), - newFaceLabelsMapPtr_(nullptr), - directAddrPtr_(nullptr), - interpolationAddrPtr_(nullptr), - weightsPtr_(nullptr), - insertedObjectLabelsPtr_(nullptr) + sizeBeforeMapping_(mesh.nFaces()) { // Check for possibility of direct mapping if diff --git a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H index 7569df58f77..9a75decf955 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H @@ -77,23 +77,23 @@ class faAreaMapper label sizeBeforeMapping_; //- New face labels after mapping - mutable labelList* newFaceLabelsPtr_; + mutable std::unique_ptr<labelList> newFaceLabelsPtr_; //- New face labels after mapping - mutable labelList* newFaceLabelsMapPtr_; + mutable std::unique_ptr<labelList> newFaceLabelsMapPtr_; //- Direct addressing (only one form of addressing is used) - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; //- Interpolated addressing (only one form of addressing is used) - mutable labelListList* interpolationAddrPtr_; + mutable std::unique_ptr<labelListList> interpolationAddrPtr_; //- Interpolation weights - mutable scalarListList* weightsPtr_; + mutable std::unique_ptr<scalarListList> weightsPtr_; //- Inserted faces - mutable labelList* insertedObjectLabelsPtr_; + mutable std::unique_ptr<labelList> insertedObjectLabelsPtr_; // Private Member Functions @@ -127,7 +127,6 @@ public: //- Destructor virtual ~faAreaMapper(); - // Member Functions //- Return new face labels diff --git a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C index 582faf239a3..2dffd9ed7b2 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C @@ -43,13 +43,13 @@ void Foam::faEdgeMapper::calcAddressing() const hasUnmapped_ = false; // Dummy mapping: take value from edge 0 - directAddrPtr_ = new labelList(size(), Zero); + directAddrPtr_ = std::make_unique<labelList>(size(), Foam::zero{}); } void Foam::faEdgeMapper::clearOut() { - deleteDemandDrivenData(directAddrPtr_); + directAddrPtr_.reset(nullptr); hasUnmapped_ = false; } @@ -64,8 +64,7 @@ Foam::faEdgeMapper::faEdgeMapper : mesh_(mesh), sizeBeforeMapping_(mesh.nInternalEdges()), - hasUnmapped_(false), - directAddrPtr_(nullptr) + hasUnmapped_(false) {} diff --git a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H index 620795a0e81..05f0cd0fda9 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H @@ -74,7 +74,7 @@ class faEdgeMapper mutable bool hasUnmapped_; //- Direct addressing - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; // Private Member Functions diff --git a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C index b54faafc132..69aa3177f66 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C @@ -43,7 +43,7 @@ void Foam::faPatchMapper::calcAddressing() const // Compatibility change HJ, 12/Aug/2017 hasUnmapped_ = false; - directAddrPtr_ = new labelList(patch_.size(), Zero); + directAddrPtr_ = std::make_unique<labelList>(patch_.size(), Foam::zero{}); labelList& addr = *directAddrPtr_; // Make a map of old edgeFaces, giving edge index in patch given the new @@ -86,7 +86,7 @@ void Foam::faPatchMapper::calcAddressing() const void Foam::faPatchMapper::clearOut() { - deleteDemandDrivenData(directAddrPtr_); + directAddrPtr_.reset(nullptr); hasUnmapped_ = false; } @@ -103,8 +103,7 @@ Foam::faPatchMapper::faPatchMapper mpm_(mpm), sizeBeforeMapping_(patch.size()), oldEdgeFaces_(patch.edgeFaces()), - hasUnmapped_(false), - directAddrPtr_(nullptr) + hasUnmapped_(false) {} diff --git a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H index 8672301bd8b..b27bd6874df 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H @@ -83,7 +83,7 @@ class faPatchMapper mutable bool hasUnmapped_; //- Direct addressing - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; // Private Member Functions diff --git a/src/finiteArea/faMesh/faMeshTopology.C b/src/finiteArea/faMesh/faMeshTopology.C index 9c85727b5a1..c9dbb6b130b 100644 --- a/src/finiteArea/faMesh/faMeshTopology.C +++ b/src/finiteArea/faMesh/faMeshTopology.C @@ -849,9 +849,10 @@ void Foam::faMesh::setBoundaryConnections << abort(FatalError); } - bndConnectPtr_.reset + bndConnectPtr_ = std::make_unique<List<labelPair>> ( - new List<labelPair>(nBoundaryEdges, labelPair(-1,-1)) + nBoundaryEdges, + labelPair(-1,-1) ); auto& bndConnect = *bndConnectPtr_; @@ -989,7 +990,7 @@ const Foam::faMeshBoundaryHalo& Foam::faMesh::boundaryHaloMap() const { if (!haloMapPtr_) { - haloMapPtr_.reset(new faMeshBoundaryHalo(*this)); + haloMapPtr_ = std::make_unique<faMeshBoundaryHalo>(*this); } return *haloMapPtr_; @@ -1022,8 +1023,8 @@ void Foam::faMesh::calcHaloFaceGeometry() const const labelList& inputFaceIds = halo.inputMeshFaces(); - haloFaceCentresPtr_.reset(new pointField); - haloFaceNormalsPtr_.reset(new vectorField); + haloFaceCentresPtr_ = std::make_unique<pointField>(); + haloFaceNormalsPtr_ = std::make_unique<vectorField>(); auto& centres = *haloFaceCentresPtr_; auto& normals = *haloFaceNormalsPtr_; diff --git a/src/finiteArea/faMesh/faPatches/faPatch/faPatch.C b/src/finiteArea/faMesh/faPatches/faPatch/faPatch.C index 39c1627d59b..1f0248689a7 100644 --- a/src/finiteArea/faMesh/faPatches/faPatch/faPatch.C +++ b/src/finiteArea/faMesh/faPatches/faPatch/faPatch.C @@ -105,10 +105,7 @@ Foam::faPatch::faPatch patchIdentifier(name, index), labelList(edgeLabels), nbrPolyPatchId_(nbrPolyPatchi), - boundaryMesh_(bm), - edgeFacesPtr_(nullptr), - pointLabelsPtr_(nullptr), - pointEdgesPtr_(nullptr) + boundaryMesh_(bm) { if (constraintType(patchType)) { @@ -129,10 +126,7 @@ Foam::faPatch::faPatch patchIdentifier(name, dict, index), labelList(dict.get<labelList>("edgeLabels")), nbrPolyPatchId_(dict.get<label>("ngbPolyPatchIndex")), - boundaryMesh_(bm), - edgeFacesPtr_(nullptr), - pointLabelsPtr_(nullptr), - pointEdgesPtr_(nullptr) + boundaryMesh_(bm) { if (constraintType(patchType)) { @@ -153,10 +147,7 @@ Foam::faPatch::faPatch patchIdentifier(p, index), labelList(edgeLabels), nbrPolyPatchId_(p.nbrPolyPatchId_), - boundaryMesh_(bm), - edgeFacesPtr_(nullptr), - pointLabelsPtr_(nullptr), - pointEdgesPtr_(nullptr) + boundaryMesh_(bm) {} @@ -331,7 +322,7 @@ void Foam::faPatch::calcPointLabels() const } // Transfer to plain list (reuse storage) - pointLabelsPtr_.reset(new labelList(std::move(dynEdgePoints))); + pointLabelsPtr_ = std::make_unique<labelList>(std::move(dynEdgePoints)); /// const auto& edgePoints = *pointLabelsPtr_; /// @@ -381,7 +372,7 @@ void Foam::faPatch::calcPointEdges() const } // Flatten to regular list - pointEdgesPtr_.reset(new labelListList(edgePoints.size())); + pointEdgesPtr_ = std::make_unique<labelListList>(edgePoints.size()); auto& pEdges = *pointEdgesPtr_; forAll(pEdges, pointi) @@ -441,12 +432,9 @@ const Foam::labelUList& Foam::faPatch::edgeFaces() const { if (!edgeFacesPtr_) { - edgeFacesPtr_.reset + edgeFacesPtr_ = std::make_unique<labelList::subList> ( - new labelList::subList - ( - patchSlice(boundaryMesh().mesh().edgeOwner()) - ) + patchSlice(boundaryMesh().mesh().edgeOwner()) ); } diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C index 10d4aff3683..f0718e17e18 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C @@ -43,21 +43,10 @@ namespace Foam Foam::leastSquaresFaVectors::leastSquaresFaVectors(const faMesh& mesh) : - MeshObject<faMesh, Foam::MoveableMeshObject, leastSquaresFaVectors>(mesh), - pVectorsPtr_(nullptr), - nVectorsPtr_(nullptr) + MeshObject<faMesh, Foam::MoveableMeshObject, leastSquaresFaVectors>(mesh) {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::leastSquaresFaVectors::~leastSquaresFaVectors() -{ - deleteDemandDrivenData(pVectorsPtr_); - deleteDemandDrivenData(nVectorsPtr_); -} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // void Foam::leastSquaresFaVectors::makeLeastSquaresVectors() const @@ -66,7 +55,7 @@ void Foam::leastSquaresFaVectors::makeLeastSquaresVectors() const << "Constructing finite area (invDist) least square gradient vectors" << nl; - pVectorsPtr_ = new edgeVectorField + pVectorsPtr_ = std::make_unique<edgeVectorField> ( IOobject ( @@ -82,7 +71,7 @@ void Foam::leastSquaresFaVectors::makeLeastSquaresVectors() const ); auto& lsP = *pVectorsPtr_; - nVectorsPtr_ = new edgeVectorField + nVectorsPtr_ = std::make_unique<edgeVectorField> ( IOobject ( @@ -236,8 +225,8 @@ bool Foam::leastSquaresFaVectors::movePoints() DebugInFunction << "Clearing least square data" << nl; - deleteDemandDrivenData(pVectorsPtr_); - deleteDemandDrivenData(nVectorsPtr_); + pVectorsPtr_.reset(nullptr); + nVectorsPtr_.reset(nullptr); return true; } diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H index 9b032a5167f..701dcf29aea 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H @@ -60,8 +60,8 @@ class leastSquaresFaVectors // Private Data //- Least-squares gradient vectors - mutable edgeVectorField* pVectorsPtr_; - mutable edgeVectorField* nVectorsPtr_; + mutable std::unique_ptr<edgeVectorField> pVectorsPtr_; + mutable std::unique_ptr<edgeVectorField> nVectorsPtr_; // Private Member Functions @@ -83,7 +83,7 @@ public: //- Destructor - virtual ~leastSquaresFaVectors(); + virtual ~leastSquaresFaVectors() = default; // Member functions diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.C b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.C index 4bdedcf6b73..5da45321ce3 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.C +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.C @@ -37,79 +37,55 @@ namespace Foam defineTypeNameAndDebug(edgeInterpolation, 0); } -// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // - -void Foam::edgeInterpolation::clearOut() -{ - deleteDemandDrivenData(lPN_); - deleteDemandDrivenData(weightingFactors_); - deleteDemandDrivenData(differenceFactors_); - deleteDemandDrivenData(correctionVectors_); - deleteDemandDrivenData(skewCorrectionVectors_); -} - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::edgeInterpolation::edgeInterpolation(const faMesh& fam) : faMesh_(fam), - lPN_(nullptr), - weightingFactors_(nullptr), - differenceFactors_(nullptr), - correctionVectors_(nullptr), - skewCorrectionVectors_(nullptr), orthogonal_(false), skew_(true) {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::edgeInterpolation::~edgeInterpolation() -{ - clearOut(); -} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // const Foam::edgeScalarField& Foam::edgeInterpolation::lPN() const { - if (!lPN_) + if (!lPNptr_) { makeLPN(); } - return (*lPN_); + return (*lPNptr_); } const Foam::edgeScalarField& Foam::edgeInterpolation::weights() const { - if (!weightingFactors_) + if (!weightingFactorsPtr_) { makeWeights(); } - return (*weightingFactors_); + return (*weightingFactorsPtr_); } const Foam::edgeScalarField& Foam::edgeInterpolation::deltaCoeffs() const { - if (!differenceFactors_) + if (!differenceFactorsPtr_) { makeDeltaCoeffs(); } - return (*differenceFactors_); + return (*differenceFactorsPtr_); } bool Foam::edgeInterpolation::orthogonal() const { - if (orthogonal_ == false && !correctionVectors_) + if (orthogonal_ == false && !correctionVectorsPtr_) { makeCorrectionVectors(); } @@ -127,13 +103,13 @@ const Foam::edgeVectorField& Foam::edgeInterpolation::correctionVectors() const << abort(FatalError); } - return (*correctionVectors_); + return (*correctionVectorsPtr_); } bool Foam::edgeInterpolation::skew() const { - if (skew_ == true && !skewCorrectionVectors_) + if (skew_ == true && !skewCorrectionVectorsPtr_) { makeSkewCorrectionVectors(); } @@ -152,21 +128,21 @@ Foam::edgeInterpolation::skewCorrectionVectors() const << abort(FatalError); } - return (*skewCorrectionVectors_); + return (*skewCorrectionVectorsPtr_); } bool Foam::edgeInterpolation::movePoints() const { - deleteDemandDrivenData(lPN_); - deleteDemandDrivenData(weightingFactors_); - deleteDemandDrivenData(differenceFactors_); + lPNptr_.reset(nullptr); + weightingFactorsPtr_.reset(nullptr); + differenceFactorsPtr_.reset(nullptr); orthogonal_ = false; - deleteDemandDrivenData(correctionVectors_); + correctionVectorsPtr_.reset(nullptr); skew_ = true; - deleteDemandDrivenData(skewCorrectionVectors_); + skewCorrectionVectorsPtr_.reset(nullptr); return true; } @@ -178,14 +154,14 @@ const Foam::vector& Foam::edgeInterpolation::skewCorr(const label edgeI) const return ( - skewCorrectionVectors_ - ? (*skewCorrectionVectors_)[edgeI] + skewCorrectionVectorsPtr_ + ? (*skewCorrectionVectorsPtr_)[edgeI] : pTraits<vector>::zero ); #else - return (*skewCorrectionVectors_)[edgeI]; + return (*skewCorrectionVectorsPtr_)[edgeI]; #endif } @@ -198,7 +174,7 @@ void Foam::edgeInterpolation::makeLPN() const << endl; - lPN_ = new edgeScalarField + lPNptr_ = std::make_unique<edgeScalarField> ( IOobject ( @@ -212,7 +188,7 @@ void Foam::edgeInterpolation::makeLPN() const mesh(), dimLength ); - edgeScalarField& lPN = *lPN_; + edgeScalarField& lPN = *lPNptr_; // Set local references to mesh data const edgeVectorField& edgeCentres = mesh().edgeCentres(); @@ -279,7 +255,7 @@ void Foam::edgeInterpolation::makeWeights() const << endl; - weightingFactors_ = new edgeScalarField + weightingFactorsPtr_ = std::make_unique<edgeScalarField> ( IOobject ( @@ -293,7 +269,7 @@ void Foam::edgeInterpolation::makeWeights() const mesh(), dimensionedScalar(dimless, 1) ); - edgeScalarField& weightingFactors = *weightingFactors_; + edgeScalarField& weightingFactors = *weightingFactorsPtr_; // Set local references to mesh data @@ -359,11 +335,11 @@ void Foam::edgeInterpolation::makeDeltaCoeffs() const // needed to make sure deltaCoeffs are calculated for parallel runs. weights(); - differenceFactors_ = new edgeScalarField + differenceFactorsPtr_ = std::make_unique<edgeScalarField> ( IOobject ( - "differenceFactors_", + "differenceFactors", mesh().pointsInstance(), mesh().thisDb(), IOobject::NO_READ, @@ -373,7 +349,7 @@ void Foam::edgeInterpolation::makeDeltaCoeffs() const mesh(), dimensionedScalar(dimless/dimLength, SMALL) ); - edgeScalarField& DeltaCoeffs = *differenceFactors_; + edgeScalarField& DeltaCoeffs = *differenceFactorsPtr_; scalarField& dc = DeltaCoeffs.primitiveFieldRef(); // Set local references to mesh data @@ -453,7 +429,7 @@ void Foam::edgeInterpolation::makeCorrectionVectors() const << "Constructing non-orthogonal correction vectors" << endl; - correctionVectors_ = new edgeVectorField + correctionVectorsPtr_ = std::make_unique<edgeVectorField> ( IOobject ( @@ -467,7 +443,7 @@ void Foam::edgeInterpolation::makeCorrectionVectors() const mesh(), dimless ); - edgeVectorField& CorrVecs = *correctionVectors_; + edgeVectorField& CorrVecs = *correctionVectorsPtr_; // Set local references to mesh data const areaVectorField& faceCentres = mesh().areaCentres(); @@ -541,7 +517,7 @@ void Foam::edgeInterpolation::makeCorrectionVectors() const if (NonOrthogCoeff < 0.1) { orthogonal_ = true; - deleteDemandDrivenData(correctionVectors_); + correctionVectorsPtr_.reset(nullptr); } else { @@ -560,7 +536,7 @@ void Foam::edgeInterpolation::makeSkewCorrectionVectors() const << "Constructing skew correction vectors" << endl; - skewCorrectionVectors_ = new edgeVectorField + skewCorrectionVectorsPtr_ = std::make_unique<edgeVectorField> ( IOobject ( @@ -574,7 +550,7 @@ void Foam::edgeInterpolation::makeSkewCorrectionVectors() const mesh(), dimensionedVector(dimless, Zero) ); - edgeVectorField& SkewCorrVecs = *skewCorrectionVectors_; + edgeVectorField& SkewCorrVecs = *skewCorrectionVectorsPtr_; // Set local references to mesh data const areaVectorField& C = mesh().areaCentres(); @@ -698,12 +674,12 @@ void Foam::edgeInterpolation::makeSkewCorrectionVectors() const if (skewCoeff < maxSkewRatio) { - deleteDemandDrivenData(skewCorrectionVectors_); + skewCorrectionVectorsPtr_.reset(nullptr); } #endif - skew_ = bool(skewCorrectionVectors_); + skew_ = bool(skewCorrectionVectorsPtr_); DebugInFunction diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H index f33a44cbf7c..689b1384d47 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolation.H @@ -68,19 +68,19 @@ class edgeInterpolation // Demand-driven data //- Geodesic distance between centroids of neighbour finite areas - mutable edgeScalarField* lPN_; + mutable std::unique_ptr<edgeScalarField> lPNptr_; //- Central-differencing weighting factors - mutable edgeScalarField* weightingFactors_; + mutable std::unique_ptr<edgeScalarField> weightingFactorsPtr_; //- Face-gradient difference factors - mutable edgeScalarField* differenceFactors_; + mutable std::unique_ptr<edgeScalarField> differenceFactorsPtr_; //- Non-orthogonality correction vectors - mutable edgeVectorField* correctionVectors_; + mutable std::unique_ptr<edgeVectorField> correctionVectorsPtr_; //- Skew correction vectors - mutable edgeVectorField* skewCorrectionVectors_; + mutable std::unique_ptr<edgeVectorField> skewCorrectionVectorsPtr_; //- Is mesh orthogonal mutable bool orthogonal_; @@ -110,16 +110,6 @@ class edgeInterpolation void makeSkewCorrectionVectors() const; -protected: - - // Protected Member Functions - - // Storage Management - - //- Clear all geometry and addressing - void clearOut(); - - public: // Declare name of the class and it's debug switch @@ -142,7 +132,7 @@ public: //- Destructor - ~edgeInterpolation(); + ~edgeInterpolation() = default; // Member Functions @@ -181,7 +171,7 @@ public: // Storage Management //- True if weights exist - bool hasWeights() const noexcept { return bool(weightingFactors_); } + bool hasWeights() const noexcept { return bool(weightingFactorsPtr_); } }; -- GitLab From 3535d7890db0b8e97c48d9b155889ca7dca324c5 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Tue, 23 Jan 2024 14:44:12 +0000 Subject: [PATCH 080/231] ENH: faPatch: remove intermediate/unused fields --- src/finiteArea/faMesh/faPatches/faPatch/faPatch.C | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/finiteArea/faMesh/faPatches/faPatch/faPatch.C b/src/finiteArea/faMesh/faPatches/faPatch/faPatch.C index 1f0248689a7..735b9b2224b 100644 --- a/src/finiteArea/faMesh/faPatches/faPatch/faPatch.C +++ b/src/finiteArea/faMesh/faPatches/faPatch/faPatch.C @@ -508,11 +508,9 @@ void Foam::faPatch::makeDeltaCoeffs(scalarField& dc) const void Foam::faPatch::makeCorrectionVectors(vectorField& k) const { - vectorField unitDelta(delta()/mag(delta())); - vectorField edgeNormMag(edgeNormals()/mag(edgeNormals())); - scalarField dn(edgeNormals() & delta()); + const vectorField unitDelta(delta()/mag(delta())); - k = edgeNormMag - (scalar(1)/(unitDelta & edgeNormMag))*unitDelta; + k = edgeNormals() - (scalar(1)/(unitDelta & edgeNormals()))*unitDelta; } -- GitLab From abfe30454a973322dc08cb70c38ce3d2c6300ede Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Tue, 23 Jan 2024 15:26:04 +0000 Subject: [PATCH 081/231] ENH: finiteArea: consolidate various IOobject calls --- .../faMesh/faMeshTools/faMeshTools.C | 2 +- .../EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C | 48 ++++---- .../EulerFaDdtScheme/EulerFaDdtScheme.C | 96 ++++++++-------- .../backwardFaDdtScheme/backwardFaDdtScheme.C | 96 ++++++++-------- .../boundedBackwardFaDdtScheme.C | 96 ++++++++-------- .../steadyStateFaDdtScheme.C | 104 +++++++----------- 6 files changed, 209 insertions(+), 233 deletions(-) diff --git a/src/finiteArea/faMesh/faMeshTools/faMeshTools.C b/src/finiteArea/faMesh/faMeshTools/faMeshTools.C index d9a346a52d1..0154e992980 100644 --- a/src/finiteArea/faMesh/faMeshTools/faMeshTools.C +++ b/src/finiteArea/faMesh/faMeshTools/faMeshTools.C @@ -144,7 +144,7 @@ Foam::faMeshTools::newMesh IOobject cmptIO(meshIO, "faceLabels", meshSubDir); cmptIO.readOpt(IOobject::MUST_READ); cmptIO.writeOpt(IOobject::NO_WRITE); - cmptIO.registerObject(false); + cmptIO.registerObject(IOobject::NO_REGISTER); // Check who has a mesh diff --git a/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C b/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C index 0788c39e60d..e80016d9360 100644 --- a/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C +++ b/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C @@ -71,13 +71,13 @@ EulerFaD2dt2Scheme<Type>::facD2dt2 scalar coefft = (deltaT + deltaT0)/(2*deltaT); scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0); - IOobject d2dt2IOobject + const IOobject d2dt2IOobject ( - "d2dt2("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "d2dt2("+dt.name()+')', + { IOobject::REGISTER } + ) ); if (mesh().moving()) @@ -130,13 +130,13 @@ EulerFaD2dt2Scheme<Type>::facD2dt2 dimensionedScalar rDeltaT2 = 4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0()); - IOobject d2dt2IOobject + const IOobject d2dt2IOobject ( - "d2dt2("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "d2dt2("+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -208,13 +208,13 @@ EulerFaD2dt2Scheme<Type>::facD2dt2 dimensionedScalar rDeltaT2 = 4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0()); - IOobject d2dt2IOobject + const IOobject d2dt2IOobject ( - "d2dt2("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "d2dt2("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -293,13 +293,13 @@ EulerFaD2dt2Scheme<Type>::facD2dt2 dimensionedScalar rDeltaT2 = 4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0()); - IOobject d2dt2IOobject + const IOobject d2dt2IOobject ( - "d2dt2("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "d2dt2("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); diff --git a/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C b/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C index 33452b4ccb5..3359014fe4b 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C +++ b/src/finiteArea/finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtScheme.C @@ -49,13 +49,13 @@ EulerFaDdtScheme<Type>::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+dt.name()+')', + { IOobject::REGISTER } + ) ); if (mesh().moving()) @@ -96,13 +96,13 @@ EulerFaDdtScheme<Type>::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+dt.name()+')', + { IOobject::REGISTER } + ) ); tmp<GeometricField<Type, faPatchField, areaMesh>> tdtdt0 @@ -134,13 +134,13 @@ EulerFaDdtScheme<Type>::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+vf.name()+')', + { IOobject::REGISTER } + ) ); if (mesh().moving()) @@ -187,13 +187,13 @@ EulerFaDdtScheme<Type>::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+vf.name()+')', + { IOobject::REGISTER } + ) ); if (mesh().moving()) @@ -234,13 +234,13 @@ EulerFaDdtScheme<Type>::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); if (mesh().moving()) @@ -287,13 +287,13 @@ EulerFaDdtScheme<Type>::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); if (mesh().moving()) @@ -336,13 +336,13 @@ EulerFaDdtScheme<Type>::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); if (mesh().moving()) @@ -393,13 +393,13 @@ EulerFaDdtScheme<Type>::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); if (mesh().moving()) diff --git a/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C b/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C index 98d1889a46c..457e744df21 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C +++ b/src/finiteArea/finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtScheme.C @@ -80,13 +80,13 @@ backwardFaDdtScheme<Type>::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+dt.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -135,13 +135,13 @@ backwardFaDdtScheme<Type>::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+dt.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -182,13 +182,13 @@ backwardFaDdtScheme<Type>::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -255,13 +255,13 @@ backwardFaDdtScheme<Type>::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -326,13 +326,13 @@ backwardFaDdtScheme<Type>::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -399,13 +399,13 @@ backwardFaDdtScheme<Type>::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -470,13 +470,13 @@ backwardFaDdtScheme<Type>::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -547,13 +547,13 @@ backwardFaDdtScheme<Type>::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); diff --git a/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C b/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C index 32aeac7c158..2e41f528971 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C +++ b/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C @@ -63,13 +63,13 @@ tmp<areaScalarField> boundedBackwardFaDdtScheme::facDdt dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+dt.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -118,13 +118,13 @@ tmp<areaScalarField> boundedBackwardFaDdtScheme::facDdt0 dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+dt.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -163,13 +163,13 @@ tmp<areaScalarField> boundedBackwardFaDdtScheme::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -260,13 +260,13 @@ tmp<areaScalarField> boundedBackwardFaDdtScheme::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -355,13 +355,13 @@ tmp<areaScalarField> boundedBackwardFaDdtScheme::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -452,13 +452,13 @@ tmp<areaScalarField> boundedBackwardFaDdtScheme::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -547,13 +547,13 @@ tmp<areaScalarField> boundedBackwardFaDdtScheme::facDdt { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); @@ -648,13 +648,13 @@ tmp<areaScalarField> boundedBackwardFaDdtScheme::facDdt0 { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject + const IOobject ddtIOobject ( - "ddt0("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb(), - IOobject::NO_READ, - IOobject::NO_WRITE + mesh().thisDb().newIOobject + ( + "ddt0("+rho.name()+','+vf.name()+')', + { IOobject::REGISTER } + ) ); scalar deltaT = deltaT_(); diff --git a/src/finiteArea/finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtScheme.C b/src/finiteArea/finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtScheme.C index d430680d880..c562a9b2401 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtScheme.C +++ b/src/finiteArea/finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtScheme.C @@ -48,16 +48,13 @@ steadyStateFaDdtScheme<Type>::facDdt const dimensioned<Type> dt ) { - return tmp<GeometricField<Type, faPatchField, areaMesh>>::New + return GeometricField<Type, faPatchField, areaMesh>::New ( - IOobject - ( - "ddt("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb() - ), + "ddt("+dt.name()+')', + IOobject::REGISTER, mesh(), - dimensioned<Type>(dt.dimensions()/dimTime, Zero) + Foam::zero{}, + dt.dimensions()/dimTime ); } @@ -69,16 +66,13 @@ steadyStateFaDdtScheme<Type>::facDdt0 const dimensioned<Type> dt ) { - return tmp<GeometricField<Type, faPatchField, areaMesh>>::New + return GeometricField<Type, faPatchField, areaMesh>::New ( - IOobject - ( - "ddt("+dt.name()+')', - mesh().time().timeName(), - mesh().thisDb() - ), + "ddt("+dt.name()+')', + IOobject::REGISTER, mesh(), - dimensioned<Type>(dt.dimensions()/dimTime, Zero) + Foam::zero{}, + dt.dimensions()/dimTime ); } @@ -90,16 +84,13 @@ steadyStateFaDdtScheme<Type>::facDdt const GeometricField<Type, faPatchField, areaMesh>& vf ) { - return tmp<GeometricField<Type, faPatchField, areaMesh>>::New + return GeometricField<Type, faPatchField, areaMesh>::New ( - IOobject - ( - "ddt("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb() - ), + "ddt("+vf.name()+')', + IOobject::REGISTER, mesh(), - dimensioned<Type>(vf.dimensions()/dimTime, Zero) + Foam::zero{}, + vf.dimensions()/dimTime ); } @@ -111,16 +102,13 @@ steadyStateFaDdtScheme<Type>::facDdt0 const GeometricField<Type, faPatchField, areaMesh>& vf ) { - return tmp<GeometricField<Type, faPatchField, areaMesh>>::New + return GeometricField<Type, faPatchField, areaMesh>::New ( - IOobject - ( - "ddt0("+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb() - ), + "ddt0("+vf.name()+')', + IOobject::REGISTER, mesh(), - dimensioned<Type>(vf.dimensions()/dimTime, Zero) + Foam::zero{}, + vf.dimensions()/dimTime ); } @@ -133,16 +121,13 @@ steadyStateFaDdtScheme<Type>::facDdt const GeometricField<Type, faPatchField, areaMesh>& vf ) { - return tmp<GeometricField<Type, faPatchField, areaMesh>>::New + return GeometricField<Type, faPatchField, areaMesh>::New ( - IOobject - ( - "ddt("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb() - ), + "ddt("+rho.name()+','+vf.name()+')', + IOobject::REGISTER, mesh(), - dimensioned<Type>(rho.dimensions()*vf.dimensions()/dimTime, Zero) + Foam::zero{}, + rho.dimensions()*vf.dimensions()/dimTime ); } @@ -154,16 +139,13 @@ steadyStateFaDdtScheme<Type>::facDdt0 const GeometricField<Type, faPatchField, areaMesh>& vf ) { - return tmp<GeometricField<Type, faPatchField, areaMesh>>::New + return GeometricField<Type, faPatchField, areaMesh>::New ( - IOobject - ( - "ddt0("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb() - ), + "ddt0("+rho.name()+','+vf.name()+')', + IOobject::REGISTER, mesh(), - dimensioned<Type>(rho.dimensions()*vf.dimensions()/dimTime, Zero) + Foam::zero{}, + rho.dimensions()*vf.dimensions()/dimTime ); } @@ -176,16 +158,13 @@ steadyStateFaDdtScheme<Type>::facDdt const GeometricField<Type, faPatchField, areaMesh>& vf ) { - return tmp<GeometricField<Type, faPatchField, areaMesh>>::New + return GeometricField<Type, faPatchField, areaMesh>::New ( - IOobject - ( - "ddt("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb() - ), + "ddt("+rho.name()+','+vf.name()+')', + IOobject::REGISTER, mesh(), - dimensioned<Type>(rho.dimensions()*vf.dimensions()/dimTime, Zero) + Foam::zero{}, + rho.dimensions()*vf.dimensions()/dimTime ); } @@ -198,16 +177,13 @@ steadyStateFaDdtScheme<Type>::facDdt0 const GeometricField<Type, faPatchField, areaMesh>& vf ) { - return tmp<GeometricField<Type, faPatchField, areaMesh>>::New + return GeometricField<Type, faPatchField, areaMesh>::New ( - IOobject - ( - "ddt0("+rho.name()+','+vf.name()+')', - mesh().time().timeName(), - mesh().thisDb() - ), + "ddt0("+rho.name()+','+vf.name()+')', + IOobject::REGISTER, mesh(), - dimensioned<Type>(rho.dimensions()*vf.dimensions()/dimTime, Zero) + Foam::zero{}, + rho.dimensions()*vf.dimensions()/dimTime ); } -- GitLab From d03a225061d6e1558810632471d4d68a919bfafb Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Tue, 23 Jan 2024 15:49:41 +0000 Subject: [PATCH 082/231] ENH: finiteArea: reduce various code footprint --- .../EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C | 27 +-- .../boundedBackwardFaDdtScheme.H | 6 +- .../leastSquaresFaGrad/leastSquaresFaGrad.C | 42 ++-- .../edgeLimitedFaGrad/edgeLimitedFaGrads.C | 214 ++++++++---------- .../faceLimitedFaGrad/faceLimitedFaGrads.C | 107 ++++----- .../edgeInterpolation/schemes/Gamma/Gamma.H | 31 +-- 6 files changed, 180 insertions(+), 247 deletions(-) diff --git a/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C b/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C index e80016d9360..aeca2e05161 100644 --- a/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C +++ b/src/finiteArea/finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Scheme.C @@ -82,10 +82,10 @@ EulerFaD2dt2Scheme<Type>::facD2dt2 if (mesh().moving()) { - scalar halfRdeltaT2 = rDeltaT2.value()/2.0; + scalar halfRdeltaT2 = 0.5*rDeltaT2.value(); - scalarField SS0 = mesh().S() + mesh().S0(); - scalarField S0S00 = mesh().S0() + mesh().S00(); + scalarField SS0(mesh().S() + mesh().S0()); + scalarField S0S00(mesh().S0() + mesh().S00()); tmp<GeometricField<Type, faPatchField, areaMesh>> tdt2dt2 ( @@ -148,10 +148,10 @@ EulerFaD2dt2Scheme<Type>::facD2dt2 if (mesh().moving()) { - scalar halfRdeltaT2 = rDeltaT2.value()/2.0; + scalar halfRdeltaT2 = 0.5*rDeltaT2.value(); - scalarField SS0 = mesh().S() + mesh().S0(); - scalarField S0S00 = mesh().S0() + mesh().S00(); + scalarField SS0(mesh().S() + mesh().S0()); + scalarField S0S00(mesh().S0() + mesh().S00()); return tmp<GeometricField<Type, faPatchField, areaMesh>> ( @@ -228,13 +228,15 @@ EulerFaD2dt2Scheme<Type>::facD2dt2 { scalar halfRdeltaT2 = 0.5*rDeltaT2.value(); - scalarField SS0rhoRho0 = - (mesh().S() + mesh().S0()) - *rho.value(); + scalarField SS0rhoRho0 + ( + (mesh().S() + mesh().S0())*rho.value() + ); - scalarField S0S00rho0Rho00 = - (mesh().S0() + mesh().S00()) - *rho.value(); + scalarField S0S00rho0Rho00 + ( + (mesh().S0() + mesh().S00())*rho.value() + ); return tmp<GeometricField<Type, faPatchField, areaMesh>> ( @@ -489,7 +491,6 @@ EulerFaD2dt2Scheme<Type>::famD2dt2 scalar halfRdeltaT2 = 0.5*rDeltaT2; scalarField SS0(mesh().S() + mesh().S0()); - scalarField S0S00(mesh().S0() + mesh().S00()); fam.diag() = rho.value()*(coefft*halfRdeltaT2)*SS0; diff --git a/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.H b/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.H index 97d501734b5..f778368530a 100644 --- a/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.H +++ b/src/finiteArea/finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.H @@ -76,10 +76,8 @@ class boundedBackwardFaDdtScheme { return GREAT; } - else - { - return deltaT0_(); - } + + return deltaT0_(); } diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C index 656187479e7..118c60e9f2c 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C @@ -91,10 +91,10 @@ leastSquaresFaGrad<Type>::calcGrad forAll(own, edgei) { - label ownEdgeI = own[edgei]; - label neiEdgeI = nei[edgei]; + const label ownEdgeI = own[edgei]; + const label neiEdgeI = nei[edgei]; - Type deltaVsf = vsf[neiEdgeI] - vsf[ownEdgeI]; + const Type deltaVsf(vsf[neiEdgeI] - vsf[ownEdgeI]); lsGrad[ownEdgeI] += ownLs[edgei]*deltaVsf; lsGrad[neiEdgeI] -= neiLs[edgei]*deltaVsf; @@ -103,35 +103,23 @@ leastSquaresFaGrad<Type>::calcGrad // Boundary edges forAll(vsf.boundaryField(), patchi) { - const faePatchVectorField& patchOwnLs = ownLs.boundaryField()[patchi]; + const faPatchField<Type>& bf = vsf.boundaryField()[patchi]; + const Field<Type>& vsfp = + ( + bf.coupled() + ? bf.patchNeighbourField().cref() + : const_cast<faPatchField<Type>&>(bf) + ); + + const faePatchVectorField& ownLsp = ownLs.boundaryField()[patchi]; const labelUList& edgeFaces = lsGrad.boundaryField()[patchi].patch().edgeFaces(); - if (vsf.boundaryField()[patchi].coupled()) - { - Field<Type> neiVsf - ( - vsf.boundaryField()[patchi].patchNeighbourField() - ); - - forAll(neiVsf, patchEdgeI) - { - lsGrad[edgeFaces[patchEdgeI]] += - patchOwnLs[patchEdgeI] - *(neiVsf[patchEdgeI] - vsf[edgeFaces[patchEdgeI]]); - } - } - else + forAll(vsfp, pEdgei) { - const faPatchField<Type>& patchVsf = vsf.boundaryField()[patchi]; - - forAll(patchVsf, patchEdgeI) - { - lsGrad[edgeFaces[patchEdgeI]] += - patchOwnLs[patchEdgeI] - *(patchVsf[patchEdgeI] - vsf[edgeFaces[patchEdgeI]]); - } + lsGrad[edgeFaces[pEdgei]] += + ownLsp[pEdgei]*(vsfp[pEdgei] - vsf[edgeFaces[pEdgei]]); } } diff --git a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C index 3aa9c4d205d..a68d4f63ec7 100644 --- a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C +++ b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C @@ -91,22 +91,22 @@ tmp<areaVectorField> edgeLimitedGrad<scalar>::calcGrad const areaVectorField& C = mesh.areaCentres(); const edgeVectorField& Cf = mesh.edgeCentres(); - // create limiter + // Create limiter field scalarField limiter(vsf.internalField().size(), 1.0); - scalar rk = (1.0/k_ - 1.0); + const scalar rk = (1.0/k_ - 1.0); forAll(owner, edgei) { - label own = owner[edgei]; - label nei = neighbour[edgei]; + const label own = owner[edgei]; + const label nei = neighbour[edgei]; - scalar vsfOwn = vsf[own]; - scalar vsfNei = vsf[nei]; + const scalar vsfOwn = vsf[own]; + const scalar vsfNei = vsf[nei]; scalar maxEdge = max(vsfOwn, vsfNei); scalar minEdge = min(vsfOwn, vsfNei); - scalar maxMinEdge = rk*(maxEdge - minEdge); + const scalar maxMinEdge = rk*(maxEdge - minEdge); maxEdge += maxMinEdge; minEdge -= maxMinEdge; @@ -114,7 +114,8 @@ tmp<areaVectorField> edgeLimitedGrad<scalar>::calcGrad limitEdge ( limiter[own], - maxEdge - vsfOwn, minEdge - vsfOwn, + maxEdge - vsfOwn, + minEdge - vsfOwn, (Cf[edgei] - C[own]) & g[own] ); @@ -122,67 +123,53 @@ tmp<areaVectorField> edgeLimitedGrad<scalar>::calcGrad limitEdge ( limiter[nei], - maxEdge - vsfNei, minEdge - vsfNei, + maxEdge - vsfNei, + minEdge - vsfNei, (Cf[edgei] - C[nei]) & g[nei] ); } - const areaScalarField::Boundary& bsf = vsf.boundaryField(); + // Lambda expression to update limiter for boundary edges + auto updateLimiter = [&](const label patchi, const scalarField& fld) -> void + { + const labelUList& pOwner = mesh.boundary()[patchi].edgeFaces(); + const vectorField& pCf = Cf.boundaryField()[patchi]; + + forAll(pOwner, edgei) + { + const label own = pOwner[edgei]; + + const scalar vsfOwn = vsf[own]; + const scalar vsfNei = fld[edgei]; + + scalar maxEdge = max(vsfOwn, vsfNei); + scalar minEdge = min(vsfOwn, vsfNei); + const scalar maxMinEdge = rk*(maxEdge - minEdge); + maxEdge += maxMinEdge; + minEdge -= maxMinEdge; + + limitEdge + ( + limiter[own], + maxEdge - vsfOwn, + minEdge - vsfOwn, + (pCf[edgei] - C[own]) & g[own] + ); + } + }; + const areaScalarField::Boundary& bsf = vsf.boundaryField(); forAll(bsf, patchi) { const faPatchScalarField& psf = bsf[patchi]; - const labelUList& pOwner = mesh.boundary()[patchi].edgeFaces(); - const vectorField& pCf = Cf.boundaryField()[patchi]; - if (psf.coupled()) { - const scalarField psfNei(psf.patchNeighbourField()); - - forAll(pOwner, pEdgei) - { - label own = pOwner[pEdgei]; - - scalar vsfOwn = vsf[own]; - scalar vsfNei = psfNei[pEdgei]; - - scalar maxEdge = max(vsfOwn, vsfNei); - scalar minEdge = min(vsfOwn, vsfNei); - scalar maxMinEdge = rk*(maxEdge - minEdge); - maxEdge += maxMinEdge; - minEdge -= maxMinEdge; - - limitEdge - ( - limiter[own], - maxEdge - vsfOwn, minEdge - vsfOwn, - (pCf[pEdgei] - C[own]) & g[own] - ); - } + updateLimiter(patchi, psf.patchNeighbourField()); } else if (psf.fixesValue()) { - forAll(pOwner, pEdgei) - { - label own = pOwner[pEdgei]; - - scalar vsfOwn = vsf[own]; - scalar vsfNei = psf[pEdgei]; - - scalar maxEdge = max(vsfOwn, vsfNei); - scalar minEdge = min(vsfOwn, vsfNei); - scalar maxMinEdge = rk*(maxEdge - minEdge); - maxEdge += maxMinEdge; - minEdge -= maxMinEdge; - - limitEdge - ( - limiter[own], - maxEdge - vsfOwn, minEdge - vsfOwn, - (pCf[pEdgei] - C[own]) & g[own] - ); - } + updateLimiter(patchi, psf); } } @@ -226,35 +213,33 @@ tmp<areaTensorField> edgeLimitedGrad<vector>::calcGrad const areaVectorField& C = mesh.areaCentres(); const edgeVectorField& Cf = mesh.edgeCentres(); - // create limiter + // Create limiter scalarField limiter(vvf.internalField().size(), 1.0); - scalar rk = (1.0/k_ - 1.0); + const scalar rk = (1.0/k_ - 1.0); forAll(owner, edgei) { - label own = owner[edgei]; - label nei = neighbour[edgei]; - - vector vvfOwn = vvf[own]; - vector vvfNei = vvf[nei]; + const label own = owner[edgei]; + const label nei = neighbour[edgei]; // owner side - vector gradf = (Cf[edgei] - C[own]) & g[own]; + vector gradf((Cf[edgei] - C[own]) & g[own]); - scalar vsfOwn = gradf & vvfOwn; - scalar vsfNei = gradf & vvfNei; + scalar vsfOwn = gradf & vvf[own]; + scalar vsfNei = gradf & vvf[nei]; scalar maxEdge = max(vsfOwn, vsfNei); scalar minEdge = min(vsfOwn, vsfNei); - scalar maxMinEdge = rk*(maxEdge - minEdge); + const scalar maxMinEdge = rk*(maxEdge - minEdge); maxEdge += maxMinEdge; minEdge -= maxMinEdge; limitEdge ( limiter[own], - maxEdge - vsfOwn, minEdge - vsfOwn, + maxEdge - vsfOwn, + minEdge - vsfOwn, magSqr(gradf) ); @@ -262,8 +247,8 @@ tmp<areaTensorField> edgeLimitedGrad<vector>::calcGrad // neighbour side gradf = (Cf[edgei] - C[nei]) & g[nei]; - vsfOwn = gradf & vvfOwn; - vsfNei = gradf & vvfNei; + vsfOwn = gradf & vvf[own]; + vsfNei = gradf & vvf[nei]; maxEdge = max(vsfOwn, vsfNei); minEdge = min(vsfOwn, vsfNei); @@ -271,78 +256,57 @@ tmp<areaTensorField> edgeLimitedGrad<vector>::calcGrad limitEdge ( limiter[nei], - maxEdge - vsfNei, minEdge - vsfNei, + maxEdge - vsfNei, + minEdge - vsfNei, magSqr(gradf) ); } - const areaVectorField::Boundary& bvf = vvf.boundaryField(); - - forAll(bvf, patchi) + // Lambda expression to update limiter for boundary edges + auto updateLimiter = [&](const label patchi, const vectorField& fld) -> void { - const faPatchVectorField& psf = bvf[patchi]; - const labelUList& pOwner = mesh.boundary()[patchi].edgeFaces(); const vectorField& pCf = Cf.boundaryField()[patchi]; - if (psf.coupled()) + forAll(pOwner, edgei) { - const vectorField psfNei(psf.patchNeighbourField()); - - forAll(pOwner, pEdgei) - { - label own = pOwner[pEdgei]; - - vector vvfOwn = vvf[own]; - vector vvfNei = psfNei[pEdgei]; - - vector gradf = (pCf[pEdgei] - C[own]) & g[own]; + const label own = pOwner[edgei]; + + const vector gradf((pCf[edgei] - C[own]) & g[own]); + + const scalar vsfOwn = gradf & vvf[own]; + const scalar vsfNei = gradf & fld[edgei]; + + scalar maxEdge = max(vsfOwn, vsfNei); + scalar minEdge = min(vsfOwn, vsfNei); + const scalar maxMinEdge = rk*(maxEdge - minEdge); + maxEdge += maxMinEdge; + minEdge -= maxMinEdge; + + limitEdge + ( + limiter[own], + maxEdge - vsfOwn, + minEdge - vsfOwn, + magSqr(gradf) + ); + } + }; - scalar vsfOwn = gradf & vvfOwn; - scalar vsfNei = gradf & vvfNei; - scalar maxEdge = max(vsfOwn, vsfNei); - scalar minEdge = min(vsfOwn, vsfNei); - scalar maxMinEdge = rk*(maxEdge - minEdge); - maxEdge += maxMinEdge; - minEdge -= maxMinEdge; + const areaVectorField::Boundary& bvf = vvf.boundaryField(); + forAll(bvf, patchi) + { + const faPatchVectorField& psf = bvf[patchi]; - limitEdge - ( - limiter[own], - maxEdge - vsfOwn, minEdge - vsfOwn, - magSqr(gradf) - ); - } + if (psf.coupled()) + { + updateLimiter(patchi, psf.patchNeighbourField()); } else if (psf.fixesValue()) { - forAll(pOwner, pEdgei) - { - label own = pOwner[pEdgei]; - - vector vvfOwn = vvf[own]; - vector vvfNei = psf[pEdgei]; - - vector gradf = (pCf[pEdgei] - C[own]) & g[own]; - - scalar vsfOwn = gradf & vvfOwn; - scalar vsfNei = gradf & vvfNei; - - scalar maxEdge = max(vsfOwn, vsfNei); - scalar minEdge = min(vsfOwn, vsfNei); - scalar maxMinEdge = rk*(maxEdge - minEdge); - maxEdge += maxMinEdge; - minEdge -= maxMinEdge; - - limitEdge - ( - limiter[own], - maxEdge - vsfOwn, minEdge - vsfOwn, - magSqr(gradf) - ); - } + updateLimiter(patchi, psf); } } diff --git a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C index da2fb1bf7b0..eb0cc9bcbd0 100644 --- a/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C +++ b/src/finiteArea/finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C @@ -118,11 +118,11 @@ tmp<areaVectorField> faceLimitedGrad<scalar>::calcGrad forAll(owner, facei) { - label own = owner[facei]; - label nei = neighbour[facei]; + const label own = owner[facei]; + const label nei = neighbour[facei]; - scalar vsfOwn = vsf[own]; - scalar vsfNei = vsf[nei]; + const scalar vsfOwn = vsf[own]; + const scalar vsfNei = vsf[nei]; maxVsf[own] = max(maxVsf[own], vsfNei); minVsf[own] = min(minVsf[own], vsfNei); @@ -132,37 +132,33 @@ tmp<areaVectorField> faceLimitedGrad<scalar>::calcGrad } - const areaScalarField::Boundary& bsf = vsf.boundaryField(); + // Lambda expression to update limiter for boundary edges + auto updateLimiter = [&](const label patchi, const scalarField& fld) -> void + { + const labelUList& pOwner = mesh.boundary()[patchi].edgeFaces(); + + forAll(pOwner, facei) + { + const label own = pOwner[facei]; + const scalar vsf = fld[facei]; + + maxVsf[own] = max(maxVsf[own], vsf); + minVsf[own] = min(minVsf[own], vsf); + } + }; + const areaScalarField::Boundary& bsf = vsf.boundaryField(); forAll(bsf, patchi) { const faPatchScalarField& psf = bsf[patchi]; - const labelUList& pOwner = mesh.boundary()[patchi].edgeFaces(); - if (psf.coupled()) { - scalarField psfNei(psf.patchNeighbourField()); - - forAll(pOwner, pFacei) - { - label own = pOwner[pFacei]; - scalar vsfNei = psfNei[pFacei]; - - maxVsf[own] = max(maxVsf[own], vsfNei); - minVsf[own] = min(minVsf[own], vsfNei); - } + updateLimiter(patchi, psf.patchNeighbourField()); } else { - forAll(pOwner, pFacei) - { - label own = pOwner[pFacei]; - scalar vsfNei = psf[pFacei]; - - maxVsf[own] = max(maxVsf[own], vsfNei); - minVsf[own] = min(minVsf[own], vsfNei); - } + updateLimiter(patchi, psf); } } @@ -171,19 +167,19 @@ tmp<areaVectorField> faceLimitedGrad<scalar>::calcGrad if (k_ < 1.0) { - scalarField maxMinVsf((1.0/k_ - 1.0)*(maxVsf - minVsf)); + const scalarField maxMinVsf((1.0/k_ - 1.0)*(maxVsf - minVsf)); maxVsf += maxMinVsf; minVsf -= maxMinVsf; } - // create limiter + // Create limiter scalarField limiter(vsf.internalField().size(), 1.0); forAll(owner, facei) { - label own = owner[facei]; - label nei = neighbour[facei]; + const label own = owner[facei]; + const label nei = neighbour[facei]; // owner side limitEdge @@ -211,7 +207,7 @@ tmp<areaVectorField> faceLimitedGrad<scalar>::calcGrad forAll(pOwner, pFacei) { - label own = pOwner[pFacei]; + const label own = pOwner[pFacei]; limitEdge ( @@ -268,8 +264,8 @@ tmp<areaTensorField> faceLimitedGrad<vector>::calcGrad forAll(owner, facei) { - label own = owner[facei]; - label nei = neighbour[facei]; + const label own = owner[facei]; + const label nei = neighbour[facei]; const vector& vsfOwn = vsf[own]; const vector& vsfNei = vsf[nei]; @@ -282,36 +278,33 @@ tmp<areaTensorField> faceLimitedGrad<vector>::calcGrad } - const areaVectorField::Boundary& bsf = vsf.boundaryField(); + // Lambda expression to update limiter for boundary edges + auto updateLimiter = [&](const label patchi, const vectorField& fld) -> void + { + const labelUList& pOwner = mesh.boundary()[patchi].edgeFaces(); + forAll(pOwner, facei) + { + const label own = pOwner[facei]; + const vector& vsf = fld[facei]; + + maxVsf[own] = max(maxVsf[own], vsf); + minVsf[own] = min(minVsf[own], vsf); + } + }; + + const areaVectorField::Boundary& bsf = vsf.boundaryField(); forAll(bsf, patchi) { const faPatchVectorField& psf = bsf[patchi]; - const labelUList& pOwner = mesh.boundary()[patchi].edgeFaces(); if (psf.coupled()) { - vectorField psfNei(psf.patchNeighbourField()); - - forAll(pOwner, pFacei) - { - label own = pOwner[pFacei]; - const vector& vsfNei = psfNei[pFacei]; - - maxVsf[own] = max(maxVsf[own], vsfNei); - minVsf[own] = min(minVsf[own], vsfNei); - } + updateLimiter(patchi, psf.patchNeighbourField()); } else { - forAll(pOwner, pFacei) - { - label own = pOwner[pFacei]; - const vector& vsfNei = psf[pFacei]; - - maxVsf[own] = max(maxVsf[own], vsfNei); - minVsf[own] = min(minVsf[own], vsfNei); - } + updateLimiter(patchi, psf); } } @@ -320,7 +313,7 @@ tmp<areaTensorField> faceLimitedGrad<vector>::calcGrad if (k_ < 1.0) { - vectorField maxMinVsf((1.0/k_ - 1.0)*(maxVsf - minVsf)); + const vectorField maxMinVsf((1.0/k_ - 1.0)*(maxVsf - minVsf)); maxVsf += maxMinVsf; minVsf -= maxMinVsf; @@ -329,13 +322,13 @@ tmp<areaTensorField> faceLimitedGrad<vector>::calcGrad } - // create limiter + // Create limiter vectorField limiter(vsf.internalField().size(), vector::one); forAll(owner, facei) { - label own = owner[facei]; - label nei = neighbour[facei]; + const label own = owner[facei]; + const label nei = neighbour[facei]; // owner side limitEdge @@ -363,7 +356,7 @@ tmp<areaTensorField> faceLimitedGrad<vector>::calcGrad forAll(pOwner, pFacei) { - label own = pOwner[pFacei]; + const label own = pOwner[pFacei]; limitEdge ( diff --git a/src/finiteArea/interpolation/edgeInterpolation/schemes/Gamma/Gamma.H b/src/finiteArea/interpolation/edgeInterpolation/schemes/Gamma/Gamma.H index 18b4973828f..6b3eb5f3be4 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/schemes/Gamma/Gamma.H +++ b/src/finiteArea/interpolation/edgeInterpolation/schemes/Gamma/Gamma.H @@ -76,7 +76,7 @@ public: // Rescale k_ to be >= 0 and <= 0.5 (TVD conformant) // and avoid the /0 when k_ = 0 - k_ = max(k_/2.0, SMALL); + k_ = max(0.5*k_, SMALL); } @@ -91,30 +91,19 @@ public: const vector& d ) const { - scalar magd = mag(d); - vector dHat = d/mag(d); + const vector dHat(normalised(d)); - scalar gradf = (phiN - phiP)/magd; - - scalar gradcf; - scalar udWeight; - - if (faceFlux > 0) - { - gradcf = dHat & gradcP; - udWeight = 1; - } - else - { - gradcf = dHat & gradcN; - udWeight = 0; - } + // Choose gradc based on faceFlux + const vector& gradcPN = (faceFlux > 0) ? gradcP : gradcN; + const scalar udWeight = (faceFlux > 0) ? 1 : 0; // Stabilise for division - gradcf = stabilise(gradcf, SMALL); + const scalar gradcf = stabilise(dHat & gradcPN, SMALL); + + const scalar gradf = (phiN - phiP)/mag(d); - scalar phict = 1 - 0.5*gradf/gradcf; - scalar limiter = clamp(phict/k_, zero_one{}); + const scalar phict = 1 - 0.5*gradf/gradcf; + const scalar limiter = clamp(phict/k_, zero_one{}); return lerp(udWeight, cdWeight, limiter); } -- GitLab From 78fc102df1e574b504b922896944e8bebd8ca1c2 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 4 Mar 2024 11:45:29 +0100 Subject: [PATCH 083/231] ENH: minor reduction in allocations for inactive profiling (#3112) - avoid string conversion/concatenation unless profiling hooks are possible (ie, active or Extrae is loaded). --- .../functionObjectList/functionObjectList.C | 16 ++-- src/OpenFOAM/global/argList/argList.C | 1 + .../global/profiling/profilingTrigger.C | 42 +++++---- .../global/profiling/profilingTrigger.H | 88 ++++++++++++++----- .../solvers/smoothSolver/smoothSolver.C | 4 +- .../faOption/faOptionListTemplates.C | 10 +-- .../general/fvOptions/fvOptionListTemplates.C | 17 ++-- .../fvMatrices/fvMatrix/fvMatrixSolve.C | 2 +- .../fvScalarMatrix/fvScalarMatrix.C | 2 +- .../adjointSpalartAllmaras.C | 11 ++- 10 files changed, 130 insertions(+), 63 deletions(-) diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C index ae8aed9e057..c9b108be34f 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C +++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C @@ -651,7 +651,7 @@ bool Foam::functionObjectList::execute(bool writeProperties) addProfiling ( fo, - "functionObject::" + objName + "::execute" + "functionObject::", objName, "::execute" ); ok = funcObj.execute() && ok; @@ -697,7 +697,7 @@ bool Foam::functionObjectList::execute(bool writeProperties) addProfiling ( fo, - "functionObject::" + objName + ":write" + "functionObject::", objName, ":write" ); ok = funcObj.write() && ok; @@ -753,7 +753,7 @@ bool Foam::functionObjectList::execute(bool writeProperties) addProfiling ( fo, - "functionObject::" + objName + "::execute" + "functionObject::", objName, "::execute" ); ok = funcObj.execute() && ok; @@ -764,7 +764,7 @@ bool Foam::functionObjectList::execute(bool writeProperties) addProfiling ( fo, - "functionObject::" + objName + ":write" + "functionObject::", objName, ":write" ); ok = funcObj.write() && ok; @@ -863,7 +863,7 @@ bool Foam::functionObjectList::end() try { - addProfiling(fo, "functionObject::" + objName + "::end"); + addProfiling(fo, "functionObject::", objName, "::end"); ok = funcObj.end() && ok; } catch (const Foam::error& err) @@ -925,7 +925,7 @@ bool Foam::functionObjectList::adjustTimeStep() addProfiling ( fo, - "functionObject::" + objName + "::adjustTimeStep" + "functionObject::", objName, "::adjustTimeStep" ); ok = funcObj.adjustTimeStep() && ok; @@ -1090,7 +1090,7 @@ bool Foam::functionObjectList::read() addProfiling ( fo, - "functionObject::" + objPtr->name() + "::read" + "functionObject::", objPtr->name(), "::read" ); enabled = objPtr->read(dict); @@ -1117,7 +1117,7 @@ bool Foam::functionObjectList::read() addProfiling ( fo, - "functionObject::" + key + "::new" + "functionObject::", key, "::new" ); if (needsTimeControl) { diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index a94437514a6..021abff1575 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -1016,6 +1016,7 @@ Foam::argList::argList runControl_.runPar(argc, argv); } + // addProfiling(argList, "argList"); // ------------------------------------------------------------------------ diff --git a/src/OpenFOAM/global/profiling/profilingTrigger.C b/src/OpenFOAM/global/profiling/profilingTrigger.C index 95d6fadc63f..aa4a545d5d5 100644 --- a/src/OpenFOAM/global/profiling/profilingTrigger.C +++ b/src/OpenFOAM/global/profiling/profilingTrigger.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2009-2016 Bernhard Gschaider - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. Copyright (C) 2023 Josep Pocurull Serra, Barcelona Supercomputing Center ------------------------------------------------------------------------------- License @@ -140,26 +140,33 @@ static void close_extrae_region() #endif /* HAVE_EXTRAE */ -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::profilingTrigger::profilingTrigger() noexcept -: - ptr_(nullptr) -{} +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // +bool Foam::profilingTrigger::possible() noexcept +{ + return + ( + profiling::active() + #ifdef HAVE_EXTRAE + || bool(Extrae_event) + #endif + ); +} -Foam::profilingTrigger::profilingTrigger(const char* name) -: - profilingTrigger(std::string(name)) -{} +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -Foam::profilingTrigger::profilingTrigger(const std::string& name) -: - ptr_(profiling::New(name)) +void Foam::profilingTrigger::enter(const std::string& name) { + // debug: std::cerr<< "enter profiling: " << name << '\n'; + + ptr_ = profiling::New(name); + #ifdef HAVE_EXTRAE - if (Extrae_event) open_extrae_region(std::string(name)); + if (Extrae_event) + { + open_extrae_region(name); + } #endif } @@ -183,7 +190,10 @@ bool Foam::profilingTrigger::running() const noexcept void Foam::profilingTrigger::stop() { #ifdef HAVE_EXTRAE - if (Extrae_event) close_extrae_region(); + if (Extrae_event) + { + close_extrae_region(); + } #endif if (ptr_) diff --git a/src/OpenFOAM/global/profiling/profilingTrigger.H b/src/OpenFOAM/global/profiling/profilingTrigger.H index e1242a06cb6..2a29438632e 100644 --- a/src/OpenFOAM/global/profiling/profilingTrigger.H +++ b/src/OpenFOAM/global/profiling/profilingTrigger.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2009-2016 Bernhard Gschaider - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,7 +38,7 @@ SourceFiles #ifndef Foam_profilingTrigger_H #define Foam_profilingTrigger_H -#include "word.H" +#include <string> // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -57,7 +57,42 @@ class profilingTrigger // Private Data Members //- The profiling information - profilingInformation *ptr_; + profilingInformation* ptr_; + + + // Private Member Functions + + //- True if any profiling hooks are possible + static bool possible() noexcept; + + //- Helper: string concatenation (no-op) + static inline void string_concat(std::string& output) {} + + //- Helper: string concatenation (loop) + template<class StringType, class... StringArgs> + static inline void string_concat + ( + std::string& output, + const StringType& str, + StringArgs&&... args + ) + { + output += str; + string_concat(output, std::forward<StringArgs>(args)...); + } + + //- Enter profiling section + void enter(const std::string& name); + + //- Trigger entering of profiling section + template<class... StringArgs> + void trigger(std::string name, StringArgs&&... args) + { + string_concat(name, std::forward<StringArgs>(args)...); + // No checking for empty name (should not occur) + enter(name); + } + public: @@ -73,29 +108,37 @@ public: // Constructors //- Default construct, no profiling trigger - profilingTrigger() noexcept; - - //- Construct profiling with given description. - // Descriptions beginning with 'application::' are reserved for - // internal use. - explicit profilingTrigger(const char* name); + constexpr profilingTrigger() noexcept : ptr_(nullptr) {} - //- Construct profiling with given description. + //- Start profiling section (if profiling is active) + //- with given description. + // The description is generated by string concatenation of the + // parameters. // Descriptions beginning with 'application::' are reserved for // internal use. - explicit profilingTrigger(const std::string& name); - - - //- Destructor + template<class... StringArgs> + explicit profilingTrigger(StringArgs&&... description) + : + ptr_(nullptr) + { + if (possible()) + { + // Delay string concatenation until actually needed + trigger(std::forward<StringArgs>(description)...); + } + } + + + //- Destructor, calls stop() ~profilingTrigger(); // Member Functions - //- True if the triggered profiling is active + //- True if the triggered profiling section is active bool running() const noexcept; - //- Stop triggered profiling + //- Stop triggered profiling section void stop(); }; @@ -108,10 +151,11 @@ public: // Macros -//- Define profiling trigger with specified name and description string +//- Define profiling trigger with specified name and description string. +//- The description is generated by string concatenation. // \sa endProfiling -#define addProfiling(Name,Descr) \ - ::Foam::profilingTrigger profilingTriggerFor##Name(Descr) +#define addProfiling(Name, ...) \ + ::Foam::profilingTrigger profilingTriggerFor##Name(__VA_ARGS__) //- Remove profiling with specified name // \sa addProfiling @@ -121,9 +165,11 @@ public: //- corresponding to the compiler-defined function name string // \sa addProfiling #ifdef __GNUC__ -#define addProfilingInFunction(Name) addProfiling(Name, __PRETTY_FUNCTION__) +#define addProfilingInFunction(Name) \ + ::Foam::profilingTrigger profilingTriggerFor##Name(__PRETTY_FUNCTION__) #else -#define addProfilingInFunction(Name) addProfiling(Name, __func__) +#define addProfilingInFunction(Name) \ + ::Foam::profilingTrigger profilingTriggerFor##Name(__func__) #endif diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/smoothSolver/smoothSolver.C b/src/OpenFOAM/matrices/lduMatrix/solvers/smoothSolver/smoothSolver.C index 1c25d08ccba..127d20d7ac2 100644 --- a/src/OpenFOAM/matrices/lduMatrix/solvers/smoothSolver/smoothSolver.C +++ b/src/OpenFOAM/matrices/lduMatrix/solvers/smoothSolver/smoothSolver.C @@ -95,7 +95,7 @@ Foam::solverPerformance Foam::smoothSolver::solve // If the nSweeps_ is negative do a fixed number of sweeps if (nSweeps_ < 0) { - addProfiling(solve, "lduMatrix::smoother." + fieldName_); + addProfiling(solve, "lduMatrix::smoother.", fieldName_); autoPtr<lduMatrix::smoother> smootherPtr = lduMatrix::smoother::New ( @@ -163,7 +163,7 @@ Foam::solverPerformance Foam::smoothSolver::solve || !solverPerf.checkConvergence(tolerance_, relTol_, log_) ) { - addProfiling(solve, "lduMatrix::smoother." + fieldName_); + addProfiling(solve, "lduMatrix::smoother.", fieldName_); autoPtr<lduMatrix::smoother> smootherPtr = lduMatrix::smoother::New ( diff --git a/src/faOptions/faOption/faOptionListTemplates.C b/src/faOptions/faOption/faOptionListTemplates.C index 7445acae929..ab68dfd5552 100644 --- a/src/faOptions/faOption/faOptionListTemplates.C +++ b/src/faOptions/faOption/faOptionListTemplates.C @@ -50,7 +50,7 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::fa::optionList::source if (fieldi != -1) { - addProfiling(faopt, "faOption()." + source.name()); + addProfiling(faopt, "faOption().", source.name()); source.setApplied(fieldi); @@ -141,7 +141,7 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::fa::optionList::operator() if (fieldi != -1) { - addProfiling(faopt, "faOption()." + source.name()); + addProfiling(faopt, "faOption().", source.name()); source.setApplied(fieldi); @@ -193,7 +193,7 @@ Foam::tmp<Foam::faMatrix<Type>> Foam::fa::optionList::operator() if (fieldi != -1) { - addProfiling(faopt, "faOption()." + source.name()); + addProfiling(faopt, "faOption().", source.name()); source.setApplied(fieldi); @@ -256,7 +256,7 @@ void Foam::fa::optionList::constrain(faMatrix<Type>& eqn) if (fieldi != -1) { - addProfiling(faopt, "faOption::constrain." + eqn.psi().name()); + addProfiling(faopt, "faOption::constrain.", eqn.psi().name()); source.setApplied(fieldi); @@ -299,7 +299,7 @@ void Foam::fa::optionList::correct if (fieldi != -1) { - addProfiling(faopt, "faOption::correct." + source.name()); + addProfiling(faopt, "faOption::correct.", source.name()); source.setApplied(fieldi); diff --git a/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C index 201ecb634dc..b6e8d9aa07d 100644 --- a/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C +++ b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C @@ -51,7 +51,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::fv::optionList::source if (fieldi != -1) { - addProfiling(fvopt, "fvOption()." + source.name()); + addProfiling(fvopt, "fvOption().", source.name()); source.setApplied(fieldi); @@ -138,7 +138,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::fv::optionList::operator() if (fieldi != -1) { - addProfiling(fvopt, "fvOption()." + source.name()); + addProfiling(fvopt, "fvOption().", source.name()); source.setApplied(fieldi); @@ -207,7 +207,7 @@ Foam::tmp<Foam::fvMatrix<Type>> Foam::fv::optionList::operator() if (fieldi != -1) { - addProfiling(fvopt, "fvOption()." + source.name()); + addProfiling(fvopt, "fvOption().", source.name()); source.setApplied(fieldi); @@ -321,7 +321,7 @@ void Foam::fv::optionList::constrain(fvMatrix<Type>& eqn) if (fieldi != -1) { - addProfiling(fvopt, "fvOption::constrain." + eqn.psi().name()); + addProfiling(fvopt, "fvOption::constrain.", eqn.psi().name()); source.setApplied(fieldi); @@ -364,7 +364,7 @@ void Foam::fv::optionList::correct if (fieldi != -1) { - addProfiling(fvopt, "fvOption::correct." + source.name()); + addProfiling(fvopt, "fvOption::correct.", source.name()); source.setApplied(fieldi); @@ -407,7 +407,7 @@ void Foam::fv::optionList::postProcessSens if (fieldi != -1) { - addProfiling(fvopt, "fvOption::postProcessSens." + source.name()); + addProfiling(fvopt, "fvOption::postProcessSens.", source.name()); const bool ok = source.isActive(); @@ -447,7 +447,10 @@ void Foam::fv::optionList::postProcessAuxSens if (fieldi != -1) { addProfiling - (fvopt, "fvOption::postProcessAuxSens." + source.name()); + ( + fvopt, + "fvOption::postProcessAuxSens.", source.name() + ); const bool ok = source.isActive(); diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C index 000306e3523..0a232e35b1a 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C @@ -68,7 +68,7 @@ Foam::SolverPerformance<Type> Foam::fvMatrix<Type>::solveSegregatedOrCoupled { regionName = psi_.mesh().name() + "::"; } - addProfiling(solve, "fvMatrix::solve." + regionName + psi_.name()); + addProfiling(solve, "fvMatrix::solve.", regionName, psi_.name()); if (debug) { diff --git a/src/finiteVolume/fvMatrices/fvScalarMatrix/fvScalarMatrix.C b/src/finiteVolume/fvMatrices/fvScalarMatrix/fvScalarMatrix.C index a8d87158f8f..c23bd6a6dd7 100644 --- a/src/finiteVolume/fvMatrices/fvScalarMatrix/fvScalarMatrix.C +++ b/src/finiteVolume/fvMatrices/fvScalarMatrix/fvScalarMatrix.C @@ -72,7 +72,7 @@ Foam::fvMatrix<Foam::scalar>::solver { regionName = psi_.mesh().name() + "::"; } - addProfiling(solve, "fvMatrix::solve." + regionName + psi_.name()); + addProfiling(solve, "fvMatrix::solve.", regionName, psi_.name()); if (debug) { diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C index 702d5b369d3..72bf06a4887 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C @@ -725,7 +725,10 @@ tmp<fvVectorMatrix> adjointSpalartAllmaras::divDevReff(volVectorField& Ua) const tmp<volVectorField> adjointSpalartAllmaras::adjointMeanFlowSource() { addProfiling - (adjointSpalartAllmaras, "adjointSpalartAllmaras::addMomentumSource"); + ( + adjointSpalartAllmaras, + "adjointSpalartAllmaras::addMomentumSource" + ); // cm formulation //return (- nuTilda()*fvc::grad(nuaTilda() - conservativeMomentumSource()); @@ -1043,7 +1046,11 @@ void adjointSpalartAllmaras::nullify() void adjointSpalartAllmaras::correct() { addProfiling - (adjointSpalartAllmaras, "adjointSpalartAllmaras::correct"); + ( + adjointSpalartAllmaras, + "adjointSpalartAllmaras::correct" + ); + if (!adjointTurbulence_) { return; -- GitLab From 5a70be0846ae60955be0768c37d069be46037298 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 5 Mar 2024 09:22:27 +0100 Subject: [PATCH 084/231] ENH: use SubList for CompactListList access - this was previously a UList instead of SubList, but SubList supports better assignment of values ENH: add invertOneToManyCompact - returns a CompactListList<label> instead of labelListList, which allows for reuse as partitioning table etc and/or slightly reduced memory overhead --- .../Test-GAMGAgglomeration.C | 50 +++++++------------ .../manipulation/polyDualMesh/meshDualiser.C | 13 +++-- .../CompactListList/CompactListList.H | 21 +++++--- .../CompactListList/CompactListListI.H | 21 ++++---- .../containers/Lists/ListOps/ListOps.C | 49 ++++++++++++++++++ .../containers/Lists/ListOps/ListOps.H | 11 ++++ 6 files changed, 111 insertions(+), 54 deletions(-) diff --git a/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C b/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C index cf5584e01ff..7c09aefb649 100644 --- a/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C +++ b/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C @@ -70,7 +70,10 @@ int main(int argc, char *argv[]) ); labelList cellToCoarse(identity(mesh.nCells())); - labelListList coarseToCell(invertOneToMany(mesh.nCells(), cellToCoarse)); + CompactListList<label> coarseToCell + ( + invertOneToManyCompact(mesh.nCells(), cellToCoarse) + ); ++runTime; @@ -78,16 +81,11 @@ int main(int argc, char *argv[]) { volScalarField scalarAgglomeration ( - IOobject - ( - "agglomeration", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), + mesh.thisDb().newIOobject("agglomeration"), mesh, - dimensionedScalar(dimless, Zero) + Foam::zero{}, + dimless, + fvPatchFieldBase::zeroGradientType() ); scalarField& fld = scalarAgglomeration.primitiveFieldRef(); forAll(fld, celli) @@ -142,31 +140,23 @@ int main(int argc, char *argv[]) } - forAll(addr, fineI) + forAll(addr, finei) { - const labelList& cellLabels = coarseToCell[fineI]; - forAll(cellLabels, i) - { - cellToCoarse[cellLabels[i]] = addr[fineI]; - } + labelUIndList(cellToCoarse, coarseToCell[finei]) = addr[finei]; } - coarseToCell = invertOneToMany(coarseSize, cellToCoarse); + coarseToCell = invertOneToManyCompact(coarseSize, cellToCoarse); // Write agglomeration { volScalarField scalarAgglomeration ( - IOobject - ( - "agglomeration", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), + mesh.thisDb().newIOobject("agglomeration"), mesh, - dimensionedScalar(dimless, Zero) + Foam::zero{}, + dimless, + fvPatchFieldBase::zeroGradientType() ); + scalarField& fld = scalarAgglomeration.primitiveFieldRef(); forAll(fld, celli) { @@ -193,9 +183,9 @@ int main(int argc, char *argv[]) } // Determine coarse cc - forAll(coarseToCell, coarseI) + forAll(coarseToCell, coarsei) { - const labelList& cellLabels = coarseToCell[coarseI]; + const auto& cellLabels = coarseToCell[coarsei]; point coarseCc = average ( @@ -204,10 +194,8 @@ int main(int argc, char *argv[]) meshTools::writeOBJ(str, coarseCc); vertI++; - forAll(cellLabels, i) + for (label celli : cellLabels) { - label celli = cellLabels[i]; - str << "l " << celli+1 << ' ' << vertI << nl; } } diff --git a/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C b/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C index 384143a52d9..c5cdb173707 100644 --- a/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C +++ b/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C @@ -65,16 +65,19 @@ void Foam::meshDualiser::checkPolyTopoChange(const polyTopoChange& meshMod) if (nUnique < points.size()) { - labelListList newToOld(invertOneToMany(nUnique, oldToNew)); + CompactListList<label> newToOld + ( + invertOneToManyCompact(nUnique, oldToNew) + ); - forAll(newToOld, newI) + forAll(newToOld, newi) { - if (newToOld[newI].size() != 1) + if (newToOld[newi].size() != 1) { FatalErrorInFunction - << "duplicate verts:" << newToOld[newI] + << "duplicate verts:" << newToOld[newi] << " coords:" - << UIndirectList<point>(points, newToOld[newI]) + << UIndirectList<point>(points, newToOld[newi]) << abort(FatalError); } } diff --git a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.H b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.H index 7935b876a24..99873e3b805 100644 --- a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.H +++ b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -63,6 +63,11 @@ template<class T> class CompactListList; template<class T> Istream& operator>>(Istream&, CompactListList<T>&); template<class T> Ostream& operator<<(Ostream&, const CompactListList<T>&); +// Common list types + +//! A CompactListList of labels +typedef CompactListList<label> labelCompactListList; + /*---------------------------------------------------------------------------*\ Class CompactListList Declaration @@ -422,17 +427,17 @@ public: // Row-based access + //- Return const access to sub-list (no subscript checking) + inline const SubList<T> localList(const label i) const; + //- Return non-const access to sub-list (no subscript checking) - inline UList<T> localList(const label i); + inline SubList<T> localList(const label i); //- Return const access to sub-list (no subscript checking) - inline const UList<T> localList(const label i) const; - - //- Return row as UList - same as localList method - inline UList<T> operator[](const label i); + inline const SubList<T> operator[](const label i) const; - //- Return row as const UList - same as localList method - inline const UList<T> operator[](const label i) const; + //- Return non-const access to sub-list (no subscript checking) + inline SubList<T> operator[](const label i); // Element access diff --git a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H index e5c76d8c855..41c0ed19e97 100644 --- a/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H +++ b/src/OpenFOAM/containers/CompactLists/CompactListList/CompactListListI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -81,7 +81,6 @@ inline Foam::CompactListList<T>::CompactListList {} - template<class T> inline Foam::CompactListList<T>::CompactListList ( @@ -259,16 +258,16 @@ inline Foam::label Foam::CompactListList<T>::localSize(const label i) const template<class T> -inline Foam::UList<T> -Foam::CompactListList<T>::localList(const label i) +inline const Foam::SubList<T> +Foam::CompactListList<T>::localList(const label i) const { return SubList<T>(values_, (offsets_[i+1] - offsets_[i]), offsets_[i]); } template<class T> -inline const Foam::UList<T> -Foam::CompactListList<T>::localList(const label i) const +inline Foam::SubList<T> +Foam::CompactListList<T>::localList(const label i) { return SubList<T>(values_, (offsets_[i+1] - offsets_[i]), offsets_[i]); } @@ -476,17 +475,19 @@ inline void Foam::CompactListList<T>::operator=(const Foam::zero) template<class T> -inline Foam::UList<T> -Foam::CompactListList<T>::operator[](const label i) +inline const Foam::SubList<T> +Foam::CompactListList<T>::operator[](const label i) const { + // return SubList<T>(values_, (offsets_[i+1] - offsets_[i]), offsets_[i]); return this->localList(i); } template<class T> -inline const Foam::UList<T> -Foam::CompactListList<T>::operator[](const label i) const +inline Foam::SubList<T> +Foam::CompactListList<T>::operator[](const label i) { + // return SubList<T>(values_, (offsets_[i+1] - offsets_[i]), offsets_[i]); return this->localList(i); } diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOps.C b/src/OpenFOAM/containers/Lists/ListOps/ListOps.C index d221f20bb5a..172c9e87c54 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOps.C +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOps.C @@ -27,6 +27,7 @@ License \*---------------------------------------------------------------------------*/ #include "ListOps.H" +#include "CompactListList.H" #include "HashSet.H" #include <numeric> @@ -177,6 +178,54 @@ Foam::labelListList Foam::invertOneToMany } +Foam::CompactListList<Foam::label> +Foam::invertOneToManyCompact +( + const label len, + const labelUList& map +) +{ + labelList sizes(len, Foam::zero{}); + + for (const label newIdx : map) + { + if (newIdx >= 0) + { + #ifdef FULLDEBUG + if (newIdx >= len) + { + FatalErrorInFunction + << "Inverse location " << newIdx + << " is out of range. List has size " << len + << abort(FatalError); + } + #endif + + ++sizes[newIdx]; + } + } + + CompactListList<label> inverse(sizes); + + // Reuse sizes as output offset into inverse.values() + sizes = labelList::subList(inverse.offsets(), inverse.size()); + labelList& values = inverse.values(); + + label i = 0; + for (const label newIdx : map) + { + if (newIdx >= 0) + { + values[sizes[newIdx]++] = i; + } + + ++i; + } + + return inverse; +} + + Foam::bitSet Foam::reorder ( const labelUList& oldToNew, diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOps.H b/src/OpenFOAM/containers/Lists/ListOps/ListOps.H index 4b5a1f3adfd..3a03da0fb18 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOps.H +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOps.H @@ -59,6 +59,10 @@ SourceFiles namespace Foam { +// Forward Declarations +template<class T> class CompactListList; + + //- Renumber the values within a list. // Negative input values are left untouched. template<class IntListType> @@ -378,6 +382,13 @@ Map<label> invertToMap(const labelUList& values); //- Invert one-to-many map. Unmapped elements will be size 0. labelListList invertOneToMany(const label len, const labelUList& map); +//- Invert one-to-many compact map. Unmapped elements will be size 0. +CompactListList<label> invertOneToManyCompact +( + const label len, + const labelUList& map +); + //- Invert many-to-many. // Input and output types must be inherited from List and also // contain ints/labels. Used, for example, for faces to pointFaces. -- GitLab From b98f53ceca07f06883063789160d9521295533ec Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 29 Feb 2024 09:40:42 +0100 Subject: [PATCH 085/231] ENH: make ITstream positioning methods noexcept ENH: add rank() method for compound tokens ENH: add IOstream::minPrecision(unsigned) - reduced typing, more expressive, no namespace ambiguity with max() new: IOstream::minPrecision(10); old: IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); STYLE: namespace qualify min/max for some buffer sizing [clang/hipp] --- .../finiteArea/makeFaMesh/makeFaMesh.C | 4 +- .../snappyRefineMesh/snappyRefineMesh.C | 29 +++++++-- .../mesh/conversion/ansysToFoam/ansysToFoam.L | 6 +- .../mesh/conversion/ccm/ccmToFoam/ccmToFoam.C | 6 +- .../mesh/conversion/cfx4ToFoam/cfx4ToFoam.C | 6 +- .../conversion/ensightToFoam/ensightToFoam.C | 6 +- .../mesh/conversion/fireToFoam/fireToFoam.C | 6 +- .../fluent3DMeshToFoam/fluent3DMeshToFoam.L | 6 +- .../fluentMeshToFoam/fluentMeshToFoam.L | 6 +- .../conversion/gambitToFoam/gambitToFoam.L | 6 +- .../mesh/conversion/gmshToFoam/gmshToFoam.C | 4 +- .../ideasUnvToFoam/ideasUnvToFoam.C | 4 +- .../mesh/conversion/kivaToFoam/readKivaGrid.H | 4 +- .../mesh/conversion/mshToFoam/mshToFoam.C | 6 +- .../netgenNeutralToFoam/netgenNeutralToFoam.C | 6 +- .../conversion/plot3dToFoam/plot3dToFoam.C | 6 +- .../mesh/conversion/star4ToFoam/star4ToFoam.C | 6 +- .../conversion/tetgenToFoam/tetgenToFoam.C | 4 +- .../vtkUnstructuredToFoam.C | 6 +- .../generation/PDRblockMesh/PDRblockMesh.C | 6 +- .../mesh/generation/blockMesh/blockMesh.C | 6 +- .../foamyHexMeshBackgroundMesh.C | 4 +- .../mesh/manipulation/autoPatch/autoPatch.C | 4 +- .../manipulation/createPatch/createPatch.C | 4 +- .../manipulation/flattenMesh/flattenMesh.C | 4 +- .../mesh/manipulation/mirrorMesh/mirrorMesh.C | 6 +- .../mesh/manipulation/rotateMesh/rotateMesh.C | 6 +- .../mesh/manipulation/stitchMesh/stitchMesh.C | 6 +- .../transformPoints/transformPoints.C | 7 +-- .../decomposePar/domainDecomposition.C | 6 +- .../reconstructParMesh/reconstructParMesh.C | 2 +- .../redistributePar/redistributePar.C | 6 +- .../chemkinToFoam/chemkinToFoam.C | 6 +- .../db/IOstreams/IOstreams/IOstream.H | 16 ++++- .../db/IOstreams/Pstreams/PstreamBuffers.C | 2 +- .../db/IOstreams/Pstreams/UOPstreamBase.C | 4 +- src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C | 62 +++++++------------ src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H | 32 ++++++---- src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H | 16 ++--- src/OpenFOAM/db/IOstreams/token/token.H | 17 ++++- src/OpenFOAM/db/IOstreams/token/tokenI.H | 35 +++++++++-- src/OpenFOAM/db/IOstreams/token/tokenIO.C | 11 ++++ .../dictionaryEntry/dictionaryEntry.C | 3 +- .../dictionaryListEntry/dictionaryListEntry.H | 1 - src/OpenFOAM/db/dictionary/entry/entry.H | 36 ++++------- .../functionEntries/evalEntry/evalEntry.C | 2 +- .../primitiveEntry/primitiveEntry.C | 10 ++- .../primitiveEntry/primitiveEntry.H | 5 +- .../primitiveEntry/primitiveEntryIO.C | 8 +-- .../PDRblockMesh/PDRblockBlockMesh.C | 6 +- .../faDecompose/faMeshDecomposition.C | 4 +- 51 files changed, 267 insertions(+), 203 deletions(-) diff --git a/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C b/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C index 2d96b0d1b53..21be51ee46d 100644 --- a/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C +++ b/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C @@ -155,8 +155,8 @@ int main(int argc, char *argv[]) } else { - // Set the precision of the points data to 10 - IOstream::defaultPrecision(10); + // More precision (for points data) + IOstream::minPrecision(10); Info<< nl << "Write finite area mesh." << nl; aMesh.write(); diff --git a/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C b/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C index 7d1db05860b..6aa76e6653e 100644 --- a/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C +++ b/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -551,9 +551,13 @@ void subsetMesh Info<< "Writing refined mesh to time " << runTime.timeName() << nl << endl; - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + const auto oldPrec = IOstream::minPrecision(10); + mesh.write(); refLevel.write(); + + IOstream::defaultPrecision(oldPrec); } // Update cutCells for removed cells. @@ -922,9 +926,13 @@ int main(int argc, char *argv[]) Info<< " Writing refined mesh to time " << runTime.timeName() << nl << endl; - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + const auto oldPrec = IOstream::minPrecision(10); + mesh.write(); refLevel.write(); + + IOstream::defaultPrecision(oldPrec); } // Update mesh edge stats. @@ -993,20 +1001,29 @@ int main(int argc, char *argv[]) << endl; // Write final mesh - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + + // More precision (for points data) + const auto oldPrec = IOstream::minPrecision(10); + mesh.write(); refLevel.write(); + IOstream::defaultPrecision(oldPrec); } else if (!writeMesh) { + // Write final mesh. (will have been written already if writeMesh=true) + Info<< "Writing refined mesh to time " << runTime.timeName() << nl << endl; - // Write final mesh. (will have been written already if writeMesh=true) - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + const auto oldPrec = IOstream::minPrecision(10); + mesh.write(); refLevel.write(); + + IOstream::defaultPrecision(oldPrec); } diff --git a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L index 715a9a17e6c..5838ed309f9 100644 --- a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L +++ b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -704,8 +704,8 @@ int main(int argc, char *argv[]) } - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing polyMesh" << endl; pShapeMesh.removeFiles(); diff --git a/applications/utilities/mesh/conversion/ccm/ccmToFoam/ccmToFoam.C b/applications/utilities/mesh/conversion/ccm/ccmToFoam/ccmToFoam.C index 677da42c090..ac147c740bb 100644 --- a/applications/utilities/mesh/conversion/ccm/ccmToFoam/ccmToFoam.C +++ b/applications/utilities/mesh/conversion/ccm/ccmToFoam/ccmToFoam.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -198,8 +198,8 @@ int main(int argc, char *argv[]) : IOstreamOption::BINARY ); - // Increase the precision of the points data - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); // Read control options diff --git a/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C b/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C index 536e7dd8a96..c8294f55be9 100644 --- a/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C +++ b/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -756,8 +756,8 @@ int main(int argc, char *argv[]) defaultFacesType ); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing polyMesh" << endl; pShapeMesh.removeFiles(); diff --git a/applications/utilities/mesh/conversion/ensightToFoam/ensightToFoam.C b/applications/utilities/mesh/conversion/ensightToFoam/ensightToFoam.C index dd9ce8ced93..a218198dc3b 100644 --- a/applications/utilities/mesh/conversion/ensightToFoam/ensightToFoam.C +++ b/applications/utilities/mesh/conversion/ensightToFoam/ensightToFoam.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -90,8 +90,8 @@ int main(int argc, char *argv[]) argList args(argc, argv); Time runTime(args.rootPath(), args.caseName()); - // Increase the precision of the points data - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); const fileName geomFile(args.get<fileName>(1)); diff --git a/applications/utilities/mesh/conversion/fireToFoam/fireToFoam.C b/applications/utilities/mesh/conversion/fireToFoam/fireToFoam.C index ed4a1de4eed..0f6877096af 100644 --- a/applications/utilities/mesh/conversion/fireToFoam/fireToFoam.C +++ b/applications/utilities/mesh/conversion/fireToFoam/fireToFoam.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -97,8 +97,8 @@ int main(int argc, char *argv[]) : IOstreamOption::BINARY ); - // increase the precision of the points data - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); fileFormats::FIREMeshReader reader diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L index f46d9c2b868..7e0686d064f 100644 --- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L +++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016,2022 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1430,8 +1430,8 @@ int main(int argc, char *argv[]) mesh.setInstance(runTime.constant()); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< nl << "Writing mesh to " << mesh.objectPath() << endl; mesh.write(); diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L index d8e193f9a44..d74f4ab01ca 100644 --- a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L +++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1550,8 +1550,8 @@ int main(int argc, char *argv[]) repatcher.repatch(); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); // Re-do face matching to write sets diff --git a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L index 7d038faf495..c29bff53e58 100644 --- a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L +++ b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -868,8 +868,8 @@ int main(int argc, char *argv[]) defaultFacesType ); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing polyMesh" << endl; pShapeMesh.removeFiles(); diff --git a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C index b4f6e8d6fe6..7ebeeca51d8 100644 --- a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C +++ b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C @@ -1691,8 +1691,8 @@ int main(int argc, char *argv[]) repatcher.changePatches(newPatches); } - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); mesh.write(); diff --git a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C index 2c3ca71f091..cfc923bcf30 100644 --- a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C +++ b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C @@ -1268,8 +1268,8 @@ int main(int argc, char *argv[]) Info << endl; } - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); mesh.write(); diff --git a/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H b/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H index 3aabf9614af..9c85e36c019 100644 --- a/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H +++ b/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H @@ -569,8 +569,8 @@ polyMesh pShapeMesh defaultFacesType ); -// Set the precision of the points data to 10 -IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); +// More precision (for points data) +IOstream::minPrecision(10); Info << "Writing polyMesh" << endl; pShapeMesh.removeFiles(); diff --git a/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C b/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C index 2da335492b7..45246a242c7 100644 --- a/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C +++ b/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -161,8 +161,8 @@ int main(int argc, char *argv[]) wordList() ); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing mesh ..." << endl; diff --git a/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C b/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C index 1b29209c13d..c9cbabe10b5 100644 --- a/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C +++ b/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -318,8 +318,8 @@ int main(int argc, char *argv[]) patchPhysicalTypes ); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing mesh ..." << endl; mesh.removeFiles(); diff --git a/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C b/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C index 840a847a621..681919ce9aa 100644 --- a/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C +++ b/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -264,8 +264,8 @@ int main(int argc, char *argv[]) patchPhysicalTypes ); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing polyMesh" << endl; pShapeMesh.removeFiles(); diff --git a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C index 41d4e2b08e6..e486173ac88 100644 --- a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C +++ b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -103,8 +103,8 @@ int main(int argc, char *argv[]) : IOstreamOption::BINARY ); - // Increase the precision of the points data - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); // Remove extensions and/or trailing '.' diff --git a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C index 152eb1e8be2..6726474de90 100644 --- a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C +++ b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C @@ -542,8 +542,8 @@ int main(int argc, char *argv[]) ); } - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing mesh to " << runTime.constant() << endl << endl; diff --git a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C index cb8f5577349..cdc97fab330 100644 --- a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C +++ b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -88,8 +88,8 @@ int main(int argc, char *argv[]) wordList() ); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing mesh ..." << endl; diff --git a/applications/utilities/mesh/generation/PDRblockMesh/PDRblockMesh.C b/applications/utilities/mesh/generation/PDRblockMesh/PDRblockMesh.C index f6907cad1c2..deff3eda0ba 100644 --- a/applications/utilities/mesh/generation/PDRblockMesh/PDRblockMesh.C +++ b/applications/utilities/mesh/generation/PDRblockMesh/PDRblockMesh.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -231,8 +231,8 @@ int main(int argc, char *argv[]) polyMesh& mesh = *meshPtr; - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< nl << "Writing polyMesh with " << mesh.cellZones().size() << " cellZones" << endl; diff --git a/applications/utilities/mesh/generation/blockMesh/blockMesh.C b/applications/utilities/mesh/generation/blockMesh/blockMesh.C index a09d631fd56..1c8aeec6f88 100644 --- a/applications/utilities/mesh/generation/blockMesh/blockMesh.C +++ b/applications/utilities/mesh/generation/blockMesh/blockMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -289,8 +289,8 @@ int main(int argc, char *argv[]) // Handle cyclic patches #include "handleCyclicPatches.H" - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< nl << "Writing polyMesh with " << mesh.cellZones().size() << " cellZones"; diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C index 3ac559c82ad..359c7f2213a 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C @@ -67,8 +67,8 @@ scalar getMergeDistance const scalar mergeTol = args.getOrDefault<scalar>("mergeTol", defaultMergeTol); - scalar writeTol = - Foam::pow(scalar(10), -scalar(IOstream::defaultPrecision())); + const scalar writeTol = + std::pow(scalar(10), -scalar(IOstream::defaultPrecision())); Info<< "Merge tolerance : " << mergeTol << nl << "Write tolerance : " << writeTol << endl; diff --git a/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C b/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C index d9a3c2d438c..4a14a223485 100644 --- a/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C +++ b/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C @@ -269,8 +269,8 @@ int main(int argc, char *argv[]) mesh.setInstance(oldInstance); } - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); mesh.write(); diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C index 545fe26f84a..0eb33b5b9b0 100644 --- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C +++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C @@ -1456,8 +1456,8 @@ int main(int argc, char *argv[]) } } - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); // Write resulting mesh forAll(meshes, meshi) diff --git a/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C b/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C index c9fe1967d8d..375b770969e 100644 --- a/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C +++ b/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C @@ -100,8 +100,8 @@ int main(int argc, char *argv[]) twoDCorr.correctPoints(points); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing points into directory " << points.path() << nl << endl; points.write(); diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C index 126a03e2a92..60312684877 100644 --- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C +++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -101,8 +101,8 @@ int main(int argc, char *argv[]) } - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); // Generate the mirrorred mesh const fvMesh& mMesh = mesh.mirrorMesh(); diff --git a/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C b/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C index 2106a2b1cf9..0d6711cbf2d 100644 --- a/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C +++ b/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -153,8 +153,8 @@ int main(int argc, char *argv[]) points = transform(rotT, points); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing points into directory " << runTime.relativePath(points.path()) << nl diff --git a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C index 15dd2c30435..8f0ea89dc24 100644 --- a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C +++ b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -440,8 +440,8 @@ int main(int argc, char *argv[]) //PtrList<surfaceTensorField> surfaceTensorFields; //ReadFields(mesh, objects, surfaceTensorFields); - // Increase precision for output mesh points - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); polyTopoChanger stitcher(mesh, IOobject::NO_READ); diff --git a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C index c339fde8518..e167520266a 100644 --- a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C +++ b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -552,9 +552,8 @@ int main(int argc, char *argv[]) // Output scaling applyScaling(points, getScalingOpt("scale", args)); - - // Set the precision of the points data to 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); Info<< "Writing points into directory " << runTime.relativePath(points.path()) << nl diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C index 44526285c78..2158e2a19e4 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -735,8 +735,8 @@ bool Foam::domainDecomposition::writeDecomposition(const bool decomposeSets) } } - // Set the precision of the points data to be min 10 - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); procMesh.write(); diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C index eb844f5779b..bd7cfdd056f 100644 --- a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C +++ b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C @@ -657,7 +657,7 @@ int main(int argc, char *argv[]) if (fullMatch || procMatch) { const scalar writeTol = - Foam::pow(10.0, -scalar(IOstream::defaultPrecision())); + std::pow(scalar(10), -scalar(IOstream::defaultPrecision())); Info<< "Merge tolerance : " << mergeTol << nl << "Write tolerance : " << writeTol << endl; diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C index 41c45095bbe..23d62c26520 100644 --- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C +++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -951,8 +951,8 @@ autoPtr<mapDistributePolyMesh> redistributeAndWrite } - // Set the minimum write precision - IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + IOstream::minPrecision(10); if (!overwrite) diff --git a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C index e248c45c979..5d30a193e82 100644 --- a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C +++ b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -47,8 +47,8 @@ using namespace Foam; int main(int argc, char *argv[]) { - // Increase the precision of the output for JANAF coefficients - Ostream::defaultPrecision(10); + // More precision (for output of JANAF coefficients) + IOstream::minPrecision(10); argList::addNote ( diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H index 5f5ecc8a941..01546afc1b5 100644 --- a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H +++ b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H @@ -349,7 +349,7 @@ public: } //- Reset the default precision - // \return the previous value + // \return the previous default precision static unsigned int defaultPrecision(unsigned int prec) noexcept { unsigned int old(precision_); @@ -357,6 +357,18 @@ public: return old; } + //- Set the minimum default precision + // \return the previous default precision + static unsigned int minPrecision(unsigned int prec) noexcept + { + unsigned int old(precision_); + if (precision_ < prec) + { + precision_ = prec; + } + return old; + } + //- Set stream state as reached 'eof' void setEof() noexcept { @@ -370,7 +382,7 @@ public: } //- Set stream state to be 'bad' - void setBad() + void setBad() noexcept { ioState_ |= std::ios_base::badbit; } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C index 1949e7904c1..37459b1abda 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C @@ -563,7 +563,7 @@ Foam::label Foam::PstreamBuffers::maxNonLocalRecvCount if (excludeProci != proci) { label len(recvBuffers_[proci].size() - recvPositions_[proci]); - maxLen = max(maxLen, len); + maxLen = Foam::max(maxLen, len); } } } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstreamBase.C b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstreamBase.C index d969c7a08ce..e07c5320e8f 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstreamBase.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstreamBase.C @@ -67,7 +67,7 @@ inline void Foam::UOPstreamBase::prepareBuffer const label pos = byteAlign(sendBuf_.size(), align); // Extend buffer (as required) - sendBuf_.reserve(max(1000, label(pos + count))); + sendBuf_.reserve(Foam::max(label(1024), label(pos + count))); // Move to the aligned output position. Fill any gap with nul char. sendBuf_.resize(pos, '\0'); @@ -115,7 +115,7 @@ inline void Foam::UOPstreamBase::putChar(const char c) { if (!sendBuf_.capacity()) { - sendBuf_.setCapacity(1000); + sendBuf_.setCapacity(1024); } sendBuf_.push_back(c); } diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C index 618bbf3bc99..66c2125e83e 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -55,7 +55,7 @@ static label parseStream(ISstream& is, tokenList& tokens) if (count >= tokens.size()) { // Increase capacity (doubling) with min-size [64] - tokens.resize(max(label(64), 2*tokens.size())); + tokens.resize(Foam::max(label(64), label(2*tokens.size()))); } tokens[count] = std::move(tok); @@ -77,7 +77,7 @@ Foam::ITstream& Foam::ITstream::empty_stream() if (emptyStreamPtr_) { emptyStreamPtr_->ITstream::clear(); // Ensure it really is empty - emptyStreamPtr_->ITstream::seek(0); // rewind(), but bypasss virtual + emptyStreamPtr_->ITstream::seek(0); // rewind() bypassing virtual } else { @@ -113,7 +113,7 @@ void Foam::ITstream::reset(const char* input, size_t nbytes) ISpanStream is(input, nbytes, static_cast<IOstreamOption>(*this)); parseStream(is, static_cast<tokenList&>(*this)); - ITstream::seek(0); // rewind(), but bypasss virtual + ITstream::seek(0); // rewind() bypassing virtual } @@ -333,7 +333,7 @@ std::string Foam::ITstream::toString() const } -const Foam::token& Foam::ITstream::peek() const +const Foam::token& Foam::ITstream::peek() const noexcept { // Use putback token if it exists if (Istream::hasPutback()) @@ -359,45 +359,30 @@ Foam::token& Foam::ITstream::currentToken() } -void Foam::ITstream::seek(label pos) +void Foam::ITstream::seek(label pos) noexcept { lineNumber_ = 0; - const tokenList& toks = *this; - const label nToks = toks.size(); - - if (!pos) - { - // Seek begin (rewind) - tokenIndex_ = 0; - if (nToks) - { - lineNumber_ = toks.front().lineNumber(); - } - - setOpened(); - setGood(); - } - else if (pos < 0 || pos >= nToks) + if (pos < 0 || pos >= tokenList::size()) { // Seek end (-1) or seek is out of range - tokenIndex_ = nToks; + tokenIndex_ = tokenList::size(); - if (nToks) + if (!tokenList::empty()) { - lineNumber_ = toks.back().lineNumber(); + // The closest reference lineNumber + lineNumber_ = tokenList::cdata()[tokenIndex_-1].lineNumber(); } setEof(); } else { - // Seek middle (from the beginning) tokenIndex_ = pos; - if (nToks) + if (tokenIndex_ < tokenList::size()) { - lineNumber_ = toks[tokenIndex_].lineNumber(); + lineNumber_ = tokenList::cdata()[tokenIndex_].lineNumber(); } setOpened(); @@ -406,7 +391,7 @@ void Foam::ITstream::seek(label pos) } -bool Foam::ITstream::skip(label n) +bool Foam::ITstream::skip(label n) noexcept { if (!n) { @@ -433,14 +418,14 @@ bool Foam::ITstream::skip(label n) if (!tokenList::empty()) { // The closest reference lineNumber - lineNumber_ = tokenList::back().lineNumber(); + lineNumber_ = tokenList::cdata()[tokenIndex_-1].lineNumber(); } } // Update stream information if (tokenIndex_ < tokenList::size()) { - lineNumber_ = tokenList::operator[](tokenIndex_).lineNumber(); + lineNumber_ = tokenList::cdata()[tokenIndex_].lineNumber(); setOpened(); setGood(); } @@ -585,7 +570,8 @@ Foam::ITstream Foam::ITstream::extract(const labelRange& range) // Move tokens into result list std::move(first, last, result.begin()); - result.seek(0); // rewind + result.seek(0); // rewind() bypassing virtual + (void) remove(slice); // Adjust the original list @@ -708,12 +694,6 @@ Foam::Istream& Foam::ITstream::read(char*, std::streamsize) } -void Foam::ITstream::rewind() -{ - ITstream::seek(0); -} - - void Foam::ITstream::add_tokens(const token& tok) { reserveCapacity(tokenIndex_ + 1); @@ -763,7 +743,7 @@ void Foam::ITstream::operator=(const ITstream& is) Istream::operator=(is); tokenList::operator=(is); name_ = is.name_; - ITstream::seek(0); // rewind(), but bypasss virtual + ITstream::seek(0); // rewind() bypassing virtual } } @@ -771,14 +751,14 @@ void Foam::ITstream::operator=(const ITstream& is) void Foam::ITstream::operator=(const UList<token>& toks) { tokenList::operator=(toks); - ITstream::seek(0); // rewind(), but bypasss virtual + ITstream::seek(0); // rewind() bypassing virtual } void Foam::ITstream::operator=(List<token>&& toks) { tokenList::operator=(std::move(toks)); - ITstream::seek(0); // rewind(), but bypasss virtual + ITstream::seek(0); // rewind() bypassing virtual } diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H index 480878bd37d..46c61e9084f 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -91,12 +91,12 @@ class ITstream //- Failsafe read-access to token at specified location //- or undefinedToken - inline const token& peekNoFail(const label i) const + inline const token& peekNoFail(const label i) const noexcept { return ( (i >= 0 && i < tokenList::size()) - ? tokenList::operator[](i) + ? tokenList::cdata()[i] : token::undefinedToken ); } @@ -353,20 +353,29 @@ public: //- Failsafe peek at the token at the \b front of the tokenList // \return \c undefinedToken if the list is empty. - const token& front() const { return peekNoFail(0); } + const token& front() const noexcept + { + return peekNoFail(0); + } //- Failsafe peek at the token at the \b back of the tokenList // \return \c undefinedToken if the list is empty. - const token& back() const { return peekNoFail(tokenList::size()-1); } + const token& back() const noexcept + { + return peekNoFail(tokenList::size()-1); + } //- Failsafe peek at what the next read would return, //- including handling of any putback // \return \c undefinedToken if list is exhausted - const token& peek() const; + const token& peek() const noexcept; //- Read access to the token at the current tokenIndex. //- \returns \c undefinedToken if list is exhausted - const token& currentToken() const { return peekNoFail(tokenIndex_); } + const token& currentToken() const noexcept + { + return peekNoFail(tokenIndex_); + } //- Write access to the token at the current tokenIndex. //- Fatal if not in range @@ -397,9 +406,10 @@ public: } //- Move tokenIndex to the specified position - // Using seek(0) is identical to rewind. + //- and adjust the stream status (open/good/eof ...) + // Using seek(0) is identical to rewind(). // Using seek(-1) moves to the end. - void seek(label pos); + void seek(label pos) noexcept; //- Move tokenIndex relative to the current position. // Will not overrun the beginning (0) or one-past end positions. @@ -407,7 +417,7 @@ public: // Use skip(2) to move forward two tokens. // Use skip(-2) to move backward two tokens. // \return True if the indexing completed without underflow/overflow - bool skip(label n = 1); + bool skip(label n = 1) noexcept; // Searching @@ -525,7 +535,7 @@ public: virtual bool endRawRead() override { return false; } //- Rewind the stream so that it may be read again. Same as seek(0) - virtual void rewind() override; + virtual void rewind() override { ITstream::seek(0); } // Output diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H index f50d30308e4..1be6555640c 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -249,20 +249,20 @@ public: // Other + //- Rewind the output stream to position 0 (non-virtual!) + //- and adjust the stream status (open/good/eof ...) //- Reset the output buffer and rewind the stream - void reset() - { - this->rewind(); - } - - //- Rewind the output stream - virtual void rewind() + void reset() noexcept { DynamicList<token>::clear(); setOpened(); setGood(); } + //- Rewind the output stream to position 0 + //- and adjust the stream status (open/good/eof ...) + virtual void rewind() { OTstream::reset(); } + //- Print stream description to Ostream void print(Ostream& os) const override; diff --git a/src/OpenFOAM/db/IOstreams/token/token.H b/src/OpenFOAM/db/IOstreams/token/token.H index 07180d10504..c4d40e32799 100644 --- a/src/OpenFOAM/db/IOstreams/token/token.H +++ b/src/OpenFOAM/db/IOstreams/token/token.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -279,6 +279,9 @@ public: //- of the underlying data content virtual direction nComponents() const = 0; + //- The vector-space rank associated with the data content + virtual direction rank() const = 0; + //- Pointer to the underlying data as byte data virtual const char* cdata_bytes() const = 0; @@ -419,6 +422,12 @@ public: return pTraits_nComponents<value_type>(); } + //- The vector-space rank associated with the data content + virtual direction rank() const + { + return pTraits_rank<value_type>(); + } + //- Pointer to the underlying data as byte data virtual const char* cdata_bytes() const { @@ -474,7 +483,7 @@ private: //- The token type tokenType type_; - //- Line number in the file the token was read from + //- The file line number where the token was read from label line_; @@ -516,6 +525,8 @@ public: inline explicit token(punctuationToken p, label lineNum=0) noexcept; //- Construct label token + //- \note Use boolean() static method for creating a \b bool token + //- since \c bool and \c int are otherwise indistinguishable inline explicit token(const label val, label lineNum=0) noexcept; //- Construct float token @@ -635,7 +646,7 @@ public: inline bool isLabel() const noexcept; //- True if token is LABEL and equal to parameter - inline bool isLabel(const label val) const noexcept; + inline bool isLabel(const label value) const noexcept; //- Token is FLOAT inline bool isFloat() const noexcept; diff --git a/src/OpenFOAM/db/IOstreams/token/tokenI.H b/src/OpenFOAM/db/IOstreams/token/tokenI.H index 9476b7e77ce..95b52207eb7 100644 --- a/src/OpenFOAM/db/IOstreams/token/tokenI.H +++ b/src/OpenFOAM/db/IOstreams/token/tokenI.H @@ -605,16 +605,34 @@ inline Foam::token::punctuationToken Foam::token::pToken() const inline bool Foam::token::isLabel() const noexcept { - return (type_ == tokenType::LABEL); + return + ( + type_ == tokenType::LABEL + // FUTURE? + // || type_ == tokenType::INT32 + // || type_ == tokenType::INT64 + ); } -inline bool Foam::token::isLabel(const label val) const noexcept +inline bool Foam::token::isLabel(const label value) const noexcept { + // FUTURE? + // return + // ( + // type_ == tokenType::LABEL + // ? value == data_.labelVal + // : type_ == tokenType::INT32 + // ? value == data_.int32Val + // : type_ == tokenType::INT64 + // ? value == data_.int64Val + // : false + // ); + return ( type_ == tokenType::LABEL - && data_.labelVal == val + && value == data_.labelVal ); } @@ -695,7 +713,7 @@ inline Foam::scalar Foam::token::scalarToken() const inline bool Foam::token::isNumber() const noexcept { - return (type_ == tokenType::LABEL || isScalar()); + return (isLabel() || isScalar()); } @@ -894,6 +912,15 @@ Foam::token::tokenType Foam::token::Compound<T>::typeCode() const { // List<label>, List<labelVector> etc return token::tokenType::LABEL; + + // FUTURE? + // return + // ( + // sizeof(int32_t) == sizeof(Foam::label) + // ? token::tokenType::INT32 + // : token::tokenType::INT64 + // ); + } else if (is_contiguous_scalar<valueType>::value) { diff --git a/src/OpenFOAM/db/IOstreams/token/tokenIO.C b/src/OpenFOAM/db/IOstreams/token/tokenIO.C index 6d606c00d8d..b464565b411 100644 --- a/src/OpenFOAM/db/IOstreams/token/tokenIO.C +++ b/src/OpenFOAM/db/IOstreams/token/tokenIO.C @@ -57,6 +57,14 @@ static OS& printTokenInfo(OS& os, const token& tok) os << "punctuation '" << tok.pToken() << '\''; break; + // case token::tokenType::INT32: + // os << "int32 " << tok.int32Token(); + // break; + // + // case token::tokenType::INT64: + // os << "int64 " << tok.int64Token(); + // break; + case token::tokenType::LABEL: os << "label " << tok.labelToken(); break; @@ -146,6 +154,9 @@ Foam::word Foam::token::name(const token::tokenType tokType) case token::tokenType::BOOL: return "bool"; case token::tokenType::FLAG: return "flag"; case token::tokenType::PUNCTUATION: return "punctuation"; + + // case token::tokenType::INT32: return "int32"; + // case token::tokenType::INT64: return "int64"; case token::tokenType::LABEL: return "label"; case token::tokenType::FLOAT: return "float"; case token::tokenType::DOUBLE: return "double"; diff --git a/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntry.C b/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntry.C index 3435ae80927..0187d706198 100644 --- a/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntry.C +++ b/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntry.C @@ -70,7 +70,8 @@ Foam::label Foam::dictionaryEntry::endLineNumber() const Foam::ITstream& Foam::dictionaryEntry::stream() const { FatalIOErrorInFunction(*this) - << "Attempt to return dictionary entry as a primitive" + << "Attempt to return stream of primitives from a dictionary entry: " + << entry::keyword() << nl << abort(FatalIOError); // Need to return something - send back an empty stream diff --git a/src/OpenFOAM/db/dictionary/dictionaryListEntry/dictionaryListEntry.H b/src/OpenFOAM/db/dictionary/dictionaryListEntry/dictionaryListEntry.H index f605257f0f6..f119db5e500 100644 --- a/src/OpenFOAM/db/dictionary/dictionaryListEntry/dictionaryListEntry.H +++ b/src/OpenFOAM/db/dictionary/dictionaryListEntry/dictionaryListEntry.H @@ -37,7 +37,6 @@ Description comment. Can be used to e.g. manipulate polyMesh/boundary files. SourceFiles - dictionaryListEntry.C dictionaryListEntryIO.C \*---------------------------------------------------------------------------*/ diff --git a/src/OpenFOAM/db/dictionary/entry/entry.H b/src/OpenFOAM/db/dictionary/entry/entry.H index b61c4fd72f4..5846171fdb0 100644 --- a/src/OpenFOAM/db/dictionary/entry/entry.H +++ b/src/OpenFOAM/db/dictionary/entry/entry.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -193,16 +193,10 @@ public: // Member Functions //- Return keyword - const keyType& keyword() const noexcept - { - return keyword_; - } + const keyType& keyword() const noexcept { return keyword_; } //- Return non-const access to keyword - keyType& keyword() noexcept - { - return keyword_; - } + keyType& keyword() noexcept { return keyword_; } //- Return the entry name virtual const fileName& name() const = 0; @@ -221,34 +215,26 @@ public: //- Return true if this entry is a stream - virtual bool isStream() const noexcept - { - return false; - } + virtual bool isStream() const noexcept { return false; } + + //- Return pointer to token stream, if entry is a primitive entry + // Return nullptr if the entry is not a primitive entry + virtual ITstream* streamPtr() const { return nullptr; } //- Return token stream, if entry is a primitive entry virtual ITstream& stream() const = 0; //- Return true if this entry is a dictionary - virtual bool isDict() const noexcept - { - return this->dictPtr(); - } + virtual bool isDict() const noexcept { return this->dictPtr(); } //- Return pointer to dictionary, if entry is a dictionary. // Return nullptr if the entry is not a dictionary. - virtual const dictionary* dictPtr() const noexcept - { - return nullptr; - } + virtual const dictionary* dictPtr() const noexcept { return nullptr; } //- Return non-const pointer to dictionary, if entry is a dictionary // Return nullptr if the entry is not a dictionary. - virtual dictionary* dictPtr() noexcept - { - return nullptr; - } + virtual dictionary* dictPtr() noexcept { return nullptr; } //- Return dictionary, if entry is a dictionary virtual const dictionary& dict() const = 0; diff --git a/src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C index db54680d06c..0b5cdd1ab4d 100644 --- a/src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C +++ b/src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C @@ -198,7 +198,7 @@ Foam::tokenList Foam::functionEntries::evalEntry::evaluate // - #eval INT "expr" // - #eval INT { expr } // - #eval INT #{ expr #} - fieldWidth = max(1, tok.labelToken()); + fieldWidth = Foam::max(1, tok.labelToken()); is >> tok; } diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C index acc269dad3c..8c48b5161bd 100644 --- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C +++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C @@ -273,10 +273,18 @@ Foam::primitiveEntry::primitiveEntry // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +Foam::ITstream* Foam::primitiveEntry::streamPtr() const +{ + ITstream* ptr = const_cast<primitiveEntry*>(this); + ptr->seek(0); + return ptr; +} + + Foam::ITstream& Foam::primitiveEntry::stream() const { ITstream& is = const_cast<primitiveEntry&>(*this); - is.rewind(); + is.seek(0); return is; } diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.H b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.H index b2c1c82dc66..346e849041a 100644 --- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.H +++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -187,6 +187,9 @@ public: return true; } + //- Return pointer to token stream for this primitive entry + virtual ITstream* streamPtr() const; + //- Return token stream for this primitive entry virtual ITstream& stream() const; diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C index b2cdc52299c..25961e79247 100644 --- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C +++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -333,16 +333,16 @@ Foam::Ostream& Foam::operator<< e.print(os); - constexpr label nPrintTokens = 10; + const label nPrintTokens = Foam::min(label(10), label(e.size())); os << " primitiveEntry '" << e.keyword() << "' comprises "; - for (label i=0; i<min(e.size(), nPrintTokens); ++i) + for (label i = 0; i < nPrintTokens; ++i) { os << nl << " " << e[i].info(); } - if (e.size() > nPrintTokens) + if (10 < e.size()) { os << " ..."; } diff --git a/src/mesh/blockMesh/PDRblockMesh/PDRblockBlockMesh.C b/src/mesh/blockMesh/PDRblockMesh/PDRblockBlockMesh.C index 4a63d7a9a5a..783d6cb8e84 100644 --- a/src/mesh/blockMesh/PDRblockMesh/PDRblockBlockMesh.C +++ b/src/mesh/blockMesh/PDRblockMesh/PDRblockBlockMesh.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -814,8 +814,8 @@ void Foam::PDRblock::writeBlockMeshDict(const IOobject& io) const << "Generate blockMeshDict: " << iodict.db().time().relativePath(os.name()) << endl; - // Set precision for points to 10 - os.precision(max(10u, IOstream::defaultPrecision())); + // More precision (for points data) + os.precision(Foam::max(10u, IOstream::defaultPrecision())); iodict.writeHeader(os); diff --git a/src/parallel/decompose/faDecompose/faMeshDecomposition.C b/src/parallel/decompose/faDecompose/faMeshDecomposition.C index 6cc52b74ecc..006b556e5ad 100644 --- a/src/parallel/decompose/faDecompose/faMeshDecomposition.C +++ b/src/parallel/decompose/faDecompose/faMeshDecomposition.C @@ -1239,8 +1239,8 @@ bool Foam::faMeshDecomposition::writeDecomposition() // Add boundary patches procMesh.addFaPatches(procPatches); - // Set the precision of the points data to 10 - IOstream::defaultPrecision(10); + // More precision (for points data) + IOstream::minPrecision(10); procMesh.write(); -- GitLab From 7006056eaea94394e6e75e7b2c7f4dfa2f63f0ba Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 29 Feb 2024 18:35:03 +0100 Subject: [PATCH 086/231] ENH: remove blocking communication for gather patterns ENH: eliminate unnecessary duplicate communicator - in globalMeshData previously had a comm_dup hack to avoid clashes with deltaCoeffs calculations. However, this was largely due to a manual implementation of reduce() that used point-to-point communication. This has since been updated to use an MPI_Allreduce and now an MPI_Allgather, neither of which need this hack. --- .../test/IndirectList/Test-IndirectList.C | 19 +-- .../test/parallel-nbx2/Test-parallel-nbx2.C | 8 +- applications/test/parallel/Test-parallel.C | 20 ++- .../test/router/{Gather => }/Gather.H | 29 ++-- .../test/router/{Gather => }/Gather.txx | 79 ++++------- applications/test/router/Gather/GatherBase.H | 102 -------------- .../test/router/Gather/GatherBase.txx | 115 ---------------- applications/test/treeComms/Test-treeComms.C | 12 +- .../manipulation/createPatch/createPatch.C | 13 +- .../splitMeshRegions/splitMeshRegions.C | 8 +- .../Lists/SortableList/ParSortableList.C | 8 +- src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H | 2 +- src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H | 25 +--- .../db/IOstreams/Pstreams/OPstreams.C | 11 +- .../Pstreams/PstreamExchangeConsensus.C | 4 +- .../db/IOstreams/Pstreams/UOPstream.H | 12 +- .../polyMesh/globalMeshData/globalMeshData.C | 49 ++----- .../mapDistributeBaseTemplates.C | 6 +- src/OpenFOAM/meshes/polyMesh/polyMesh.H | 1 + .../polyMesh/syncTools/syncToolsTemplates.C | 6 +- .../vtk/output/foamVtkPatchWriterTemplates.C | 22 +-- .../fvMeshDistribute/fvMeshDistribute.C | 1 - .../field/externalCoupled/externalCoupled.C | 65 +++++---- .../field/externalCoupled/externalCoupled.H | 26 ++-- .../externalCoupledTemplates.C | 130 ++++++------------ .../lagrangian/dataCloud/dataCloudTemplates.C | 24 ++-- .../meshRefinement/meshRefinementTemplates.C | 19 +-- .../output/vtk/patch/foamVtkPatchMeshWriter.C | 40 +++--- .../surface/isoSurface/isoSurfacePoint.C | 11 +- 29 files changed, 272 insertions(+), 595 deletions(-) rename applications/test/router/{Gather => }/Gather.H (82%) rename applications/test/router/{Gather => }/Gather.txx (54%) delete mode 100644 applications/test/router/Gather/GatherBase.H delete mode 100644 applications/test/router/Gather/GatherBase.txx diff --git a/applications/test/IndirectList/Test-IndirectList.C b/applications/test/IndirectList/Test-IndirectList.C index dae630976a3..bf174fc570a 100644 --- a/applications/test/IndirectList/Test-IndirectList.C +++ b/applications/test/IndirectList/Test-IndirectList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -156,29 +156,24 @@ int main(int argc, char *argv[]) os.writeEntry("idl3", idl3); } - if (Pstream::parRun()) + if (UPstream::parRun()) { - if (Pstream::master()) + if (UPstream::master()) { Pout<< "full: " << flatOutput(idl3.values()) << nl << "send: " << flatOutput(idl3) << endl; - for (const int proci : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - OPstream toSlave(Pstream::commsTypes::scheduled, proci); - toSlave << idl3; + OPstream::send(idl3, proci); } } else { // From master - IPstream fromMaster - ( - Pstream::commsTypes::scheduled, - Pstream::masterNo() - ); + List<label> recv; - List<label> recv(fromMaster); + IPstream::recv(recv, UPstream::masterNo()); Pout<<"recv: " << flatOutput(recv) << endl; } diff --git a/applications/test/parallel-nbx2/Test-parallel-nbx2.C b/applications/test/parallel-nbx2/Test-parallel-nbx2.C index 27bb661e0d2..bd3a4a224ee 100644 --- a/applications/test/parallel-nbx2/Test-parallel-nbx2.C +++ b/applications/test/parallel-nbx2/Test-parallel-nbx2.C @@ -139,7 +139,7 @@ int main(int argc, char *argv[]) { recvBufs(proci).resize_nocopy(count); - // Non-blocking read + // Non-blocking read - MPI_Irecv() UIPstream::read ( recvRequests.emplace_back(), @@ -155,9 +155,9 @@ int main(int argc, char *argv[]) { IPstream is ( - UPstream::commsTypes::scheduled, - probed.first, - probed.second, + UPstream::commsTypes::scheduled, // ie, MPI_Recv() + proci, + count, // bufSize tag, comm ); diff --git a/applications/test/parallel/Test-parallel.C b/applications/test/parallel/Test-parallel.C index 7479a499225..06d3ea16e9c 100644 --- a/applications/test/parallel/Test-parallel.C +++ b/applications/test/parallel/Test-parallel.C @@ -131,13 +131,17 @@ void testTransfer(const T& input) for (const int proci : UPstream::subProcs()) { Perr<< "master sending to proc:" << proci << endl; - OPstream::bsend(data, proci); + OPstream os(UPstream::commsTypes::blocking, proci); + os << data; } } else { - Perr<< "proc sending to master" << endl; - OPstream::bsend(data, UPstream::masterNo()); + { + Perr<< "proc sending to master" << endl; + OPstream os(UPstream::commsTypes::blocking, UPstream::masterNo()); + os << data; + } Perr<< "proc receiving from master" << endl; IPstream::recv(data, UPstream::masterNo()); @@ -165,13 +169,17 @@ void testTokenized(const T& data) for (const int proci : UPstream::subProcs()) { Perr<< "master sending to proc:" << proci << endl; - OPstream::bsend(tok, proci); + OPstream os(UPstream::commsTypes::blocking, proci); + os << tok; } } else { - Perr<< "proc sending to master" << endl; - OPstream::bsend(tok, UPstream::masterNo()); + { + Perr<< "proc sending to master" << endl; + OPstream os(UPstream::commsTypes::blocking, UPstream::masterNo()); + os << tok; + } Perr<< "proc receiving from master" << endl; IPstream::recv(tok, UPstream::masterNo()); diff --git a/applications/test/router/Gather/Gather.H b/applications/test/router/Gather.H similarity index 82% rename from applications/test/router/Gather/Gather.H rename to applications/test/router/Gather.H index 9fefcac0be0..af08cf8b048 100644 --- a/applications/test/router/Gather/Gather.H +++ b/applications/test/router/Gather.H @@ -30,16 +30,15 @@ Description Gather data from all processors onto all processors. SourceFiles - Gather.C + Gather.txx \*---------------------------------------------------------------------------*/ -#ifndef Gather_H -#define Gather_H +#ifndef Foam_TestGather_H +#define Foam_TestGather_H #include "List.H" #include "labelList.H" -#include "GatherBase.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -50,34 +49,34 @@ namespace Foam Class Gather Declaration \*---------------------------------------------------------------------------*/ -template<class T0> +template<class Type> class Gather : - public GatherBase, - public List<T0> + public List<Type> { - // Private data + // Private Data //- Number of processors (1 for sequential) label nProcs_; - //- Storage of type 0 - //List<T0> data0_; + //- Storage + //List<Type> list_; + public: // Constructors //- Construct from containers across processors - Gather(const T0&, const bool redistribute=true); + Gather(const Type& localData, const bool redistribute=true); // Member Functions -// const List<T0>& data0() const -// { -// return data0_; -// } + List<Type>& list() noexcept { return *this; } + const List<Type>& list() const noexcept { return *this; } + // List<Type>& list() noexcept { return list_; } + // const List<Type>& list() const noexcept { return list_; } }; diff --git a/applications/test/router/Gather/Gather.txx b/applications/test/router/Gather.txx similarity index 54% rename from applications/test/router/Gather/Gather.txx rename to applications/test/router/Gather.txx index cf3542edad2..b8ac980ad94 100644 --- a/applications/test/router/Gather/Gather.txx +++ b/applications/test/router/Gather.txx @@ -30,96 +30,71 @@ License #include "IPstream.H" #include "OPstream.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -// Construct from component -template<class T0> -Gather<T0>::Gather(const T0& localData, const bool redistribute) +template<class Type> +Foam::Gather<Type>::Gather(const Type& localData, const bool redistribute) : - List<T0>(0), - nProcs_(max(1, Pstream::nProcs())) + nProcs_(Foam::max(1, UPstream::nProcs())) { - this->setSize(nProcs_); + this->list().resize(nProcs_); // // Collect sizes on all processor // - if (Pstream::parRun()) + if (UPstream::parRun()) { - if (Pstream::master()) + if (UPstream::master()) { - auto outIter = this->begin(); - *outIter = localData; + auto iter = this->list().begin(); + *iter = localData; // Receive data - for (const int proci : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - IPstream fromSlave(Pstream::commsTypes::scheduled, proci); - fromSlave >> *(++outIter); + ++iter; + IPstream::recv(*iter, proci); } // Send data - for (const int proci : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - OPstream toSlave(Pstream::commsTypes::scheduled, proci); - if (redistribute) { - toSlave << *this; + OPstream::send(*this, proci); } else { - // Dummy send just to balance sends/receives - toSlave << 0; + // Dummy send (to balance sends/receives) + OPstream::send(label(0), proci); } } } else { - // Slave: send my local data to master - { - OPstream toMaster - ( - Pstream::commsTypes::scheduled, - Pstream::masterNo() - ); - toMaster << localData; - } + // Send my local data to master + OPstream::send(localData, UPstream::masterNo()); // Receive data from master + if (redistribute) { - IPstream fromMaster - ( - Pstream::commsTypes::scheduled, - Pstream::masterNo() - ); - if (redistribute) - { - fromMaster >> *this; - } - else - { - label dummy; - fromMaster >> dummy; - } + IPstream::recv(*this, UPstream::masterNo()); + } + else + { + // Dummy receive + label dummy; + IPstream::recv(dummy, UPstream::masterNo()); } } } else { - this->operator[](0) = localData; + this->list().resize(1); + this->list()[0] = localData; } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - // ************************************************************************* // diff --git a/applications/test/router/Gather/GatherBase.H b/applications/test/router/Gather/GatherBase.H deleted file mode 100644 index 2fb0a4cdba9..00000000000 --- a/applications/test/router/Gather/GatherBase.H +++ /dev/null @@ -1,102 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | www.openfoam.com - \\/ M anipulation | -------------------------------------------------------------------------------- - Copyright (C) 2011-2015 OpenFOAM Foundation -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. - -Class - Foam::GatherBase - -Description - -SourceFiles - GatherBase.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GatherBase_H -#define GatherBase_H - -#include "List.H" -#include "labelList.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class GatherBase Declaration -\*---------------------------------------------------------------------------*/ - -class GatherBase -{ - -public: - - //- Flatten: appends all elements of list into one single list. - // Used to collapse 'Gathered' data. - template<class T> - static T flatten(const List<T>); - - //- Flatten and offset 'Gathered' indices (into value) so they - // remain valid with respect to values (after they have been flattened) - template<class DataType, class IndexType, class AddOp> - static IndexType offset - ( - const List<DataType>& values, - const List<IndexType>& indices, - AddOp aop - ); -}; - - -template<class T> -class AddOp -{ - -public: - - T operator() - ( - const T& x, - const label offset - ) const - { - return x + offset; - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "GatherBase.txx" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/test/router/Gather/GatherBase.txx b/applications/test/router/Gather/GatherBase.txx deleted file mode 100644 index 917a4308b15..00000000000 --- a/applications/test/router/Gather/GatherBase.txx +++ /dev/null @@ -1,115 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | www.openfoam.com - \\/ M anipulation | -------------------------------------------------------------------------------- - Copyright (C) 2011-2015 OpenFOAM Foundation -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. - -\*---------------------------------------------------------------------------*/ - -#include "GatherBase.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template<class Type> -Type GatherBase::flatten(const List<Type> lst) -{ - label sum = 0; - - forAll(lst, lstI) - { - sum += lst[lstI].size(); - } - - Type result(sum); - - label index = 0; - - forAll(lst, lstI) - { - const Type& sub = lst[lstI]; - - forAll(sub, subI) - { - result[index++] = sub[subI]; - } - } - - return result; -} - - -template<class DataType, class IndexType, class AddOp> -IndexType GatherBase::offset -( - const List<DataType>& values, - const List<IndexType>& indices, - AddOp aop -) -{ - if (values.size() != indices.size()) - { - FatalErrorInFunction - << "Input data and indices lists not equal size." << endl - << "data size:" << values.size() - << " indices:" << indices.size() - << abort(FatalError); - } - - - label sum = 0; - - forAll(indices, lstI) - { - sum += indices[lstI].size(); - } - - IndexType result(sum); - - label index = 0; - - label offset = 0; - - forAll(indices, lstI) - { - const IndexType& sub = indices[lstI]; - - forAll(sub, subI) - { - result[index++] = aop(sub[subI], offset); - } - offset += values[lstI].size(); - } - - return result; -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/test/treeComms/Test-treeComms.C b/applications/test/treeComms/Test-treeComms.C index d31cc696940..832f1459f7a 100644 --- a/applications/test/treeComms/Test-treeComms.C +++ b/applications/test/treeComms/Test-treeComms.C @@ -206,8 +206,8 @@ int main(int argc, char *argv[]) for (const int proci : UPstream::subProcs()) { - IPstream fromProc(UPstream::commsTypes::scheduled, proci); - labelList below(fromProc); + labelList below; + IPstream::recv(below, proci); printConnection(os, proci, below); } @@ -222,13 +222,7 @@ int main(int argc, char *argv[]) } else { - OPstream toMaster - ( - Pstream::commsTypes::scheduled, - Pstream::masterNo() - ); - - toMaster << myComm.below(); + OPstream::send(myComm.below(), UPstream::masterNo()); // Pout<< flatOutput(myComm.allBelow()) << nl; } diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C index 0eb33b5b9b0..133d208d96a 100644 --- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C +++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C @@ -541,7 +541,7 @@ void syncPoints // Is there any coupled patch with transformation? bool hasTransformation = false; - if (Pstream::parRun()) + if (UPstream::parRun()) { const labelList& procPatches = mesh.globalData().processorPatches(); @@ -569,7 +569,12 @@ void syncPoints } // buffered send - OPstream::bsend(patchInfo, procPatch.neighbProcNo()); + OPstream toNbr + ( + UPstream::commsTypes::blocking, + procPatch.neighbProcNo() + ); + toNbr << patchInfo; } } @@ -583,10 +588,10 @@ void syncPoints if (pp.nPoints() && !procPatch.owner()) { - pointField nbrPatchInfo; - // We do not know the number of points on the other side // so cannot use UIPstream::read + + pointField nbrPatchInfo; IPstream::recv(nbrPatchInfo, procPatch.neighbProcNo()); // Null any value which is not on neighbouring processor diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C index eb84cc3ff66..64c0b0ef341 100644 --- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C +++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C @@ -374,9 +374,9 @@ void getInterfaceSizes } - if (Pstream::parRun()) + if (UPstream::parRun()) { - if (Pstream::master()) + if (UPstream::master()) { // Receive and add to my sizes for (const int proci : UPstream::subProcs()) @@ -420,8 +420,8 @@ void getInterfaceSizes } else { - // buffered send to master - OPstream::bsend(regionsToSize, UPstream::masterNo()); + // send to master + OPstream::send(regionsToSize, UPstream::masterNo()); } } diff --git a/src/OpenFOAM/containers/Lists/SortableList/ParSortableList.C b/src/OpenFOAM/containers/Lists/SortableList/ParSortableList.C index c6ce91be386..d5f8ad2cd9b 100644 --- a/src/OpenFOAM/containers/Lists/SortableList/ParSortableList.C +++ b/src/OpenFOAM/containers/Lists/SortableList/ParSortableList.C @@ -115,8 +115,8 @@ void Foam::ParSortableList<Type>::checkAndSend } { - OPstream toSlave(Pstream::commsTypes::blocking, destProci); - toSlave << values << indices; + OPstream toProc(UPstream::commsTypes::blocking, destProci); + toProc << values << indices; } } } @@ -309,9 +309,9 @@ void Foam::ParSortableList<Type>::sort() Pout<< "Receiving from " << proci << endl; } - IPstream fromSlave(Pstream::commsTypes::blocking, proci); + IPstream fromProc(UPstream::commsTypes::blocking, proci); - fromSlave >> recValues >> recIndices; + fromProc >> recValues >> recIndices; if (debug & 2) { diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H index 87844b933ee..c71bb4b24c5 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H @@ -89,7 +89,7 @@ public: { IPstream is ( - UPstream::commsTypes::scheduled, + UPstream::commsTypes::scheduled, // ie, MPI_Recv() fromProcNo, 0, // bufSize tag, diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H index bd1f6953e30..87d56367593 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H @@ -93,29 +93,6 @@ public: os << value; } - //- Serialize a value and send (buffered/blocking mode). - //- Uses \c operator<< for serialization - template<class Type> - static void bsend - ( - const Type& value, - const int toProcNo, - const int tag = UPstream::msgType(), - const label comm = UPstream::worldComm, - IOstreamOption::streamFormat fmt = IOstreamOption::BINARY - ) - { - OPstream::send - ( - value, - UPstream::commsTypes::blocking, - toProcNo, - tag, - comm, - fmt - ); - } - //- Serialize a value and send (standard mode). //- Uses \c operator<< for serialization template<class Type> @@ -131,7 +108,7 @@ public: OPstream::send ( value, - UPstream::commsTypes::scheduled, + UPstream::commsTypes::scheduled, // ie, MPI_Send() toProcNo, tag, comm, diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/OPstreams.C b/src/OpenFOAM/db/IOstreams/Pstreams/OPstreams.C index fa913a868c6..e956e8de74f 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/OPstreams.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/OPstreams.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -86,6 +86,15 @@ Foam::OPstream::OPstream {} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::UOPstream::send() +{ + sendAtDestruct_ = false; + return bufferIPCsend(); +} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::UOPstream::~UOPstream() diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchangeConsensus.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchangeConsensus.C index ccc9cb6c3f7..de7ce5fa424 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchangeConsensus.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchangeConsensus.C @@ -202,7 +202,7 @@ void exchangeConsensus UIPstream::read ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::scheduled, // ie, MPI_Recv() proci, recvData.data_bytes(), recvData.size_bytes(), @@ -369,7 +369,7 @@ void exchangeConsensus UIPstream::read ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::scheduled, // ie, MPI_Recv() proci, recvData.data_bytes(), recvData.size_bytes(), diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H index 274e8aaedb7..8519e03f818 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2014 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -104,7 +104,7 @@ protected: const int comm_; //- Call bufferIPCsend on termination (in the destructor) - const bool sendAtDestruct_; + bool sendAtDestruct_; //- Reference to the send buffer data DynamicList<char>& sendBuf_; @@ -309,7 +309,7 @@ class UOPstream { // Private Member Functions - //- Final buffer send, called by destructor + //- Buffer send, usually called by destructor bool bufferIPCsend(); @@ -349,6 +349,10 @@ public: // Member Functions + //- Send buffer contents now and not in destructor [advanced usage]. + //- Returns true on success + bool send(); + //- Use all write methods from base class using UOPstreamBase::write; @@ -470,7 +474,7 @@ class UOPBstream { // Private Member Functions - //- Final buffer send, called by destructor + //- Buffer send, usually called by destructor bool bufferIPCsend(); diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C index 6c9e7c46f82..c46241eceba 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C @@ -415,8 +415,8 @@ void Foam::globalMeshData::calcSharedEdges() const { if (UPstream::parRun()) { - // buffered send local edges to master - OPstream::bsend(localShared, UPstream::masterNo()); + // send local edges to master + OPstream::send(localShared, UPstream::masterNo()); } } @@ -442,7 +442,7 @@ void Foam::globalMeshData::calcSharedEdges() const { // My local edge is indeed a shared one. Go through all local edge // labels with this point combination. - const labelList& edgeLabels = iter(); + const labelList& edgeLabels = iter.val(); for (const label edgei : edgeLabels) { @@ -470,11 +470,9 @@ void Foam::globalMeshData::calcSharedEdges() const { Pout<< "globalMeshData : nGlobalEdges_:" << nGlobalEdges_ << nl << "globalMeshData : sharedEdgeLabels:" - << sharedEdgeLabelsPtr_().size() - << nl + << sharedEdgeLabelsPtr_().size() << nl << "globalMeshData : sharedEdgeAddr:" - << sharedEdgeAddrPtr_().size() - << endl; + << sharedEdgeAddrPtr_().size() << endl; } } @@ -1856,7 +1854,7 @@ Foam::pointField Foam::globalMeshData::sharedPoints() const const labelList& pointAddr = sharedPointAddr(); const labelList& pointLabels = sharedPointLabels(); - if (Pstream::master()) + if (UPstream::master()) { // Master: // insert my own data first @@ -1868,9 +1866,9 @@ Foam::pointField Foam::globalMeshData::sharedPoints() const } // Receive data and insert - for (const int proci : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, proci); + IPstream fromProc(UPstream::commsTypes::scheduled, proci); labelList nbrSharedPointAddr; pointField nbrSharedPoints; @@ -1886,13 +1884,13 @@ Foam::pointField Foam::globalMeshData::sharedPoints() const } else { - if (Pstream::parRun()) + if (UPstream::parRun()) { // Send address and points OPstream toMaster ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); toMaster << pointAddr @@ -2689,19 +2687,8 @@ void Foam::globalMeshData::updateMesh() Pout<< "globalMeshData : merge dist:" << tolDim << endl; } - // NOTE - // - revisit the dupComm hack - // - verify if it should be mesh_.comm() instead of worldComm - // *** Temporary hack to avoid problems with overlapping communication - // *** between these reductions and the calculation of deltaCoeffs - UPstream::communicator dupComm - ( - UPstream::worldComm, - labelRange(UPstream::nProcs(UPstream::worldComm)) - ); - - const label comm = dupComm.comm(); + const label comm = mesh_.comm(); const label oldWarnComm = UPstream::commWarn(comm); if (UPstream::is_parallel(comm)) @@ -2752,18 +2739,6 @@ void Foam::globalMeshData::updateMesh() // Restore communicator settings UPstream::commWarn(oldWarnComm); - // OLD CODE: - // FixedList<label, 3> totals; - // totals[0] = mesh_.nPoints(); - // totals[1] = mesh_.nFaces(); - // totals[2] = mesh_.nCells(); - // - // reduce(totals, sumOp<label>(), UPstream::msgType(), comm); - // - // nTotalPoints_ = totals[0]; - // nTotalFaces_ = totals[1]; - // nTotalCells_ = totals[2]; - if (debug) { Info<< "globalMeshData : Total points/faces/cells : (" diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C index a14b4cc2b1c..85c89213d9e 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C @@ -509,7 +509,8 @@ void Foam::mapDistributeBase::distribute ); // buffered send - OPstream::bsend(subField, proci, tag, comm); + OPstream os(commsType, proci, 0, tag, comm); + os << subField; } } @@ -953,7 +954,8 @@ void Foam::mapDistributeBase::distribute ); // buffered send - OPstream::bsend(subField, proci, tag, comm); + OPstream os(commsType, proci, 0, tag, comm); + os << subField; } } diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.H b/src/OpenFOAM/meshes/polyMesh/polyMesh.H index d4d6c0c15ec..f1331d9734d 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.H @@ -55,6 +55,7 @@ SourceFiles #include "labelIOList.H" #include "polyBoundaryMesh.H" #include "boundBox.H" +#include "globalIndex.H" #include "pointZoneMesh.H" #include "faceZoneMesh.H" #include "cellZoneMesh.H" diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C index 4148c24427b..457a9daff66 100644 --- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C @@ -94,7 +94,7 @@ void Foam::syncTools::syncPointMap const globalMeshData& pd = mesh.globalData(); // Values on shared points. Keyed on global shared index. - Map<T> sharedPointValues(0); + Map<T> sharedPointValues; if (pd.nGlobalPoints() > 0) { @@ -205,7 +205,7 @@ void Foam::syncTools::syncPointMap continue; } - Map<T> nbrPatchInfo(0); + Map<T> nbrPatchInfo; { UIPstream fromNbr(nbrProci, pBufs); fromNbr >> nbrPatchInfo; @@ -472,7 +472,7 @@ void Foam::syncTools::syncEdgeMap continue; } - EdgeMap<T> nbrPatchInfo(0); + EdgeMap<T> nbrPatchInfo; { UIPstream fromNbr(nbrProci, pBufs); fromNbr >> nbrPatchInfo; diff --git a/src/conversion/vtk/output/foamVtkPatchWriterTemplates.C b/src/conversion/vtk/output/foamVtkPatchWriterTemplates.C index 0219a3b835c..4c22bf3d653 100644 --- a/src/conversion/vtk/output/foamVtkPatchWriterTemplates.C +++ b/src/conversion/vtk/output/foamVtkPatchWriterTemplates.C @@ -90,7 +90,7 @@ void Foam::vtk::patchWriter::write // Receive each patch field and write for (const int subproci : Pstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, subproci); + IPstream fromProc(UPstream::commsTypes::scheduled, subproci); for (label i=0; i < nPatches; ++i) { @@ -105,8 +105,8 @@ void Foam::vtk::patchWriter::write // Send each patch field OPstream toProc ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); for (const label patchId : patchIDs_) @@ -188,7 +188,7 @@ void Foam::vtk::patchWriter::write // Receive each patch field and write for (const int subproci : Pstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, subproci); + IPstream fromProc(UPstream::commsTypes::scheduled, subproci); for (label i=0; i < nPatches; ++i) { @@ -203,8 +203,8 @@ void Foam::vtk::patchWriter::write // Send each patch field OPstream toProc ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); for (const label patchId : patchIDs_) @@ -287,14 +287,14 @@ void Foam::vtk::patchWriter::write // Patch Ids are identical across all processes const label nPatches = patchIDs_.size(); - if (Pstream::master()) + if (UPstream::master()) { Field<Type> recv; // Receive each patch field and write - for (const int subproci : Pstream::subProcs()) + for (const int subproci : UPstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, subproci); + IPstream fromProc(UPstream::commsTypes::scheduled, subproci); for (label i=0; i < nPatches; ++i) { @@ -309,8 +309,8 @@ void Foam::vtk::patchWriter::write // Send each patch field OPstream toProc ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); for (const label patchId : patchIDs_) diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C index f4db96fdb81..ffd40037f0d 100644 --- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C +++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C @@ -2171,7 +2171,6 @@ Foam::autoPtr<Foam::mapDistributePolyMesh> Foam::fvMeshDistribute::distribute } // Pstream for sending mesh and fields - //OPstream str(Pstream::commsTypes::blocking, recvProc); UOPstream str(recvProc, pBufs); // Mesh subsetting engine - subset the cells of the current domain. diff --git a/src/functionObjects/field/externalCoupled/externalCoupled.C b/src/functionObjects/field/externalCoupled/externalCoupled.C index 9506d85ac3a..fb91a1c315b 100644 --- a/src/functionObjects/field/externalCoupled/externalCoupled.C +++ b/src/functionObjects/field/externalCoupled/externalCoupled.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,6 +30,7 @@ License #include "addToRunTimeSelectionTable.H" #include "OSspecific.H" #include "Fstream.H" +#include "SpanStream.H" #include "volFields.H" #include "globalIndex.H" #include "fvMesh.H" @@ -110,15 +111,15 @@ void Foam::functionObjects::externalCoupled::readColumns // Get sizes for all processors const globalIndex globalFaces(globalIndex::gatherOnly{}, nRows); - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); - if (Pstream::master()) + if (UPstream::master()) { - string line; - // Read data from file and send to destination processor + auto& ifile = masterFilePtr(); + string line; - for (const int proci : Pstream::allProcs()) + for (const int proci : UPstream::allProcs()) { // Temporary storage List<scalarField> values(nColumns); @@ -136,9 +137,9 @@ void Foam::functionObjects::externalCoupled::readColumns // Get a line do { - if (!masterFilePtr().good()) + if (!ifile.good()) { - FatalIOErrorInFunction(masterFilePtr()) + FatalIOErrorInFunction(ifile) << "Trying to read data for processor " << proci << " row " << rowi << ". Does your file have as many rows as there are" @@ -146,15 +147,15 @@ void Foam::functionObjects::externalCoupled::readColumns << ") ?" << exit(FatalIOError); } - masterFilePtr().getLine(line); + ifile.getLine(line); } while (line.empty() || line[0] == '#'); - IStringStream lineStr(line); + ISpanStream isstr(line); for (label columni = 0; columni < nColumns; ++columni) { - lineStr >> values[columni][rowi]; + isstr >> values[columni][rowi]; } } @@ -165,7 +166,7 @@ void Foam::functionObjects::externalCoupled::readColumns } pBufs.finishedScatters(); - // Get scattered data from PstreamBuffers + // Get scattered data UIPstream fromMaster(UPstream::masterNo(), pBufs); fromMaster >> data; } @@ -175,21 +176,21 @@ void Foam::functionObjects::externalCoupled::readLines ( const label nRows, autoPtr<IFstream>& masterFilePtr, - OStringStream& lines + std::string& lines ) const { // Get sizes for all processors const globalIndex globalFaces(globalIndex::gatherOnly{}, nRows); - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); - if (Pstream::master()) + if (UPstream::master()) { - string line; - // Read line from file and send to destination processor + auto& ifile = masterFilePtr(); + string line; - for (const int proci : Pstream::allProcs()) + for (const int proci : UPstream::allProcs()) { // Number of rows to read for processor proci const label procNRows = globalFaces.localSize(proci); @@ -201,9 +202,9 @@ void Foam::functionObjects::externalCoupled::readLines // Get a line do { - if (!masterFilePtr().good()) + if (!ifile.good()) { - FatalIOErrorInFunction(masterFilePtr()) + FatalIOErrorInFunction(ifile) << "Trying to read data for processor " << proci << " row " << rowi << ". Does your file have as many rows as there are" @@ -211,11 +212,11 @@ void Foam::functionObjects::externalCoupled::readLines << ") ?" << exit(FatalIOError); } - masterFilePtr().getLine(line); + ifile.getLine(line); } while (line.empty() || line[0] == '#'); - // Send line to the destination processor + // Send line (without newline) to the destination processor toProc << line; } } @@ -223,12 +224,16 @@ void Foam::functionObjects::externalCoupled::readLines pBufs.finishedScatters(); - // Get scattered data from PstreamBuffers + // Sizing is approximate (slightly too large) + lines.reserve(pBufs.recvDataCount(UPstream::masterNo())); + + // Get scattered data UIPstream fromMaster(UPstream::masterNo(), pBufs); for (label rowi = 0; rowi < nRows; ++rowi) { string line(fromMaster); - lines << line.c_str() << nl; + lines += line; + lines += '\n'; } } @@ -253,9 +258,9 @@ void Foam::functionObjects::externalCoupled::writeGeometry autoPtr<OFstream> osPointsPtr; autoPtr<OFstream> osFacesPtr; - if (Pstream::master()) + if (UPstream::master()) { - mkDir(dir); + Foam::mkDir(dir); osPointsPtr.reset(new OFstream(dir/"patchPoints")); osFacesPtr.reset(new OFstream(dir/"patchFaces")); @@ -278,7 +283,7 @@ void Foam::functionObjects::externalCoupled::writeGeometry ( mesh.boundaryMesh().patchSet ( - wordRes(one{}, groupName) + wordRes(Foam::one{}, groupName) ).sortedToc() ); @@ -303,13 +308,13 @@ void Foam::functionObjects::externalCoupled::writeGeometry List<faceList> collectedFaces(Pstream::nProcs()); faceList& patchFaces = collectedFaces[proci]; patchFaces = p.localFaces(); - forAll(patchFaces, facei) + for (auto& f : patchFaces) { - inplaceRenumber(pointToGlobal, patchFaces[facei]); + inplaceRenumber(pointToGlobal, f); } Pstream::gatherList(collectedFaces); - if (Pstream::master()) + if (UPstream::master()) { allPoints.clear(); allFaces.clear(); diff --git a/src/functionObjects/field/externalCoupled/externalCoupled.H b/src/functionObjects/field/externalCoupled/externalCoupled.H index dde7ba1604a..567b85a3375 100644 --- a/src/functionObjects/field/externalCoupled/externalCoupled.H +++ b/src/functionObjects/field/externalCoupled/externalCoupled.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -167,8 +167,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef functionObjects_externalCoupled_H -#define functionObjects_externalCoupled_H +#ifndef Foam_functionObjects_externalCoupled_H +#define Foam_functionObjects_externalCoupled_H #include "timeFunctionObject.H" #include "externalFileCoupler.H" @@ -198,7 +198,6 @@ class externalCoupled public functionObjects::timeFunctionObject, public externalFileCoupler { - // Private Member Data //- Calculation frequency @@ -259,8 +258,9 @@ class externalCoupled void initCoupling(); - //- Read (and distribute) scalar columns from stream. Every processor - // gets nRows (= patch size) of these. Note: could make its argument + //- Read (and distribute) scalar columns from stream. + //- Every processor gets nRows (= patch size) of these. + // Note: could make its argument // ISstream& but then would need additional logic to construct valid // stream on all processors. void readColumns @@ -271,21 +271,17 @@ class externalCoupled List<scalarField>& data ) const; - //- Read (and distribute) lines from stream. Every processor - // gets nRows (= patch size) of these. Data kept as stream (instead - // of strings) for ease of interfacing to readData routines that take - // an Istream. + //- Read (and distribute) lines from stream. + //- Every processor gets nRows (= patch size) of these + //- (newline terminated). void readLines ( const label nRows, autoPtr<IFstream>& masterFilePtr, - OStringStream& data + //! [out] the nRows lines read (for this rank) - newline terminated + std::string& lines ) const; - //- Helper: append data from all processors onto master - template<class Type> - static tmp<Field<Type>> gatherAndCombine(const Field<Type>& fld); - static void checkOrder(const wordList& regionNames); //- Perform the coupling with necessary initialization etc. diff --git a/src/functionObjects/field/externalCoupled/externalCoupledTemplates.C b/src/functionObjects/field/externalCoupled/externalCoupledTemplates.C index 34e99f62970..814cc122d20 100644 --- a/src/functionObjects/field/externalCoupled/externalCoupledTemplates.C +++ b/src/functionObjects/field/externalCoupled/externalCoupledTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -33,6 +33,7 @@ License #include "mixedFvPatchFields.H" #include "fixedGradientFvPatchFields.H" #include "fixedValueFvPatchFields.H" +#include "SpanStream.H" #include "StringStream.H" #include "globalIndex.H" @@ -58,7 +59,7 @@ bool Foam::functionObjects::externalCoupled::readData // File only opened on master; contains data for all processors, for all // patchIDs. autoPtr<IFstream> masterFilePtr; - if (Pstream::master()) + if (UPstream::master()) { const fileName transferFile ( @@ -80,13 +81,13 @@ bool Foam::functionObjects::externalCoupled::readData } - const wordRes patchSelection(one{}, groupName); + const wordRes patchSelection(Foam::one{}, groupName); label nFound = 0; for (const fvMesh& mesh : meshes) { - const volFieldType* vfptr = mesh.findObject<volFieldType>(fieldName); + auto* vfptr = mesh.getObjectPtr<volFieldType>(fieldName); if (!vfptr) { @@ -94,8 +95,7 @@ bool Foam::functionObjects::externalCoupled::readData } ++nFound; - typename volFieldType::Boundary& bf = - const_cast<volFieldType*>(vfptr)->boundaryFieldRef(); + auto& bf = vfptr->boundaryFieldRef(); // Get the patches const labelList patchIDs @@ -117,16 +117,18 @@ bool Foam::functionObjects::externalCoupled::readData ); // Read from master into local stream - OStringStream os; + std::string lines; readLines ( - bf[patchi].size(), // number of lines to read + bf[patchi].size(), // number of lines to read masterFilePtr, - os + lines ); + ISpanStream isstr(lines); + // Pass responsibility for all reading over to bc - pf.readData(IStringStream(os.str())()); + pf.readData(isstr); // Update the value from the read coefficient. Bypass any // additional processing by derived type. @@ -265,51 +267,6 @@ bool Foam::functionObjects::externalCoupled::readData } -template<class Type> -Foam::tmp<Foam::Field<Type>> -Foam::functionObjects::externalCoupled::gatherAndCombine -( - const Field<Type>& fld -) -{ - // Collect values from all processors - List<Field<Type>> gatheredValues(Pstream::nProcs()); - gatheredValues[Pstream::myProcNo()] = fld; - Pstream::gatherList(gatheredValues); - - - auto tresult = tmp<Field<Type>>::New(); - auto& result = tresult.ref(); - - if (Pstream::master()) - { - // Combine values into single field - label globalElemi = 0; - - forAll(gatheredValues, lsti) - { - globalElemi += gatheredValues[lsti].size(); - } - - result.setSize(globalElemi); - - globalElemi = 0; - - forAll(gatheredValues, lsti) - { - const Field<Type>& sub = gatheredValues[lsti]; - - forAll(sub, elemi) - { - result[globalElemi++] = sub[elemi]; - } - } - } - - return tresult; -} - - template<class Type> bool Foam::functionObjects::externalCoupled::writeData ( @@ -352,14 +309,14 @@ bool Foam::functionObjects::externalCoupled::writeData } - const wordRes patchSelection(one{}, groupName); + const wordRes patchSelection(Foam::one{}, groupName); bool headerDone = false; label nFound = 0; for (const fvMesh& mesh : meshes) { - const volFieldType* vfptr = mesh.findObject<volFieldType>(fieldName); + const auto* vfptr = mesh.getObjectPtr<volFieldType>(fieldName); if (!vfptr) { @@ -367,8 +324,7 @@ bool Foam::functionObjects::externalCoupled::writeData } ++nFound; - const typename volFieldType::Boundary& bf = - vfptr->boundaryField(); + const auto& bf = vfptr->boundaryField(); // Get the patches const labelList patchIDs @@ -379,7 +335,7 @@ bool Foam::functionObjects::externalCoupled::writeData // Handle column-wise writing of patch data. Supports most easy types for (const label patchi : patchIDs) { - const globalIndex globalFaces(bf[patchi].size()); + // const globalIndex globalFaces(bf[patchi].size()); if (isA<patchFieldType>(bf[patchi])) { @@ -397,7 +353,7 @@ bool Foam::functionObjects::externalCoupled::writeData // Collect contributions from all processors and output them on // master - if (Pstream::master()) + if (UPstream::master()) { // Output master data first if (!headerDone) @@ -407,27 +363,17 @@ bool Foam::functionObjects::externalCoupled::writeData } masterFilePtr() << os.str().c_str(); - for (const int proci : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - IPstream fromSlave - ( - Pstream::commsTypes::scheduled, - proci - ); + string str; + IPstream::recv(str, proci); - string str(fromSlave); masterFilePtr() << str.c_str(); } } else { - OPstream toMaster - ( - Pstream::commsTypes::scheduled, - Pstream::masterNo() - ); - - toMaster << os.str(); + OPstream::send(os.str(), UPstream::masterNo()); } } else if (isA<mixedFvPatchField<Type>>(bf[patchi])) @@ -435,15 +381,21 @@ bool Foam::functionObjects::externalCoupled::writeData const mixedFvPatchField<Type>& pf = refCast<const mixedFvPatchField<Type>>(bf[patchi]); - Field<Type> value(gatherAndCombine(pf)); - Field<Type> snGrad(gatherAndCombine(pf.snGrad()())); - Field<Type> refValue(gatherAndCombine(pf.refValue())); - Field<Type> refGrad(gatherAndCombine(pf.refGrad())); - scalarField valueFraction(gatherAndCombine(pf.valueFraction())); + const globalIndex glob + ( + globalIndex::gatherOnly{}, + pf.size() + ); - if (Pstream::master()) + Field<Type> value(glob.gather(pf)); + Field<Type> snGrad(glob.gather(pf.snGrad()())); + Field<Type> refValue(glob.gather(pf.refValue())); + Field<Type> refGrad(glob.gather(pf.refGrad())); + scalarField valueFraction(glob.gather(pf.valueFraction())); + + if (UPstream::master()) { - forAll(refValue, facei) + forAll(value, facei) { masterFilePtr() << value[facei] << token::SPACE @@ -457,9 +409,17 @@ bool Foam::functionObjects::externalCoupled::writeData else { // Output the value and snGrad - Field<Type> value(gatherAndCombine(bf[patchi])); - Field<Type> snGrad(gatherAndCombine(bf[patchi].snGrad()())); - if (Pstream::master()) + + const globalIndex glob + ( + globalIndex::gatherOnly{}, + bf[patchi].size() + ); + + Field<Type> value(glob.gather(bf[patchi])); + Field<Type> snGrad(glob.gather(bf[patchi].snGrad()())); + + if (UPstream::master()) { forAll(value, facei) { diff --git a/src/functionObjects/lagrangian/dataCloud/dataCloudTemplates.C b/src/functionObjects/lagrangian/dataCloud/dataCloudTemplates.C index 67319c08efe..d225a6ad2df 100644 --- a/src/functionObjects/lagrangian/dataCloud/dataCloudTemplates.C +++ b/src/functionObjects/lagrangian/dataCloud/dataCloudTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -77,7 +77,7 @@ void Foam::functionObjects::dataCloud::writeListParallel const List<Type>& field ) { - if (Pstream::master()) + if (UPstream::master()) { writeList(os, points, field); @@ -85,9 +85,9 @@ void Foam::functionObjects::dataCloud::writeListParallel Field<Type> recvField; // Receive and write - for (const int proci : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, proci); + IPstream fromProc(UPstream::commsTypes::scheduled, proci); fromProc >> recvPoints >> recvField; @@ -99,8 +99,8 @@ void Foam::functionObjects::dataCloud::writeListParallel // Send to master OPstream toMaster ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); toMaster @@ -134,7 +134,7 @@ void Foam::functionObjects::dataCloud::writeListParallel const bitSet& selected ) { - if (Pstream::master()) + if (UPstream::master()) { writeList(os, points, field, selected); @@ -142,9 +142,9 @@ void Foam::functionObjects::dataCloud::writeListParallel Field<Type> recvField; // Receive and write - for (const int proci : Pstream::subProcs()) + for (const int proci : UPstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, proci); + IPstream fromProc(UPstream::commsTypes::scheduled, proci); fromProc >> recvPoints >> recvField; @@ -156,8 +156,8 @@ void Foam::functionObjects::dataCloud::writeListParallel // Send to master OPstream toMaster ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); toMaster @@ -195,7 +195,7 @@ bool Foam::functionObjects::dataCloud::writeField autoPtr<OFstream> osPtr; - if (Pstream::master()) + if (UPstream::master()) { osPtr.reset(new OFstream(outputName)); osPtr->precision(precision_); diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementTemplates.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementTemplates.C index 324c6d2972b..931e9ced31e 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementTemplates.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementTemplates.C @@ -166,23 +166,8 @@ void Foam::meshRefinement::collectAndPrint { const globalIndex globalPoints(points.size()); - pointField allPoints; - globalPoints.gather - ( - points, - allPoints, - UPstream::msgType(), - Pstream::commsTypes::blocking - ); - - List<T> allData; - globalPoints.gather - ( - data, - allData, - UPstream::msgType(), - Pstream::commsTypes::blocking - ); + pointField allPoints(globalPoints.gather(points)); + List<T> allData(globalPoints.gather(data)); scalarField magAllPoints(mag(allPoints-point(-0.317, 0.117, 0.501))); diff --git a/src/meshTools/output/vtk/patch/foamVtkPatchMeshWriter.C b/src/meshTools/output/vtk/patch/foamVtkPatchMeshWriter.C index 52e533adf5b..296050fc184 100644 --- a/src/meshTools/output/vtk/patch/foamVtkPatchMeshWriter.C +++ b/src/meshTools/output/vtk/patch/foamVtkPatchMeshWriter.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -87,7 +87,7 @@ void Foam::vtk::patchMeshWriter::writePoints() this->beginPoints(numberOfPoints_); - if (parallel_ ? Pstream::master() : true) + if (parallel_ ? UPstream::master() : true) { for (const label patchId : patchIDs_) { @@ -103,14 +103,14 @@ void Foam::vtk::patchMeshWriter::writePoints() // Patch Ids are identical across all processes const label nPatches = patchIDs_.size(); - if (Pstream::master()) + if (UPstream::master()) { pointField recv; // Receive each point field and write - for (const int subproci : Pstream::subProcs()) + for (const int subproci : UPstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, subproci); + IPstream fromProc(UPstream::commsTypes::scheduled, subproci); for (label i=0; i < nPatches; ++i) { @@ -125,8 +125,8 @@ void Foam::vtk::patchMeshWriter::writePoints() // Send each point field OPstream toProc ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); for (const label patchId : patchIDs_) @@ -523,7 +523,7 @@ void Foam::vtk::patchMeshWriter::writePatchIDs() this->beginDataArray<label>("patchID", nPolys); - if (parallel_ ? Pstream::master() : true) + if (parallel_ ? UPstream::master() : true) { for (const label patchId : patchIDs_) { @@ -533,14 +533,14 @@ void Foam::vtk::patchMeshWriter::writePatchIDs() if (parallel_) { - if (Pstream::master()) + if (UPstream::master()) { labelList recv; // Receive each pair - for (const int subproci : Pstream::subProcs()) + for (const int subproci : UPstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, subproci); + IPstream fromProc(UPstream::commsTypes::scheduled, subproci); fromProc >> recv; @@ -559,8 +559,8 @@ void Foam::vtk::patchMeshWriter::writePatchIDs() // Send OPstream toProc ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); // Encode as [size, id] pairs @@ -595,7 +595,7 @@ bool Foam::vtk::patchMeshWriter::writeProcIDs() bool Foam::vtk::patchMeshWriter::writeNeighIDs() { - if (!Pstream::parRun()) + if (!UPstream::parRun()) { // Skip in non-parallel return false; @@ -626,7 +626,7 @@ bool Foam::vtk::patchMeshWriter::writeNeighIDs() bool good = false; - if (parallel_ ? Pstream::master() : true) + if (parallel_ ? UPstream::master() : true) { for (const label patchId : patchIDs_) { @@ -642,14 +642,14 @@ bool Foam::vtk::patchMeshWriter::writeNeighIDs() if (parallel_) { - if (Pstream::master()) + if (UPstream::master()) { labelList recv; // Receive each pair - for (const int subproci : Pstream::subProcs()) + for (const int subproci : UPstream::subProcs()) { - IPstream fromProc(Pstream::commsTypes::blocking, subproci); + IPstream fromProc(UPstream::commsTypes::scheduled, subproci); fromProc >> recv; @@ -668,8 +668,8 @@ bool Foam::vtk::patchMeshWriter::writeNeighIDs() // Send OPstream toProc ( - Pstream::commsTypes::blocking, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); // Encode as [size, id] pairs diff --git a/src/sampling/surface/isoSurface/isoSurfacePoint.C b/src/sampling/surface/isoSurface/isoSurfacePoint.C index 0c0d0ac5d84..0de39dbcd67 100644 --- a/src/sampling/surface/isoSurface/isoSurfacePoint.C +++ b/src/sampling/surface/isoSurface/isoSurfacePoint.C @@ -165,7 +165,12 @@ void Foam::isoSurfacePoint::syncUnseparatedPoints } // buffered send - OPstream::bsend(patchInfo, procPatch.neighbProcNo()); + OPstream toNbr + ( + UPstream::commsTypes::blocking, + procPatch.neighbProcNo() + ); + toNbr << patchInfo; } } @@ -177,10 +182,10 @@ void Foam::isoSurfacePoint::syncUnseparatedPoints if (pp.nPoints() && collocatedPatch(pp)) { - pointField nbrPatchInfo; - // We do not know the number of points on the other side // so cannot use UIPstream::read + + pointField nbrPatchInfo; IPstream::recv(nbrPatchInfo, procPatch.neighbProcNo()); const labelList& meshPts = procPatch.meshPoints(); -- GitLab From e7f0628d7971732faafe548fa5644da640942654 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 6 Mar 2024 14:09:00 +0100 Subject: [PATCH 087/231] ENH: promote IFstream::readContents() to public static function - reads file contents into a DynamicList<char>, which can then be broadcast, moved to a ICharStream etc. --- .../test/readBroadcast1/Test-readBroadcast1.C | 245 +++--------------- src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C | 117 ++++++++- src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H | 15 +- .../db/IOstreams/Fstreams/fstreamPointers.C | 3 - .../masterUncollatedFileOperation.C | 115 +------- 5 files changed, 165 insertions(+), 330 deletions(-) diff --git a/applications/test/readBroadcast1/Test-readBroadcast1.C b/applications/test/readBroadcast1/Test-readBroadcast1.C index fc9821593a5..c5538f029f1 100644 --- a/applications/test/readBroadcast1/Test-readBroadcast1.C +++ b/applications/test/readBroadcast1/Test-readBroadcast1.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,219 +29,12 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" -#include "OSspecific.H" // For fileSize() #include "Fstream.H" #include "Pstream.H" #include "SpanStream.H" -#include <limits> using namespace Foam; -// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // - -bool optUseSeek = false; -bool optVerbose = false; - -// Get file contents. Usually master-only and broadcast -static List<char> slurpFile -( - const fileName& pathname, - const bool parallel = UPstream::parRun(), - const bool masterOnly = true -) -{ - Info<< "slurp master-only:" << masterOnly - << " broadcast:" << (masterOnly && parallel) - << " seek:" << optUseSeek - << " file: " << pathname << nl; - - if (optUseSeek) - { - Info<< "Rewinding gzstream does not work..." << nl; - } - - // ------------------------- - - List<char> buffer; - - ifstreamPointer ifp; - - if (UPstream::master() || !masterOnly) - { - ifp.open(pathname); - } - - if (ifp && ifp->good()) - { - Info<< "compressed:" - << (IOstreamOption::COMPRESSED == ifp.whichCompression()) << nl; - - #if 0 - uint64_t inputSize = Foam::fileSize(pathname); - - if (IOstreamOption::COMPRESSED == ifp.whichCompression()) - { - ifp->ignore(std::numeric_limits<std::streamsize>::max()); - - const std::streamsize nread = ifp->gcount(); - - if (nread == std::numeric_limits<std::streamsize>::max()) - { - FatalErrorInFunction - << "Failed call to ignore()" << nl - << exit(FatalError); - } - inputSize = ifp->gcount(); - - if (optUseSeek) - { - // Rewinding gzstream does not really work... - ifp->rdbuf()->pubseekpos(0, std::ios_base::in); - } - else - { - // Open it again - gzstream rewinding is unreliable... - ifp.open(pathname); - } - } - - buffer.resize(label(inputSize)); - ifp->read(buffer.data(), buffer.size_bytes()); - - const std::streamsize nread = ifp->gcount(); - - if (nread == std::numeric_limits<std::streamsize>::max()) - { - FatalErrorInFunction - << "Failed call to read()" << nl - << exit(FatalError); - } - - buffer.resize(label(nread)); // Extra safety (paranoid) - - #else - - if (IOstreamOption::COMPRESSED == ifp.whichCompression()) - { - // For compressed files we do not have any idea how large - // the result will be. So read chunk-wise. - // Using the compressed size for the chunk size: - // 50% compression = 2 iterations - // 66% compression = 3 iterations - // ... - - const auto inputSize = Foam::fileSize(pathname + ".gz"); - - const uint64_t chunkSize = - ( - (inputSize <= 1024) - ? uint64_t(4096) - : uint64_t(2*inputSize) - ); - - uint64_t beg = 0; - - bool normalExit = false; - - for (int iter = 1; iter < 100000; ++iter) - { - if (optVerbose) - { - Info<< "iter " << iter << nl; - Info<< "chunk " << label(chunkSize) << nl; - Info<< "size " << label(iter * chunkSize) << nl; - } - - buffer.resize(label(iter * chunkSize)); - ifp->read(buffer.data() + beg, chunkSize); - - const std::streamsize nread = ifp->gcount(); - - if (optVerbose) - { - Info<< "nread: " << nread << nl; - } - - if - ( - nread < 0 - || nread == std::numeric_limits<std::streamsize>::max() - ) - { - if (iter == 0) - { - FatalErrorInFunction - << "Failed call to read()" << nl - << exit(FatalError); - } - break; - } - else - { - beg += uint64_t(nread); - if (nread >= 0 && uint64_t(nread) < chunkSize) - { - normalExit = true; - if (optVerbose) - { - Info<< "stopped after " - << iter << " iterations" << nl; - } - buffer.resize(label(beg)); - break; - } - } - } - - if (!normalExit) - { - FatalErrorInFunction - << "Abnormal exit" << nl - << exit(FatalError); - } - } - else - { - const auto inputSize = Foam::fileSize(pathname); - - if (inputSize >= 0) - { - buffer.resize(label(inputSize)); - ifp->read(buffer.data(), buffer.size_bytes()); - - const std::streamsize nread = ifp->gcount(); - - if - ( - nread < 0 - || nread == std::numeric_limits<std::streamsize>::max() - ) - { - FatalErrorInFunction - << "Failed call to read()" << nl - << exit(FatalError); - } - - buffer.resize(label(nread)); // Extra safety (paranoid) - } - } - #endif - } - - // Done with input file - ifp.reset(nullptr); - - if (parallel && masterOnly) - { - // On the assumption of larger files, - // prefer two broadcasts instead of serialization - Pstream::broadcastList(buffer); - } - - return buffer; -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Main program: @@ -250,9 +43,8 @@ int main(int argc, char *argv[]) argList::noBanner(); argList::noFunctionObjects(); argList::noCheckProcessorDirectories(); - argList::addBoolOption("seek", "seek with gzstream (fails!)"); - argList::addVerboseOption("addition information"); - argList::addBoolOption("seek", "seek with gzstream"); + argList::addVerboseOption("additional information"); + argList::addBoolOption("fail", "fail if file cannot be opened"); argList::addBoolOption("no-broadcast", "suppress broadcast contents"); argList::addNote("Test master-only reading (with broadcast)"); @@ -262,8 +54,7 @@ int main(int argc, char *argv[]) #include "setRootCase.H" const bool syncPar = (UPstream::parRun() && !args.found("no-broadcast")); - optUseSeek = args.found("seek"); - optVerbose = args.verbose(); + const bool optFail = args.found("fail"); auto srcName = args.get<fileName>(1); @@ -276,7 +67,33 @@ int main(int argc, char *argv[]) ICharStream is; { - List<char> buffer(slurpFile(srcName, syncPar)); + DynamicList<char> buffer; + if (UPstream::master() || !syncPar) + { + if (optFail) + { + IFstream ifs(srcName, IOstreamOption::BINARY); + + if (!ifs.good()) + { + FatalIOErrorInFunction(srcName) + << "Cannot open file " << srcName + << exit(FatalIOError); + } + + buffer = IFstream::readContents(ifs); + } + else + { + buffer = IFstream::readContents(srcName); + } + } + + if (syncPar) + { + // Prefer two broadcasts instead of serialize/de-serialize + Pstream::broadcastList(buffer); + } is.swap(buffer); } diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C index b9b9b2f318d..664328400c4 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C +++ b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,6 +37,119 @@ namespace Foam } +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +Foam::DynamicList<char> +Foam::IFstream::readContents(IFstream& ifs) +{ + DynamicList<char> buffer; + + const auto inputSize = ifs.fileSize(); + + if (inputSize <= 0) + { + // Nothing to read + } + else if (IOstreamOption::COMPRESSED == ifs.compression()) + { + auto& iss = ifs.stdStream(); + + // For compressed files, no idea how large the result will be. + // So read chunk-wise. + // Using the compressed size for the chunk size: + // 50% compression = 2 iterations + // 66% compression = 3 iterations + // ... + + const uint64_t chunkSize = + ( + (inputSize <= 1024) + ? uint64_t(4096) + : uint64_t(2*inputSize) + ); + + uint64_t beg = 0; + + for (int iter = 1; iter < 100000; ++iter) + { + // Manual resizing to use incremental vs doubling + buffer.setCapacity(label(iter * chunkSize)); + buffer.resize(buffer.capacity()); + + ifs.readRaw(buffer.data() + beg, chunkSize); + const std::streamsize nread = iss.gcount(); + + if + ( + nread < 0 + || nread == std::numeric_limits<std::streamsize>::max() + ) + { + // Failed, but treat as normal 'done' + buffer.resize(label(beg)); + break; + } + else + { + beg += uint64_t(nread); + if (nread >= 0 && uint64_t(nread) < chunkSize) + { + // normalExit = true; + buffer.resize(label(beg)); + break; + } + } + } + } + else + { + // UNCOMPRESSED + { + auto& iss = ifs.stdStream(); + + buffer.setCapacity(label(inputSize)); + buffer.resize(buffer.capacity()); + + ifs.readRaw(buffer.data(), buffer.size_bytes()); + const std::streamsize nread = iss.gcount(); + + if + ( + nread < 0 + || nread == std::numeric_limits<std::streamsize>::max() + ) + { + // Failed, but treat as normal 'done' + buffer.clear(); + } + else + { + buffer.resize(label(nread)); // Safety + } + } + } + + return buffer; +} + + +Foam::DynamicList<char> +Foam::IFstream::readContents(const fileName& pathname) +{ + if (!pathname.empty()) + { + IFstream ifs(pathname, IOstreamOption::BINARY); + + if (ifs.good()) + { + return readContents(ifs); + } + } + + return DynamicList<char>(); +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::IFstream::IFstream @@ -197,7 +310,7 @@ Foam::IFstream& Foam::IFstream::operator()() const else { FatalIOErrorInFunction(*this) - << "file " << this->name() << " does not exist" + << "File " << this->name() << " does not exist" << exit(FatalIOError); } } diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H index c6ea419a753..244c2d361f5 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,6 +41,7 @@ SourceFiles #include "ISstream.H" #include "className.H" #include "fstreamPointer.H" +#include "DynamicList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -54,7 +55,7 @@ namespace Foam class IFstream : private Foam::ifstreamPointer, - public ISstream + public Foam::ISstream { public: @@ -86,6 +87,16 @@ public: ~IFstream() = default; + // Static Functions + + //- Get file contents from specified file (compressed/uncompressed). + //- Returns an empty list if the file cannot be opened. + static DynamicList<char> readContents(const fileName& pathname); + + //- Get file contents from IFstream (assumed to be rewound) + static DynamicList<char> readContents(IFstream& ifs); + + // Member Functions //- Get character(s) diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C index 89cb40857ba..01b9f460b65 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C +++ b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C @@ -60,9 +60,6 @@ bool Foam::ofstreamPointer::supports_gz() noexcept } -// Future: List<char> slurpFile(....); - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::ifstreamPointer::ifstreamPointer diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index ef9b1faac1b..100e87b2274 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -83,101 +83,6 @@ namespace fileOperations } -// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // - -namespace Foam -{ - -// Get file contents (compressed or uncompressed) -static DynamicList<char> slurpFile(IFstream& ifs) -{ - DynamicList<char> buffer; - - auto& iss = ifs.stdStream(); - - const auto inputSize = ifs.fileSize(); - - if (IOstreamOption::COMPRESSED == ifs.compression()) - { - // For compressed files, no idea how large the result will be. - // So read chunk-wise. - // Using the compressed size for the chunk size: - // 50% compression = 2 iterations - // 66% compression = 3 iterations - // ... - - const uint64_t chunkSize = - ( - (inputSize <= 1024) - ? uint64_t(4096) - : uint64_t(2*inputSize) - ); - - uint64_t beg = 0; - - for (int iter = 1; iter < 100000; ++iter) - { - // Manual resizing to use incremental vs doubling - buffer.setCapacity(label(iter * chunkSize)); - buffer.resize(buffer.capacity()); - - ifs.readRaw(buffer.data() + beg, chunkSize); - const std::streamsize nread = iss.gcount(); - - if - ( - nread < 0 - || nread == std::numeric_limits<std::streamsize>::max() - ) - { - // Failed, but treat as normal 'done' - buffer.resize(label(beg)); - break; - } - else - { - beg += uint64_t(nread); - if (nread >= 0 && uint64_t(nread) < chunkSize) - { - // normalExit = true; - buffer.resize(label(beg)); - break; - } - } - } - } - else - { - if (inputSize >= 0) - { - buffer.setCapacity(label(inputSize)); - buffer.resize(buffer.capacity()); - - ifs.readRaw(buffer.data(), buffer.size_bytes()); - const std::streamsize nread = iss.gcount(); - - if - ( - nread < 0 - || nread == std::numeric_limits<std::streamsize>::max() - ) - { - // Failed, but treat as normal 'done' - buffer.clear(); - } - else - { - buffer.resize(label(nread)); // Safety - } - } - } - - return buffer; -} - -} // End namespace Foam - - // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // Foam::word @@ -535,33 +440,25 @@ void Foam::fileOperations::masterUncollatedFileOperation::readAndSend { FatalIOErrorInFunction(filePath) << "Cannot open file " << filePath - //<< " using communicator " << pBufs.comm() - //<< " ioRanks:" << UPstream::procID(pBufs.comm()) << exit(FatalIOError); } + // Read file contents (compressed or uncompressed) into a character buffer + DynamicList<char> buf(IFstream::readContents(ifs)); + if (debug) { Info<< "masterUncollatedFileOperation::readAndSend :" - << " compressed:" << bool(ifs.compression()) << " " - << filePath << endl; + << filePath + << " (compressed:" << bool(ifs.compression()) + << ") : " << " bytes" << endl; } - // Read file contents (compressed or uncompressed) into a character buffer - DynamicList<char> buf(slurpFile(ifs)); - for (const label proci : recvProcs) { UOPstream os(proci, pBufs); os.write(buf.cdata_bytes(), buf.size_bytes()); } - - if (debug) - { - Info<< "masterUncollatedFileOperation::readStream :" - << " From " << filePath << " sent " << buf.size() - << " bytes" << endl; - } } -- GitLab From 61aaacd088fc9fcf3afb40526f1c943580fdcbf7 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 4 Mar 2024 16:48:59 +0100 Subject: [PATCH 088/231] ENH: adjust renumbering methods, extend renumberMesh options - renumberMesh now has -dry-run, -write-maps, -no-fields, -renumber-method, -renumber-coeffs options. * Use -dry-run with -write-maps to visualize the before/after effects of renumbering (creates a VTK file). * -no-fields to renumber the mesh only. This is useful and faster when the input fields are uniform and the -overwrite option is specified. * -renumber-method allows a quick means of specifying a different default renumber method (instead of Cuthill-McKee). The -renumber-coeffs option allows passing of dictionary content for the method. Examples, // Different ways to specify reverse Cuthill-McKee * -renumber-method RCM * -renumber-coeffs 'reverse true;' * -renumber-method CuthillMcKee * -renumber-coeffs 'reverse true;' * -renumber-coeffs 'method CuthillMcKee; reverse true;' // Other (without dictionary coefficients) * renumberMesh -renumber-method random // Other (with dictionary coefficients) renumberMesh \ -renumber-method spring \ -renumber-coeffs 'maxCo 0.1; maxIter 1000; freezeFraction 0.99;' // Other (with additional libraries) renumberMesh -renumber-method zoltan -lib zoltanRenumber COMP: build zoltan renumbering to MPI-specific location - zoltan and Sloan renumbering are now longer automatically linked to the renumberMesh utility but must be separately loaded by a command-line option or through a dictionary "libs" entry. ENH: add output cellID for decomposePar -dry-run -cellDist --- .../cavity/system/renumberMeshDict-random | 112 -- .../mesh/manipulation/renumberMesh/Allwmake | 26 - .../manipulation/renumberMesh/Make/options | 11 +- .../manipulation/renumberMesh/renumberMesh.C | 1012 +++++++++++------ .../domainDecompositionDryRunWrite.C | 1 + bin/tools/CleanFunctions | 2 +- etc/caseDicts/annotated/renumberMeshDict | 45 +- etc/config.sh/zoltan | 34 + src/Allwmake | 2 +- src/renumber/Allwmake | 1 + src/renumber/SloanRenumber/SloanRenumber.C | 12 +- src/renumber/SloanRenumber/SloanRenumber.H | 22 +- .../CuthillMcKeeRenumber.C | 68 +- .../CuthillMcKeeRenumber.H | 72 +- src/renumber/renumberMethods/Make/files | 5 +- .../manualRenumber/manualRenumber.C | 16 +- .../manualRenumber/manualRenumber.H | 20 +- .../renumberMethods/noRenumber/noRenumber.C | 102 ++ .../renumberMethods/noRenumber/noRenumber.H | 124 ++ .../randomRenumber/randomRenumber.C | 65 +- .../randomRenumber/randomRenumber.H | 34 +- .../renumberMethod/renumberMethod.C | 27 +- .../renumberMethod/renumberMethod.H | 89 +- .../springRenumber/springRenumber.C | 48 +- .../springRenumber/springRenumber.H | 3 + .../structuredRenumber/structuredRenumber.C | 12 +- .../structuredRenumber/structuredRenumber.H | 15 +- src/renumber/zoltanRenumber/Make/files | 3 +- src/renumber/zoltanRenumber/Make/options | 6 +- src/renumber/zoltanRenumber/zoltanRenumber.C | 334 ++++-- src/renumber/zoltanRenumber/zoltanRenumber.H | 6 +- tutorials/mesh/parallel/cavity/Allrun | 3 +- .../cavity/system/renumberMeshDict-random | 109 -- .../geometric/Allclean | 1 - wmake/scripts/have_zoltan | 31 +- 35 files changed, 1583 insertions(+), 890 deletions(-) delete mode 100644 applications/test/mapDistributePolyMesh/cavity/system/renumberMeshDict-random delete mode 100755 applications/utilities/mesh/manipulation/renumberMesh/Allwmake create mode 100644 etc/config.sh/zoltan create mode 100644 src/renumber/renumberMethods/noRenumber/noRenumber.C create mode 100644 src/renumber/renumberMethods/noRenumber/noRenumber.H delete mode 100644 tutorials/mesh/parallel/cavity/system/renumberMeshDict-random diff --git a/applications/test/mapDistributePolyMesh/cavity/system/renumberMeshDict-random b/applications/test/mapDistributePolyMesh/cavity/system/renumberMeshDict-random deleted file mode 100644 index d3d55f4fd12..00000000000 --- a/applications/test/mapDistributePolyMesh/cavity/system/renumberMeshDict-random +++ /dev/null @@ -1,112 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | -| \\ / A nd | Website: www.openfoam.com | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - note "mesh renumbering dictionary"; - object renumberMeshDict; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// Write maps from renumbered back to original mesh -writeMaps true; - -// Optional entry: sort cells on coupled boundaries to last for use with -// e.g. nonBlockingGaussSeidel. -sortCoupledFaceCells false; - -// Optional entry: renumber on a block-by-block basis. It uses a -// blockCoeffs dictionary to construct a decompositionMethod to do -// a block subdivision) and then applies the renumberMethod to each -// block in turn. This can be used in large cases to keep the blocks -// fitting in cache with all the cache misses bunched at the end. -// This number is the approximate size of the blocks - this gets converted -// to a number of blocks that is the input to the decomposition method. -//blockSize 1000; - -// Optional entry: sort points into internal and boundary points -//orderPoints false; - -// Optional: suppress renumbering cellSets,faceSets,pointSets -//renumberSets false; - - -//method CuthillMcKee; -//method Sloan; -//method manual; -method random; -//method structured; -//method spring; -//method zoltan; // only if compiled with zoltan support - -//CuthillMcKeeCoeffs -//{ -// // Reverse CuthillMcKee (RCM) or plain -// reverse true; -//} - -manualCoeffs -{ - // In system directory: new-to-original (i.e. order) labelIOList - dataFile "cellMap"; -} - - -// For extruded (i.e. structured in one direction) meshes -structuredCoeffs -{ - // Patches that mesh was extruded from. These determine the starting - // layer of cells - patches (movingWall); - // Method to renumber the starting layer of cells - method random; - - // Renumber in columns (depthFirst) or in layers - depthFirst true; - - // Reverse ordering - reverse false; -} - - -springCoeffs -{ - // Maximum jump of cell indices. Is fraction of number of cells - maxCo 0.01; - - // Limit the amount of movement; the fraction maxCo gets decreased - // with every iteration - freezeFraction 0.999; - - // Maximum number of iterations - maxIter 1000; -} - - -blockCoeffs -{ - method scotch; - //method hierarchical; - //hierarchicalCoeffs - //{ - // n (1 2 1); - // delta 0.001; - // order xyz; - //} -} - - -zoltanCoeffs -{ - ORDER_METHOD LOCAL_HSFC; -} - - -// ************************************************************************* // diff --git a/applications/utilities/mesh/manipulation/renumberMesh/Allwmake b/applications/utilities/mesh/manipulation/renumberMesh/Allwmake deleted file mode 100755 index 0f0d32738e7..00000000000 --- a/applications/utilities/mesh/manipulation/renumberMesh/Allwmake +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -cd "${0%/*}" || exit # Run from this directory -. ${WM_PROJECT_DIR:?}/wmake/scripts/AllwmakeParseArguments # (error catching) -. ${WM_PROJECT_DIR:?}/wmake/scripts/sysFunctions # General system functions -. ${WM_PROJECT_DIR:?}/wmake/scripts/have_zoltan - -#------------------------------------------------------------------------------ - -unset COMP_FLAGS LINK_FLAGS - -if findLibrary "$FOAM_LIBBIN/libSloanRenumber" > /dev/null -then - echo " found libSloanRenumber -- enabling sloan renumbering support." - export LINK_FLAGS="$LINK_FLAGS -lSloanRenumber" -fi - -if findLibrary "$FOAM_LIBBIN/libzoltanRenumber" > /dev/null && have_zoltan -then - echo " found libzoltanRenumber -- enabling zoltan renumbering support." - export COMP_FLAGS="$COMP_FLAGS -DHAVE_ZOLTAN" - export LINK_FLAGS="$LINK_FLAGS -lzoltanRenumber -L$ZOLTAN_LIB_DIR -lzoltan" -fi - -wmake $targetType - -#------------------------------------------------------------------------------ diff --git a/applications/utilities/mesh/manipulation/renumberMesh/Make/options b/applications/utilities/mesh/manipulation/renumberMesh/Make/options index 004f82049fa..8aca81f2dcd 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/Make/options +++ b/applications/utilities/mesh/manipulation/renumberMesh/Make/options @@ -1,21 +1,22 @@ EXE_INC = \ - $(COMP_FLAGS) \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/renumber/renumberMethods/lnInclude \ - -I$(LIB_SRC)/renumber/zoltanRenumber/lnInclude \ + -I$(LIB_SRC)/parallel/decompose/decompose/lnInclude \ -I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \ -I$(LIB_SRC)/parallel/reconstruct/reconstruct/lnInclude EXE_LIBS = \ - -lfiniteVolume \ + -lfileFormats \ -lmeshTools \ -ldynamicMesh \ + -lfiniteVolume \ -lgenericPatchFields \ -lrenumberMethods \ + -ldecompose \ -lreconstruct \ - $(LINK_FLAGS) \ -ldecompositionMethods \ -L$(FOAM_LIBBIN)/dummy \ -lkahipDecomp -lmetisDecomp -lscotchDecomp diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C index b35202a4ad2..7c08c679a5f 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,12 +34,96 @@ Description Renumbers the cell list in order to reduce the bandwidth, reading and renumbering all fields from all the time directories. - By default uses bandCompression (CuthillMcKee) but will - read system/renumberMeshDict if -dict option is present + By default uses bandCompression (Cuthill-McKee) or the method + specified by the -renumber-method option, but will read + system/renumberMeshDict if -dict option is present + +Usage + \b renumberMesh [OPTIONS] + + Options: + - \par -allRegions + Use all regions in regionProperties + + - \par -case \<dir\> + Specify case directory to use (instead of the cwd). + + - \par -constant + Include the 'constant/' dir in the times list. + + - \par -decompose + Aggregate initially with a decomposition method (serial only) + + - \par -decomposeParDict \<file\> + Use specified file for decomposePar dictionary. + + - \par -dict \<file\> + Use specified file for renumberMeshDict dictionary. + + - \par -dry-run + Test only + + - \par -frontWidth + Calculate the rms of the front-width + + - \par -latestTime + Select the latest time. + + - \par -lib \<name\> + Additional library or library list to load (can be used multiple times). + + - \par -no-fields + Suppress renumber of fields + + - \par -noZero + Exclude the \a 0 dir from the times list. + + - \par -overwrite + Overwrite existing mesh/results files + + - \par -parallel + Run in parallel + + - \par -region \<regionName\> + Renumber named region. + + - \par -regions \<wordRes\> + Renumber named regions. + + - \par -renumber-coeffs \<string-content\> + String to create renumber dictionary contents. + + - \par -renumber-method \<name\> + Specify renumber method (default: CuthillMcKee) without dictionary + + - \par -time \<value\> + Specify time to select + + - \par -verbose + Additional verbosity. + + - \par -doc + Display documentation in browser. + + - \par -doc-source + Display source code in browser. + + - \par -help + Display short help and exit. + + - \par -help-man + Display full help (manpage format) and exit. + + - \par -help-notes + Display help notes (description) and exit. + + - \par -help-full + Display full help and exit. \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "timeSelector.H" #include "IOobjectList.H" #include "fvMesh.H" #include "polyTopoChange.H" @@ -48,8 +132,9 @@ Description #include "surfaceFields.H" #include "SortableList.H" #include "decompositionMethod.H" +#include "decompositionModel.H" #include "renumberMethod.H" -#include "zeroGradientFvPatchFields.H" +#include "foamVtkInternalMeshWriter.H" #include "CuthillMcKeeRenumber.H" #include "fvMeshSubset.H" #include "cellSet.H" @@ -60,11 +145,6 @@ Description #include "regionProperties.H" #include "polyMeshTools.H" -#ifdef HAVE_ZOLTAN - #include "zoltanRenumber.H" -#endif - - using namespace Foam; @@ -80,16 +160,17 @@ tmp<volScalarField> createScalarField ( name, mesh, - dimensionedScalar(dimless, Zero), + dimensionedScalar(word::null, dimless, -1), fvPatchFieldBase::zeroGradientType() ); auto& fld = tfld.ref(); - forAll(fld, celli) + forAll(elems, celli) { fld[celli] = elems[celli]; } + fld.correctBoundaryConditions(); return tfld; } @@ -140,10 +221,10 @@ void getBand bandwidth = max(cellBandwidth); // Do not use field algebra because of conversion label to scalar - profile = 0.0; - forAll(cellBandwidth, celli) + profile = 0; + for (const label width : cellBandwidth) { - profile += 1.0*cellBandwidth[celli]; + profile += scalar(width); } sumSqrIntersect = 0.0; @@ -175,54 +256,46 @@ labelList getFaceOrder label newFacei = 0; - labelList nbr; - labelList order; + DynamicList<label> nbr(64); + DynamicList<label> order(64); forAll(cellOrder, newCelli) { - label oldCelli = cellOrder[newCelli]; + const label oldCelli = cellOrder[newCelli]; const cell& cFaces = mesh.cells()[oldCelli]; // Neighbouring cells - nbr.setSize(cFaces.size()); + nbr.clear(); - forAll(cFaces, i) + for (const label facei : cFaces) { - label facei = cFaces[i]; + label nbrCelli = -1; if (mesh.isInternalFace(facei)) { // Internal face. Get cell on other side. - label nbrCelli = reverseCellOrder[mesh.faceNeighbour()[facei]]; + nbrCelli = reverseCellOrder[mesh.faceNeighbour()[facei]]; if (nbrCelli == newCelli) { nbrCelli = reverseCellOrder[mesh.faceOwner()[facei]]; } - if (newCelli < nbrCelli) - { - // Celli is master - nbr[i] = nbrCelli; - } - else + // The nbrCell is actually the master (let it handle the face) + if (nbrCelli <= newCelli) { - // nbrCell is master. Let it handle this face. - nbr[i] = -1; + nbrCelli = -1; } } - else - { - // External face. Do later. - nbr[i] = -1; - } + + nbr.push_back(nbrCelli); } - sortedOrder(nbr, order); + Foam::sortedOrder(nbr, order); for (const label index : order) { - if (nbr[index] != -1) + if (nbr[index] >= 0) { oldToNewFace[cFaces[index]] = newFacei++; } @@ -266,73 +339,71 @@ labelList getRegionFaceOrder label newFacei = 0; - label prevRegion = -1; + DynamicList<label> nbr(64); + DynamicList<label> order(64); forAll(cellOrder, newCelli) { - label oldCelli = cellOrder[newCelli]; - - if (cellToRegion[oldCelli] != prevRegion) - { - prevRegion = cellToRegion[oldCelli]; - } + const label oldCelli = cellOrder[newCelli]; const cell& cFaces = mesh.cells()[oldCelli]; - SortableList<label> nbr(cFaces.size()); + // Neighbouring cells + nbr.clear(); - forAll(cFaces, i) + for (const label facei : cFaces) { - label facei = cFaces[i]; + label nbrCelli = -1; if (mesh.isInternalFace(facei)) { // Internal face. Get cell on other side. - label nbrCelli = reverseCellOrder[mesh.faceNeighbour()[facei]]; + nbrCelli = reverseCellOrder[mesh.faceNeighbour()[facei]]; if (nbrCelli == newCelli) { nbrCelli = reverseCellOrder[mesh.faceOwner()[facei]]; } - if (cellToRegion[oldCelli] != cellToRegion[cellOrder[nbrCelli]]) + // The nbrCell is actually the master (let it handle the face) + if (nbrCelli <= newCelli) { - // Treat like external face. Do later. - nbr[i] = -1; - } - else if (newCelli < nbrCelli) - { - // Celli is master - nbr[i] = nbrCelli; + nbrCelli = -1; } else { - // nbrCell is master. Let it handle this face. - nbr[i] = -1; + // A region boundary? - treat like an external face + label ownRegion = cellToRegion[oldCelli]; + label neiRegion = cellToRegion[cellOrder[nbrCelli]]; + + if (ownRegion != neiRegion) + { + nbrCelli = -1; + } } } - else - { - // External face. Do later. - nbr[i] = -1; - } + + nbr.push_back(nbrCelli); } - nbr.sort(); + Foam::sortedOrder(nbr, order); - forAll(nbr, i) + for (const label index : order) { - if (nbr[i] != -1) + if (nbr[index] >= 0) { - oldToNewFace[cFaces[nbr.indices()[i]]] = newFacei++; + oldToNewFace[cFaces[index]] = newFacei++; } } } + // This seems to be broken... + // Do region interfaces - label nRegions = max(cellToRegion)+1; { + const label nRegions = max(cellToRegion)+1; + // Sort in increasing region - SortableList<label> sortKey(mesh.nFaces(), labelMax); + SortableList<label> sortKey(mesh.nInternalFaces(), labelMax); for (label facei = 0; facei < mesh.nInternalFaces(); facei++) { @@ -346,10 +417,10 @@ labelList getRegionFaceOrder +max(ownRegion, neiRegion); } } + sortKey.sort(); // Extract. - label prevKey = -1; forAll(sortKey, i) { label key = sortKey[i]; @@ -359,11 +430,6 @@ labelList getRegionFaceOrder break; } - if (prevKey != key) - { - prevKey = key; - } - oldToNewFace[sortKey.indices()[i]] = newFacei++; } } @@ -381,8 +447,7 @@ labelList getRegionFaceOrder if (oldToNewFace[facei] == -1) { FatalErrorInFunction - << "Did not determine new position" - << " for face " << facei + << "Did not determine new position for face " << facei << abort(FatalError); } } @@ -426,13 +491,10 @@ autoPtr<mapPolyMesh> reorderMesh labelHashSet flipFaceFlux(newOwner.size()); forAll(newNeighbour, facei) { - label own = newOwner[facei]; - label nei = newNeighbour[facei]; - - if (nei < own) + if (newOwner[facei] > newNeighbour[facei]) { - newFaces[facei].flip(); std::swap(newOwner[facei], newNeighbour[facei]); + newFaces[facei].flip(); flipFaceFlux.insert(facei); } } @@ -543,55 +605,94 @@ autoPtr<mapPolyMesh> reorderMesh } -// Return new to old cell numbering -labelList regionRenumber +// Return new to old cell numbering, region-wise +CompactListList<label> regionRenumber ( const renumberMethod& method, const fvMesh& mesh, - const labelList& cellToRegion + const labelList& cellToRegion, + label nRegions = -1 // Number of regions or auto-detect ) { - Info<< "Determining cell order:" << endl; + // Info<< "Determining cell order:" << endl; - labelList cellOrder(cellToRegion.size()); + if (nRegions < 0) + { + nRegions = Foam::max(cellToRegion)+1; + } - label nRegions = max(cellToRegion)+1; + // Initially the per-region cell selection + CompactListList<label> regionCellOrder + ( + invertOneToManyCompact(nRegions, cellToRegion) + ); - labelListList regionToCells(invertOneToMany(nRegions, cellToRegion)); + if (method.needs_mesh()) + { + forAll(regionCellOrder, regioni) + { + // Info<< " region " << regioni + // << " starts at " << regionCellOrder.localStart(regioni) + // << nl; - label celli = 0; + // No parallel communication + const bool oldParRun = UPstream::parRun(false); - forAll(regionToCells, regioni) - { - Info<< " region " << regioni << " starts at " << celli << endl; + // Get local sub-mesh + fvMeshSubset subsetter(mesh, regionCellOrder[regioni]); - // Make sure no parallel comms - const bool oldParRun = UPstream::parRun(false); + // Note: cellMap will be identical to regionToCells[regioni] + // (assuming they are properly sorted!) + const labelList& cellMap = subsetter.cellMap(); - // Per region do a reordering. - fvMeshSubset subsetter(mesh, regioni, cellToRegion); + labelList subCellOrder = method.renumber + ( + subsetter.subMesh(), + subsetter.subMesh().cellCentres() + ); - const fvMesh& subMesh = subsetter.subMesh(); + UPstream::parRun(oldParRun); // Restore parallel state - labelList subCellOrder = method.renumber - ( - subMesh, - subMesh.cellCentres() - ); + // Per region reordering + regionCellOrder[regioni] = labelUIndList(cellMap, subCellOrder); + } + } + else + { + forAll(regionCellOrder, regioni) + { + // Info<< " region " << regioni + // << " starts at " << regionCellOrder.localStart(regioni) + // << nl; - UPstream::parRun(oldParRun); // Restore parallel state + // No parallel communication + const bool oldParRun = UPstream::parRun(false); + // Connectivity of local sub-mesh + CompactListList<label> cellCells; + labelList cellMap = globalMeshData::calcCellCells + ( + mesh, + regionCellOrder[regioni], + cellCells + ); - const labelList& cellMap = subsetter.cellMap(); + // Note: cellCentres not needed by every renumber method + labelList subCellOrder = method.renumber + ( + cellCells, + pointField(mesh.cellCentres(), cellMap) + ); - forAll(subCellOrder, i) - { - cellOrder[celli++] = cellMap[subCellOrder[i]]; + UPstream::parRun(oldParRun); // Restore parallel state + + // Per region reordering + regionCellOrder[regioni] = labelUIndList(cellMap, subCellOrder); } } - Info<< endl; + // Info<< endl; - return cellOrder; + return regionCellOrder; } @@ -601,48 +702,138 @@ int main(int argc, char *argv[]) { argList::addNote ( - "Renumber mesh cells to reduce the bandwidth" + "Renumber mesh cells to reduce the bandwidth. Use the -lib option or" + " dictionary 'libs' entry to load additional libraries" ); - #include "addAllRegionOptions.H" - #include "addOverwriteOption.H" - #include "addTimeOptions.H" + argList::addDryRunOption + ( + "Test without writing. " + "Changes -write-maps to write VTK output." + ); + argList::addVerboseOption(); argList::addOption("dict", "file", "Alternative renumberMeshDict"); argList::addBoolOption ( "frontWidth", - "Calculate the rms of the front-width" + "Calculate the RMS of the front-width" + ); + + argList::addBoolOption + ( + "decompose", + "Aggregate initially with a decomposition method (serial only)" + ); + + argList::addBoolOption + ( + "write-maps", + "Write renumber mappings" + ); + + argList::addBoolOption + ( + "no-fields", + "Suppress renumbering of fields (eg, when they are only uniform)" + ); + + argList::addBoolOption + ( + "list-renumber", + "List available renumbering methods" + ); + + argList::addOption + ( + "renumber-method", + "name", + "Specify renumber method (default: CuthillMcKee) without dictionary" + ); + + argList::addOption + ( + "renumber-coeffs", + "string-content", + "Specify renumber coefficients (dictionary content) as string. " + "eg, 'reverse true;'" ); argList::noFunctionObjects(); // Never use function objects + #include "addAllRegionOptions.H" + #include "addOverwriteOption.H" + #include "addTimeOptions.H" + + // ------------------------- + #include "setRootCase.H" + + { + bool listOptions = false; + + if (args.found("list-renumber")) + { + listOptions = true; + Info<< nl + << "Available renumber methods:" << nl + << " " + << flatOutput(renumberMethod::supportedMethods()) << nl + << nl; + } + + if (listOptions) + { + return 0; + } + } + + const bool dryrun = args.dryRun(); + + const bool readDict = args.found("dict"); + const bool doFrontWidth = args.found("frontWidth"); + const bool overwrite = args.found("overwrite"); + const bool doFields = !args.found("no-fields"); + const bool doDecompose = args.found("decompose"); + + word renumberMethodName; + args.readIfPresent("renumber-method", renumberMethodName); + + if (doDecompose && UPstream::parRun()) + { + FatalErrorIn(args.executable()) + << "Cannot use -decompose option in parallel" + << " ... giving up" << nl + << exit(FatalError); + } + #include "createTime.H" - #include "getAllRegionOptions.H" - // Force linker to include zoltan symbols. This section is only needed since - // Zoltan is a static library - #ifdef HAVE_ZOLTAN - Info<< "renumberMesh built with zoltan support." << nl << endl; - (void)zoltanRenumber::typeName; - #endif + // Allow override of decomposeParDict location + fileName decompDictFile; + if + ( + args.readIfPresent("decomposeParDict", decompDictFile) + && !decompDictFile.empty() && !decompDictFile.isAbsolute() + ) + { + decompDictFile = runTime.globalPath()/decompDictFile; + } + + // Get region names + #include "getAllRegionOptions.H" // Get times list instantList Times = runTime.times(); - // Set startTime and endTime depending on -time and -latestTime options + // Set startTime depending on -time and -latestTime options #include "checkTimeOptions.H" runTime.setTime(Times[startTime], startTime); #include "createNamedMeshes.H" - const bool readDict = args.found("dict"); - const bool doFrontWidth = args.found("frontWidth"); - const bool overwrite = args.found("overwrite"); - for (fvMesh& mesh : meshes) { @@ -667,13 +858,11 @@ int main(int argc, char *argv[]) reduce(band, maxOp<label>()); reduce(profile, sumOp<scalar>()); + reduce(sumSqrIntersect, sumOp<scalar>()); + scalar rmsFrontwidth = Foam::sqrt ( - returnReduce - ( - sumSqrIntersect, - sumOp<scalar>() - )/mesh.globalData().nTotalCells() + sumSqrIntersect/mesh.globalData().nTotalCells() ); Info<< "Mesh " << mesh.name() @@ -690,12 +879,12 @@ int main(int argc, char *argv[]) Info<< endl; bool sortCoupledFaceCells = false; - bool writeMaps = false; + bool writeMaps = args.found("write-maps"); bool orderPoints = false; label blockSize = 0; // Construct renumberMethod - autoPtr<IOdictionary> renumberDictPtr; + dictionary renumberDict; autoPtr<renumberMethod> renumberPtr; if (readDict) @@ -705,38 +894,31 @@ int main(int argc, char *argv[]) Info<< "Renumber according to " << dictIO.name() << nl << endl; - renumberDictPtr.reset(new IOdictionary(dictIO)); - const IOdictionary& renumberDict = renumberDictPtr(); + renumberDict = IOdictionary::readContents(dictIO); renumberPtr = renumberMethod::New(renumberDict); - sortCoupledFaceCells = renumberDict.getOrDefault - ( - "sortCoupledFaceCells", - false - ); - if (sortCoupledFaceCells) + // This options are likely orthogonal to -decompose mode + if (!doDecompose) { - Info<< "Sorting cells on coupled boundaries to be last." << nl - << endl; - } + sortCoupledFaceCells = + renumberDict.getOrDefault("sortCoupledFaceCells", false); - blockSize = renumberDict.getOrDefault("blockSize", 0); - if (blockSize > 0) - { - Info<< "Ordering cells into regions of size " << blockSize - << " (using decomposition);" - << " ordering faces into region-internal" - << " and region-external." - << nl << endl; + if (sortCoupledFaceCells) + { + Info<< "Sorting cells on coupled boundaries to be last." + << nl << endl; + } - if (blockSize < 0 || blockSize >= mesh.nCells()) + blockSize = renumberDict.getOrDefault<label>("blockSize", 0); + + if (blockSize > 0) { - FatalErrorInFunction - << "Block size " << blockSize - << " should be positive integer" - << " and less than the number of cells in the mesh." - << exit(FatalError); + Info<< "Ordering cells into regions of size " << blockSize + << " (using decomposition);" + << " ordering faces into region-internal" + << " and region-external." + << nl << endl; } } @@ -744,27 +926,56 @@ int main(int argc, char *argv[]) if (orderPoints) { Info<< "Ordering points into internal and boundary points." - << nl - << endl; + << nl << endl; } - renumberDict.readEntry("writeMaps", writeMaps); - if (writeMaps) + if + ( + renumberDict.readIfPresent("writeMaps", writeMaps) + && writeMaps + ) { - Info<< "Writing renumber maps (new to old) to polyMesh." << nl - << endl; + Info<< "Writing renumber maps (new to old) to polyMesh." + << nl << endl; } } else { - Info<< "Using default renumberMethod." << nl << endl; - dictionary renumberDict; - renumberPtr.reset(new CuthillMcKeeRenumber(renumberDict)); - } + if (args.found("renumber-coeffs")) + { + ITstream is = args.lookup("renumber-coeffs"); - Info<< "Selecting renumberMethod " << renumberPtr().type() << nl - << endl; + is >> renumberDict; + Info<< "Specified renumber coefficients:" << nl + << renumberDict << nl; + } + + if (!renumberMethodName.empty()) + { + // Specify/override the "method" within dictionary + renumberDict.set("method", renumberMethodName); + renumberPtr = renumberMethod::New(renumberDict); + } + else if (renumberDict.found("method")) + { + // Use the "method" type within dictionary + renumberPtr = renumberMethod::New(renumberDict); + } + } + + // Default renumbering method + if (!renumberPtr) + { + renumberPtr.reset(new CuthillMcKeeRenumber(renumberDict)); + Info<< "Using renumber-method: " << renumberPtr().type() + << " [default]" << nl << endl; + } + else + { + Info<< "Using renumber-method: " << renumberPtr().type() + << nl << endl; + } // Read parallel reconstruct maps @@ -776,10 +987,10 @@ int main(int argc, char *argv[]) mesh.facesInstance(), polyMesh::meshSubDir, mesh, - IOobject::READ_IF_PRESENT, + (dryrun ? IOobject::NO_READ : IOobject::READ_IF_PRESENT), IOobject::AUTO_WRITE ), - labelList(0) + labelList() ); labelIOList faceProcAddressing @@ -790,10 +1001,10 @@ int main(int argc, char *argv[]) mesh.facesInstance(), polyMesh::meshSubDir, mesh, - IOobject::READ_IF_PRESENT, + (dryrun ? IOobject::NO_READ : IOobject::READ_IF_PRESENT), IOobject::AUTO_WRITE ), - labelList(0) + labelList() ); labelIOList pointProcAddressing ( @@ -803,10 +1014,10 @@ int main(int argc, char *argv[]) mesh.pointsInstance(), polyMesh::meshSubDir, mesh, - IOobject::READ_IF_PRESENT, + (dryrun ? IOobject::NO_READ : IOobject::READ_IF_PRESENT), IOobject::AUTO_WRITE ), - labelList(0) + labelList() ); labelIOList boundaryProcAddressing ( @@ -816,75 +1027,77 @@ int main(int argc, char *argv[]) mesh.pointsInstance(), polyMesh::meshSubDir, mesh, - IOobject::READ_IF_PRESENT, + (dryrun ? IOobject::NO_READ : IOobject::READ_IF_PRESENT), IOobject::AUTO_WRITE ), - labelList(0) + labelList() ); - // Read objects in time directory - IOobjectList objects(mesh, runTime.timeName()); - - - // Read vol fields. - - PtrList<volScalarField> vsFlds; - ReadFields(mesh, objects, vsFlds); - - PtrList<volVectorField> vvFlds; - ReadFields(mesh, objects, vvFlds); - - PtrList<volSphericalTensorField> vstFlds; - ReadFields(mesh, objects, vstFlds); - - PtrList<volSymmTensorField> vsymtFlds; - ReadFields(mesh, objects, vsymtFlds); - - PtrList<volTensorField> vtFlds; - ReadFields(mesh, objects, vtFlds); - - - // Read surface fields. - - PtrList<surfaceScalarField> ssFlds; - ReadFields(mesh, objects, ssFlds); - - PtrList<surfaceVectorField> svFlds; - ReadFields(mesh, objects, svFlds); - - PtrList<surfaceSphericalTensorField> sstFlds; - ReadFields(mesh, objects, sstFlds); - - PtrList<surfaceSymmTensorField> ssymtFlds; - ReadFields(mesh, objects, ssymtFlds); - - PtrList<surfaceTensorField> stFlds; - ReadFields(mesh, objects, stFlds); - - - // Read point fields. + // List of objects read from time directory + // List of stored objects to clear from mesh - PtrList<pointScalarField> psFlds; - ReadFields(pointMesh::New(mesh), objects, psFlds); + IOobjectList objects; + DynamicList<regIOobject*> storedObjects; - PtrList<pointVectorField> pvFlds; - ReadFields(pointMesh::New(mesh), objects, pvFlds); - - PtrList<pointSphericalTensorField> pstFlds; - ReadFields(pointMesh::New(mesh), objects, pstFlds); - - PtrList<pointSymmTensorField> psymtFlds; - ReadFields(pointMesh::New(mesh), objects, psymtFlds); - - PtrList<pointTensorField> ptFlds; - ReadFields(pointMesh::New(mesh), objects, ptFlds); + if (!dryrun && doFields) + { + objects = IOobjectList(mesh, runTime.timeName()); + storedObjects.reserve(objects.size()); + + const predicates::always nameMatcher; + + // Read GeometricFields + + #undef ReadFields + #define ReadFields(FieldType) \ + readFields<FieldType>(mesh, objects, nameMatcher, storedObjects); + + // Read volume fields + ReadFields(volScalarField); + ReadFields(volVectorField); + ReadFields(volSphericalTensorField); + ReadFields(volSymmTensorField); + ReadFields(volTensorField); + + // Read internal fields + ReadFields(volScalarField::Internal); + ReadFields(volVectorField::Internal); + ReadFields(volSphericalTensorField::Internal); + ReadFields(volSymmTensorField::Internal); + ReadFields(volTensorField::Internal); + + // Read surface fields + ReadFields(surfaceScalarField); + ReadFields(surfaceVectorField); + ReadFields(surfaceSphericalTensorField); + ReadFields(surfaceSymmTensorField); + ReadFields(surfaceTensorField); + + + // Read point fields + const pointMesh& pMesh = pointMesh::New(mesh); + #undef ReadPointFields + #define ReadPointFields(FieldType) \ + readFields<FieldType>(pMesh, objects, nameMatcher, storedObjects); + + ReadPointFields(pointScalarField); + ReadPointFields(pointVectorField); + ReadPointFields(pointSphericalTensorField); + ReadPointFields(pointSymmTensorField); + ReadPointFields(pointTensorField); + + #undef ReadFields + #undef ReadPointFields + } // Read sets PtrList<cellSet> cellSets; PtrList<faceSet> faceSets; PtrList<pointSet> pointSets; + + if (!dryrun) { // Read sets IOobjectList objects(mesh, mesh.facesInstance(), "polyMesh/sets"); @@ -901,7 +1114,7 @@ int main(int argc, char *argv[]) labelList cellOrder; labelList faceOrder; - if (blockSize > 0) + if (blockSize > 0 && !doDecompose) { // Renumbering in two phases. Should be done in one so mapping of // fields is done correctly! @@ -910,15 +1123,14 @@ int main(int argc, char *argv[]) Info<< "nBlocks = " << nBlocks << endl; // Read decompositionMethod dictionary - dictionary decomposeDict(renumberDictPtr().subDict("blockCoeffs")); + dictionary decomposeDict(renumberDict.subDict("blockCoeffs")); decomposeDict.set("numberOfSubdomains", nBlocks); + // No parallel communication const bool oldParRun = UPstream::parRun(false); - autoPtr<decompositionMethod> decomposePtr = decompositionMethod::New - ( - decomposeDict - ); + autoPtr<decompositionMethod> decomposePtr = + decompositionMethod::New(decomposeDict); labelList cellToRegion ( @@ -945,7 +1157,10 @@ int main(int argc, char *argv[]) << nl << endl; - cellOrder = regionRenumber(renumberPtr(), mesh, cellToRegion); + CompactListList<label> regionCellOrder = + regionRenumber(renumberPtr(), mesh, cellToRegion); + + cellOrder = regionCellOrder.values(); // Determine new to old face order with new cell numbering faceOrder = getRegionFaceOrder @@ -957,12 +1172,77 @@ int main(int argc, char *argv[]) } else { - // Determines sorted back to original cell ordering - cellOrder = renumberPtr().renumber - ( - mesh, - mesh.cellCentres() - ); + if (doDecompose) + { + // Two-step renumbering. + // 1. decompose into regions (like decomposePar) + // 2. renumber each sub-region + + // Read decompositionMethod dictionary + IOdictionary decomposeDict + ( + IOobject::selectIO + ( + IOobject + ( + decompositionModel::canonicalName, + runTime.time().system(), + mesh.regionName(), // region (if non-default) + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + decompDictFile + ) + ); + + // No parallel communication + const bool oldParRun = UPstream::parRun(false); + + autoPtr<decompositionMethod> decomposePtr + = decompositionMethod::New(decomposeDict); + + labelList cellToRegion + ( + decomposePtr().decompose + ( + mesh, + mesh.cellCentres() + ) + ); + + UPstream::parRun(oldParRun); // Restore parallel state + + CompactListList<label> regionCellOrder = + regionRenumber + ( + renumberPtr(), + mesh, + cellToRegion, + decomposePtr().nDomains() + ); + + cellOrder = regionCellOrder.values(); + + // HACK - retain partitioning information for possible use + // at a later stage + mesh.data().set + ( + "requested.partition-offsets", + regionCellOrder.offsets() + ); + } + else + { + // Determines sorted back to original cell ordering + cellOrder = renumberPtr().renumber + ( + mesh, + mesh.cellCentres() + ); + } + if (sortCoupledFaceCells) { @@ -1003,11 +1283,11 @@ int main(int argc, char *argv[]) } } } - bndCells.setSize(nBndCells); - bndCellMap.setSize(nBndCells); + bndCells.resize(nBndCells); + bndCellMap.resize(nBndCells); // Sort - labelList order(sortedOrder(bndCellMap)); + labelList order(Foam::sortedOrder(bndCellMap)); // Redo newReverseCellOrder labelList newReverseCellOrder(mesh.nCells(), -1); @@ -1228,13 +1508,11 @@ int main(int argc, char *argv[]) ); reduce(band, maxOp<label>()); reduce(profile, sumOp<scalar>()); + reduce(sumSqrIntersect, sumOp<scalar>()); + scalar rmsFrontwidth = Foam::sqrt ( - returnReduce - ( - sumSqrIntersect, - sumOp<scalar>() - )/mesh.globalData().nTotalCells() + sumSqrIntersect/mesh.globalData().nTotalCells() ); Info<< "After renumbering :" << nl @@ -1243,7 +1521,6 @@ int main(int argc, char *argv[]) if (doFrontWidth) { - Info<< " rms frontwidth : " << rmsFrontwidth << nl; } @@ -1306,110 +1583,191 @@ int main(int argc, char *argv[]) } - if (overwrite) + if (dryrun) { - mesh.setInstance(oldInstance); - } - else - { - mesh.setInstance(runTime.timeName()); - } + if (writeMaps) + { + fileName file = mesh.time().globalPath()/"renumberMesh"; + const word& regionDir = mesh.regionName(); - Info<< "Writing mesh to " << mesh.facesInstance() << endl; + if (!regionDir.empty()) + { + file += "_" + regionDir; + } - // Remove old procAddressing files - processorMeshes::removeFiles(mesh); + // VTK output + { + const vtk::vtuCells cells(mesh); - // Update refinement data - hexRef8Data refData - ( - IOobject - ( - "dummy", - mesh.facesInstance(), - polyMesh::meshSubDir, - mesh, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ) - ); - refData.updateMesh(map()); - refData.write(); + vtk::internalMeshWriter writer + ( + mesh, + cells, + file, + UPstream::parRun() + ); + + writer.writeGeometry(); + writer.beginCellData(); + writer.writeCellIDs(); + + labelList ids; + + if (UPstream::parRun()) + { + const label cellOffset = + mesh.globalData().globalMeshCellAddr().localStart(); + + ids.resize(mesh.nCells()); + std::transform + ( + map().cellMap().cbegin(), + map().cellMap().cend(), + ids.begin(), + [=](const label id) { return (id + cellOffset); } + ); + + writer.writeCellData("origCellID", ids); + writer.writeProcIDs(); + } + else + { + writer.writeCellData("origCellID", map().cellMap()); + + // Recover any partition information (in serial) + globalIndex partitionOffsets; + if + ( + mesh.data().readIfPresent + ( + "requested.partition-offsets", + partitionOffsets.offsets() + ) + ) + { + if (partitionOffsets.totalSize() != mesh.nCells()) + { + WarningInFunction + << "Requested partition total-size: " + << partitionOffsets.totalSize() + << " mesh total-size: " + << mesh.nCells() + << " ... ignoring" << endl; + + partitionOffsets.clear(); + } + } - // Update sets - topoSet::updateMesh(mesh.facesInstance(), map(), cellSets); - topoSet::updateMesh(mesh.facesInstance(), map(), faceSets); - topoSet::updateMesh(mesh.facesInstance(), map(), pointSets); + ids.resize(partitionOffsets.totalSize()); - mesh.write(); + for (const label proci : partitionOffsets.allProcs()) + { + ids.slice(partitionOffsets.range(proci)) = proci; + } + + if (!partitionOffsets.empty()) + { + writer.writeCellData("procID", ids); + } + } - if (writeMaps) + Info<< "Wrote renumbered mesh to " + << mesh.time().relativePath(writer.output()) + << " for visualization." + << endl; + } + } + } + else { - // For debugging: write out region - createScalarField - ( - mesh, - "origCellID", - map().cellMap() - )().write(); + if (overwrite) + { + mesh.setInstance(oldInstance); + } + else + { + mesh.setInstance(runTime.timeName()); + } - createScalarField - ( - mesh, - "cellID", - identity(mesh.nCells()) - )().write(); + Info<< "Writing mesh to " << mesh.facesInstance() << endl; - Info<< nl - << "Written current cellID and origCellID as volScalarField" - << " for use in postprocessing." << nl << endl; + // Remove old procAddressing files + processorMeshes::removeFiles(mesh); + + // Update refinement data - labelIOList + hexRef8Data refData ( IOobject ( - "cellMap", + "dummy", mesh.facesInstance(), polyMesh::meshSubDir, mesh, - IOobject::NO_READ, + (dryrun ? IOobject::NO_READ : IOobject::READ_IF_PRESENT), IOobject::NO_WRITE, IOobject::NO_REGISTER - ), - map().cellMap() - ).write(); + ) + ); + refData.updateMesh(map()); + refData.write(); - labelIOList - ( - IOobject + // Update sets + topoSet::updateMesh(mesh.facesInstance(), map(), cellSets); + topoSet::updateMesh(mesh.facesInstance(), map(), faceSets); + topoSet::updateMesh(mesh.facesInstance(), map(), pointSets); + + mesh.write(); + + if (writeMaps) + { + // For debugging: write out region + createScalarField ( - "faceMap", - mesh.facesInstance(), - polyMesh::meshSubDir, mesh, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - map().faceMap() - ).write(); + "origCellID", + map().cellMap() + )().write(); - labelIOList - ( - IOobject + createScalarField + ( + mesh, + "cellID", + identity(mesh.nCells()) + )().write(); + + Info<< nl + << "Wrote current cellID and origCellID as volScalarField" + << " for use in postprocessing." << nl << endl; + + IOobject meshMapIO ( - "pointMap", + "map-name", mesh.facesInstance(), polyMesh::meshSubDir, mesh, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER - ), - map().pointMap() - ).write(); + ); + + meshMapIO.resetHeader("cellMap"); + IOListRef<label>(meshMapIO, map().cellMap()).write(); + + meshMapIO.resetHeader("faceMap"); + IOListRef<label>(meshMapIO, map().faceMap()).write(); + + meshMapIO.resetHeader("pointMap"); + IOListRef<label>(meshMapIO, map().pointMap()).write(); + } + } + + // Cleanup loaded fields + while (!storedObjects.empty()) + { + storedObjects.back()->checkOut(); + storedObjects.pop_back(); } } diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDryRunWrite.C b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDryRunWrite.C index 56924ebad3a..86abe225627 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDryRunWrite.C +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDryRunWrite.C @@ -83,6 +83,7 @@ void Foam::domainDecompositionDryRun::writeVTK writer.writeGeometry(); writer.beginCellData(); writer.writeCellData("procID", cellToProc); + writer.writeCellIDs(); Info<< "Wrote decomposition to " << this->mesh().time().relativePath(writer.output()) diff --git a/bin/tools/CleanFunctions b/bin/tools/CleanFunctions index 4b54ca4b34d..bda0428f459 100644 --- a/bin/tools/CleanFunctions +++ b/bin/tools/CleanFunctions @@ -181,7 +181,7 @@ cleanCase() # Debug output (blockMesh, decomposePar) rm -f \ blockTopology.vtu blockFaces.vtp blockTopology.obj blockCentres.obj \ - cellDist.vtu \ + cellDist.vtu decomposePar.vtu renumberMesh.vtu \ 0/cellDist # From mpirunDebug diff --git a/etc/caseDicts/annotated/renumberMeshDict b/etc/caseDicts/annotated/renumberMeshDict index 00ce52e8851..80f960d0144 100644 --- a/etc/caseDicts/annotated/renumberMeshDict +++ b/etc/caseDicts/annotated/renumberMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -15,8 +15,12 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Write maps from renumbered back to original mesh -writeMaps false; +// Additional libraries +//libs (SloanRenumber); +//libs (zoltanRenumber); + +// Optional entry: write maps from renumbered back to original mesh +writeMaps false; // Optional entry: sort cells on coupled boundaries to last for use with // e.g. nonBlockingGaussSeidel. @@ -36,61 +40,66 @@ sortCoupledFaceCells false; method CuthillMcKee; -//method Sloan; +//method RCM; // == reverseCuthillMcKee; +//method Sloan; //<- libs (zoltanRenumber); //method manual; //method random; //method structured; //method spring; -//method zoltan; // only if compiled with zoltan support +//method zoltan; //<- libs (zoltanRenumber); //CuthillMcKeeCoeffs //{ -// // Reverse CuthillMcKee (RCM) or plain -// reverse true; +// // Plain or reverse CuthillMcKee (RCM) +// reverse true; //} manualCoeffs { // In system directory: new-to-original (i.e. order) labelIOList - dataFile "cellMap"; + dataFile "cellMap"; } // For extruded (i.e. structured in one direction) meshes structuredCoeffs { - // Patches that mesh was extruded from. These determine the starting - // layer of cells - patches (movingWall); + // Patches that mesh was extruded from. + // These determine the starting layer of cells + patches (movingWall); + // Method to renumber the starting layer of cells - method random; + method random; // Renumber in columns (depthFirst) or in layers - depthFirst true; + depthFirst true; // Reverse ordering - reverse false; + reverse false; } springCoeffs { // Maximum jump of cell indices. Is fraction of number of cells - maxCo 0.01; + maxCo 0.01; // Limit the amount of movement; the fraction maxCo gets decreased // with every iteration freezeFraction 0.999; // Maximum number of iterations - maxIter 1000; + maxIter 1000; + + // Enable/disable verbosity + verbose true; } blockCoeffs { - method scotch; - //method hierarchical; + method scotch; + //method hierarchical; //hierarchicalCoeffs //{ // n (1 2 1); diff --git a/etc/config.sh/zoltan b/etc/config.sh/zoltan new file mode 100644 index 00000000000..f93cb8a4b78 --- /dev/null +++ b/etc/config.sh/zoltan @@ -0,0 +1,34 @@ +#----------------------------------*-sh-*-------------------------------------- +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | www.openfoam.com +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# Copyright (C) 2024 OpenCFD Ltd. +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. +# +# File +# etc/config.sh/zoltan +# - sourced during wmake process only. +# +# Description +# Setup for ZOLTAN include/libraries (usually ThirdParty installation). +# +# To disable its use: ZOLTAN_VERSION=zoltan-none +# For system-wide installations: ZOLTAN_VERSION=zoltan-system +# +# Note +# A csh version is not needed, since the values here are only sourced +# during the wmake process +# +#------------------------------------------------------------------------------ +# USER EDITABLE PART: Changes made here may be lost with the next upgrade + +export ZOLTAN_VERSION=Zoltan-3.901 +export ZOLTAN_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$ZOLTAN_VERSION + +# END OF (NORMAL) USER EDITABLE PART +#------------------------------------------------------------------------------ diff --git a/src/Allwmake b/src/Allwmake index 96071901af0..3d2e2ac2224 100755 --- a/src/Allwmake +++ b/src/Allwmake @@ -72,6 +72,7 @@ wmakeLnInclude -u fvOptions wmake $targetType lagrangian/basic wmake $targetType lagrangian/distributionModels +renumber/Allwmake $targetType $* parallel/Allwmake $targetType $* wmake $targetType dynamicFvMesh @@ -100,7 +101,6 @@ wmake $targetType fvMotionSolver # snappyHexMesh uses overset voxelMesh mesh/Allwmake $targetType $* -renumber/Allwmake $targetType $* fvAgglomerationMethods/Allwmake $targetType $* wmake $targetType waveModels diff --git a/src/renumber/Allwmake b/src/renumber/Allwmake index 0e5edabb3e9..a367a8322e2 100755 --- a/src/renumber/Allwmake +++ b/src/renumber/Allwmake @@ -21,6 +21,7 @@ fi warning="==> skip zoltanRenumber" if have_zoltan then + echo "zoltan - $ZOLTAN_ARCH_PATH" wmake $targetType zoltanRenumber || echo "$warning (build issues detected)" else echo "$warning (no library)" diff --git a/src/renumber/SloanRenumber/SloanRenumber.C b/src/renumber/SloanRenumber/SloanRenumber.C index f3dea4f7622..9ef6ca08edc 100644 --- a/src/renumber/SloanRenumber/SloanRenumber.C +++ b/src/renumber/SloanRenumber/SloanRenumber.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -74,6 +74,9 @@ typedef adjacency_list typedef graph_traits<Graph>::vertex_descriptor Vertex; typedef graph_traits<Graph>::vertices_size_type size_type; + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + namespace Foam { defineTypeNameAndDebug(SloanRenumber, 0); @@ -89,6 +92,13 @@ namespace Foam // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::SloanRenumber::SloanRenumber(const bool reverse) +: + renumberMethod(), + reverse_(reverse) +{} + + Foam::SloanRenumber::SloanRenumber(const dictionary& dict) : renumberMethod(dict), diff --git a/src/renumber/SloanRenumber/SloanRenumber.H b/src/renumber/SloanRenumber/SloanRenumber.H index 7f61b3912bb..46aa1853567 100644 --- a/src/renumber/SloanRenumber/SloanRenumber.H +++ b/src/renumber/SloanRenumber/SloanRenumber.H @@ -55,16 +55,8 @@ class SloanRenumber { // Private Data - const bool reverse_; - - - // Private Member Functions - - //- No copy construct - SloanRenumber(const SloanRenumber&) = delete; - - //- No copy assignment - void operator=(const SloanRenumber&) = delete; + //- Use reverse indexing + bool reverse_; public: @@ -75,6 +67,9 @@ public: // Constructors + //- Default construct, optionally with reverse + explicit SloanRenumber(const bool reverse = false); + //- Construct given the renumber dictionary explicit SloanRenumber(const dictionary& dict); @@ -85,6 +80,13 @@ public: // Member Functions + //- Toggle reverse on/off + void reverse(bool on) noexcept { reverse_ = on; } + + //- The renumbering method does not require a polyMesh + virtual bool needs_mesh() const { return false; } + + //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). // This is only defined for geometric renumberMethods. diff --git a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C index c5a867decdc..241be2cbe30 100644 --- a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C +++ b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C @@ -30,11 +30,12 @@ License #include "addToRunTimeSelectionTable.H" #include "bandCompression.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(CuthillMcKeeRenumber, 0); + defineTypeName(CuthillMcKeeRenumber); + defineTypeName(reverseCuthillMcKeeRenumber); addToRunTimeSelectionTable ( @@ -42,11 +43,34 @@ namespace Foam CuthillMcKeeRenumber, dictionary ); + + addToRunTimeSelectionTable + ( + renumberMethod, + reverseCuthillMcKeeRenumber, + dictionary + ); + + // Select under the name "RCM" + addNamedToRunTimeSelectionTable + ( + renumberMethod, + reverseCuthillMcKeeRenumber, + dictionary, + RCM + ); } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::CuthillMcKeeRenumber::CuthillMcKeeRenumber(const bool reverse) +: + renumberMethod(), + reverse_(reverse) +{} + + Foam::CuthillMcKeeRenumber::CuthillMcKeeRenumber(const dictionary& dict) : renumberMethod(dict), @@ -58,19 +82,45 @@ Foam::CuthillMcKeeRenumber::CuthillMcKeeRenumber(const dictionary& dict) {} +Foam::CuthillMcKeeRenumber::CuthillMcKeeRenumber +( + const dictionary& dict, + const bool reverse +) +: + renumberMethod(dict), + reverse_(reverse) +{} + + +Foam::reverseCuthillMcKeeRenumber::reverseCuthillMcKeeRenumber() +: + CuthillMcKeeRenumber(true) // reverse = true +{} + + +Foam::reverseCuthillMcKeeRenumber::reverseCuthillMcKeeRenumber +( + const dictionary& dict +) +: + CuthillMcKeeRenumber(dict, true) // reverse = true +{} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::labelList Foam::CuthillMcKeeRenumber::renumber ( const polyMesh& mesh, - const pointField& points + const pointField& ) const { labelList orderedToOld = meshTools::bandCompression(mesh); if (reverse_) { - reverse(orderedToOld); + Foam::reverse(orderedToOld); } return orderedToOld; @@ -88,7 +138,7 @@ Foam::labelList Foam::CuthillMcKeeRenumber::renumber if (reverse_) { - reverse(orderedToOld); + Foam::reverse(orderedToOld); } return orderedToOld; @@ -98,14 +148,14 @@ Foam::labelList Foam::CuthillMcKeeRenumber::renumber Foam::labelList Foam::CuthillMcKeeRenumber::renumber ( const CompactListList<label>& cellCells, - const pointField& cc + const pointField& ) const { labelList orderedToOld = meshTools::bandCompression(cellCells); if (reverse_) { - reverse(orderedToOld); + Foam::reverse(orderedToOld); } return orderedToOld; @@ -115,14 +165,14 @@ Foam::labelList Foam::CuthillMcKeeRenumber::renumber Foam::labelList Foam::CuthillMcKeeRenumber::renumber ( const labelListList& cellCells, - const pointField& points + const pointField& ) const { labelList orderedToOld = meshTools::bandCompression(cellCells); if (reverse_) { - reverse(orderedToOld); + Foam::reverse(orderedToOld); } return orderedToOld; diff --git a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H index fd6df4cc275..45a07be3554 100644 --- a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H +++ b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,7 @@ Class Foam::CuthillMcKeeRenumber Description - Cuthill-McKee renumbering + Cuthill-McKee renumbering (CM or RCM) SourceFiles CuthillMcKeeRenumber.C @@ -53,29 +53,28 @@ class CuthillMcKeeRenumber { // Private Data - const bool reverse_; - - - // Private Member Functions - - //- No copy construct - CuthillMcKeeRenumber(const CuthillMcKeeRenumber&) = delete; - - //- No copy assignment - void operator=(const CuthillMcKeeRenumber&) = delete; + //- Use reverse indexing + bool reverse_; public: //- Runtime type information - TypeName("CuthillMcKee"); + TypeNameNoDebug("CuthillMcKee"); // Constructors + //- Default construct, optionally with reverse + explicit CuthillMcKeeRenumber(const bool reverse = false); + //- Construct given the renumber dictionary explicit CuthillMcKeeRenumber(const dictionary& dict); + //- Construct given the renumber dictionary (ignored) + //- and specified reverse handling + CuthillMcKeeRenumber(const dictionary& dict, const bool reverse); + //- Destructor virtual ~CuthillMcKeeRenumber() = default; @@ -83,6 +82,13 @@ public: // Member Functions + //- Toggle reverse on/off + void reverse(bool on) noexcept { reverse_ = on; } + + //- The renumbering method does not require a polyMesh + virtual bool needs_mesh() const { return false; } + + //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). // This is only defined for geometric renumberMethods. @@ -97,8 +103,10 @@ public: // Use the mesh connectivity (if needed) virtual labelList renumber ( + //! Mesh connectivity (see globalMeshData::calcCellCells) const polyMesh& mesh, - const pointField& cc + //! \em ignored + const pointField& cellCentres ) const; //- Return the order in which cells need to be visited @@ -109,14 +117,17 @@ public: ( const labelList& cellCells, const labelList& offsets, - const pointField& cc + //! \em ignored + const pointField& cellCentres ) const; //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). virtual labelList renumber ( + //! Mesh connectivity const CompactListList<label>& cellCells, + //! \em ignored const pointField& cellCentres ) const; @@ -126,12 +137,43 @@ public: // - the connections are across coupled patches virtual labelList renumber ( + //! Mesh connectivity const labelListList& cellCells, + //! \em ignored const pointField& cellCentres ) const; }; +/*---------------------------------------------------------------------------*\ + Class reverseCuthillMcKeeRenumber Declaration +\*---------------------------------------------------------------------------*/ + +//- Reverse Cuthill-McKee renumbering +class reverseCuthillMcKeeRenumber +: + public CuthillMcKeeRenumber +{ +public: + + //- Runtime type information + TypeNameNoDebug("reverseCuthillMcKee"); + + + // Constructors + + //- Default construct + reverseCuthillMcKeeRenumber(); + + //- Construct given the renumber dictionary (ignored) + explicit reverseCuthillMcKeeRenumber(const dictionary& dict); + + + //- Destructor + virtual ~reverseCuthillMcKeeRenumber() = default; +}; + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/renumber/renumberMethods/Make/files b/src/renumber/renumberMethods/Make/files index 6ee4924d337..863d3d21000 100644 --- a/src/renumber/renumberMethods/Make/files +++ b/src/renumber/renumberMethods/Make/files @@ -1,7 +1,10 @@ renumberMethod/renumberMethod.C + manualRenumber/manualRenumber.C -CuthillMcKeeRenumber/CuthillMcKeeRenumber.C +noRenumber/noRenumber.C randomRenumber/randomRenumber.C +CuthillMcKeeRenumber/CuthillMcKeeRenumber.C + springRenumber/springRenumber.C structuredRenumber/structuredRenumber.C structuredRenumber/OppositeFaceCellWaveBase.C diff --git a/src/renumber/renumberMethods/manualRenumber/manualRenumber.C b/src/renumber/renumberMethods/manualRenumber/manualRenumber.C index bce6268cefc..61dc4972394 100644 --- a/src/renumber/renumberMethods/manualRenumber/manualRenumber.C +++ b/src/renumber/renumberMethods/manualRenumber/manualRenumber.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,14 +28,13 @@ License #include "manualRenumber.H" #include "addToRunTimeSelectionTable.H" -#include "IFstream.H" #include "labelIOList.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(manualRenumber, 0); + defineTypeName(manualRenumber); addToRunTimeSelectionTable ( @@ -48,12 +47,19 @@ namespace Foam // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::manualRenumber::manualRenumber(const fileName& file) +: + renumberMethod(), + dataFile_(file) +{} + + Foam::manualRenumber::manualRenumber(const dictionary& dict) : renumberMethod(dict), dataFile_ ( - dict.optionalSubDict(typeName+"Coeffs").get<fileName>("dataFile") + dict.optionalSubDict(typeName + "Coeffs").get<fileName>("dataFile") ) {} diff --git a/src/renumber/renumberMethods/manualRenumber/manualRenumber.H b/src/renumber/renumberMethods/manualRenumber/manualRenumber.H index f6dbb1abf5a..208a6d959b5 100644 --- a/src/renumber/renumberMethods/manualRenumber/manualRenumber.H +++ b/src/renumber/renumberMethods/manualRenumber/manualRenumber.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -55,23 +55,17 @@ class manualRenumber fileName dataFile_; - - // Private Member Functions - - //- No copy construct - manualRenumber(const manualRenumber&) = delete; - - //- No copy assignment - void operator=(const manualRenumber&) = delete; - public: //- Runtime type information - TypeName("manual"); + TypeNameNoDebug("manual"); // Constructors + //- Construct with given data file + explicit manualRenumber(const fileName& file); + //- Construct given the renumber dictionary explicit manualRenumber(const dictionary& dict); @@ -82,6 +76,10 @@ public: // Member Functions + //- The renumbering method needs a polyMesh (for its IOobject) + virtual bool needs_mesh() const { return true; } + + //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). virtual labelList renumber(const pointField&) const diff --git a/src/renumber/renumberMethods/noRenumber/noRenumber.C b/src/renumber/renumberMethods/noRenumber/noRenumber.C new file mode 100644 index 00000000000..63878303999 --- /dev/null +++ b/src/renumber/renumberMethods/noRenumber/noRenumber.C @@ -0,0 +1,102 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "noRenumber.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeName(noRenumber); + + addNamedToRunTimeSelectionTable + ( + renumberMethod, + noRenumber, + dictionary, + none + ); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::noRenumber::noRenumber() +: + renumberMethod() +{} + + +Foam::noRenumber::noRenumber(const dictionary& dict) +: + renumberMethod(dict) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +Foam::labelList Foam::noRenumber::renumber +( + const pointField& cellCentres +) const +{ + return Foam::identity(cellCentres.size()); +} + + +Foam::labelList Foam::noRenumber::renumber +( + const polyMesh& mesh, + const pointField& +) const +{ + return Foam::identity(mesh.nCells()); +} + + +Foam::labelList Foam::noRenumber::renumber +( + const CompactListList<label>& cellCells, + const pointField& +) const +{ + return Foam::identity(cellCells.size()); +} + + +Foam::labelList Foam::noRenumber::renumber +( + const labelListList& cellCells, + const pointField& +) const +{ + return Foam::identity(cellCells.size()); +} + + +// ************************************************************************* // diff --git a/src/renumber/renumberMethods/noRenumber/noRenumber.H b/src/renumber/renumberMethods/noRenumber/noRenumber.H new file mode 100644 index 00000000000..98273362da1 --- /dev/null +++ b/src/renumber/renumberMethods/noRenumber/noRenumber.H @@ -0,0 +1,124 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::noRenumber + +Description + A dummy renumber method, selected as \c none. + + Method coefficients: \a none + +SourceFiles + noRenumber.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_noRenumber_H +#define Foam_noRenumber_H + +#include "renumberMethod.H" + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class noRenumber Declaration +\*---------------------------------------------------------------------------*/ + +class noRenumber +: + public renumberMethod +{ +public: + + //- Runtime type information + TypeNameNoDebug("none"); + + + // Constructors + + //- Default construct + noRenumber(); + + //- Construct given the renumber dictionary (unused) + explicit noRenumber(const dictionary& dict); + + + //- Destructor + virtual ~noRenumber() = default; + + + // Member Functions + + //- The renumbering method does not require a polyMesh + virtual bool needs_mesh() const { return false; } + + + //- Return the order in which cells need to be visited + //- (ie. from ordered back to original cell label). + virtual labelList renumber(const pointField&) const; + + //- Return the order in which cells need to be visited + //- (ie. from ordered back to original cell label). + virtual labelList renumber + ( + //! Mesh number of cells + const polyMesh& mesh, + //! \em ignored + const pointField& cellCentres + ) const; + + //- Return the order in which cells need to be visited + //- (ie. from ordered back to original cell label). + virtual labelList renumber + ( + //! Mesh connectivity for number of cells + const CompactListList<label>& cellCells, + //! \em ignored + const pointField& cellCentres + ) const; + + //- Return the order in which cells need to be visited + //- (ie. from ordered back to original cell label). + virtual labelList renumber + ( + //! Mesh connectivity for number of cells + const labelListList& cellCells, + //! \em ignored + const pointField& cellCentres + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/renumber/renumberMethods/randomRenumber/randomRenumber.C b/src/renumber/renumberMethods/randomRenumber/randomRenumber.C index a18be4d3c8d..4ae111352d7 100644 --- a/src/renumber/renumberMethods/randomRenumber/randomRenumber.C +++ b/src/renumber/renumberMethods/randomRenumber/randomRenumber.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2012 OpenFOAM Foundation - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,11 +30,11 @@ License #include "Random.H" #include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(randomRenumber, 0); + defineTypeName(randomRenumber); addToRunTimeSelectionTable ( @@ -45,8 +45,39 @@ namespace Foam } +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // + +namespace Foam +{ + +labelList randomMap(const label nCells) +{ + Random rndGen(0); + + // Full coverage + labelList newToOld(Foam::identity(nCells)); + + // Fisher-Yates shuffle algorithm + for (label i = nCells - 1; i > 0; --i) + { + label j = rndGen.position<label>(0, i); + std::swap(newToOld[i], newToOld[j]); + } + + return newToOld; +} + +} // End namespace Foam + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::randomRenumber::randomRenumber() +: + renumberMethod() +{} + + Foam::randomRenumber::randomRenumber(const dictionary& dict) : renumberMethod(dict) @@ -57,52 +88,40 @@ Foam::randomRenumber::randomRenumber(const dictionary& dict) Foam::labelList Foam::randomRenumber::renumber ( - const pointField& points + const pointField& cellCentres ) const { - Random rndGen(0); - - labelList newToOld(identity(points.size())); - - for (label iter = 0; iter < 10; iter++) - { - forAll(newToOld, i) - { - label j = rndGen.position<label>(0, newToOld.size()-1); - std::swap(newToOld[i], newToOld[j]); - } - } - return newToOld; + return randomMap(cellCentres.size()); } Foam::labelList Foam::randomRenumber::renumber ( const polyMesh& mesh, - const pointField& points + const pointField& ) const { - return renumber(points); + return randomMap(mesh.nCells()); } Foam::labelList Foam::randomRenumber::renumber ( const CompactListList<label>& cellCells, - const pointField& points + const pointField& ) const { - return renumber(points); + return randomMap(cellCells.size()); } Foam::labelList Foam::randomRenumber::renumber ( const labelListList& cellCells, - const pointField& points + const pointField& ) const { - return renumber(points); + return randomMap(cellCells.size()); } diff --git a/src/renumber/renumberMethods/randomRenumber/randomRenumber.H b/src/renumber/renumberMethods/randomRenumber/randomRenumber.H index 233a98638c6..5769be0ce74 100644 --- a/src/renumber/renumberMethods/randomRenumber/randomRenumber.H +++ b/src/renumber/renumberMethods/randomRenumber/randomRenumber.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2012 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,24 +51,18 @@ class randomRenumber : public renumberMethod { - // Private Member Functions - - //- No copy construct - randomRenumber(const randomRenumber&) = delete; - - //- No copy assignment - void operator=(const randomRenumber&) = delete; - - public: //- Runtime type information - TypeName("random"); + TypeNameNoDebug("random"); // Constructors - //- Construct given the renumber dictionary + //- Default construct + randomRenumber(); + + //- Construct given the renumber dictionary (unused) explicit randomRenumber(const dictionary& dict); @@ -78,19 +72,31 @@ public: // Member Functions + //- The renumbering method does not require a polyMesh + virtual bool needs_mesh() const { return false; } + + //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). virtual labelList renumber(const pointField&) const; //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). - virtual labelList renumber(const polyMesh&, const pointField&) const; + virtual labelList renumber + ( + //! Mesh number of cells + const polyMesh& mesh, + //! \em ignored + const pointField& cellCentres + ) const; //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). virtual labelList renumber ( + //! Mesh connectivity for number of cells const CompactListList<label>& cellCells, + //! \em ignored const pointField& cellCentres ) const; @@ -98,7 +104,9 @@ public: //- (ie. from ordered back to original cell label). virtual labelList renumber ( + //! Mesh connectivity for number of cells const labelListList& cellCells, + //! \em ignored const pointField& cellCentres ) const; }; diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C index 7be4654d920..7cb556bd8f2 100644 --- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C +++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C @@ -27,18 +27,30 @@ License \*---------------------------------------------------------------------------*/ #include "renumberMethod.H" +#include "dlLibraryTable.H" #include "globalMeshData.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(renumberMethod, 0); + defineTypeName(renumberMethod); defineRunTimeSelectionTable(renumberMethod, dictionary); } + // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // +Foam::wordList Foam::renumberMethod::supportedMethods() +{ + if (dictionaryConstructorTablePtr_) + { + return dictionaryConstructorTablePtr_->sortedToc(); + } + return wordList(); +} + + Foam::autoPtr<Foam::renumberMethod> Foam::renumberMethod::New ( const dictionary& dict @@ -48,6 +60,9 @@ Foam::autoPtr<Foam::renumberMethod> Foam::renumberMethod::New //Info<< "Selecting renumberMethod " << methodType << endl; + // Load any additional libs (verbose = false) + dlLibraryTable::libs().open("libs", dict, false); + auto* ctorPtr = dictionaryConstructorTable(methodType); if (!ctorPtr) @@ -67,6 +82,16 @@ Foam::autoPtr<Foam::renumberMethod> Foam::renumberMethod::New // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +Foam::labelList Foam::renumberMethod::renumber +( + const pointField& +) const +{ + NotImplemented; + return labelList(); +} + + Foam::labelList Foam::renumberMethod::renumber ( const polyMesh& mesh, diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.H b/src/renumber/renumberMethods/renumberMethod/renumberMethod.H index bc23c854041..9bfa6dd6c54 100644 --- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.H +++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,6 +41,7 @@ SourceFiles #include "polyMesh.H" #include "pointField.H" #include "CompactListList.H" +#include "wordList.H" namespace Foam { @@ -51,26 +52,10 @@ namespace Foam class renumberMethod { -protected: - - // Protected Data - - const dictionary& renumberDict_; - - - // Protected Member Functions - - //- No copy construct - renumberMethod(const renumberMethod&) = delete; - - //- No copy assignment - void operator=(const renumberMethod&) = delete; - - public: //- Runtime type information - TypeName("renumberMethod"); + TypeNameNoDebug("renumberMethod"); // Declare run-time constructor selection tables @@ -87,22 +72,24 @@ public: ); - // Selectors + // Constructors - //- Return a reference to the selected renumbering method - static autoPtr<renumberMethod> New - ( - const dictionary& renumberDict - ); + //- Default construct + renumberMethod() + {} + //- Construct with renumber dictionary (which is currently unused) + explicit renumberMethod(const dictionary&) + {} - // Constructors - //- Construct given the renumber dictionary - explicit renumberMethod(const dictionary& dict) - : - renumberDict_(dict) - {} + // Selectors + + //- Construct/select a renumbering method + static autoPtr<renumberMethod> New(const dictionary& dict); + + //- Return a list of the known methods + static wordList supportedMethods(); //- Destructor @@ -111,31 +98,25 @@ public: // Member Functions + //- Does renumbering method require a polyMesh? + virtual bool needs_mesh() const { return false; } + + + // No topology + //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). - // This is only defined for geometric renumberMethods. - virtual labelList renumber(const pointField&) const - { - NotImplemented; - return labelList(); - } + // This is only defined for geometric renumber methods. + virtual labelList renumber(const pointField&) const; + + + // Topology provided by mesh //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). // Use the mesh connectivity (if needed) virtual labelList renumber(const polyMesh&, const pointField&) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Addressing in losort addressing (= neighbour + offsets into - // neighbour) - virtual labelList renumber - ( - const labelList& cellCells, - const labelList& offsets, - const pointField& - ) const; - //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). // Gets passed agglomeration map (from fine to coarse cells) and coarse @@ -151,6 +132,20 @@ public: const pointField& coarsePoints ) const; + + // Topology provided explicitly + + //- Return the order in which cells need to be visited + //- (ie. from ordered back to original cell label). + // Addressing in losort addressing (= neighbour + offsets into + // neighbour) + virtual labelList renumber + ( + const labelList& cellCells, + const labelList& offsets, + const pointField& + ) const; + //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). // Uses 'unpack' internally, so should be overloaded when possible diff --git a/src/renumber/renumberMethods/springRenumber/springRenumber.C b/src/renumber/renumberMethods/springRenumber/springRenumber.C index c331b23ad80..b0063d6b59b 100644 --- a/src/renumber/renumberMethods/springRenumber/springRenumber.C +++ b/src/renumber/renumberMethods/springRenumber/springRenumber.C @@ -50,10 +50,11 @@ namespace Foam Foam::springRenumber::springRenumber(const dictionary& dict) : renumberMethod(dict), - coeffsDict_(dict.optionalSubDict(typeName+"Coeffs")), + coeffsDict_(dict.optionalSubDict(typeName + "Coeffs")), maxIter_(coeffsDict_.get<label>("maxIter")), maxCo_(coeffsDict_.get<scalar>("maxCo")), - freezeFraction_(coeffsDict_.get<scalar>("freezeFraction")) + freezeFraction_(coeffsDict_.get<scalar>("freezeFraction")), + verbose_(coeffsDict_.getOrDefault("verbose", true)) {} @@ -71,10 +72,7 @@ Foam::labelList Foam::springRenumber::renumberImpl // Move cells to the average 'position' of their neighbour. scalarField position(nOldCells); - forAll(position, celli) - { - position[celli] = celli; - } + std::iota(position.begin(), position.end(), 0); // Sum force per cell. Also reused for the displacement scalarField sumForce(nOldCells); @@ -90,9 +88,9 @@ Foam::labelList Foam::springRenumber::renumberImpl // << endl; //Pout<< "Position :" << nl - // << " min : " << min(position) << nl - // << " max : " << max(position) << nl - // << " avg : " << average(position) << nl + // << " min : " << Foam::min(position) << nl + // << " max : " << Foam::max(position) << nl + // << " avg : " << Foam::average(position) << nl // << endl; // Sum force per cell. @@ -100,9 +98,8 @@ Foam::labelList Foam::springRenumber::renumberImpl for (label oldCelli = 0; oldCelli < nOldCells; ++oldCelli) { const label celli = oldToNew[oldCelli]; - const auto& neighbours = cellCells[oldCelli]; - for (const label nbr : neighbours) + for (const label nbr : cellCells[oldCelli]) { const label nbrCelli = oldToNew[nbr]; @@ -111,35 +108,38 @@ Foam::labelList Foam::springRenumber::renumberImpl } //Pout<< "Force :" << nl - // << " min : " << min(sumForce) << nl - // << " max : " << max(sumForce) << nl - // << " avgMag : " << average(mag(sumForce)) << nl + // << " min : " << Foam::min(sumForce) << nl + // << " max : " << Foam::max(sumForce) << nl + // << " avgMag : " << Foam::average(mag(sumForce)) << nl // << "DeltaT : " << deltaT << nl // << endl; // Limit displacement scalar deltaT = maxCo / max(mag(sumForce)); - Info<< "Iter:" << iter - << " maxCo:" << maxCo - << " deltaT:" << deltaT - << " average force:" << average(mag(sumForce)) << endl; + if (verbose_) + { + Info<< "Iter:" << iter + << " maxCo:" << maxCo + << " deltaT:" << deltaT + << " average force:" << average(mag(sumForce)) << endl; + } // Determine displacement scalarField& displacement = sumForce; displacement *= deltaT; //Pout<< "Displacement :" << nl - // << " min : " << min(displacement) << nl - // << " max : " << max(displacement) << nl - // << " avgMag : " << average(mag(displacement)) << nl + // << " min : " << Foam::min(displacement) << nl + // << " max : " << Foam::max(displacement) << nl + // << " avgMag : " << Foam::average(mag(displacement)) << nl // << endl; // Calculate new position and scale to be within original range // (0..nCells-1) for ease of postprocessing. position += displacement; - position -= min(position); - position *= (position.size()-1)/max(position); + position -= Foam::min(position); + position *= (position.size()-1)/Foam::max(position); // Slowly freeze. maxCo *= freezeFraction_; @@ -148,7 +148,7 @@ Foam::labelList Foam::springRenumber::renumberImpl //writeOBJ("endPosition.obj", cellCells, position); // Move cells to new position - labelList shuffle(sortedOrder(position)); + labelList shuffle(Foam::sortedOrder(position)); // Reorder oldToNew inplaceReorder(shuffle, oldToNew); diff --git a/src/renumber/renumberMethods/springRenumber/springRenumber.H b/src/renumber/renumberMethods/springRenumber/springRenumber.H index c7e6ae4f9e9..bf0d8ac8b51 100644 --- a/src/renumber/renumberMethods/springRenumber/springRenumber.H +++ b/src/renumber/renumberMethods/springRenumber/springRenumber.H @@ -72,6 +72,9 @@ class springRenumber const scalar freezeFraction_; + //- Verbose reporting of progress + bool verbose_; + // Private Member Functions diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C index e94aa0406b1..f5a13168a97 100644 --- a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C +++ b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C @@ -32,7 +32,7 @@ License #include "fvMeshSubset.H" #include "OppositeFaceCellWave.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { @@ -59,7 +59,7 @@ Foam::structuredRenumber::structuredRenumber patches_(coeffsDict_.get<wordRes>("patches")), nLayers_(coeffsDict_.getOrDefault<label>("nLayers", labelMax)), depthFirst_(coeffsDict_.get<bool>("depthFirst")), - reverse_(coeffsDict_.get<bool>("reverse")), + reverse_(coeffsDict_.getOrDefault("reverse", false)), method_(renumberMethod::New(coeffsDict_)) {} @@ -70,10 +70,10 @@ bool Foam::structuredRenumber::layerLess::operator() ( const label a, const label b -) +) const { - const topoDistanceData<label>& ta = distance_[a]; - const topoDistanceData<label>& tb = distance_[b]; + const auto& ta = distance_[a]; + const auto& tb = distance_[b]; int dummy; @@ -273,7 +273,7 @@ Foam::labelList Foam::structuredRenumber::renumber // Return furthest away cell first if (reverse_) { - reverse(orderedToOld); + Foam::reverse(orderedToOld); } return orderedToOld; diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H index c79ce09a46a..f4368628323 100644 --- a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H +++ b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2016 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,7 +52,7 @@ namespace Foam template<class Type> class topoDistanceData; /*---------------------------------------------------------------------------*\ - Class structuredRenumber Declaration + Class structuredRenumber Declaration \*---------------------------------------------------------------------------*/ class structuredRenumber @@ -63,8 +63,7 @@ public: // Public Classes - //- Less function class that can be used for sorting according to - // column and layer + //- Function class for sorting according to column and layer class layerLess { const bool depthFirst_; @@ -85,10 +84,12 @@ public: distance_(distance) {} - bool operator()(const label a, const label b); + bool operator()(const label a, const label b) const; }; +private: + // Private Data const dictionary& coeffsDict_; @@ -131,6 +132,10 @@ public: // Member Functions + //- Renumbering method requires a polyMesh + virtual bool needs_mesh() const { return true; } + + //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). // This is only defined for geometric renumberMethods. diff --git a/src/renumber/zoltanRenumber/Make/files b/src/renumber/zoltanRenumber/Make/files index 15659a52d0f..91cd6da72b5 100644 --- a/src/renumber/zoltanRenumber/Make/files +++ b/src/renumber/zoltanRenumber/Make/files @@ -1,3 +1,4 @@ zoltanRenumber.C -LIB = $(FOAM_LIBBIN)/libzoltanRenumber +/* Build with MPI dependency */ +LIB = $(FOAM_MPI_LIBBIN)/libzoltanRenumber diff --git a/src/renumber/zoltanRenumber/Make/options b/src/renumber/zoltanRenumber/Make/options index 589a3edc8b5..54063354a0e 100644 --- a/src/renumber/zoltanRenumber/Make/options +++ b/src/renumber/zoltanRenumber/Make/options @@ -8,5 +8,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ - -L$(ZOLTAN_LIB_DIR) -lzoltan \ - -lmeshTools + -lmeshTools \ + -lrenumberMethods \ + $(PLIBS) \ + -L$(ZOLTAN_LIB_DIR) -lzoltan diff --git a/src/renumber/zoltanRenumber/zoltanRenumber.C b/src/renumber/zoltanRenumber/zoltanRenumber.C index 7b50f620d08..5cd44e11932 100644 --- a/src/renumber/zoltanRenumber/zoltanRenumber.C +++ b/src/renumber/zoltanRenumber/zoltanRenumber.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,7 +58,10 @@ SourceFiles #include "polyMesh.H" #include "globalMeshData.H" #include "globalIndex.H" +#include "CStringList.H" #include "uint.H" +#include <algorithm> +#include <numeric> // Include MPI without any C++ bindings #ifndef MPICH_SKIP_MPICXX @@ -71,7 +75,7 @@ SourceFiles #include "zoltan.h" #include <mpi.h> -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { @@ -86,43 +90,80 @@ namespace Foam } +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // + +// [ZOLTAN_NUM_OBJ_FN] +// The number of graph vertices (locally) static int get_number_of_vertices(void *data, int *ierr) { - const Foam::polyMesh& mesh = *static_cast<const Foam::polyMesh*>(data); *ierr = ZOLTAN_OK; + const auto& mesh = *static_cast<const Foam::polyMesh*>(data); + return mesh.nCells(); } -static void get_vertex_list(void *data, int sizeGID, int sizeLID, - ZOLTAN_ID_PTR globalID, ZOLTAN_ID_PTR localID, - int wgt_dim, float *obj_wgts, int *ierr) +// [ZOLTAN_OBJ_LIST_FN] +// The ids for the graph vertices +static void get_vertex_list +( + void *data, + int sizeGID, // (currently unused) + int sizeLID, // (currently unused) + ZOLTAN_ID_PTR global_ids, + ZOLTAN_ID_PTR local_ids, + int wgt_dim, // (currently unused) + float *obj_wgts, // (currently unused) + int *ierr +) { - const Foam::polyMesh& mesh = *static_cast<const Foam::polyMesh*>(data); - *ierr = ZOLTAN_OK; + const auto& mesh = *static_cast<const Foam::polyMesh*>(data); - /* In this example, return the IDs of our vertices, but no weights. - * Zoltan will assume equally weighted vertices. - */ + const auto nCells = mesh.nCells(); - wgt_dim = 0; - obj_wgts = nullptr; + // Offset for globally unique IDs + const auto myProci = Foam::UPstream::myProcNo(); + const auto myProcOffset = + mesh.globalData().globalMeshCellAddr().localStart(myProci); - for (Foam::label i=0; i<mesh.nCells(); i++) - { - globalID[i] = i; // should be global - localID[i] = i; - } + // Global indices + std::iota(global_ids, (global_ids + nCells), ZOLTAN_ID_TYPE(myProcOffset)); + + // Local indices + std::iota(local_ids, (local_ids + nCells), ZOLTAN_ID_TYPE(0)); + + // No weights? + // Zoltan will assume equally weighted vertices. + + // if (obj_wgts && wgt_dim > 0) + // { + // std::fill_n(obj_wgts, wgt_dim, float(1)); + // } } -static void get_num_edges_list(void *data, int sizeGID, int sizeLID, - int num_obj, - ZOLTAN_ID_PTR globalID, ZOLTAN_ID_PTR localID, - int *numEdges, int *ierr) +// [ZOLTAN_NUM_EDGES_MULTI_FN] +// query function returns the number of edges in the communication +// graph of the application for each object in a list of objects. +// That is, for each object in the global_ids/local_ids arrays, the +// number of objects with which the given object must share +// information is returned. + +static void get_num_edges_list +( + void *data, + int sizeGID, + int sizeLID, + int num_obj, // Number of graph vertices (mesh cells) + ZOLTAN_ID_PTR global_ids, // (currently unused) + ZOLTAN_ID_PTR local_ids, // rank-local vertex id (mesh cell id) + int *numEdges, + int *ierr +) { - const Foam::polyMesh& mesh = *static_cast<const Foam::polyMesh*>(data); + *ierr = ZOLTAN_OK; + const auto& mesh = *static_cast<const Foam::polyMesh*>(data); if ((sizeGID != 1) || (sizeLID != 1) || (num_obj != mesh.nCells())) { @@ -130,32 +171,46 @@ static void get_num_edges_list(void *data, int sizeGID, int sizeLID, return; } - for (Foam::label i=0; i < num_obj ;i++) + const Foam::label nCells = num_obj; + + for (Foam::label i=0; i < nCells; ++i) { - Foam::label celli = localID[i]; - const Foam::cell& cFaces = mesh.cells()[celli]; - forAll(cFaces, cFacei) + const Foam::label celli = local_ids[i]; + int numNbr = 0; + + for (const auto facei : mesh.cells()[celli]) { - Foam::label n = 0; - if (mesh.isInternalFace(cFaces[cFacei])) + if (mesh.isInternalFace(facei)) { - n++; + ++numNbr; } - numEdges[i] = n; + // TBD: check coupled etc } - } - *ierr = ZOLTAN_OK; + numEdges[i] = numNbr; + } } -static void get_edge_list(void *data, int sizeGID, int sizeLID, - int num_obj, ZOLTAN_ID_PTR globalID, ZOLTAN_ID_PTR localID, - int *num_edges, - ZOLTAN_ID_PTR nborGID, int *nborProc, - int wgt_dim, float *ewgts, int *ierr) +// [ZOLTAN_EDGE_LIST_MULTI_FN] +static void get_edge_list +( + void *data, + int sizeGID, + int sizeLID, + int num_obj, + ZOLTAN_ID_PTR global_ids, // (currently unused) + ZOLTAN_ID_PTR local_ids, // rank-local vertex id (mesh cell id) + int *num_edges, + ZOLTAN_ID_PTR nborGID, + int *nborProc, + int wgt_dim, + float *ewgts, + int *ierr +) { - const Foam::polyMesh& mesh = *static_cast<const Foam::polyMesh*>(data); + *ierr = ZOLTAN_OK; + const auto& mesh = *static_cast<const Foam::polyMesh*>(data); if ( @@ -169,20 +224,24 @@ static void get_edge_list(void *data, int sizeGID, int sizeLID, return; } - ZOLTAN_ID_TYPE* nextNbor = nborGID; - int* nextProc = nborProc; - float* nextWgt = ewgts; + // Offset for globally unique IDs + const auto myProci = Foam::UPstream::myProcNo(); + const auto myProcOffset = + mesh.globalData().globalMeshCellAddr().localStart(myProci); + + auto* nextNbor = nborGID; + auto* nextProc = nborProc; + auto* nextWgt = ewgts; - for (Foam::label i=0; i < num_obj; i++) + const Foam::label nCells = num_obj; + + for (Foam::label i=0; i < nCells; ++i) { - Foam::label celli = localID[i]; + const Foam::label celli = local_ids[i]; + int numNbr = 0; - const Foam::cell& cFaces = mesh.cells()[celli]; - forAll(cFaces, cFacei) + for (const auto facei : mesh.cells()[celli]) { - Foam::label n = 0; - - Foam::label facei = cFaces[cFacei]; if (mesh.isInternalFace(facei)) { Foam::label nbr = mesh.faceOwner()[facei]; @@ -191,32 +250,37 @@ static void get_edge_list(void *data, int sizeGID, int sizeLID, nbr = mesh.faceNeighbour()[facei]; } - // Note: global index - *nextNbor++ = nbr; - *nextProc++ = 0; + *nextNbor++ = (nbr + myProcOffset); // global id + *nextProc++ = myProci; // rank-local connection *nextWgt++ = 1.0; - n++; - } - if (n != num_edges[i]) - { - *ierr = ZOLTAN_FATAL; - return; + ++numNbr; } } + + // Sanity check + if (numNbr != num_edges[i]) + { + *ierr = ZOLTAN_FATAL; + return; + } } - *ierr = ZOLTAN_OK; } +// [ZOLTAN_NUM_GEOM_FN] +// The dimensionality of the mesh geometry (2D,3D, etc) static int get_mesh_dim(void *data, int *ierr) { - const Foam::polyMesh& mesh = *static_cast<const Foam::polyMesh*>(data); + *ierr = ZOLTAN_OK; + const auto& mesh = *static_cast<const Foam::polyMesh*>(data); return mesh.nSolutionD(); } +// [ZOLTAN_GEOM_MULTI_FN] +// The geometric location of the graph vertices (mesh cellCentres) static void get_geom_list ( void *data, @@ -225,11 +289,12 @@ static void get_geom_list int num_obj, ZOLTAN_ID_PTR global_ids, ZOLTAN_ID_PTR local_ids, - int num_dim, - double *geom_vec, + int num_dim, // dimensionality (2|3) + double *geom_vec, // [out] cellCentres int *ierr ) { + *ierr = ZOLTAN_OK; const Foam::polyMesh& mesh = *static_cast<const Foam::polyMesh*>(data); if @@ -244,26 +309,46 @@ static void get_geom_list return; } - double* p = geom_vec; - - - const Foam::Vector<Foam::label>& sol = mesh.solutionD(); - const Foam::pointField& cc = mesh.cellCentres(); - for (Foam::label celli = 0; celli < num_obj; celli++) + if (num_dim == 3) + { + // Fast path for 3D - assumes that local_ids are still ordered + std::copy_n + ( + reinterpret_cast<const Foam::point::cmptType*>(cc.cdata()), + (3*num_obj), + geom_vec + ); + } + else { - const Foam::point& pt = cc[celli]; + // [out] cellCentres + double* p = geom_vec; + + const Foam::Vector<Foam::label>& sol = mesh.solutionD(); + + const Foam::label nCells = num_obj; - for (Foam::direction cmpt = 0; cmpt < Foam::vector::nComponents; cmpt++) + // Assumes that local_ids are still ordered + for (Foam::label celli = 0; celli < nCells; ++celli) { - if (sol[cmpt] == 1) + const Foam::point& pt = cc[celli]; + + for + ( + Foam::direction cmpt = 0; + cmpt < Foam::vector::nComponents; + ++cmpt + ) { - *p++ = pt[cmpt]; + if (sol[cmpt] == 1) + { + *p++ = pt[cmpt]; + } } } } - *ierr = ZOLTAN_OK; } @@ -272,7 +357,7 @@ static void get_geom_list Foam::zoltanRenumber::zoltanRenumber(const dictionary& dict) : renumberMethod(dict), - coeffsDict_(dict.optionalSubDict(typeName+"Coeffs")) + coeffsDict_(dict.optionalSubDict(typeName + "Coeffs")) {} @@ -284,20 +369,15 @@ Foam::labelList Foam::zoltanRenumber::renumber const pointField& points ) const { - stringList args(1); - args[0] = "zoltanRenumber"; + // Zoltan_Initialize will trigger MPI_Init() if not already done. + // - use UPstream::initNull() so that OpenFOAM also knows about MPI - int argc = args.size(); - char* argv[argc]; - for (label i = 0; i < argc; i++) - { - argv[i] = strdup(args[i].c_str()); - } + UPstream::initNull(); - float ver; - int rc = Zoltan_Initialize(argc, argv, &ver); + CStringList args({"zoltan-renumber"}); - Foam::Pout<< "Initialised to " << ver << Foam::endl; + float ver; + int rc = Zoltan_Initialize(args.size(), args.strings(), &ver); if (rc != ZOLTAN_OK) { @@ -307,24 +387,55 @@ Foam::labelList Foam::zoltanRenumber::renumber struct Zoltan_Struct *zz = Zoltan_Create(MPI_COMM_WORLD); - polyMesh& mesh = const_cast<polyMesh&>(pMesh); + // const bool verbose = coeffsDict_.getOrDefault(verbose, false); + const bool verbose = true; + // Default order method + Zoltan_Set_Param(zz, "ORDER_METHOD", "LOCAL_HSFC"); + + if (false) + { + Info<< typeName << " : default ORDER_METHOD = LOCAL_HSFC" << nl + << typeName << " : default ORDER_TYPE = LOCAL" << nl; + } for (const entry& dEntry : coeffsDict_) { + const word& key = dEntry.keyword(); + + // Internal keywords + if + ( + key == "method" + || key == "verbose" + ) + { + continue; + } + if (!dEntry.isDict()) { - const word& key = dEntry.keyword(); const word value(dEntry.get<word>()); - Info<< typeName << " : setting parameter " << key - << " to " << value << endl; + if (verbose) + { + Info<< typeName + << " : setting parameter " + << key << " = " << value << nl; + } Zoltan_Set_Param(zz, key.c_str(), value.c_str()); } } + // Always use rank LOCAL ordering + Zoltan_Set_Param(zz, "ORDER_TYPE", "LOCAL"); + + // Set callbacks + polyMesh& mesh = const_cast<polyMesh&>(pMesh); + + // Callbacks for graph vertex IDs Zoltan_Set_Num_Obj_Fn(zz, get_number_of_vertices, &mesh); Zoltan_Set_Obj_List_Fn(zz, get_vertex_list, &mesh); @@ -337,25 +448,26 @@ Foam::labelList Foam::zoltanRenumber::renumber Zoltan_Set_Edge_List_Multi_Fn(zz, get_edge_list, &mesh); + const auto nCells = mesh.nCells(); - //Note: !global indices - List<ZOLTAN_ID_TYPE> wantedCells(mesh.nCells()); + List<ZOLTAN_ID_TYPE> globalIds(nCells); + List<ZOLTAN_ID_TYPE> oldToNew(nCells); - globalIndex globalCells(mesh.nCells()); - forAll(wantedCells, i) - { - //wantedCells[i] = i; - wantedCells[i] = globalCells.toGlobal(i); - } + // Offset for globally unique IDs + const label myProci = UPstream::myProcNo(); + const label myProcOffset = + mesh.globalData().globalMeshCellAddr().localStart(myProci); - List<ZOLTAN_ID_TYPE> oldToNew(mesh.nCells()); + + // Global indices + std::iota(globalIds.begin(), globalIds.end(), ZOLTAN_ID_TYPE(myProcOffset)); int err = Zoltan_Order ( zz, - 1, //int num_gid_entries, - mesh.globalData().nTotalCells(), //int num_obj, - wantedCells.begin(), + 1, //int num_gid_entries, + nCells, //int num_obj, + globalIds.begin(), oldToNew.begin() ); @@ -365,18 +477,22 @@ Foam::labelList Foam::zoltanRenumber::renumber << "Failed Zoltan_Order" << exit(FatalError); } - - for (label i = 0; i < argc; i++) - { - free(argv[i]); - } + Zoltan_Destroy(&zz); + // From global number to rank-local numbering + globalIds.clear(); labelList order(oldToNew.size()); - forAll(order, i) - { - order[i] = oldToNew[i]; - } + + // From global to local (without checks) + std::transform + ( + oldToNew.begin(), + oldToNew.end(), + order.begin(), + [=](const ZOLTAN_ID_TYPE id) -> label { return (id - myProcOffset); } + ); + return order; } diff --git a/src/renumber/zoltanRenumber/zoltanRenumber.H b/src/renumber/zoltanRenumber/zoltanRenumber.H index e2574b057a1..b6f7c625ef2 100644 --- a/src/renumber/zoltanRenumber/zoltanRenumber.H +++ b/src/renumber/zoltanRenumber/zoltanRenumber.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,6 +83,10 @@ public: // Member Functions + //- Renumbering method requires a polyMesh + virtual bool needs_mesh() const { return true; } + + //- Return the order in which cells need to be visited //- (ie. from ordered back to original cell label). // This is only defined for geometric renumberMethods. diff --git a/tutorials/mesh/parallel/cavity/Allrun b/tutorials/mesh/parallel/cavity/Allrun index 370935618e3..057db8e73e4 100755 --- a/tutorials/mesh/parallel/cavity/Allrun +++ b/tutorials/mesh/parallel/cavity/Allrun @@ -18,8 +18,7 @@ runParallel -s CuthillMcKee renumberMesh -overwrite $fileHandler runParallel -s CuthillMcKee icoFoam $fileHandler # Bit of bad renumbering and running -runParallel -s random renumberMesh \ - -overwrite -dict system/renumberMeshDict-random $fileHandler +runParallel -s random renumberMesh -renumber-method random -overwrite $fileHandler runParallel -s random icoFoam $fileHandler # Pick up last result diff --git a/tutorials/mesh/parallel/cavity/system/renumberMeshDict-random b/tutorials/mesh/parallel/cavity/system/renumberMeshDict-random deleted file mode 100644 index 80b09ee2c3f..00000000000 --- a/tutorials/mesh/parallel/cavity/system/renumberMeshDict-random +++ /dev/null @@ -1,109 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | -| \\ / A nd | Website: www.openfoam.com | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - object renumberMeshDict; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// Write maps from renumbered back to original mesh -writeMaps true; - -// Optional entry: sort cells on coupled boundaries to last for use with -// e.g. nonBlockingGaussSeidel. -sortCoupledFaceCells false; - -// Optional entry: renumber on a block-by-block basis. It uses a -// blockCoeffs dictionary to construct a decompositionMethod to do -// a block subdivision) and then applies the renumberMethod to each -// block in turn. This can be used in large cases to keep the blocks -// fitting in cache with all the cache misses bunched at the end. -// This number is the approximate size of the blocks - this gets converted -// to a number of blocks that is the input to the decomposition method. -//blockSize 1000; - -// Optional entry: sort points into internal and boundary points -//orderPoints false; - -// Optional: suppress renumbering cellSets,faceSets,pointSets -//renumberSets false; - - -//method CuthillMcKee; -//method Sloan; -//method manual; -method random; -//method structured; -//method spring; -//method zoltan; // only if compiled with zoltan support - -//CuthillMcKeeCoeffs -//{ -// // Reverse CuthillMcKee (RCM) or plain -// reverse true; -//} - -manualCoeffs -{ - // In system directory: new-to-original (i.e. order) labelIOList - dataFile "cellMap"; -} - - -// For extruded (i.e. structured in one direction) meshes -structuredCoeffs -{ - // Patches that mesh was extruded from. These determine the starting - // layer of cells - patches (movingWall); - // Method to renumber the starting layer of cells - method random; - - // Renumber in columns (depthFirst) or in layers - depthFirst true; - - // Reverse ordering - reverse false; -} - - -springCoeffs -{ - // Maximum jump of cell indices. Is fraction of number of cells - maxCo 0.01; - - // Limit the amount of movement; the fraction maxCo gets decreased - // with every iteration - freezeFraction 0.999; - - // Maximum number of iterations - maxIter 1000; -} - - -blockCoeffs -{ - method scotch; - //method hierarchical; - //hierarchicalCoeffs - //{ - // n (1 2 1); - //} -} - - -zoltanCoeffs -{ - ORDER_METHOD LOCAL_HSFC; -} - - -// ************************************************************************* // diff --git a/tutorials/preProcessing/decompositionConstraints/geometric/Allclean b/tutorials/preProcessing/decompositionConstraints/geometric/Allclean index b23011b1c26..4afce75b5c8 100755 --- a/tutorials/preProcessing/decompositionConstraints/geometric/Allclean +++ b/tutorials/preProcessing/decompositionConstraints/geometric/Allclean @@ -6,6 +6,5 @@ cd "${0%/*}" || exit # Run from this directory cleanCase0 rm -rf constant/triSurface -rm -f cellDist.vtu #------------------------------------------------------------------------------ diff --git a/wmake/scripts/have_zoltan b/wmake/scripts/have_zoltan index b78fcbcdaf3..5222fa5365d 100644 --- a/wmake/scripts/have_zoltan +++ b/wmake/scripts/have_zoltan @@ -5,7 +5,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2018-2020 OpenCFD Ltd. +# Copyright (C) 2018-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -64,6 +64,9 @@ search_zoltan() local prefix="${1:-system}" local header library + local mpiPrefix="$MPI_ARCH_PATH" + local mpiName="${MPI_ARCH_PATH##*/}" + # ---------------------------------- if isNone "$prefix" then @@ -71,11 +74,29 @@ search_zoltan() return 1 elif hasAbsdir "$prefix" then - header=$(findFirstFile "$prefix/include/$incName") - library=$(findExtLib "$libName") + header=$(findFirstFile \ + "$prefix/include/$FOAM_MPI/$incName" \ + "$prefix/include/zoltan/$incName" \ + "$prefix/include/$incName" \ + "$mpiPrefix/include/$incName" \ + "$prefix/include/$mpiName/$incName" \ + "$prefix/include/${mpiName}-$(uname -m)/$incName" \ + ) + library=$(findExtLib \ + "$FOAM_MPI/$libName" \ + "$libName" \ + ) elif isSystem "$prefix" then - header=$(findSystemInclude -name="$incName") + header=$(findFirstFile \ + "/usr/local/include/zoltan/$incName" \ + "/usr/local/include/$incName" \ + "/usr/include/zoltan/$incName" \ + "/usr/include/$incName" \ + "$mpiPrefix/include/$incName" \ + "/usr/include/$mpiName/$incName" \ + "$prefix/include/${mpiName}-$(uname -m)/$incName" \ + ) prefix=$(sysPrefix "$header") else unset prefix @@ -91,6 +112,7 @@ search_zoltan() # Library [ -n "$library" ] \ || library=$(findLibrary -prefix="$prefix" -name="$libName") \ + || library=$(findLibrary -prefix="$mpiPrefix" -name="$libName") \ || { [ -n "$warn" ] && echo "$warn (no library)" return 2 @@ -99,6 +121,7 @@ search_zoltan() # ---------------------------------- # OK + # echo "zoltan - $prefix" export HAVE_ZOLTAN=true export ZOLTAN_ARCH_PATH="$prefix" export ZOLTAN_INC_DIR="${header%/*}" # Basename -- GitLab From 43c0c3989bec91d1c185d64802c0d63a4f0b66f5 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 16 Feb 2024 17:35:37 +0100 Subject: [PATCH 089/231] ENH: handle matrix demand-driven internals with unique_ptr - align member order between template and non-template versions - move construct, move assignment --- .../matrices/LduMatrix/LduMatrix/LduMatrix.C | 298 +++++++--------- .../matrices/LduMatrix/LduMatrix/LduMatrix.H | 192 +++++----- .../LduMatrix/LduMatrix/LduMatrixOperations.C | 60 ++-- .../lduMatrix/lduAddressing/lduAddressing.C | 38 +- .../lduMatrix/lduAddressing/lduAddressing.H | 42 +-- .../matrices/lduMatrix/lduMatrix/lduMatrix.C | 335 +++++++++--------- .../matrices/lduMatrix/lduMatrix/lduMatrix.H | 150 ++++---- .../lduMatrix/lduMatrix/lduMatrixOperations.C | 77 ++-- 8 files changed, 600 insertions(+), 592 deletions(-) diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C index dbdaa0fbc3f..c76026bd535 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -33,109 +34,86 @@ License template<class Type, class DType, class LUType> Foam::LduMatrix<Type, DType, LUType>::LduMatrix(const lduMesh& mesh) : - lduMesh_(mesh), - diagPtr_(nullptr), - upperPtr_(nullptr), - lowerPtr_(nullptr), - sourcePtr_(nullptr), - interfaces_(0), - interfacesUpper_(0), - interfacesLower_(0) + lduMesh_(mesh) {} template<class Type, class DType, class LUType> Foam::LduMatrix<Type, DType, LUType>::LduMatrix(const LduMatrix& A) : - lduMesh_(A.lduMesh_), - diagPtr_(nullptr), - upperPtr_(nullptr), - lowerPtr_(nullptr), - sourcePtr_(nullptr), - interfaces_(0), - interfacesUpper_(0), - interfacesLower_(0) + lduMesh_(A.lduMesh_) { if (A.diagPtr_) { - diagPtr_ = new Field<DType>(*(A.diagPtr_)); + diagPtr_ = std::make_unique<Field<DType>>(*(A.diagPtr_)); } if (A.upperPtr_) { - upperPtr_ = new Field<LUType>(*(A.upperPtr_)); + upperPtr_ = std::make_unique<Field<LUType>>(*(A.upperPtr_)); } if (A.lowerPtr_) { - lowerPtr_ = new Field<LUType>(*(A.lowerPtr_)); + lowerPtr_ = std::make_unique<Field<LUType>>(*(A.lowerPtr_)); } if (A.sourcePtr_) { - sourcePtr_ = new Field<Type>(*(A.sourcePtr_)); + sourcePtr_ = std::make_unique<Field<Type>>(*(A.sourcePtr_)); } } template<class Type, class DType, class LUType> -Foam::LduMatrix<Type, DType, LUType>::LduMatrix(LduMatrix& A, bool reuse) +Foam::LduMatrix<Type, DType, LUType>::LduMatrix(LduMatrix&& A) : lduMesh_(A.lduMesh_), - diagPtr_(nullptr), - upperPtr_(nullptr), - lowerPtr_(nullptr), - sourcePtr_(nullptr), - interfaces_(0), - interfacesUpper_(0), - interfacesLower_(0) + diagPtr_(std::move(A.diagPtr_)), + lowerPtr_(std::move(A.lowerPtr_)), + upperPtr_(std::move(A.upperPtr_)), + sourcePtr_(std::move(A.sourcePtr_)) { - if (reuse) - { - if (A.diagPtr_) - { - diagPtr_ = A.diagPtr_; - A.diagPtr_ = nullptr; - } + // Clear the old interfaces? +} - if (A.upperPtr_) - { - upperPtr_ = A.upperPtr_; - A.upperPtr_ = nullptr; - } - if (A.lowerPtr_) - { - lowerPtr_ = A.lowerPtr_; - A.lowerPtr_ = nullptr; - } +template<class Type, class DType, class LUType> +Foam::LduMatrix<Type, DType, LUType>::LduMatrix(LduMatrix& A, bool reuse) +: + lduMesh_(A.lduMesh_) +{ + if (reuse) + { + // Move assignment + diagPtr_ = std::move(A.diagPtr_); + upperPtr_ = std::move(A.upperPtr_); + lowerPtr_ = std::move(A.lowerPtr_); + sourcePtr_ = std::move(A.sourcePtr_); - if (A.sourcePtr_) - { - sourcePtr_ = A.sourcePtr_; - A.sourcePtr_ = nullptr; - } + // Clear the old interfaces? } else { + // Copy assignment if (A.diagPtr_) { - diagPtr_ = new Field<DType>(*(A.diagPtr_)); + diagPtr_ = std::make_unique<Field<DType>>(*(A.diagPtr_)); } if (A.upperPtr_) { - upperPtr_ = new Field<LUType>(*(A.upperPtr_)); + upperPtr_ = std::make_unique<Field<LUType>>(*(A.upperPtr_)); } if (A.lowerPtr_) { - lowerPtr_ = new Field<LUType>(*(A.lowerPtr_)); + lowerPtr_ = std::make_unique<Field<LUType>>(*(A.lowerPtr_)); } if (A.sourcePtr_) { - sourcePtr_ = new Field<Type>(*(A.sourcePtr_)); + sourcePtr_ = std::make_unique<Field<Type>>(*(A.sourcePtr_)); } } } @@ -152,48 +130,51 @@ Foam::LduMatrix<Type, DType, LUType>::LduMatrix diagPtr_(new Field<DType>(is)), upperPtr_(new Field<LUType>(is)), lowerPtr_(new Field<LUType>(is)), - sourcePtr_(new Field<Type>(is)), - interfaces_(0), - interfacesUpper_(0), - interfacesLower_(0) + sourcePtr_(new Field<Type>(is)) {} -// * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type, class DType, class LUType> -Foam::LduMatrix<Type, DType, LUType>::~LduMatrix() +Foam::word Foam::LduMatrix<Type, DType, LUType>::matrixTypeName() const { if (diagPtr_) { - delete diagPtr_; + return + ( + (!upperPtr_) + ? (!lowerPtr_ ? "diagonal" : "diagonal-lower") + : (!lowerPtr_ ? "symmetric" : "asymmetric") + ); } - if (upperPtr_) - { - delete upperPtr_; - } + // is empty (or just wrong) + return (!upperPtr_ && !lowerPtr_ ? "empty" : "ill-defined"); +} - if (lowerPtr_) - { - delete lowerPtr_; - } - if (sourcePtr_) +template<class Type, class DType, class LUType> +const Foam::Field<DType>& Foam::LduMatrix<Type, DType, LUType>::diag() const +{ + if (!diagPtr_) { - delete sourcePtr_; + FatalErrorInFunction + << "diagPtr_ unallocated" + << abort(FatalError); } -} + return *diagPtr_; +} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type, class DType, class LUType> Foam::Field<DType>& Foam::LduMatrix<Type, DType, LUType>::diag() { if (!diagPtr_) { - diagPtr_ = new Field<DType>(lduAddr().size(), Zero); + diagPtr_ = + std::make_unique<Field<DType>>(lduAddr().size(), Foam::zero{}); } return *diagPtr_; @@ -201,127 +182,115 @@ Foam::Field<DType>& Foam::LduMatrix<Type, DType, LUType>::diag() template<class Type, class DType, class LUType> -Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::upper() +const Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::upper() const { - if (!upperPtr_) + if (upperPtr_) { - if (lowerPtr_) - { - upperPtr_ = new Field<LUType>(*lowerPtr_); - } - else + return *upperPtr_; + } + else + { + if (!lowerPtr_) { - upperPtr_ = new Field<LUType> - ( - lduAddr().lowerAddr().size(), - Zero - ); + FatalErrorInFunction + << "lowerPtr_ and upperPtr_ unallocated" + << abort(FatalError); } - } - return *upperPtr_; + return *lowerPtr_; + } } template<class Type, class DType, class LUType> -Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::lower() +Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::upper() { - if (!lowerPtr_) + if (!upperPtr_) { - if (upperPtr_) + if (lowerPtr_) { - lowerPtr_ = new Field<LUType>(*upperPtr_); + upperPtr_ = std::make_unique<Field<LUType>>(*lowerPtr_); } else { - lowerPtr_ = new Field<LUType> - ( - lduAddr().lowerAddr().size(), - Zero - ); + upperPtr_ = + std::make_unique<Field<LUType>> + ( + lduAddr().lowerAddr().size(), + Foam::zero{} + ); } } - return *lowerPtr_; + return *upperPtr_; } template<class Type, class DType, class LUType> -Foam::Field<Type>& Foam::LduMatrix<Type, DType, LUType>::source() +const Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::lower() const { - if (!sourcePtr_) + if (lowerPtr_) { - sourcePtr_ = new Field<Type>(lduAddr().size(), Zero); + return *lowerPtr_; } - - return *sourcePtr_; -} - - -template<class Type, class DType, class LUType> -const Foam::Field<DType>& Foam::LduMatrix<Type, DType, LUType>::diag() const -{ - if (!diagPtr_) + else { - FatalErrorInFunction - << "diagPtr_ unallocated" - << abort(FatalError); - } + if (!upperPtr_) + { + FatalErrorInFunction + << "lowerPtr_ and upperPtr_ unallocated" + << abort(FatalError); + } - return *diagPtr_; + return *upperPtr_; + } } template<class Type, class DType, class LUType> -const Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::upper() const +Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::lower() { - if (!lowerPtr_ && !upperPtr_) + if (!lowerPtr_) { - FatalErrorInFunction - << "lowerPtr_ or upperPtr_ unallocated" - << abort(FatalError); + if (upperPtr_) + { + lowerPtr_ = std::make_unique<Field<LUType>>(*upperPtr_); + } + else + { + lowerPtr_ = std::make_unique<Field<LUType>> + ( + lduAddr().lowerAddr().size(), + Foam::zero{} + ); + } } - if (upperPtr_) - { - return *upperPtr_; - } - else - { - return *lowerPtr_; - } + return *lowerPtr_; } template<class Type, class DType, class LUType> -const Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::lower() const +const Foam::Field<Type>& Foam::LduMatrix<Type, DType, LUType>::source() const { - if (!lowerPtr_ && !upperPtr_) + if (!sourcePtr_) { FatalErrorInFunction - << "lowerPtr_ or upperPtr_ unallocated" + << "sourcePtr_ unallocated" << abort(FatalError); } - if (lowerPtr_) - { - return *lowerPtr_; - } - else - { - return *upperPtr_; - } + return *sourcePtr_; } template<class Type, class DType, class LUType> -const Foam::Field<Type>& Foam::LduMatrix<Type, DType, LUType>::source() const +Foam::Field<Type>& Foam::LduMatrix<Type, DType, LUType>::source() { if (!sourcePtr_) { - FatalErrorInFunction - << "sourcePtr_ unallocated" - << abort(FatalError); + sourcePtr_ = + std::make_unique<Field<Type>>(lduAddr().size(), Foam::zero{}); } return *sourcePtr_; @@ -330,43 +299,50 @@ const Foam::Field<Type>& Foam::LduMatrix<Type, DType, LUType>::source() const // * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // +// template<class Type, class DType, class LUType> +// Foam::Ostream& Foam::operator<< +// ( +// Ostream& os, +// const InfoProxy<Type, DType, LUType>& iproxy +// ) +// { +// const auto& mat = *iproxy; +// +// ... +// +// os.check(FUNCTION_NAME); +// return os; +// } + + template<class Type, class DType, class LUType> Foam::Ostream& Foam::operator<< ( Ostream& os, - const LduMatrix<Type, DType, LUType>& ldum + const LduMatrix<Type, DType, LUType>& mat ) { - if (ldum.diagPtr_) + if (mat.hasDiag()) { - os << "Diagonal = " - << *ldum.diagPtr_ - << endl << endl; + os << "Diagonal = " << mat.diag() << nl << nl; } - if (ldum.upperPtr_) + if (mat.hasUpper()) { - os << "Upper triangle = " - << *ldum.upperPtr_ - << endl << endl; + os << "Upper triangle = " << mat.upper() << nl << nl; } - if (ldum.lowerPtr_) + if (mat.hasLower()) { - os << "Lower triangle = " - << *ldum.lowerPtr_ - << endl << endl; + os << "Lower triangle = " << mat.lower() << nl << nl; } - if (ldum.sourcePtr_) + if (mat.hasSource()) { - os << "Source = " - << *ldum.sourcePtr_ - << endl << endl; + os << "Source = " << mat.source() << nl << nl; } os.check(FUNCTION_NAME); - return os; } diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H index 96e9fd14f4e..407f7ee3226 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -93,25 +93,32 @@ class LduMatrix const lduMesh& lduMesh_; //- Diagonal coefficients - Field<DType> *diagPtr_; + std::unique_ptr<Field<DType>> diagPtr_; //- Off-diagonal coefficients - Field<LUType> *upperPtr_, *lowerPtr_; + std::unique_ptr<Field<LUType>> upperPtr_; + + //- Off-diagonal coefficients + std::unique_ptr<Field<LUType>> lowerPtr_; //- Source - Field<Type> *sourcePtr_; + std::unique_ptr<Field<Type>> sourcePtr_; //- Field interfaces (processor patches etc.) LduInterfaceFieldPtrsList<Type> interfaces_; //- Off-diagonal coefficients for interfaces - FieldField<Field, LUType> interfacesUpper_, interfacesLower_; + FieldField<Field, LUType> interfacesUpper_; + + //- Off-diagonal coefficients for interfaces + FieldField<Field, LUType> interfacesLower_; public: friend class SolverPerformance<Type>; + // ----------------------------------------------------------------------- //- Abstract base-class for LduMatrix solvers class solver { @@ -274,6 +281,7 @@ public: }; + // ----------------------------------------------------------------------- //- Abstract base-class for LduMatrix smoothers class smoother { @@ -371,6 +379,7 @@ public: }; + // ----------------------------------------------------------------------- //- Abstract base-class for LduMatrix preconditioners class preconditioner { @@ -466,6 +475,8 @@ public: }; + // ----------------------------------------------------------------------- + // Static Data // Declare name of the class and its debug switch @@ -476,126 +487,125 @@ public: //- Construct given an LDU addressed mesh. // The coefficients are initially empty for subsequent setting. - LduMatrix(const lduMesh&); + // Not yet 'explicit' (legacy code may rely on implicit construct) + LduMatrix(const lduMesh& mesh); - //- Construct as copy + //- Copy construct LduMatrix(const LduMatrix<Type, DType, LUType>&); + //- Move construct + LduMatrix(LduMatrix<Type, DType, LUType>&&); + //- Construct as copy or re-use as specified. LduMatrix(LduMatrix<Type, DType, LUType>&, bool reuse); //- Construct given an LDU addressed mesh and an Istream - // from which the coefficients are read - LduMatrix(const lduMesh&, Istream&); + //- from which the coefficients are read + LduMatrix(const lduMesh& mesh, Istream& is); //- Destructor - ~LduMatrix(); + ~LduMatrix() = default; // Member Functions - // Access to addressing + // Addressing - //- Return the LDU mesh from which the addressing is obtained - const lduMesh& mesh() const noexcept - { - return lduMesh_; - } + //- Return the LDU mesh from which the addressing is obtained + const lduMesh& mesh() const noexcept + { + return lduMesh_; + } - //- Return the LDU addressing - const lduAddressing& lduAddr() const - { - return lduMesh_.lduAddr(); - } + //- Return the LDU addressing + const lduAddressing& lduAddr() const + { + return lduMesh_.lduAddr(); + } - //- Return the patch evaluation schedule - const lduSchedule& patchSchedule() const - { - return lduAddr().patchSchedule(); - } + //- Return the patch evaluation schedule + const lduSchedule& patchSchedule() const + { + return lduMesh_.lduAddr().patchSchedule(); + } - //- Return interfaces - const LduInterfaceFieldPtrsList<Type>& interfaces() const - { - return interfaces_; - } + //- Const access to the interfaces + const LduInterfaceFieldPtrsList<Type>& interfaces() const noexcept + { + return interfaces_; + } - //- Return interfaces - LduInterfaceFieldPtrsList<Type>& interfaces() - { - return interfaces_; - } + //- Non-const access to the interfaces + LduInterfaceFieldPtrsList<Type>& interfaces() noexcept + { + return interfaces_; + } - // Access to coefficients + // Coefficients - Field<DType>& diag(); - Field<LUType>& upper(); - Field<LUType>& lower(); - Field<Type>& source(); + const Field<DType>& diag() const; + const Field<LUType>& upper() const; + const Field<LUType>& lower() const; + const Field<Type>& source() const; - FieldField<Field, LUType>& interfacesUpper() - { - return interfacesUpper_; - } + Field<DType>& diag(); + Field<LUType>& upper(); + Field<LUType>& lower(); + Field<Type>& source(); - FieldField<Field, LUType>& interfacesLower() - { - return interfacesLower_; - } + // Interfaces - const Field<DType>& diag() const; - const Field<LUType>& upper() const; - const Field<LUType>& lower() const; - const Field<Type>& source() const; + const FieldField<Field, LUType>& interfacesUpper() const noexcept + { + return interfacesUpper_; + } - const FieldField<Field, LUType>& interfacesUpper() const - { - return interfacesUpper_; - } + const FieldField<Field, LUType>& interfacesLower() const noexcept + { + return interfacesLower_; + } - const FieldField<Field, LUType>& interfacesLower() const - { - return interfacesLower_; - } + FieldField<Field, LUType>& interfacesUpper() noexcept + { + return interfacesUpper_; + } + FieldField<Field, LUType>& interfacesLower() noexcept + { + return interfacesLower_; + } - bool hasDiag() const noexcept - { - return (diagPtr_); - } - bool hasUpper() const noexcept - { - return (upperPtr_); - } + // Characteristics - bool hasLower() const noexcept - { - return (lowerPtr_); - } + //- The matrix type (empty, diagonal, symmetric, ...) + word matrixTypeName() const; - bool hasSource() const noexcept - { - return (sourcePtr_); - } + bool hasDiag() const noexcept { return bool(diagPtr_); } + bool hasUpper() const noexcept { return bool(upperPtr_); } + bool hasLower() const noexcept { return bool(lowerPtr_); } + bool hasSource() const noexcept { return bool(sourcePtr_); } - bool diagonal() const noexcept - { - return (diagPtr_ && !lowerPtr_ && !upperPtr_); - } + //- Matrix has diagonal only + bool diagonal() const noexcept + { + return (diagPtr_ && !lowerPtr_ && !upperPtr_); + } - bool symmetric() const noexcept - { - return (diagPtr_ && (!lowerPtr_ && upperPtr_)); - } + //- Matrix is symmetric + bool symmetric() const noexcept + { + return (diagPtr_ && !lowerPtr_ && upperPtr_); + } - bool asymmetric() const noexcept - { - return (diagPtr_ && lowerPtr_ && upperPtr_); - } + //- Matrix is asymmetric (ie, full) + bool asymmetric() const noexcept + { + return (diagPtr_ && lowerPtr_ && upperPtr_); + } // Operations @@ -651,8 +661,12 @@ public: // Member Operators + //- Copy assignment void operator=(const LduMatrix<Type, DType, LUType>&); + //- Move assignment + void operator=(LduMatrix<Type, DType, LUType>&&); + void negate(); void operator+=(const LduMatrix<Type, DType, LUType>&); diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C index 7945a8cd2da..46e7ad7b605 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -92,7 +92,7 @@ Foam::LduMatrix<Type, DType, LUType>::H(const Field<Type>& psi) const { auto tHpsi = tmp<Field<Type>>::New(lduAddr().size(), Foam::zero{}); - if (lowerPtr_ || upperPtr_) + if (hasLower() || hasUpper()) { Type* __restrict__ HpsiPtr = tHpsi.ref().begin(); @@ -169,32 +169,30 @@ void Foam::LduMatrix<Type, DType, LUType>::operator=(const LduMatrix& A) return; // Self-assignment is a no-op } - if (A.diagPtr_) + if (A.hasDiag()) { diag() = A.diag(); } - if (A.upperPtr_) + if (A.hasUpper()) { upper() = A.upper(); } - else if (upperPtr_) + else { - delete upperPtr_; - upperPtr_ = nullptr; + upperPtr_.reset(nullptr); } - if (A.lowerPtr_) + if (A.hasLower()) { lower() = A.lower(); } - else if (lowerPtr_) + else { - delete lowerPtr_; - lowerPtr_ = nullptr; + lowerPtr_.reset(nullptr); } - if (A.sourcePtr_) + if (A.hasSource()) { source() = A.source(); } @@ -204,6 +202,24 @@ void Foam::LduMatrix<Type, DType, LUType>::operator=(const LduMatrix& A) } +template<class Type, class DType, class LUType> +void Foam::LduMatrix<Type, DType, LUType>::operator=(LduMatrix&& A) +{ + if (this == &A) + { + return; // Self-assignment is a no-op + } + + diagPtr_ = std::move(A.diagPtr_); + upperPtr_ = std::move(A.upperPtr_); + lowerPtr_ = std::move(A.lowerPtr_); + sourcePtr_ = std::move(A.sourcePtr_); + + interfacesUpper_ = std::move(A.interfacesUpper_); + interfacesLower_ = std::move(A.interfacesLower_); +} + + template<class Type, class DType, class LUType> void Foam::LduMatrix<Type, DType, LUType>::negate() { @@ -235,12 +251,12 @@ void Foam::LduMatrix<Type, DType, LUType>::negate() template<class Type, class DType, class LUType> void Foam::LduMatrix<Type, DType, LUType>::operator+=(const LduMatrix& A) { - if (A.diagPtr_) + if (A.hasDiag()) { diag() += A.diag(); } - if (A.sourcePtr_) + if (A.hasSource()) { source() += A.source(); } @@ -265,7 +281,7 @@ void Foam::LduMatrix<Type, DType, LUType>::operator+=(const LduMatrix& A) } else if (asymmetric() && A.symmetric()) { - if (A.upperPtr_) + if (A.hasUpper()) { lower() += A.upper(); upper() += A.upper(); @@ -284,12 +300,12 @@ void Foam::LduMatrix<Type, DType, LUType>::operator+=(const LduMatrix& A) } else if (diagonal()) { - if (A.upperPtr_) + if (A.hasUpper()) { upper() = A.upper(); } - if (A.lowerPtr_) + if (A.hasLower()) { lower() = A.lower(); } @@ -312,12 +328,12 @@ void Foam::LduMatrix<Type, DType, LUType>::operator+=(const LduMatrix& A) template<class Type, class DType, class LUType> void Foam::LduMatrix<Type, DType, LUType>::operator-=(const LduMatrix& A) { - if (A.diagPtr_) + if (A.hasDiag()) { diag() -= A.diag(); } - if (A.sourcePtr_) + if (A.hasSource()) { source() -= A.source(); } @@ -342,7 +358,7 @@ void Foam::LduMatrix<Type, DType, LUType>::operator-=(const LduMatrix& A) } else if (asymmetric() && A.symmetric()) { - if (A.upperPtr_) + if (A.hasUpper()) { lower() -= A.upper(); upper() -= A.upper(); @@ -361,12 +377,12 @@ void Foam::LduMatrix<Type, DType, LUType>::operator-=(const LduMatrix& A) } else if (diagonal()) { - if (A.upperPtr_) + if (A.hasUpper()) { upper() = -A.upper(); } - if (A.lowerPtr_) + if (A.hasLower()) { lower() = -A.lower(); } diff --git a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C index 61006d077c3..91180115b7f 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C +++ b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,7 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "lduAddressing.H" -#include "demandDrivenData.H" #include "scalarField.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -44,7 +43,7 @@ void Foam::lduAddressing::calcLosort() const // Scan the neighbour list to find out how many times the cell // appears as a neighbour of the face. Done this way to avoid guessing // and resizing list - labelList nNbrOfFace(size(), Zero); + labelList nNbrOfFace(size(), Foam::zero{}); const labelUList& nbr = upperAddr(); @@ -73,9 +72,8 @@ void Foam::lduAddressing::calcLosort() const } // Gather the neighbours into the losort array - losortPtr_ = new labelList(nbr.size(), -1); - - labelList& lst = *losortPtr_; + losortPtr_ = std::make_unique<labelList>(nbr.size(), -1); + auto& lst = *losortPtr_; // Set counter for losort label lstI = 0; @@ -104,9 +102,8 @@ void Foam::lduAddressing::calcOwnerStart() const const labelList& own = lowerAddr(); - ownerStartPtr_ = new labelList(size() + 1, own.size()); - - labelList& ownStart = *ownerStartPtr_; + ownerStartPtr_ = std::make_unique<labelList>(size() + 1, own.size()); + auto& ownStart = *ownerStartPtr_; // Set up first lookup by hand ownStart[0] = 0; @@ -139,9 +136,8 @@ void Foam::lduAddressing::calcLosortStart() const << abort(FatalError); } - losortStartPtr_ = new labelList(size() + 1, Zero); - - labelList& lsrtStart = *losortStartPtr_; + losortStartPtr_ = std::make_unique<labelList>(size() + 1, Foam::zero{}); + auto& lsrtStart = *losortStartPtr_; const labelList& nbr = upperAddr(); @@ -173,16 +169,6 @@ void Foam::lduAddressing::calcLosortStart() const } -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::lduAddressing::~lduAddressing() -{ - deleteDemandDrivenData(losortPtr_); - deleteDemandDrivenData(ownerStartPtr_); - deleteDemandDrivenData(losortStartPtr_); -} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // const Foam::labelUList& Foam::lduAddressing::losortAddr() const @@ -220,9 +206,9 @@ const Foam::labelUList& Foam::lduAddressing::losortStartAddr() const void Foam::lduAddressing::clearOut() { - deleteDemandDrivenData(losortPtr_); - deleteDemandDrivenData(ownerStartPtr_); - deleteDemandDrivenData(losortStartPtr_); + losortPtr_.reset(nullptr); + ownerStartPtr_.reset(nullptr); + losortStartPtr_.reset(nullptr); } @@ -262,7 +248,7 @@ Foam::Tuple2<Foam::label, Foam::scalar> Foam::lduAddressing::band() const const labelUList& owner = lowerAddr(); const labelUList& neighbour = upperAddr(); - labelList cellBandwidth(size(), Zero); + labelList cellBandwidth(size(), Foam::zero{}); forAll(neighbour, facei) { diff --git a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.H b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.H index c37cd61aec8..b610a6539d4 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.H +++ b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -123,23 +123,17 @@ class lduAddressing //- Demand-driven data //- Losort addressing - mutable labelList* losortPtr_; + mutable std::unique_ptr<labelList> losortPtr_; //- Owner start addressing - mutable labelList* ownerStartPtr_; + mutable std::unique_ptr<labelList> ownerStartPtr_; //- Losort start addressing - mutable labelList* losortStartPtr_; + mutable std::unique_ptr<labelList> losortStartPtr_; // Private Member Functions - //- No copy construct - lduAddressing(const lduAddressing&) = delete; - - //- No copy assignment - void operator=(const lduAddressing&) = delete; - //- Calculate losort void calcLosort() const; @@ -152,24 +146,32 @@ class lduAddressing public: - //- Construct with size (number of equations) - explicit lduAddressing(const label nEqns) - : - size_(nEqns), - losortPtr_(nullptr), - ownerStartPtr_(nullptr), - losortStartPtr_(nullptr) - {} + // Generated Methods + + //- No copy construct + lduAddressing(const lduAddressing&) = delete; + + //- No copy assignment + void operator=(const lduAddressing&) = delete; + + + // Constructors + + //- Construct with size (number of equations) + explicit lduAddressing(const label nEqns) noexcept + : + size_(nEqns) + {} //- Destructor - virtual ~lduAddressing(); + virtual ~lduAddressing() = default; // Member Functions //- Return number of equations - label size() const + label size() const noexcept { return size_; } diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C index dd323254199..e2767c6b526 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C +++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,79 +60,66 @@ Foam::lduMatrix::normTypesNames_ Foam::lduMatrix::lduMatrix(const lduMesh& mesh) : - lduMesh_(mesh), - lowerPtr_(nullptr), - diagPtr_(nullptr), - upperPtr_(nullptr) + lduMesh_(mesh) {} Foam::lduMatrix::lduMatrix(const lduMatrix& A) : - lduMesh_(A.lduMesh_), - lowerPtr_(nullptr), - diagPtr_(nullptr), - upperPtr_(nullptr) + lduMesh_(A.lduMesh_) { - if (A.lowerPtr_) + if (A.diagPtr_) { - lowerPtr_ = new scalarField(*(A.lowerPtr_)); + diagPtr_ = std::make_unique<scalarField>(*(A.diagPtr_)); } - if (A.diagPtr_) + if (A.upperPtr_) { - diagPtr_ = new scalarField(*(A.diagPtr_)); + upperPtr_ = std::make_unique<scalarField>(*(A.upperPtr_)); } - if (A.upperPtr_) + if (A.lowerPtr_) { - upperPtr_ = new scalarField(*(A.upperPtr_)); + lowerPtr_ = std::make_unique<scalarField>(*(A.lowerPtr_)); } } -Foam::lduMatrix::lduMatrix(lduMatrix& A, bool reuse) +Foam::lduMatrix::lduMatrix(lduMatrix&& A) : lduMesh_(A.lduMesh_), - lowerPtr_(nullptr), - diagPtr_(nullptr), - upperPtr_(nullptr) + diagPtr_(std::move(A.diagPtr_)), + lowerPtr_(std::move(A.lowerPtr_)), + upperPtr_(std::move(A.upperPtr_)) +{} + + +Foam::lduMatrix::lduMatrix(lduMatrix& A, bool reuse) +: + lduMesh_(A.lduMesh_) { if (reuse) { - if (A.lowerPtr_) - { - lowerPtr_ = A.lowerPtr_; - A.lowerPtr_ = nullptr; - } - - if (A.diagPtr_) - { - diagPtr_ = A.diagPtr_; - A.diagPtr_ = nullptr; - } - - if (A.upperPtr_) - { - upperPtr_ = A.upperPtr_; - A.upperPtr_ = nullptr; - } + diagPtr_ = std::move(A.diagPtr_); + upperPtr_ = std::move(A.upperPtr_); + lowerPtr_ = std::move(A.lowerPtr_); } else { - if (A.lowerPtr_) + // Copy assignment + if (A.diagPtr_) { - lowerPtr_ = new scalarField(*(A.lowerPtr_)); + diagPtr_ = std::make_unique<scalarField>(*(A.diagPtr_)); } - if (A.diagPtr_) + if (A.upperPtr_) { - diagPtr_ = new scalarField(*(A.diagPtr_)); + upperPtr_ = std::make_unique<scalarField>(*(A.upperPtr_)); } - if (A.upperPtr_) + if (A.lowerPtr_) { - upperPtr_ = new scalarField(*(A.upperPtr_)); + lowerPtr_ = std::make_unique<scalarField>(*(A.lowerPtr_)); } } } @@ -140,64 +127,56 @@ Foam::lduMatrix::lduMatrix(lduMatrix& A, bool reuse) Foam::lduMatrix::lduMatrix(const lduMesh& mesh, Istream& is) : - lduMesh_(mesh), - lowerPtr_(nullptr), - diagPtr_(nullptr), - upperPtr_(nullptr) + lduMesh_(mesh) { - Switch hasLow(is); - Switch hasDiag(is); - Switch hasUp(is); + bool withLower, withDiag, withUpper; + + is >> withLower >> withDiag >> withUpper; - if (hasLow) + if (withLower) { - lowerPtr_ = new scalarField(is); + lowerPtr_ = std::make_unique<scalarField>(is); } - if (hasDiag) + if (withDiag) { - diagPtr_ = new scalarField(is); + diagPtr_ = std::make_unique<scalarField>(is); } - if (hasUp) + if (withUpper) { - upperPtr_ = new scalarField(is); + upperPtr_ = std::make_unique<scalarField>(is); } } -Foam::lduMatrix::~lduMatrix() -{ - if (lowerPtr_) - { - delete lowerPtr_; - } +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +Foam::word Foam::lduMatrix::matrixTypeName() const +{ if (diagPtr_) { - delete diagPtr_; + return + ( + (!upperPtr_) + ? (!lowerPtr_ ? "diagonal" : "diagonal-lower") + : (!lowerPtr_ ? "symmetric" : "asymmetric") + ); } - if (upperPtr_) - { - delete upperPtr_; - } + // is empty (or just wrong) + return (!upperPtr_ && !lowerPtr_ ? "empty" : "ill-defined"); } -Foam::scalarField& Foam::lduMatrix::lower() +const Foam::scalarField& Foam::lduMatrix::diag() const { - if (!lowerPtr_) + if (!diagPtr_) { - if (upperPtr_) - { - lowerPtr_ = new scalarField(*upperPtr_); - } - else - { - lowerPtr_ = new scalarField(lduAddr().lowerAddr().size(), Zero); - } + FatalErrorInFunction + << "diagPtr_ unallocated" + << abort(FatalError); } - return *lowerPtr_; + return *diagPtr_; } @@ -205,71 +184,87 @@ Foam::scalarField& Foam::lduMatrix::diag() { if (!diagPtr_) { - diagPtr_ = new scalarField(lduAddr().size(), Zero); + diagPtr_ = + std::make_unique<scalarField>(lduAddr().size(), Foam::zero{}); } return *diagPtr_; } -Foam::scalarField& Foam::lduMatrix::upper() +Foam::scalarField& Foam::lduMatrix::diag(label size) { - if (!upperPtr_) + if (!diagPtr_) { - if (lowerPtr_) - { - upperPtr_ = new scalarField(*lowerPtr_); - } - else - { - upperPtr_ = new scalarField(lduAddr().lowerAddr().size(), Zero); - } + // if (size < 0) + // { + // size = lduAddr().size(); + // } + diagPtr_ = std::make_unique<scalarField>(size, Foam::zero{}); } - return *upperPtr_; + return *diagPtr_; } -Foam::scalarField& Foam::lduMatrix::lower(const label nCoeffs) +const Foam::scalarField& Foam::lduMatrix::upper() const { - if (!lowerPtr_) + if (upperPtr_) { - if (upperPtr_) - { - lowerPtr_ = new scalarField(*upperPtr_); - } - else + return *upperPtr_; + } + else + { + if (!lowerPtr_) { - lowerPtr_ = new scalarField(nCoeffs, Zero); + FatalErrorInFunction + << "lowerPtr_ and upperPtr_ unallocated" + << abort(FatalError); } - } - return *lowerPtr_; + return *lowerPtr_; + } } -Foam::scalarField& Foam::lduMatrix::diag(const label size) +Foam::scalarField& Foam::lduMatrix::upper() { - if (!diagPtr_) + if (!upperPtr_) { - diagPtr_ = new scalarField(size, Zero); + if (lowerPtr_) + { + upperPtr_ = std::make_unique<scalarField>(*lowerPtr_); + } + else + { + upperPtr_ = + std::make_unique<scalarField> + ( + lduAddr().lowerAddr().size(), + Foam::zero{} + ); + } } - return *diagPtr_; + return *upperPtr_; } -Foam::scalarField& Foam::lduMatrix::upper(const label nCoeffs) +Foam::scalarField& Foam::lduMatrix::upper(label nCoeffs) { if (!upperPtr_) { if (lowerPtr_) { - upperPtr_ = new scalarField(*lowerPtr_); + upperPtr_ = std::make_unique<scalarField>(*lowerPtr_); } else { - upperPtr_ = new scalarField(nCoeffs, Zero); + // if (nCoeffs < 0) + // { + // nCoeffs = lduAddr().lowerAddr().size(); + // } + upperPtr_ = std::make_unique<scalarField>(nCoeffs, Foam::zero{}); } } @@ -279,54 +274,67 @@ Foam::scalarField& Foam::lduMatrix::upper(const label nCoeffs) const Foam::scalarField& Foam::lduMatrix::lower() const { - if (!lowerPtr_ && !upperPtr_) - { - FatalErrorInFunction - << "lowerPtr_ or upperPtr_ unallocated" - << abort(FatalError); - } - if (lowerPtr_) { return *lowerPtr_; } else { + if (!upperPtr_) + { + FatalErrorInFunction + << "lowerPtr_ and upperPtr_ unallocated" + << abort(FatalError); + } + return *upperPtr_; } } -const Foam::scalarField& Foam::lduMatrix::diag() const +Foam::scalarField& Foam::lduMatrix::lower() { - if (!diagPtr_) + if (!lowerPtr_) { - FatalErrorInFunction - << "diagPtr_ unallocated" - << abort(FatalError); + if (upperPtr_) + { + lowerPtr_ = std::make_unique<scalarField>(*upperPtr_); + } + else + { + lowerPtr_ = + std::make_unique<scalarField> + ( + lduAddr().lowerAddr().size(), + Foam::zero{} + ); + } } - return *diagPtr_; + return *lowerPtr_; } -const Foam::scalarField& Foam::lduMatrix::upper() const +Foam::scalarField& Foam::lduMatrix::lower(label nCoeffs) { - if (!lowerPtr_ && !upperPtr_) + if (!lowerPtr_) { - FatalErrorInFunction - << "lowerPtr_ or upperPtr_ unallocated" - << abort(FatalError); + if (upperPtr_) + { + lowerPtr_ = std::make_unique<scalarField>(*upperPtr_); + } + else + { + // if (nCoeffs < 0) + // { + // nCoeffs = lduAddr().lowerAddr().size(); + // } + lowerPtr_ = + std::make_unique<scalarField>(nCoeffs, Foam::zero{}); + } } - if (upperPtr_) - { - return *upperPtr_; - } - else - { - return *lowerPtr_; - } + return *lowerPtr_; } @@ -377,28 +385,25 @@ void Foam::lduMatrix::setResidualField // * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // -Foam::Ostream& Foam::operator<<(Ostream& os, const lduMatrix& ldum) +Foam::Ostream& Foam::operator<<(Ostream& os, const lduMatrix& mat) { - Switch hasLow = ldum.hasLower(); - Switch hasDiag = ldum.hasDiag(); - Switch hasUp = ldum.hasUpper(); + os << mat.hasLower() << token::SPACE + << mat.hasDiag() << token::SPACE + << mat.hasUpper() << token::SPACE; - os << hasLow << token::SPACE << hasDiag << token::SPACE - << hasUp << token::SPACE; - - if (hasLow) + if (mat.hasLower()) { - os << ldum.lower(); + os << mat.lower(); } - if (hasDiag) + if (mat.hasDiag()) { - os << ldum.diag(); + os << mat.diag(); } - if (hasUp) + if (mat.hasUpper()) { - os << ldum.upper(); + os << mat.upper(); } os.check(FUNCTION_NAME); @@ -413,54 +418,50 @@ Foam::Ostream& Foam::operator<< const InfoProxy<lduMatrix>& iproxy ) { - const auto& ldum = *iproxy; - - Switch hasLow = ldum.hasLower(); - Switch hasDiag = ldum.hasDiag(); - Switch hasUp = ldum.hasUpper(); + const auto& mat = *iproxy; - os << "Lower:" << hasLow - << " Diag:" << hasDiag - << " Upper:" << hasUp << endl; + os << "Lower:" << Switch::name(mat.hasLower()) + << " Diag:" << Switch::name(mat.hasDiag()) + << " Upper:" << Switch::name(mat.hasUpper()) << endl; - if (hasLow) + if (mat.hasLower()) { - os << "lower:" << ldum.lower().size() << endl; + os << "lower:" << mat.lower().size() << endl; } - if (hasDiag) + if (mat.hasDiag()) { - os << "diag :" << ldum.diag().size() << endl; + os << "diag :" << mat.diag().size() << endl; } - if (hasUp) + if (mat.hasUpper()) { - os << "upper:" << ldum.upper().size() << endl; + os << "upper:" << mat.upper().size() << endl; } - //if (hasLow) + //if (hasLower) //{ // os << "lower contents:" << endl; - // forAll(ldum.lower(), i) + // forAll(mat.lower(), i) // { - // os << "i:" << i << "\t" << ldum.lower()[i] << endl; + // os << "i:" << i << "\t" << mat.lower()[i] << endl; // } // os << endl; //} //if (hasDiag) //{ // os << "diag contents:" << endl; - // forAll(ldum.diag(), i) + // forAll(mat.diag(), i) // { - // os << "i:" << i << "\t" << ldum.diag()[i] << endl; + // os << "i:" << i << "\t" << mat.diag()[i] << endl; // } // os << endl; //} - //if (hasUp) + //if (hasUpper) //{ // os << "upper contents:" << endl; - // forAll(ldum.upper(), i) + // forAll(mat.upper(), i) // { - // os << "i:" << i << "\t" << ldum.upper()[i] << endl; + // os << "i:" << i << "\t" << mat.upper()[i] << endl; // } // os << endl; //} diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H index e13bb4cd057..a4dd1b06017 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H +++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,13 +57,14 @@ SourceFiles #include "primitiveFieldsFwd.H" #include "FieldField.H" #include "lduInterfaceFieldPtrsList.H" +#include "solverPerformance.H" #include "typeInfo.H" #include "autoPtr.H" #include "runTimeSelectionTables.H" -#include "solverPerformance.H" #include "InfoProxy.H" #include "Enum.H" #include "profilingTrigger.H" +#include <functional> // For reference_wrapper // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -89,8 +90,14 @@ class lduMatrix //const lduMesh& lduMesh_; std::reference_wrapper<const lduMesh> lduMesh_; - //- Coefficients (not including interfaces) - scalarField *lowerPtr_, *diagPtr_, *upperPtr_; + //- Diagonal coefficients + std::unique_ptr<scalarField> diagPtr_; + + //- Off-diagonal coefficients (not including interfaces) + std::unique_ptr<scalarField> lowerPtr_; + + //- Off-diagonal coefficients (not including interfaces) + std::unique_ptr<scalarField> upperPtr_; public: @@ -115,6 +122,7 @@ public: static const scalar defaultTolerance; + // ----------------------------------------------------------------------- //- Abstract base-class for lduMatrix solvers class solver { @@ -331,6 +339,7 @@ public: }; + // ----------------------------------------------------------------------- //- Abstract base-class for lduMatrix smoothers class smoother { @@ -478,6 +487,7 @@ public: }; + // ----------------------------------------------------------------------- //- Abstract base-class for lduMatrix preconditioners class preconditioner { @@ -582,6 +592,8 @@ public: }; + // ----------------------------------------------------------------------- + // Static Data // Declare name of the class and its debug switch @@ -590,101 +602,101 @@ public: // Constructors - //- Construct given an LDU addressed mesh. - // The coefficients are initially empty for subsequent setting. - lduMatrix(const lduMesh&); + //- Construct (without coefficients) for an LDU addressed mesh. + // Not yet 'explicit' (legacy code may rely on implicit construct) + lduMatrix(const lduMesh& mesh); - //- Construct as copy + //- Copy construct lduMatrix(const lduMatrix&); + //- Move construct + lduMatrix(lduMatrix&&); + //- Construct as copy or re-use as specified. lduMatrix(lduMatrix&, bool reuse); //- Construct given an LDU addressed mesh and an Istream //- from which the coefficients are read - lduMatrix(const lduMesh&, Istream&); + lduMatrix(const lduMesh& mesh, Istream& is); //- Destructor - ~lduMatrix(); + ~lduMatrix() = default; // Member Functions - // Access to addressing + // Addressing - //- Return the LDU mesh from which the addressing is obtained - const lduMesh& mesh() const noexcept - { - return lduMesh_; - } + //- Return the LDU mesh from which the addressing is obtained + const lduMesh& mesh() const noexcept + { + return lduMesh_; + } - //- Set the LDU mesh containing the addressing is obtained - void setLduMesh(const lduMesh& m) - { - lduMesh_ = m; - } + //- Set the LDU mesh containing the addressing + void setLduMesh(const lduMesh& m) + { + lduMesh_ = m; + } - //- Return the LDU addressing - const lduAddressing& lduAddr() const - { - return mesh().lduAddr(); - } + //- Return the LDU addressing + const lduAddressing& lduAddr() const + { + return mesh().lduAddr(); + } - //- Return the patch evaluation schedule - const lduSchedule& patchSchedule() const - { - return lduAddr().patchSchedule(); - } + //- Return the patch evaluation schedule + const lduSchedule& patchSchedule() const + { + return mesh().lduAddr().patchSchedule(); + } - // Access to coefficients + // Coefficients - scalarField& lower(); - scalarField& diag(); - scalarField& upper(); + const scalarField& diag() const; + const scalarField& upper() const; + const scalarField& lower() const; - // Size with externally provided sizes (for constructing with 'fake' - // mesh in GAMG) + scalarField& diag(); + scalarField& upper(); + scalarField& lower(); - scalarField& lower(const label size); - scalarField& diag(const label nCoeffs); - scalarField& upper(const label nCoeffs); + // Size with externally provided sizes + // (for constructing with 'fake' mesh in GAMG) + scalarField& diag(label size); + scalarField& upper(label nCoeffs); + scalarField& lower(label nCoeffs); - const scalarField& lower() const; - const scalarField& diag() const; - const scalarField& upper() const; - bool hasDiag() const noexcept - { - return (diagPtr_); - } + // Characteristics - bool hasUpper() const noexcept - { - return (upperPtr_); - } + //- The matrix type (empty, diagonal, symmetric, ...) + word matrixTypeName() const; - bool hasLower() const noexcept - { - return (lowerPtr_); - } + bool hasDiag() const noexcept { return bool(diagPtr_); } + bool hasUpper() const noexcept { return bool(upperPtr_); } + bool hasLower() const noexcept { return bool(lowerPtr_); } - bool diagonal() const noexcept - { - return (diagPtr_ && !lowerPtr_ && !upperPtr_); - } + //- Matrix has diagonal only + bool diagonal() const noexcept + { + return (diagPtr_ && !lowerPtr_ && !upperPtr_); + } - bool symmetric() const noexcept - { - return (diagPtr_ && (!lowerPtr_ && upperPtr_)); - } + //- Matrix is symmetric + bool symmetric() const noexcept + { + return (diagPtr_ && !lowerPtr_ && upperPtr_); + } - bool asymmetric() const noexcept - { - return (diagPtr_ && lowerPtr_ && upperPtr_); - } + //- Matrix is asymmetric (ie, full) + bool asymmetric() const noexcept + { + return (diagPtr_ && lowerPtr_ && upperPtr_); + } // Operations @@ -801,8 +813,12 @@ public: // Member Operators + //- Copy assignment void operator=(const lduMatrix&); + //- Move assignment + void operator=(lduMatrix&&); + void negate(); void operator+=(const lduMatrix&); diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C index 4d307f57100..1e83a03c75b 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C +++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -86,7 +86,7 @@ void Foam::lduMatrix::sumMagOffDiag } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // void Foam::lduMatrix::operator=(const lduMatrix& A) { @@ -95,38 +95,49 @@ void Foam::lduMatrix::operator=(const lduMatrix& A) return; // Self-assignment is a no-op } - if (A.lowerPtr_) + if (A.hasLower()) { lower() = A.lower(); } - else if (lowerPtr_) + else { - delete lowerPtr_; - lowerPtr_ = nullptr; + lowerPtr_.reset(nullptr); } - if (A.upperPtr_) + if (A.hasUpper()) { upper() = A.upper(); } - else if (upperPtr_) + else { - delete upperPtr_; - upperPtr_ = nullptr; + upperPtr_.reset(nullptr); } - if (A.diagPtr_) + if (A.hasDiag()) { diag() = A.diag(); } } +void Foam::lduMatrix::operator=(lduMatrix&& A) +{ + if (this == &A) + { + return; // Self-assignment is a no-op + } + + diagPtr_ = std::move(A.diagPtr_); + upperPtr_ = std::move(A.upperPtr_); + lowerPtr_ = std::move(A.lowerPtr_); +} + + void Foam::lduMatrix::negate() { - if (lowerPtr_) + if (diagPtr_) { - lowerPtr_->negate(); + diagPtr_->negate(); } if (upperPtr_) @@ -134,16 +145,16 @@ void Foam::lduMatrix::negate() upperPtr_->negate(); } - if (diagPtr_) + if (lowerPtr_) { - diagPtr_->negate(); + lowerPtr_->negate(); } } void Foam::lduMatrix::operator+=(const lduMatrix& A) { - if (A.diagPtr_) + if (A.hasDiag()) { diag() += A.diag(); } @@ -168,7 +179,7 @@ void Foam::lduMatrix::operator+=(const lduMatrix& A) } else if (asymmetric() && A.symmetric()) { - if (A.upperPtr_) + if (A.hasUpper()) { lower() += A.upper(); upper() += A.upper(); @@ -187,12 +198,12 @@ void Foam::lduMatrix::operator+=(const lduMatrix& A) } else if (diagonal()) { - if (A.upperPtr_) + if (A.hasUpper()) { upper() = A.upper(); } - if (A.lowerPtr_) + if (A.hasLower()) { lower() = A.lower(); } @@ -206,15 +217,8 @@ void Foam::lduMatrix::operator+=(const lduMatrix& A) { WarningInFunction << "Unknown matrix type combination" << nl - << " this :" - << " diagonal:" << diagonal() - << " symmetric:" << symmetric() - << " asymmetric:" << asymmetric() << nl - << " A :" - << " diagonal:" << A.diagonal() - << " symmetric:" << A.symmetric() - << " asymmetric:" << A.asymmetric() - << endl; + << " this : " << this->matrixTypeName() + << " A : " << A.matrixTypeName() << endl; } } } @@ -247,7 +251,7 @@ void Foam::lduMatrix::operator-=(const lduMatrix& A) } else if (asymmetric() && A.symmetric()) { - if (A.upperPtr_) + if (A.hasUpper()) { lower() -= A.upper(); upper() -= A.upper(); @@ -266,12 +270,12 @@ void Foam::lduMatrix::operator-=(const lduMatrix& A) } else if (diagonal()) { - if (A.upperPtr_) + if (A.hasUpper()) { upper() = -A.upper(); } - if (A.lowerPtr_) + if (A.hasLower()) { lower() = -A.lower(); } @@ -285,15 +289,8 @@ void Foam::lduMatrix::operator-=(const lduMatrix& A) { WarningInFunction << "Unknown matrix type combination" << nl - << " this :" - << " diagonal:" << diagonal() - << " symmetric:" << symmetric() - << " asymmetric:" << asymmetric() << nl - << " A :" - << " diagonal:" << A.diagonal() - << " symmetric:" << A.symmetric() - << " asymmetric:" << A.asymmetric() - << endl; + << " this : " << this->matrixTypeName() + << " A : " << A.matrixTypeName() << endl; } } } -- GitLab From 27aa7e4e91b1a9fd18f0ea0e5ad2758845cee84d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 8 Feb 2024 11:20:08 +0100 Subject: [PATCH 090/231] ENH: improve procLduMatrix streaming and assembly of LUscalarMatrix - reduce local overhead prior to sending for master assembly - non-blocking mode when assembling solution vector - automatic resizing of pivots --- .../matrices/LUscalarMatrix/LUscalarMatrix.C | 148 +++++++--------- .../matrices/LUscalarMatrix/LUscalarMatrix.H | 28 +-- .../LUscalarMatrix/LUscalarMatrixTemplates.C | 162 ++++++++++++------ .../LUscalarMatrix/procLduInterface.C | 51 ++++-- .../LUscalarMatrix/procLduInterface.H | 14 +- .../matrices/LUscalarMatrix/procLduMatrix.C | 53 ++++-- .../matrices/LUscalarMatrix/procLduMatrix.H | 46 +++-- .../matrices/SquareMatrix/SquareMatrix.C | 6 +- .../matrices/scalarMatrices/scalarMatrices.C | 26 +-- .../matrices/scalarMatrices/scalarMatrices.H | 6 +- .../scalarMatrices/scalarMatricesTemplates.C | 2 +- 11 files changed, 326 insertions(+), 216 deletions(-) diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C b/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C index 2d03159abe8..1c401c232b7 100644 --- a/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C +++ b/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,17 +42,16 @@ namespace Foam // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::LUscalarMatrix::LUscalarMatrix() +Foam::LUscalarMatrix::LUscalarMatrix() noexcept : comm_(UPstream::worldComm) {} -Foam::LUscalarMatrix::LUscalarMatrix(const scalarSquareMatrix& matrix) +Foam::LUscalarMatrix::LUscalarMatrix(const scalarSquareMatrix& mat) : - scalarSquareMatrix(matrix), - comm_(UPstream::worldComm), - pivotIndices_(m()) + scalarSquareMatrix(mat), + comm_(UPstream::worldComm) { LUDecompose(*this, pivotIndices_); } @@ -69,13 +68,14 @@ Foam::LUscalarMatrix::LUscalarMatrix { if (UPstream::parRun()) { - PtrList<procLduMatrix> lduMatrices(UPstream::nProcs(comm_)); - - label lduMatrixi = 0; + PtrList<procLduMatrix> lduMatrices + ( + UPstream::master(comm_) ? UPstream::nProcs(comm_) : 1 + ); lduMatrices.set ( - lduMatrixi++, + 0, // rank-local matrix (and/or master) new procLduMatrix ( ldum, @@ -88,101 +88,66 @@ Foam::LUscalarMatrix::LUscalarMatrix { for (const int proci : UPstream::subProcs(comm_)) { - lduMatrices.set - ( - lduMatrixi++, - new procLduMatrix - ( - IPstream - ( - UPstream::commsTypes::scheduled, - proci, - 0, // bufSize - UPstream::msgType(), - comm_ - )() - ) - ); + auto& mat = lduMatrices.emplace_set(proci); + + IPstream::recv(mat, proci, UPstream::msgType(), comm_); } + + convert(lduMatrices); } else { - OPstream toMaster + OPstream::send ( - UPstream::commsTypes::scheduled, + lduMatrices[0], // rank-local matrix UPstream::masterNo(), - 0, // bufSize UPstream::msgType(), comm_ ); - procLduMatrix cldum - ( - ldum, - interfaceCoeffs, - interfaces - ); - toMaster<< cldum; - - } - - if (UPstream::master(comm_)) - { - label nCells = 0; - forAll(lduMatrices, i) - { - nCells += lduMatrices[i].size(); - } - - scalarSquareMatrix m(nCells, 0.0); - transfer(m); - convert(lduMatrices); } } else { - label nCells = ldum.lduAddr().size(); - scalarSquareMatrix m(nCells, Zero); - transfer(m); convert(ldum, interfaceCoeffs, interfaces); } - if (UPstream::master(comm_)) + + if (debug && UPstream::master(comm_)) { - if (debug) - { - const label numRows = m(); - const label numCols = n(); + const label numRows = nRows(); + const label numCols = nCols(); - Pout<< "LUscalarMatrix : size:" << numRows << endl; - for (label rowi = 0; rowi < numRows; ++rowi) - { - const scalar* row = operator[](rowi); + Pout<< "LUscalarMatrix : size:" << numRows << endl; + for (label rowi = 0; rowi < numRows; ++rowi) + { + const scalar* row = operator[](rowi); - Pout<< "cell:" << rowi << " diagCoeff:" << row[rowi] << endl; + Pout<< "cell:" << rowi << " diagCoeff:" << row[rowi] << nl; - Pout<< " connects to upper cells :"; - for (label coli = rowi+1; coli < numCols; ++coli) + Pout<< " connects to upper cells :"; + for (label coli = rowi+1; coli < numCols; ++coli) + { + if (mag(row[coli]) > SMALL) { - if (mag(row[coli]) > SMALL) - { - Pout<< ' ' << coli << " (coeff:" << row[coli] << ')'; - } + Pout<< ' ' << coli << " (coeff:" << row[coli] << ')'; } - Pout<< endl; - Pout<< " connects to lower cells :"; - for (label coli = 0; coli < rowi; ++coli) + } + Pout<< nl; + Pout<< " connects to lower cells :"; + for (label coli = 0; coli < rowi; ++coli) + { + if (mag(row[coli]) > SMALL) { - if (mag(row[coli]) > SMALL) - { - Pout<< ' ' << coli << " (coeff:" << row[coli] << ')'; - } + Pout<< ' ' << coli << " (coeff:" << row[coli] << ')'; } - Pout<< nl; } Pout<< nl; } + Pout<< endl; + } - pivotIndices_.setSize(m()); + if (UPstream::master(comm_)) + { LUDecompose(*this, pivotIndices_); } } @@ -197,6 +162,10 @@ void Foam::LUscalarMatrix::convert const lduInterfaceFieldPtrsList& interfaces ) { + // Resize and fill with zero + scalarSquareMatrix::resize_nocopy(ldum.lduAddr().size()); + scalarSquareMatrix::operator=(Foam::zero{}); + const label* __restrict__ uPtr = ldum.lduAddr().upperAddr().begin(); const label* __restrict__ lPtr = ldum.lduAddr().lowerAddr().begin(); @@ -259,14 +228,26 @@ void Foam::LUscalarMatrix::convert const PtrList<procLduMatrix>& lduMatrices ) { - procOffsets_.setSize(lduMatrices.size() + 1); - procOffsets_[0] = 0; + procOffsets_.resize_nocopy(lduMatrices.size() + 1); - forAll(lduMatrices, ldumi) { - procOffsets_[ldumi+1] = procOffsets_[ldumi] + lduMatrices[ldumi].size(); + auto iter = procOffsets_.begin(); + + label nCellsTotal = 0; + *iter++ = nCellsTotal; + + for (const auto& mat : lduMatrices) + { + nCellsTotal += mat.size(); + *iter++ = nCellsTotal; + } + + // Resize and fill with zero + scalarSquareMatrix::resize_nocopy(nCellsTotal); + scalarSquareMatrix::operator=(Foam::zero{}); } + forAll(lduMatrices, ldumi) { const procLduMatrix& lduMatrixi = lduMatrices[ldumi]; @@ -400,10 +381,9 @@ void Foam::LUscalarMatrix::printDiagonalDominance() const } -void Foam::LUscalarMatrix::decompose(const scalarSquareMatrix& M) +void Foam::LUscalarMatrix::decompose(const scalarSquareMatrix& mat) { - scalarSquareMatrix::operator=(M); - pivotIndices_.setSize(m()); + scalarSquareMatrix::operator=(mat); LUDecompose(*this, pivotIndices_); } diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.H b/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.H index ada33620bee..682ec7e6cdf 100644 --- a/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.H +++ b/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.H @@ -34,8 +34,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef LUscalarMatrix_H -#define LUscalarMatrix_H +#ifndef Foam_LUscalarMatrix_H +#define Foam_LUscalarMatrix_H #include "scalarMatrices.H" #include "labelList.H" @@ -47,6 +47,7 @@ SourceFiles namespace Foam { +// Forward Declarations class lduMatrix; class procLduMatrix; @@ -58,7 +59,7 @@ class LUscalarMatrix : public scalarSquareMatrix { - // Private data + // Private Data //- Communicator to use const label comm_; @@ -70,7 +71,7 @@ class LUscalarMatrix labelList pivotIndices_; - // Private member functions + // Private Member Functions //- Convert the given lduMatrix into this LUscalarMatrix void convert @@ -81,12 +82,12 @@ class LUscalarMatrix ); //- Convert the given list of procLduMatrix into this LUscalarMatrix - // on the master processor + //- on the master processor void convert(const PtrList<procLduMatrix>& lduMatrices); //- Print the ratio of the mag-sum of the off-diagonal coefficients - // to the mag-diagonal + //- to the mag-diagonal void printDiagonalDominance() const; @@ -98,13 +99,14 @@ public: // Constructors - //- Construct null - LUscalarMatrix(); + //- Default construct + LUscalarMatrix() noexcept; - //- Construct from and perform LU decomposition of the matrix M - LUscalarMatrix(const scalarSquareMatrix& M); + //- Construct from and perform LU decomposition of the given matrix + explicit LUscalarMatrix(const scalarSquareMatrix& mat); - //- Construct from lduMatrix and perform LU decomposition + //- Construct from lduMatrix and perform LU decomposition. + //- In parallel it assembles the matrix on the master. LUscalarMatrix ( const lduMatrix& ldum, @@ -115,8 +117,8 @@ public: // Member Functions - //- Perform the LU decomposition of the matrix M - void decompose(const scalarSquareMatrix& M); + //- Perform the LU decomposition of the matrix + void decompose(const scalarSquareMatrix& mat); //- Solve the linear system with the given source // and returning the solution in the Field argument x. diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrixTemplates.C b/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrixTemplates.C index 568275e54c8..9113a8a1243 100644 --- a/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrixTemplates.C +++ b/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrixTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2020 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -44,79 +44,141 @@ void Foam::LUscalarMatrix::solve x = source; } - if (Pstream::parRun()) + const auto tag = UPstream::msgType(); + + if (UPstream::parRun()) { - List<Type> X; // scratch space (on master) + List<Type> allx; // scratch space (on master) + + const label startOfRequests = UPstream::nRequests(); - if (Pstream::master(comm_)) + // Like globalIndex::gather() + if (UPstream::master(comm_)) { - X.resize(m()); + allx.resize(m()); - SubList<Type>(X, x.size()) = x; + SubList<Type>(allx, x.size()) = x; - for (const int proci : Pstream::subProcs(comm_)) + for (const int proci : UPstream::subProcs(comm_)) { - UIPstream::read + SubList<Type> procSlot ( - Pstream::commsTypes::scheduled, - proci, - reinterpret_cast<char*> - ( - &(X[procOffsets_[proci]]) - ), - (procOffsets_[proci+1]-procOffsets_[proci])*sizeof(Type), - Pstream::msgType(), - comm_ + allx, + procOffsets_[proci+1]-procOffsets_[proci], + procOffsets_[proci] ); + + if (procSlot.empty()) + { + // Nothing to do + } + else if (is_contiguous<Type>::value) + { + UIPstream::read + ( + UPstream::commsTypes::nonBlocking, + proci, + procSlot.data_bytes(), + procSlot.size_bytes(), + tag, + comm_ + ); + } + else + { + IPstream::recv(procSlot, proci, tag, comm_); + } } } else { - UOPstream::write - ( - Pstream::commsTypes::scheduled, - Pstream::masterNo(), - x.cdata_bytes(), - x.byteSize(), - Pstream::msgType(), - comm_ - ); + if (x.empty()) + { + // Nothing to do + } + else if (is_contiguous<Type>::value) + { + UOPstream::write + ( + UPstream::commsTypes::nonBlocking, + UPstream::masterNo(), + x.cdata_bytes(), + x.size_bytes(), + tag, + comm_ + ); + } + else + { + OPstream::send(x, UPstream::masterNo(), tag, comm_); + } } - if (Pstream::master(comm_)) + UPstream::waitRequests(startOfRequests); + + // LUBacksubstitute and then like globalIndex::scatter() + if (UPstream::master(comm_)) { - LUBacksubstitute(*this, pivotIndices_, X); + LUBacksubstitute(*this, pivotIndices_, allx); - x = SubList<Type>(X, x.size()); + x = SubList<Type>(allx, x.size()); - for (const int proci : Pstream::subProcs(comm_)) + for (const int proci : UPstream::subProcs(comm_)) { - UOPstream::write + SubList<Type> procSlot ( - Pstream::commsTypes::scheduled, - proci, - reinterpret_cast<const char*> - ( - &(X[procOffsets_[proci]]) - ), - (procOffsets_[proci+1]-procOffsets_[proci])*sizeof(Type), - Pstream::msgType(), - comm_ + allx, + procOffsets_[proci+1]-procOffsets_[proci], + procOffsets_[proci] ); + + if (procSlot.empty()) + { + // Nothing to do + } + else if (is_contiguous<Type>::value) + { + UOPstream::write + ( + UPstream::commsTypes::nonBlocking, + proci, + procSlot.cdata_bytes(), + procSlot.size_bytes(), + tag, + comm_ + ); + } + else + { + OPstream::send(procSlot, proci, tag, comm_); + } } } else { - UIPstream::read - ( - Pstream::commsTypes::scheduled, - Pstream::masterNo(), - x.data_bytes(), - x.byteSize(), - Pstream::msgType(), - comm_ - ); + if (x.empty()) + { + // Nothing to do + } + else if (is_contiguous<Type>::value) + { + UIPstream::read + ( + UPstream::commsTypes::nonBlocking, + UPstream::masterNo(), + x.data_bytes(), + x.size_bytes(), + tag, + comm_ + ); + } + else + { + IPstream::recv(x, UPstream::masterNo(), tag, comm_); + } } + + UPstream::waitRequests(startOfRequests); } else { @@ -131,7 +193,7 @@ Foam::tmp<Foam::Field<Type>> Foam::LUscalarMatrix::solve const UList<Type>& source ) const { - auto tx(tmp<Field<Type>>::New(m())); + auto tx = tmp<Field<Type>>::New(m()); solve(tx.ref(), source); diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.C b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.C index 02309fbab58..6680dca7f1d 100644 --- a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.C +++ b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -69,27 +70,47 @@ Foam::procLduInterface::procLduInterface Foam::procLduInterface::procLduInterface(Istream& is) -: - faceCells_(is), - coeffs_(is), - myProcNo_(readLabel(is)), - neighbProcNo_(readLabel(is)), - tag_(readLabel(is)), - comm_(readLabel(is)) -{} +{ + read(is); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::procLduInterface::read(Istream& is) +{ + is >> faceCells_ + >> coeffs_ + >> myProcNo_ + >> neighbProcNo_ + >> tag_ + >> comm_; +} + + +void Foam::procLduInterface::write(Ostream& os) const +{ + os << faceCells_ + << coeffs_ + << myProcNo_ + << neighbProcNo_ + << tag_ + << comm_; +} // * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // -Foam::Ostream& Foam::operator<<(Ostream& os, const procLduInterface& cldui) +Foam::Istream& Foam::operator>>(Istream& is, procLduInterface& intf) { - os << cldui.faceCells_ - << cldui.coeffs_ - << cldui.myProcNo_ - << cldui.neighbProcNo_ - << cldui.tag_ - << cldui.comm_; + intf.read(is); + return is; +} + +Foam::Ostream& Foam::operator<<(Ostream& os, const procLduInterface& intf) +{ + intf.write(os); return os; } diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H index c0e74aeb978..22f1582bc21 100644 --- a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H +++ b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -49,10 +50,11 @@ namespace Foam class lduInterfaceField; class procLduInterface; +Istream& operator>>(Istream&, procLduInterface&); Ostream& operator<<(Ostream&, const procLduInterface&); /*---------------------------------------------------------------------------*\ - Class procLduInterface Declaration + Class procLduInterface Declaration \*---------------------------------------------------------------------------*/ class procLduInterface @@ -68,6 +70,7 @@ class procLduInterface public: + //- Friendship friend class LUscalarMatrix; @@ -85,7 +88,8 @@ public: const scalarField& coeffs ); - procLduInterface(Istream& is); + //- Read construct from Istream + explicit procLduInterface(Istream& is); autoPtr<procLduInterface> clone() { @@ -99,8 +103,12 @@ public: } - // Ostream Operator + // IO Operations + void read(Istream& is); + void write(Ostream& os) const; + + friend Istream& operator>>(Istream&, procLduInterface&); friend Ostream& operator<<(Ostream&, const procLduInterface&); }; diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.C b/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.C index 9670e99e146..ff2e032d97d 100644 --- a/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.C +++ b/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.C @@ -50,7 +50,7 @@ Foam::procLduMatrix::procLduMatrix forAll(interfaces, i) { - if (interfaces.set(i)) + if (interfaces.test(i)) { interfaces_.set ( @@ -67,27 +67,48 @@ Foam::procLduMatrix::procLduMatrix Foam::procLduMatrix::procLduMatrix(Istream& is) -: - upperAddr_(is), - lowerAddr_(is), - diag_(is), - upper_(is), - lower_(is), - interfaces_(is) -{} +{ + read(is); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +// void Foam::procLduMatrix::clear() +// { +// upperAddr_.clear(); +// lowerAddr_.clear(); +// diag_.clear(); +// upper_.clear(); +// lower_.clear(); +// interfaces_.clear(); +// } + + +void Foam::procLduMatrix::read(Istream& is) +{ + is >> upperAddr_ >> lowerAddr_ >> diag_ >> upper_ >> lower_ >> interfaces_; +} + + +void Foam::procLduMatrix::write(Ostream& os) const +{ + os << upperAddr_ << lowerAddr_ << diag_ << upper_ << lower_ << interfaces_; +} // * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // -Foam::Ostream& Foam::operator<<(Ostream& os, const procLduMatrix& cldum) +Foam::Istream& Foam::operator>>(Istream& is, procLduMatrix& mat) { - os << cldum.upperAddr_ - << cldum.lowerAddr_ - << cldum.diag_ - << cldum.upper_ - << cldum.lower_ - << cldum.interfaces_; + mat.read(is); + return is; +} + +Foam::Ostream& Foam::operator<<(Ostream& os, const procLduMatrix& mat) +{ + mat.write(os); return os; } diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.H b/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.H index 179b6a88602..71c63e4ef97 100644 --- a/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.H +++ b/src/OpenFOAM/matrices/LUscalarMatrix/procLduMatrix.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef procLduMatrix_H -#define procLduMatrix_H +#ifndef Foam_procLduMatrix_H +#define Foam_procLduMatrix_H #include "labelList.H" #include "scalarField.H" @@ -47,23 +48,21 @@ SourceFiles namespace Foam { +// Forward Declarations +class procLduMatrix; class procLduInterface; class lduMatrix; -// Forward declaration of friend functions and operators - -class procLduMatrix; - +Istream& operator>>(Istream&, procLduMatrix&); Ostream& operator<<(Ostream&, const procLduMatrix&); - /*---------------------------------------------------------------------------*\ - Class procLduMatrix Declaration + Class procLduMatrix Declaration \*---------------------------------------------------------------------------*/ class procLduMatrix { - // Private data + // Private Data labelList upperAddr_; labelList lowerAddr_; @@ -72,20 +71,24 @@ class procLduMatrix scalarField lower_; PtrList<procLduInterface> interfaces_; +public: - // Private Member Functions + //- Friendship + friend class LUscalarMatrix; - //- No copy construct - procLduMatrix(const procLduMatrix&) = delete; + // Generated Methods -public: + //- Default construct + procLduMatrix() = default; - friend class LUscalarMatrix; + //- No copy construct + procLduMatrix(const procLduMatrix&) = delete; // Constructors + //- Construct from components. Extracts active interfaces procLduMatrix ( const lduMatrix& ldum, @@ -93,19 +96,26 @@ public: const lduInterfaceFieldPtrsList& interfaces ); - procLduMatrix(Istream& is); + //- Read construct from Istream + explicit procLduMatrix(Istream& is); - // Member functions + // Member Functions - label size() const + label size() const noexcept { return diag_.size(); } + // void clear(); + + + // IO Operations - // Ostream operator + void read(Istream& is); + void write(Ostream& os) const; + friend Istream& operator>>(Istream&, procLduMatrix&); friend Ostream& operator<<(Ostream&, const procLduMatrix&); }; diff --git a/src/OpenFOAM/matrices/SquareMatrix/SquareMatrix.C b/src/OpenFOAM/matrices/SquareMatrix/SquareMatrix.C index 2c64598fd69..fc5e1241847 100644 --- a/src/OpenFOAM/matrices/SquareMatrix/SquareMatrix.C +++ b/src/OpenFOAM/matrices/SquareMatrix/SquareMatrix.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -124,7 +124,7 @@ scalar det(const SquareMatrix<Type>& matrix) { SquareMatrix<Type> matrixTmp = matrix; - labelList pivotIndices(matrix.m()); + labelList pivotIndices; label sign; LUDecompose(matrixTmp, pivotIndices, sign); @@ -136,7 +136,7 @@ scalar det(const SquareMatrix<Type>& matrix) template<class Type> scalar det(SquareMatrix<Type>& matrix) { - labelList pivotIndices(matrix.m()); + labelList pivotIndices; label sign; LUDecompose(matrix, pivotIndices, sign); diff --git a/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.C b/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.C index 39d3cc37b50..1bd42a36080 100644 --- a/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.C +++ b/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,17 +49,20 @@ void Foam::LUDecompose label& sign ) { - label m = matrix.m(); - scalar vv[m]; + const label size = matrix.m(); + + pivotIndices.resize_nocopy(size); + + List<scalar> vv(size); sign = 1; - for (label i = 0; i < m; ++i) + for (label i = 0; i < size; ++i) { scalar largestCoeff = 0.0; scalar temp; const scalar* __restrict__ matrixi = matrix[i]; - for (label j = 0; j < m; ++j) + for (label j = 0; j < size; ++j) { if ((temp = mag(matrixi[j])) > largestCoeff) { @@ -75,7 +79,7 @@ void Foam::LUDecompose vv[i] = 1.0/largestCoeff; } - for (label j = 0; j < m; ++j) + for (label j = 0; j < size; ++j) { scalar* __restrict__ matrixj = matrix[j]; @@ -94,7 +98,7 @@ void Foam::LUDecompose label iMax = 0; scalar largestCoeff = 0.0; - for (label i = j; i < m; ++i) + for (label i = j; i < size; ++i) { scalar* __restrict__ matrixi = matrix[i]; scalar sum = matrixi[j]; @@ -120,7 +124,7 @@ void Foam::LUDecompose { scalar* __restrict__ matrixiMax = matrix[iMax]; - for (label k = 0; k < m; ++k) + for (label k = 0; k < size; ++k) { std::swap(matrixj[k], matrixiMax[k]); } @@ -134,11 +138,11 @@ void Foam::LUDecompose matrixj[j] = SMALL; } - if (j != m-1) + if (j != size-1) { scalar rDiag = 1.0/matrixj[j]; - for (label i = j + 1; i < m; ++i) + for (label i = j + 1; i < size; ++i) { matrix(i, j) *= rDiag; } @@ -150,7 +154,7 @@ void Foam::LUDecompose void Foam::LUDecompose(scalarSymmetricSquareMatrix& matrix) { // Store result in upper triangular part of matrix - label size = matrix.m(); + const label size = matrix.m(); // Set upper triangular parts to zero. for (label j = 0; j < size; ++j) @@ -223,7 +227,7 @@ void Foam::multiply << abort(FatalError); } - ans = scalarRectangularMatrix(A.m(), C.n(), Zero); + ans = scalarRectangularMatrix(A.m(), C.n(), Foam::zero{}); for (label i = 0; i < A.m(); ++i) { diff --git a/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.H b/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.H index d6ba156a2bc..8035cdfebfe 100644 --- a/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.H +++ b/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.H @@ -74,19 +74,21 @@ void solve const List<Type>& source ); -//- LU decompose the matrix with pivoting +//- LU decompose the matrix with pivoting. void LUDecompose ( scalarSquareMatrix& matrix, + //! [out] size is adjusted as required labelList& pivotIndices ); //- LU decompose the matrix with pivoting. -//- sign is -1 for odd number of row interchanges and 1 for even number. void LUDecompose ( scalarSquareMatrix& matrix, + //! [out] size is adjusted as required labelList& pivotIndices, + //! [out] is -1 for odd number of row interchanges and 1 for even number label& sign ); diff --git a/src/OpenFOAM/matrices/scalarMatrices/scalarMatricesTemplates.C b/src/OpenFOAM/matrices/scalarMatrices/scalarMatricesTemplates.C index 0c3ae682287..7a66cbe6d34 100644 --- a/src/OpenFOAM/matrices/scalarMatrices/scalarMatricesTemplates.C +++ b/src/OpenFOAM/matrices/scalarMatrices/scalarMatricesTemplates.C @@ -216,7 +216,7 @@ void Foam::LUsolve List<Type>& sourceSol ) { - labelList pivotIndices(matrix.m()); + labelList pivotIndices; LUDecompose(matrix, pivotIndices); LUBacksubstitute(matrix, pivotIndices, sourceSol); } -- GitLab From f6825c7952ae8a23284105531e6b72e46ff99e22 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 5 Feb 2024 09:55:41 +0100 Subject: [PATCH 091/231] ENH: replace listCombineReduce with equivalent - a few places still used listCombineReduce instead of newer constructs (eg allGatherList) with fewer MPI calls. - align triangulation handling of turbulentDFSEMInlet and patchInjectionBase with meshTools/triangulatedPatch (will ease future code refactoring) --- .../turbulentDFSEMInletFvPatchVectorField.C | 173 ++++++++---------- .../turbulentDFSEMInletFvPatchVectorField.H | 13 +- src/lagrangian/basic/Cloud/CloudIO.C | 10 +- .../PatchInjection/patchInjectionBase.C | 109 ++++++----- .../PatchInjection/patchInjectionBase.H | 20 +- .../triangulatedPatch/triangulatedPatch.C | 27 +-- .../topOVariablesBase/topOVariablesBase.C | 14 +- 7 files changed, 175 insertions(+), 191 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C index f44176b09ec..c66b6424755 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -132,58 +132,76 @@ void Foam::turbulentDFSEMInletFvPatchVectorField::initialisePatch() patchNormal_ /= mag(patchNormal_) + ROOTVSMALL; - // Decompose the patch faces into triangles to enable point search - const polyPatch& patch = this->patch().patch(); const pointField& points = patch.points(); // Triangulate the patch faces and create addressing - DynamicList<label> triToFace(2*patch.size()); - DynamicList<scalar> triMagSf(2*patch.size()); - DynamicList<face> triFace(2*patch.size()); - DynamicList<face> tris(5); - - // Set zero value at the start of the tri area list - triMagSf.append(0.0); - - forAll(patch, faceI) { - const face& f = patch[faceI]; + label nTris = 0; + for (const face& f : patch) + { + nTris += f.nTriangles(); + } - tris.clear(); - f.triangles(points, tris); + DynamicList<labelledTri> dynTriFace(nTris); + DynamicList<face> tris(8); // work array - forAll(tris, i) + forAll(patch, facei) { - triToFace.append(faceI); - triFace.append(tris[i]); - triMagSf.append(tris[i].mag(points)); + const face& f = patch[facei]; + + tris.clear(); + f.triangles(points, tris); + + for (const auto& t : tris) + { + dynTriFace.emplace_back(t[0], t[1], t[2], facei); + } } + + // Transfer to persistent storage + triFace_.transfer(dynTriFace); } - sumTriMagSf_ = Zero; - sumTriMagSf_[Pstream::myProcNo() + 1] = sum(triMagSf); - Pstream::listCombineReduce(sumTriMagSf_, maxEqOp<scalar>()); + const label myProci = UPstream::myProcNo(); + const label numProc = UPstream::nProcs(); - for (label i = 1; i < triMagSf.size(); ++i) + // Calculate the cumulative triangle weights { - triMagSf[i] += triMagSf[i-1]; - } + triCumulativeMagSf_.resize_nocopy(triFace_.size()+1); - // Transfer to persistent storage - triFace_.transfer(triFace); - triToFace_.transfer(triToFace); - triCumulativeMagSf_.transfer(triMagSf); + auto iter = triCumulativeMagSf_.begin(); - // Convert sumTriMagSf_ into cumulative sum of areas per proc - for (label i = 1; i < sumTriMagSf_.size(); ++i) - { - sumTriMagSf_[i] += sumTriMagSf_[i-1]; + // Set zero value at the start of the tri area/weight list + scalar patchArea = 0; + *iter++ = patchArea; + + // Calculate cumulative and total area + for (const auto& t : triFace_) + { + patchArea += t.mag(points); + *iter++ = patchArea; + } + + sumTriMagSf_.resize_nocopy(numProc+1); + sumTriMagSf_[0] = 0; + + { + scalarList::subList slice(sumTriMagSf_, numProc, 1); + slice[myProci] = patchArea; + Pstream::allGatherList(slice); + } + + // Convert to cumulative sum of areas per proc + for (label i = 1; i < sumTriMagSf_.size(); ++i) + { + sumTriMagSf_[i] += sumTriMagSf_[i-1]; + } } // Global patch area (over all processors) - patchArea_ = sumTriMagSf_.last(); + patchArea_ = sumTriMagSf_.back(); // Local patch bounds (this processor) patchBounds_ = boundBox(patch.localPoints(), false); @@ -239,33 +257,32 @@ Foam::pointIndexHit Foam::turbulentDFSEMInletFvPatchVectorField::setNewPosition const bool global ) { - // Initialise to miss - pointIndexHit pos(false, vector::max, -1); - const polyPatch& patch = this->patch().patch(); const pointField& points = patch.points(); + label triI = -1; + if (global) { const scalar areaFraction = rndGen_.globalPosition<scalar>(0, patchArea_); // Determine which processor to use - label procI = 0; + label proci = 0; forAllReverse(sumTriMagSf_, i) { if (areaFraction >= sumTriMagSf_[i]) { - procI = i; + proci = i; break; } } - if (Pstream::myProcNo() == procI) + if (UPstream::myProcNo() == proci) { // Find corresponding decomposed face triangle - label triI = 0; - const scalar offset = sumTriMagSf_[procI]; + triI = 0; + const scalar offset = sumTriMagSf_[proci]; forAllReverse(triCumulativeMagSf_, i) { if (areaFraction > triCumulativeMagSf_[i] + offset) @@ -274,20 +291,13 @@ Foam::pointIndexHit Foam::turbulentDFSEMInletFvPatchVectorField::setNewPosition break; } } - - // Find random point in triangle - const face& tf = triFace_[triI]; - const triPointRef tri(points[tf[0]], points[tf[1]], points[tf[2]]); - - pos.hitPoint(tri.randomPoint(rndGen_)); - pos.setIndex(triToFace_[triI]); } } else { // Find corresponding decomposed face triangle on local processor - label triI = 0; - const scalar maxAreaLimit = triCumulativeMagSf_.last(); + triI = 0; + const scalar maxAreaLimit = triCumulativeMagSf_.back(); const scalar areaFraction = rndGen_.position<scalar>(0, maxAreaLimit); forAllReverse(triCumulativeMagSf_, i) @@ -298,16 +308,22 @@ Foam::pointIndexHit Foam::turbulentDFSEMInletFvPatchVectorField::setNewPosition break; } } + } - // Find random point in triangle - const face& tf = triFace_[triI]; - const triPointRef tri(points[tf[0]], points[tf[1]], points[tf[2]]); - pos.hitPoint(tri.randomPoint(rndGen_)); - pos.setIndex(triToFace_[triI]); + if (triI >= 0) + { + return pointIndexHit + ( + true, + // Find random point in triangle + triFace_[triI].tri(points).randomPoint(rndGen_), + triFace_[triI].index() + ); } - return pos; + // No hit + return pointIndexHit(false, vector::max, -1); } @@ -573,7 +589,6 @@ turbulentDFSEMInletFvPatchVectorField patchArea_(-1), triFace_(), - triToFace_(), triCumulativeMagSf_(), sumTriMagSf_(Pstream::nProcs() + 1, Zero), patchNormal_(Zero), @@ -615,7 +630,6 @@ turbulentDFSEMInletFvPatchVectorField patchArea_(ptf.patchArea_), triFace_(ptf.triFace_), - triToFace_(ptf.triToFace_), triCumulativeMagSf_(ptf.triCumulativeMagSf_), sumTriMagSf_(ptf.sumTriMagSf_), patchNormal_(ptf.patchNormal_), @@ -656,7 +670,6 @@ turbulentDFSEMInletFvPatchVectorField patchArea_(-1), triFace_(), - triToFace_(), triCumulativeMagSf_(), sumTriMagSf_(Pstream::nProcs() + 1, Zero), patchNormal_(Zero), @@ -684,10 +697,11 @@ turbulentDFSEMInletFvPatchVectorField Foam::turbulentDFSEMInletFvPatchVectorField:: turbulentDFSEMInletFvPatchVectorField ( - const turbulentDFSEMInletFvPatchVectorField& ptf + const turbulentDFSEMInletFvPatchVectorField& ptf, + const DimensionedField<vector, volMesh>& iF ) : - fixedValueFvPatchField<vector>(ptf), + fixedValueFvPatchField<vector>(ptf, iF), U_(ptf.U_.clone(patch().patch())), R_(ptf.R_.clone(patch().patch())), L_(ptf.L_.clone(patch().patch())), @@ -702,7 +716,6 @@ turbulentDFSEMInletFvPatchVectorField patchArea_(ptf.patchArea_), triFace_(ptf.triFace_), - triToFace_(ptf.triToFace_), triCumulativeMagSf_(ptf.triCumulativeMagSf_), sumTriMagSf_(ptf.sumTriMagSf_), patchNormal_(ptf.patchNormal_), @@ -723,40 +736,10 @@ turbulentDFSEMInletFvPatchVectorField Foam::turbulentDFSEMInletFvPatchVectorField:: turbulentDFSEMInletFvPatchVectorField ( - const turbulentDFSEMInletFvPatchVectorField& ptf, - const DimensionedField<vector, volMesh>& iF + const turbulentDFSEMInletFvPatchVectorField& ptf ) : - fixedValueFvPatchField<vector>(ptf, iF), - U_(ptf.U_.clone(patch().patch())), - R_(ptf.R_.clone(patch().patch())), - L_(ptf.L_.clone(patch().patch())), - delta_(ptf.delta_), - d_(ptf.d_), - kappa_(ptf.kappa_), - Uref_(ptf.Uref_), - Lref_(ptf.Lref_), - scale_(ptf.scale_), - m_(ptf.m_), - nCellPerEddy_(ptf.nCellPerEddy_), - - patchArea_(ptf.patchArea_), - triFace_(ptf.triFace_), - triToFace_(ptf.triToFace_), - triCumulativeMagSf_(ptf.triCumulativeMagSf_), - sumTriMagSf_(ptf.sumTriMagSf_), - patchNormal_(ptf.patchNormal_), - patchBounds_(ptf.patchBounds_), - - eddies_(ptf.eddies_), - v0_(ptf.v0_), - rndGen_(ptf.rndGen_), - sigmax_(ptf.sigmax_), - maxSigmaX_(ptf.maxSigmaX_), - nEddy_(ptf.nEddy_), - curTimeIndex_(-1), - singleProc_(ptf.singleProc_), - writeEddies_(ptf.writeEddies_) + turbulentDFSEMInletFvPatchVectorField(ptf, ptf.internalField()) {} diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H index 862684eb1e5..6755c1c5b65 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -146,6 +146,7 @@ SourceFiles #include "eddy.H" #include "pointIndexHit.H" #include "PatchFunction1.H" +#include "labelledTri.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -204,13 +205,11 @@ class turbulentDFSEMInletFvPatchVectorField //- Patch area - total across all processors scalar patchArea_; - //- Decomposed patch faces as a list of triangles - faceList triFace_; + //- The polyPatch faces as triangles, the index of each corresponds + //- to the undecomposed patch face index. + List<labelledTri> triFace_; - //- Addressing from per triangle to patch face - labelList triToFace_; - - //- Cumulative triangle area per triangle face + //- Cumulative triangle area per triangle face (processor-local) scalarList triCumulativeMagSf_; //- Cumulative area fractions per processor diff --git a/src/lagrangian/basic/Cloud/CloudIO.C b/src/lagrangian/basic/Cloud/CloudIO.C index d804f755c7a..3cb8569df6d 100644 --- a/src/lagrangian/basic/Cloud/CloudIO.C +++ b/src/lagrangian/basic/Cloud/CloudIO.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017, 2020 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -101,11 +101,9 @@ void Foam::Cloud<ParticleType>::writeCloudUniformProperties() const ) ); - labelList np(Pstream::nProcs(), Zero); - np[Pstream::myProcNo()] = ParticleType::particleCount_; - - // FIXME: replace with Pstream::allGatherList(np); - Pstream::listCombineReduce(np, maxEqOp<label>()); + labelList np(UPstream::nProcs(), Foam::zero{}); + np[UPstream::myProcNo()] = ParticleType::particleCount_; + Pstream::allGatherList(np); uniformPropsDict.add ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C index 36b5a7d8746..80b34fb2035 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2017 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -43,13 +44,12 @@ Foam::patchInjectionBase::patchInjectionBase : patchName_(patchName), patchId_(mesh.boundaryMesh().findPatchID(patchName_)), - patchArea_(0.0), + patchArea_(0), patchNormal_(), cellOwners_(), triFace_(), - triToFace_(), triCumulativeMagSf_(), - sumTriMagSf_(Pstream::nProcs() + 1, Zero) + sumTriMagSf_() { if (patchId_ < 0) { @@ -71,7 +71,6 @@ Foam::patchInjectionBase::patchInjectionBase(const patchInjectionBase& pib) patchNormal_(pib.patchNormal_), cellOwners_(pib.cellOwners_), triFace_(pib.triFace_), - triToFace_(pib.triToFace_), triCumulativeMagSf_(pib.triCumulativeMagSf_), sumTriMagSf_(pib.sumTriMagSf_) {} @@ -88,48 +87,68 @@ void Foam::patchInjectionBase::updateMesh(const polyMesh& mesh) cellOwners_ = patch.faceCells(); // Triangulate the patch faces and create addressing - DynamicList<label> triToFace(2*patch.size()); - DynamicList<scalar> triMagSf(2*patch.size()); - DynamicList<face> triFace(2*patch.size()); - DynamicList<face> tris(5); - - // Set zero value at the start of the tri area list - triMagSf.append(0.0); - - forAll(patch, facei) { - const face& f = patch[facei]; + label nTris = 0; + for (const face& f : patch) + { + nTris += f.nTriangles(); + } - tris.clear(); - f.triangles(points, tris); + DynamicList<labelledTri> dynTriFace(nTris); + DynamicList<face> tris(8); // work array - forAll(tris, i) + forAll(patch, facei) { - triToFace.append(facei); - triFace.append(tris[i]); - triMagSf.append(tris[i].mag(points)); + const face& f = patch[facei]; + + tris.clear(); + f.triangles(points, tris); + + for (const auto& t : tris) + { + dynTriFace.emplace_back(t[0], t[1], t[2], facei); + } } + + // Transfer to persistent storage + triFace_.transfer(dynTriFace); } - sumTriMagSf_ = Zero; - sumTriMagSf_[Pstream::myProcNo() + 1] = sum(triMagSf); - Pstream::listCombineReduce(sumTriMagSf_, maxEqOp<scalar>()); + const label myProci = UPstream::myProcNo(); + const label numProc = UPstream::nProcs(); - for (label i = 1; i < triMagSf.size(); i++) + // Calculate the cumulative triangle weights { - triMagSf[i] += triMagSf[i-1]; - } + triCumulativeMagSf_.resize_nocopy(triFace_.size()+1); - // Transfer to persistent storage - triFace_.transfer(triFace); - triToFace_.transfer(triToFace); - triCumulativeMagSf_.transfer(triMagSf); + auto iter = triCumulativeMagSf_.begin(); - // Convert sumTriMagSf_ into cumulative sum of areas per proc - for (label i = 1; i < sumTriMagSf_.size(); i++) - { - sumTriMagSf_[i] += sumTriMagSf_[i-1]; + // Set zero value at the start of the tri area/weight list + scalar patchArea = 0; + *iter++ = patchArea; + + // Calculate cumulative and total area + for (const auto& t : triFace_) + { + patchArea += t.mag(points); + *iter++ = patchArea; + } + + sumTriMagSf_.resize_nocopy(numProc+1); + sumTriMagSf_[0] = 0; + + { + scalarList::subList slice(sumTriMagSf_, numProc, 1); + slice[myProci] = patchArea; + Pstream::allGatherList(slice); + } + + // Convert to cumulative + for (label i = 1; i < sumTriMagSf_.size(); ++i) + { + sumTriMagSf_[i] += sumTriMagSf_[i-1]; + } } const scalarField magSf(mag(patch.faceAreas())); @@ -152,12 +171,12 @@ Foam::label Foam::patchInjectionBase::setPositionAndCell { label facei = -1; - if (cellOwners_.size() > 0) + if (!cellOwners_.empty()) { // Determine which processor to inject from const label proci = whichProc(fraction01); - if (Pstream::myProcNo() == proci) + if (UPstream::myProcNo() == proci) { const scalar areaFraction = fraction01*patchArea_; @@ -174,15 +193,13 @@ Foam::label Foam::patchInjectionBase::setPositionAndCell } // Set cellOwner - facei = triToFace_[trii]; + facei = triFace_[trii].index(); cellOwner = cellOwners_[facei]; // Find random point in triangle const polyPatch& patch = mesh.boundaryMesh()[patchId_]; const pointField& points = patch.points(); - const face& tf = triFace_[trii]; - const triPointRef tri(points[tf[0]], points[tf[1]], points[tf[2]]); - const point pf(tri.randomPoint(rnd)); + const point pf = triFace_[trii].tri(points).randomPoint(rnd); // Position perturbed away from face (into domain) const scalar a = rnd.position(scalar(0.1), scalar(0.5)); @@ -239,17 +256,9 @@ Foam::label Foam::patchInjectionBase::setPositionAndCell tetPti = cellTetIs[teti].tetPt(); } } - else - { - cellOwner = -1; - tetFacei = -1; - tetPti = -1; - - // Dummy position - position = pTraits<vector>::max; - } } - else + + if (facei == -1) { cellOwner = -1; tetFacei = -1; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.H index 6c2336670a6..c7bb7f2ec41 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -39,21 +40,22 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef patchInjectionBase_H -#define patchInjectionBase_H +#ifndef Foam_patchInjectionBase_H +#define Foam_patchInjectionBase_H #include "word.H" #include "labelList.H" #include "scalarList.H" #include "vectorList.H" #include "faceList.H" +#include "labelledTri.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -// Forward declarations +// Forward Declarations class polyMesh; class fvMesh; class Random; @@ -66,7 +68,7 @@ class patchInjectionBase { protected: - // Protected data + // Protected Data //- Patch name const word patchName_; @@ -83,13 +85,11 @@ protected: //- List of cell labels corresponding to injector positions labelList cellOwners_; - //- Decomposed patch faces as a list of triangles - faceList triFace_; + //- The polyPatch faces as triangles, the index of each corresponds + //- to the undecomposed patch face index. + List<labelledTri> triFace_; - //- Addressing from per triangle to patch face - labelList triToFace_; - - //- Cumulative triangle area per triangle face + //- Cumulative triangle area per triangle face (processor-local) scalarList triCumulativeMagSf_; //- Cumulative area fractions per processor diff --git a/src/meshTools/triangulatedPatch/triangulatedPatch.C b/src/meshTools/triangulatedPatch/triangulatedPatch.C index f80ec255957..ab2763b9afe 100644 --- a/src/meshTools/triangulatedPatch/triangulatedPatch.C +++ b/src/meshTools/triangulatedPatch/triangulatedPatch.C @@ -171,31 +171,32 @@ void Foam::triangulatedPatch::update() // Set zero value at the start of the tri area/weight list scalar patchArea = 0; - *iter = patchArea; - ++iter; + *iter++ = patchArea; // Calculate cumulative and total area (processor-local at this point) for (const auto& t : triFace_) { patchArea += t.mag(points); - - *iter = patchArea; - ++iter; + *iter++ = patchArea; } - // FIXME: use allGatherList of subslice - scalarList procSumWght(numProc+1, Foam::zero{}); - procSumWght[myProci+1] = patchArea; - Pstream::listCombineReduce(procSumWght, maxEqOp<scalar>()); + scalarList procSumArea(numProc+1); + procSumArea[0] = 0; + + { + scalarList::subList slice(procSumArea, numProc, 1); + slice[myProci] = patchArea; + Pstream::allGatherList(slice); + } // Convert to cumulative - for (label i = 1; i < procSumWght.size(); ++i) + for (label i = 1; i < procSumArea.size(); ++i) { - procSumWght[i] += procSumWght[i-1]; + procSumArea[i] += procSumArea[i-1]; } - const scalar offset = procSumWght[myProci]; - const scalar totalArea = procSumWght.back(); + const scalar offset = procSumArea[myProci]; + const scalar totalArea = procSumArea.back(); // Apply processor offset and normalise - for a global 0-1 interval for (scalar& w : triWght_) diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/topOVariablesBase/topOVariablesBase.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/topOVariablesBase/topOVariablesBase.C index 1fc071bbd76..bc33b041e59 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/topOVariablesBase/topOVariablesBase.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/topOVariablesBase/topOVariablesBase.C @@ -669,19 +669,13 @@ void Foam::topOVariablesBase::writeFluidSolidInterface // invertOneToMany(surfFaces_.size(), changedFaceToCutFace); // Transform origin cut faces to a global numbering - labelList cuttingFacesPerProc(Pstream::nProcs(), Zero); - cuttingFacesPerProc[Pstream::myProcNo()] = changedFaces.size(); - Pstream::listCombineReduce(cuttingFacesPerProc, plusEqOp<label>()); - labelList passedFaces(Pstream::nProcs(), Zero); - for (label i = 1; i < Pstream::nProcs(); ++i) - { - passedFaces[i] = passedFaces[i - 1] + cuttingFacesPerProc[i - 1]; - } + const label changedFacesOffset = + globalIndex::calcOffset(changedFaces.size()); - forAll(changedFacesInfo, facei) + for (auto& info : changedFacesInfo) { - changedFacesInfo[facei].data() += passedFaces[Pstream::myProcNo()]; + info.data() += changedFacesOffset; } } -- GitLab From 5680ce1ee2845eef069b9b6a6da03513593f7bc8 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 29 Feb 2024 16:04:56 +0100 Subject: [PATCH 092/231] STYLE: use spanstream instead of stringstream in more places - particularly useful in these combinations: 1. OCharStream buf; // populate ISpanStream is(buf.view()); // parse 2. // read from file ifile.getLine(str); ISpanStream is(str); // parse These avoid making a copy of the character content, compared to versions with stringstream: OStringStream buf; IStringStream is(buf.str()); --- .../manipulation/mergeMeshes/mergePolyMesh.C | 16 +++++--- .../createZeroDirectory/createZeroDirectory.C | 39 ++++++++++--------- .../chemkinToFoam/chemkinToFoam.C | 6 ++- src/OpenFOAM/db/Time/TimeIO.C | 11 ++++-- src/OpenFOAM/db/dictionary/dictionary.C | 4 +- src/OpenFOAM/db/dictionary/entry/entry.C | 25 ++++++++---- .../primitiveEntry/primitiveEntryTemplates.C | 8 ++-- .../codedFixedValuePointPatchField.C | 4 +- .../global/debug/simpleObjectRegistry.C | 13 +++++-- .../lduMatrix/solvers/GAMG/GAMGSolver.C | 10 ++++- .../vtk/read/vtkUnstructuredReader.C | 11 ++++-- .../codedFixedValueFvPatchField.C | 4 +- .../codedMixed/codedMixedFvPatchField.C | 5 +-- src/mesh/blockMesh/blockMesh/blockMesh.C | 10 +++-- .../Reactions/solidReaction/solidReaction.C | 7 +++- .../reaction/Reactions/Reaction/Reaction.C | 4 +- 16 files changed, 111 insertions(+), 66 deletions(-) diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/mergePolyMesh.C b/applications/utilities/mesh/manipulation/mergeMeshes/mergePolyMesh.C index d5477c7a9ec..70d5904aa0f 100644 --- a/applications/utilities/mesh/manipulation/mergeMeshes/mergePolyMesh.C +++ b/applications/utilities/mesh/manipulation/mergeMeshes/mergePolyMesh.C @@ -73,9 +73,11 @@ Foam::label Foam::mergePolyMesh::patchIndex(const polyPatch& p) // Patch not found. Append to the list { - OStringStream os; + OCharStream os; p.write(os); - patchDicts_.append(dictionary(IStringStream(os.str())())); + ISpanStream is(os.view()); + + patchDicts_.push_back(dictionary(is)); } if (nameFound) @@ -225,13 +227,15 @@ Foam::mergePolyMesh::mergePolyMesh(const IOobject& io) // Insert the original patches into the list wordList curPatchNames = boundaryMesh().names(); + OCharStream os; forAll(boundaryMesh(), patchi) { - patchNames_.append(boundaryMesh()[patchi].name()); - - OStringStream os; + os.rewind(); boundaryMesh()[patchi].write(os); - patchDicts_.append(dictionary(IStringStream(os.str())())); + ISpanStream is(os.view()); + + patchNames_.push_back(boundaryMesh()[patchi].name()); + patchDicts_.push_back(dictionary(is)); } // Insert point, face and cell zones into the list diff --git a/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C b/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C index ebfef7d84ae..899ce6ccb75 100644 --- a/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C +++ b/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C @@ -143,17 +143,10 @@ void createFieldFiles dictionary field; - fileName regionPath = "/"; - - if (!regionName.empty()) - { - regionPath += regionName + '/'; - } - field.add ( "#include", - "$FOAM_CASE/system" + regionPath + "caseProperties" + "<system>"/regionName/"caseProperties" ); field.add("dimensions", fieldDimensions[i]); @@ -173,15 +166,22 @@ void createFieldFiles // Expand all of the dictionary redirections and remove unnecessary // entries - OStringStream os; - os << field; - entry::disableFunctionEntries = 0; - dictionary field2(IStringStream(os.str())()); - entry::disableFunctionEntries = 1; - field2.remove("#include"); - field2.remove("initialConditions"); - field2.remove("boundaryConditions"); + dictionary field2; + + { + OCharStream os; + os << field; + ISpanStream is(os.view()); + + entry::disableFunctionEntries = 0; + is >> field2; + entry::disableFunctionEntries = 1; + + field2.remove("#include"); + field2.remove("initialConditions"); + field2.remove("boundaryConditions"); + } // Construct and write field dictionary. Note use of localIOdictionary localIOdictionary fieldOut @@ -192,7 +192,9 @@ void createFieldFiles "0", regionName, runTime, - IOobject::NO_READ + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER ), field2 ); @@ -235,7 +237,8 @@ int main(int argc, char *argv[]) runTime.system(), runTime, IOobject::MUST_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + IOobject::NO_REGISTER ) ); diff --git a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C index 5d30a193e82..0d29eaecf7d 100644 --- a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C +++ b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C @@ -99,9 +99,11 @@ int main(int argc, char *argv[]) // Temporary hack to splice the specie composition data into the thermo file // pending complete integration into the thermodynamics structure - OStringStream os; + OCharStream os; cr.speciesThermo().write(os); - dictionary thermoDict(IStringStream(os.str())()); + + ISpanStream is(os.view()); + dictionary thermoDict(is); // Add elements for (entry& dEntry : thermoDict) diff --git a/src/OpenFOAM/db/Time/TimeIO.C b/src/OpenFOAM/db/Time/TimeIO.C index d471ad7f556..778666aca94 100644 --- a/src/OpenFOAM/db/Time/TimeIO.C +++ b/src/OpenFOAM/db/Time/TimeIO.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -207,7 +207,7 @@ void Foam::Time::readDict() // Change in-memory dimensionedConstants().merge(*localDict); - IStringStream dummyIs(""); + ISpanStream dummyIs; // Reporting verbosity corresponding to detail level const bool verbose = (::Foam::infoDetailLevel > 0); @@ -255,11 +255,14 @@ void Foam::Time::readDict() const List<simpleRegIOobject*>& objects = *objPtr; + OCharStream os; + for (simpleRegIOobject* obj : objects) { - OStringStream os; + os.rewind(); os << dict; - IStringStream is(os.str()); + + ISpanStream is(os.view()); obj->readData(is); } } diff --git a/src/OpenFOAM/db/dictionary/dictionary.C b/src/OpenFOAM/db/dictionary/dictionary.C index 68d1487899b..024713199ac 100644 --- a/src/OpenFOAM/db/dictionary/dictionary.C +++ b/src/OpenFOAM/db/dictionary/dictionary.C @@ -241,7 +241,7 @@ Foam::SHA1Digest Foam::dictionary::digest() const Foam::tokenList Foam::dictionary::tokens() const { // Serialize dictionary entries into a string - OStringStream os; + OCharStream os; // Process entries for (const entry& e : *this) @@ -250,7 +250,7 @@ Foam::tokenList Foam::dictionary::tokens() const } // String re-parsed as a list of tokens - return ITstream::parse(os.str()); + return ITstream::parse(os.view()); } diff --git a/src/OpenFOAM/db/dictionary/entry/entry.C b/src/OpenFOAM/db/dictionary/entry/entry.C index c82da030ccb..4554c48bd54 100644 --- a/src/OpenFOAM/db/dictionary/entry/entry.C +++ b/src/OpenFOAM/db/dictionary/entry/entry.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,7 @@ License #include "entry.H" #include "dictionary.H" -#include "StringStream.H" +#include "SpanStream.H" #include "JobInfo.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -206,14 +206,23 @@ bool Foam::entry::operator==(const entry& e) const } // Compare contents (as strings) + OCharStream content1; + content1 << *this; - OStringStream oss1; - oss1 << *this; + OCharStream content2; + content2 << e; - OStringStream oss2; - oss2 << e; - - return oss1.str() == oss2.str(); + return + ( + content1.view().size() == content2.view().size() + && + std::equal + ( + content1.view().begin(), + content1.view().end(), + content2.view().begin() + ) + ); } diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryTemplates.C b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryTemplates.C index 0342274870b..61be70d4e0d 100644 --- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryTemplates.C +++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryTemplates.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,7 +28,8 @@ License #include "primitiveEntry.H" #include "dictionary.H" -#include "StringStream.H" +#include "SpanStream.H" +#include "StringStream.H" // Legacy include, perhaps expected elsewhere // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -37,9 +39,9 @@ Foam::primitiveEntry::primitiveEntry(const keyType& key, const T& val) entry(key), ITstream(IOstreamOption(), key) { - OStringStream os; + OCharStream os; os << val << token::END_STATEMENT; - IStringStream is(os.str()); + ISpanStream is(os.view()); readEntry(dictionary::null, is); } diff --git a/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.C index b289adb0346..69bef4e1885 100644 --- a/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.C @@ -237,9 +237,9 @@ Foam::codedFixedValuePointPatchField<Type>::redirectPatchField() const // Construct a patch // Make sure to construct the patchfield with up-to-date value - OStringStream os; + OCharStream os; this->writeValueEntry(os); - IStringStream is(os.str()); + ISpanStream is(os.view()); dictionary constructDict(is); constructDict.set("type", name_); diff --git a/src/OpenFOAM/global/debug/simpleObjectRegistry.C b/src/OpenFOAM/global/debug/simpleObjectRegistry.C index 5636a7bca5b..4b032b35708 100644 --- a/src/OpenFOAM/global/debug/simpleObjectRegistry.C +++ b/src/OpenFOAM/global/debug/simpleObjectRegistry.C @@ -28,6 +28,7 @@ License #include "simpleObjectRegistry.H" #include "dictionary.H" #include "ITstream.H" +#include "SpanStream.H" #include "StringStream.H" #include "int.H" #include "floatScalar.H" @@ -57,11 +58,15 @@ void Foam::simpleObjectRegistry::setValues const List<simpleRegIOobject*>& objects = *objPtr; + OCharStream os; + ISpanStream is; + if (dEntry.isDict()) { - OStringStream os; - os << dEntry.dict(); - IStringStream is(os.str()); + os.rewind(); + os << dEntry.dict(); + + is.reset(os.view()); // Or alternatively? // ITstream is(dEntry.dict().tokens()); @@ -72,7 +77,7 @@ void Foam::simpleObjectRegistry::setValues obj->readData(is); } } - else + else // dEntry.isStream() { for (simpleRegIOobject* obj : objects) { diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C index d11a9478bb4..c70c8242e1c 100644 --- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C +++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C @@ -121,16 +121,22 @@ Foam::GAMGSolver::GAMGSolver ( dummyPrimMeshInterfaces.size() ); + + OCharStream os(IOstreamOption::BINARY); + ISpanStream is(IOstreamOption::BINARY); + forAll(fineMeshInterfaces, intI) { if (fineMeshInterfaces.set(intI)) { - OStringStream os(IOstreamOption::BINARY); + os.rewind(); + refCast<const GAMGInterface> ( fineMeshInterfaces[intI] ).write(os); - IStringStream is(os.str(), IOstreamOption::BINARY); + + is.reset(os.view()); dummyPrimMeshInterfaces.set ( diff --git a/src/fileFormats/vtk/read/vtkUnstructuredReader.C b/src/fileFormats/vtk/read/vtkUnstructuredReader.C index 52e6ca8cc27..40b45b37e77 100644 --- a/src/fileFormats/vtk/read/vtkUnstructuredReader.C +++ b/src/fileFormats/vtk/read/vtkUnstructuredReader.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2016 OpenFOAM Foundation - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -888,7 +888,8 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile) { string line; inFile.getLine(line); - IStringStream is(line); + ISpanStream is(line); + word dataName(is); word dataType(is); //label numComp(readLabel(inFile)); @@ -923,7 +924,8 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile) // 'NORMALS Normals float' string line; inFile.getLine(line); - IStringStream is(line); + ISpanStream is(line); + word dataName(is); word dataType(is); DebugInfo @@ -971,7 +973,8 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile) // 'TEXTURE_COORDINATES TCoords 2 float' string line; inFile.getLine(line); - IStringStream is(line); + ISpanStream is(line); + word dataName(is); //"Tcoords" label dim(readLabel(is)); word dataType(is); diff --git a/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.C index fad36642e65..eaf2de2de49 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.C @@ -237,9 +237,9 @@ Foam::codedFixedValueFvPatchField<Type>::redirectPatchField() const // Construct a patch // Make sure to construct the patchfield with up-to-date value - OStringStream os; + OCharStream os; this->writeValueEntry(os); - IStringStream is(os.str()); + ISpanStream is(os.view()); dictionary constructDict(is); constructDict.set("type", name_); diff --git a/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.C index c63ebc4abc2..33e41351bac 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.C @@ -228,10 +228,9 @@ Foam::codedMixedFvPatchField<Type>::redirectPatchField() const // Make sure to construct the patchfield with up-to-date value // Write the data from the mixed b.c. - OStringStream os; + OCharStream os; this->parent_bctype::write(os); - IStringStream is(os.str()); - // Construct dictionary from it. + ISpanStream is(os.view()); dictionary constructDict(is); // Override type diff --git a/src/mesh/blockMesh/blockMesh/blockMesh.C b/src/mesh/blockMesh/blockMesh/blockMesh.C index da0f958eb51..23dd0382d4f 100644 --- a/src/mesh/blockMesh/blockMesh/blockMesh.C +++ b/src/mesh/blockMesh/blockMesh/blockMesh.C @@ -352,12 +352,16 @@ Foam::PtrList<Foam::dictionary> Foam::blockMesh::patchDicts() const PtrList<dictionary> patchDicts(topoPatches.size()); + OCharStream os; + ISpanStream is; + forAll(topoPatches, patchi) { - OStringStream os; + os.rewind(); topoPatches[patchi].write(os); - IStringStream is(os.str()); - patchDicts.set(patchi, new dictionary(is)); + + is.reset(os.view()); + patchDicts.emplace_set(patchi, is); } return patchDicts; } diff --git a/src/thermophysicalModels/solidSpecie/reaction/Reactions/solidReaction/solidReaction.C b/src/thermophysicalModels/solidSpecie/reaction/Reactions/solidReaction/solidReaction.C index 6baafddc761..bdcc8773b9c 100644 --- a/src/thermophysicalModels/solidSpecie/reaction/Reactions/solidReaction/solidReaction.C +++ b/src/thermophysicalModels/solidSpecie/reaction/Reactions/solidReaction/solidReaction.C @@ -81,9 +81,11 @@ Foam::solidReaction<ReactionThermo>::solidReaction glhs_(), grhs_() { + ICharStream reactionIs(dict.getString("reaction")); + this->setLRhs ( - IStringStream(dict.getString("reaction"))(), + reactionIs, pyrolisisGases_, glhs_, grhs_, @@ -99,9 +101,10 @@ Foam::solidReaction<ReactionThermo>::solidReaction List<specieCoeffs> dummyRhs; // Rescan (and fail) if a species is neither gas nor solid + reactionIs.rewind(); this->setLRhs ( - IStringStream(dict.getString("reaction"))(), + reactionIs, allSpecies, dummyLhs, dummyRhs diff --git a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C index ad096ee103a..af8e6ce523e 100644 --- a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C +++ b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C @@ -332,9 +332,11 @@ Foam::Reaction<ReactionThermo>::Reaction name_(dict.dictName()), species_(species) { + ICharStream reactionIs(dict.getString("reaction")); + setLRhs ( - IStringStream(dict.getString("reaction"))(), + reactionIs, species_, lhs_, rhs_, -- GitLab From 0c84e50583c97337f497809b8482da7f63a1e591 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Sun, 10 Mar 2024 14:32:57 +0100 Subject: [PATCH 093/231] ENH: refine renumberMesh and renumberMethod (addenda to !669) - provide no_topology() characteristic to avoid triggering potentially expensive mesh connectivity calculations when they are not required. - remove/deprecate unused pointField references from the renumber methods. These appear to have crept in from outer similarities with decompositionMethod, but have no meaning for renumbering. - remove/deprecate various unused aggregation renumberings since these have been previously replaced by pre-calling calcCellCells, or using bandCompression directly. - make regionFaceOrder for block-wise renumbering optional and treat as experimental (ie, default is now disabled). The original idea was to sort the intra-region and inter-region faces separately. However, this will mostly lead to non-upper triangular ordering between regions, which checkMesh and others don't really like. ENH: add timing information for various renumberMesh stages ENH: add reset of clockTime and cpuTime increment - simplifies section-wise timings ENH: add globalIndex::null() and fieldTypes::processorType conveniences - provides more central management of these characteristics --- .../test/HashTable4/Test-HashTable4.cxx | 4 +- applications/test/nullObject/Make/files | 2 +- ...{Test-nullObject.C => Test-nullObject.cxx} | 13 ++ .../manipulation/renumberMesh/renumberMesh.C | 159 ++++++++++++++---- etc/caseDicts/annotated/renumberMeshDict | 5 + src/OSspecific/POSIX/cpuTime/cpuTimePosix.C | 6 + src/OSspecific/POSIX/cpuTime/cpuTimePosix.H | 13 +- src/OpenFOAM/fields/Fields/fieldTypes.C | 7 +- src/OpenFOAM/fields/Fields/fieldTypes.H | 8 +- src/OpenFOAM/global/clockTime/clockTime.H | 18 +- src/OpenFOAM/global/clockTime/clockTimeI.H | 8 +- src/OpenFOAM/global/clockValue/clockValue.H | 9 +- src/OpenFOAM/global/cpuTime/cpuTimeCxx.C | 6 + src/OpenFOAM/global/cpuTime/cpuTimeCxx.H | 17 +- .../global/profiling/profilingPstream.H | 2 +- .../meshes/bandCompression/bandCompression.C | 15 +- .../meshes/bandCompression/bandCompression.H | 6 +- .../parallel/globalIndex/globalIndex.H | 12 +- src/renumber/SloanRenumber/SloanRenumber.C | 12 +- src/renumber/SloanRenumber/SloanRenumber.H | 40 ++--- .../CuthillMcKeeRenumber.C | 42 +++-- .../CuthillMcKeeRenumber.H | 53 ++---- .../manualRenumber/manualRenumber.C | 30 ++-- .../manualRenumber/manualRenumber.H | 36 ++-- .../renumberMethods/noRenumber/noRenumber.C | 18 +- .../renumberMethods/noRenumber/noRenumber.H | 50 +++--- .../randomRenumber/randomRenumber.C | 18 +- .../randomRenumber/randomRenumber.H | 50 +++--- .../renumberMethod/renumberMethod.C | 48 ++---- .../renumberMethod/renumberMethod.H | 111 +++++++----- .../springRenumber/springRenumber.C | 9 +- .../springRenumber/springRenumber.H | 41 ++--- .../structuredRenumber/structuredRenumber.C | 28 +-- .../structuredRenumber/structuredRenumber.H | 36 ++-- src/renumber/zoltanRenumber/zoltanRenumber.C | 11 +- src/renumber/zoltanRenumber/zoltanRenumber.H | 36 ++-- 36 files changed, 536 insertions(+), 443 deletions(-) rename applications/test/nullObject/{Test-nullObject.C => Test-nullObject.cxx} (92%) diff --git a/applications/test/HashTable4/Test-HashTable4.cxx b/applications/test/HashTable4/Test-HashTable4.cxx index e474436870d..12b63ae2913 100644 --- a/applications/test/HashTable4/Test-HashTable4.cxx +++ b/applications/test/HashTable4/Test-HashTable4.cxx @@ -206,7 +206,7 @@ int main(int argc, char *argv[]) #endif loopInsert(map, nElem); - (void)timer.cpuTimeIncrement(); + timer.resetCpuTimeIncrement(); unsigned long sum = 0; for (label loopi = 0; loopi < nFind*nLoops; ++loopi) @@ -268,7 +268,7 @@ int main(int argc, char *argv[]) HashSet<label, Hash<label>> map(32); loopInsert(map, nElem); - (void)timer.cpuTimeIncrement(); + timer.resetCpuTimeIncrement(); unsigned long sum = 0; for (label loopi = 0; loopi < nFind*nLoops; ++loopi) diff --git a/applications/test/nullObject/Make/files b/applications/test/nullObject/Make/files index dffa06d7471..fdd71c155e1 100644 --- a/applications/test/nullObject/Make/files +++ b/applications/test/nullObject/Make/files @@ -1,3 +1,3 @@ -Test-nullObject.C +Test-nullObject.cxx EXE = $(FOAM_USER_APPBIN)/Test-nullObject diff --git a/applications/test/nullObject/Test-nullObject.C b/applications/test/nullObject/Test-nullObject.cxx similarity index 92% rename from applications/test/nullObject/Test-nullObject.C rename to applications/test/nullObject/Test-nullObject.cxx index 0f7cd10dad0..475a4e55b00 100644 --- a/applications/test/nullObject/Test-nullObject.C +++ b/applications/test/nullObject/Test-nullObject.cxx @@ -37,6 +37,7 @@ Description #include "HashSet.H" #include "faceList.H" #include "pointField.H" +#include "globalIndex.H" #include "IOstreams.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -150,6 +151,18 @@ int main() NullObject::nullObject = "hello world"; NullObject::nullObject = Foam::identity(5); + + { + const auto& gi = globalIndex::null(); + Info<< "globalIndex::null() => " + << " empty: " << gi.empty() + << " nProcs: " << gi.nProcs() + << " total-size: " << gi.totalSize() << nl; + + // Even this works + Info<< " offsets: " << gi.offsets() << nl; + } + Info<< nl; return 0; diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C index 7c08c679a5f..64011258c6a 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C @@ -123,6 +123,7 @@ Usage \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "clockTime.H" #include "timeSelector.H" #include "IOobjectList.H" #include "fvMesh.H" @@ -147,6 +148,24 @@ Usage using namespace Foam; +// Slightly messy way of handling timing, but since the timing points +// are scattered between 'main()' and other local functions... + +clockTime timer; + +// Timing categories +enum TimingType +{ + READ_MESH, // Reading mesh + READ_FIELDS, // Reading fields + DECOMPOSE, // Domain decomposition (if any) + CELL_CELLS, // globalMeshData::calcCellCells + RENUMBER, // The renumberMethod + REORDER, // Mesh reordering (topoChange) + WRITING, // Writing mesh/fields +}; +FixedList<double, 8> timings; + // Create named field from labelList for post-processing tmp<volScalarField> createScalarField @@ -205,8 +224,8 @@ void getBand scalar& sumSqrIntersect // scalar to avoid overflow ) { - labelList cellBandwidth(nCells, Zero); - scalarField nIntersect(nCells, Zero); + labelList cellBandwidth(nCells, Foam::zero{}); + scalarField nIntersect(nCells, Foam::zero{}); forAll(neighbour, facei) { @@ -627,8 +646,33 @@ CompactListList<label> regionRenumber invertOneToManyCompact(nRegions, cellToRegion) ); - if (method.needs_mesh()) + if (method.no_topology()) { + // Special case when renumberMesh is only used for decomposition. + // - can skip generating the connectivity + // - nonetheless calculate the order in case it is non-identity + + timer.resetTimeIncrement(); + + forAll(regionCellOrder, regioni) + { + // Note: cellMap is identical to regionToCells[regioni] + // since it is already sorted + + labelList subCellOrder = + method.renumber(regionCellOrder[regioni].size()); + + // Per region reordering (inplace but with SubList) + regionCellOrder[regioni] = + labelUIndList(regionCellOrder[regioni], subCellOrder)(); + } + + timings[TimingType::RENUMBER] += timer.timeIncrement(); + } + else if (method.needs_mesh()) + { + timer.resetTimeIncrement(); + forAll(regionCellOrder, regioni) { // Info<< " region " << regioni @@ -645,20 +689,20 @@ CompactListList<label> regionRenumber // (assuming they are properly sorted!) const labelList& cellMap = subsetter.cellMap(); - labelList subCellOrder = method.renumber - ( - subsetter.subMesh(), - subsetter.subMesh().cellCentres() - ); + labelList subCellOrder = method.renumber(subsetter.subMesh()); UPstream::parRun(oldParRun); // Restore parallel state // Per region reordering regionCellOrder[regioni] = labelUIndList(cellMap, subCellOrder); } + + timings[TimingType::RENUMBER] += timer.timeIncrement(); } else { + timer.resetTimeIncrement(); + forAll(regionCellOrder, regioni) { // Info<< " region " << regioni @@ -677,17 +721,16 @@ CompactListList<label> regionRenumber cellCells ); - // Note: cellCentres not needed by every renumber method - labelList subCellOrder = method.renumber - ( - cellCells, - pointField(mesh.cellCentres(), cellMap) - ); + timings[TimingType::CELL_CELLS] += timer.timeIncrement(); + + labelList subCellOrder = method.renumber(cellCells); UPstream::parRun(oldParRun); // Restore parallel state // Per region reordering regionCellOrder[regioni] = labelUIndList(cellMap, subCellOrder); + + timings[TimingType::RENUMBER] += timer.timeIncrement(); } } // Info<< endl; @@ -832,8 +875,15 @@ int main(int argc, char *argv[]) runTime.setTime(Times[startTime], startTime); + + // Start/reset all timings + timer.resetTime(); + timings = Foam::zero{}; + #include "createNamedMeshes.H" + timings[TimingType::READ_MESH] += timer.timeIncrement(); + for (fvMesh& mesh : meshes) { @@ -881,6 +931,7 @@ int main(int argc, char *argv[]) bool sortCoupledFaceCells = false; bool writeMaps = args.found("write-maps"); bool orderPoints = false; + bool useRegionFaceOrder = false; label blockSize = 0; // Construct renumberMethod @@ -920,6 +971,12 @@ int main(int argc, char *argv[]) << " and region-external." << nl << endl; } + + if (blockSize > 0) + { + useRegionFaceOrder = + renumberDict.getOrDefault("regionFaceOrder", false); + } } orderPoints = renumberDict.getOrDefault("orderPoints", false); @@ -969,12 +1026,12 @@ int main(int argc, char *argv[]) { renumberPtr.reset(new CuthillMcKeeRenumber(renumberDict)); Info<< "Using renumber-method: " << renumberPtr().type() - << " [default]" << nl << endl; + << " [default]" << endl; } else { Info<< "Using renumber-method: " << renumberPtr().type() - << nl << endl; + << endl; } @@ -1042,6 +1099,10 @@ int main(int argc, char *argv[]) if (!dryrun && doFields) { + Info<< nl << "Reading fields" << nl; + + timer.resetTimeIncrement(); + objects = IOobjectList(mesh, runTime.timeName()); storedObjects.reserve(objects.size()); @@ -1089,6 +1150,8 @@ int main(int argc, char *argv[]) #undef ReadFields #undef ReadPointFields + + timings[TimingType::READ_FIELDS] += timer.timeIncrement(); } @@ -1116,6 +1179,8 @@ int main(int argc, char *argv[]) if (blockSize > 0 && !doDecompose) { + timer.resetTimeIncrement(); + // Renumbering in two phases. Should be done in one so mapping of // fields is done correctly! @@ -1143,6 +1208,7 @@ int main(int argc, char *argv[]) UPstream::parRun(oldParRun); // Restore parallel state + timings[TimingType::DECOMPOSE] += timer.timeIncrement(); // For debugging: write out region createScalarField @@ -1163,12 +1229,14 @@ int main(int argc, char *argv[]) cellOrder = regionCellOrder.values(); // Determine new to old face order with new cell numbering - faceOrder = getRegionFaceOrder - ( - mesh, - cellOrder, - cellToRegion - ); + if (useRegionFaceOrder) + { + faceOrder = getRegionFaceOrder(mesh, cellOrder, cellToRegion); + } + else + { + faceOrder = getFaceOrder(mesh, cellOrder); + } } else { @@ -1178,6 +1246,8 @@ int main(int argc, char *argv[]) // 1. decompose into regions (like decomposePar) // 2. renumber each sub-region + timer.resetTimeIncrement(); + // Read decompositionMethod dictionary IOdictionary decomposeDict ( @@ -1212,6 +1282,8 @@ int main(int argc, char *argv[]) ) ); + timings[TimingType::DECOMPOSE] += timer.timeIncrement(); + UPstream::parRun(oldParRun); // Restore parallel state CompactListList<label> regionCellOrder = @@ -1236,11 +1308,21 @@ int main(int argc, char *argv[]) else { // Determines sorted back to original cell ordering - cellOrder = renumberPtr().renumber - ( - mesh, - mesh.cellCentres() - ); + + const auto& method = renumberPtr(); + + timer.resetTimeIncrement(); + + if (method.no_topology()) + { + cellOrder = method.renumber(mesh.nCells()); + } + else + { + cellOrder = method.renumber(mesh); + } + + timings[TimingType::RENUMBER] += timer.timeIncrement(); } @@ -1321,11 +1403,7 @@ int main(int argc, char *argv[]) // Determine new to old face order with new cell numbering - faceOrder = getFaceOrder - ( - mesh, - cellOrder // New to old cell - ); + faceOrder = getFaceOrder(mesh, cellOrder); } @@ -1681,6 +1759,8 @@ int main(int argc, char *argv[]) } else { + timer.resetTimeIncrement(); + if (overwrite) { mesh.setInstance(oldInstance); @@ -1720,6 +1800,8 @@ int main(int argc, char *argv[]) mesh.write(); + timings[TimingType::WRITING] += timer.timeIncrement(); + if (writeMaps) { // For debugging: write out region @@ -1771,6 +1853,19 @@ int main(int argc, char *argv[]) } } + Info<< nl + << "Timings:" << nl + << " read mesh : " << timings[TimingType::READ_MESH] << nl + << " read fields : " << timings[TimingType::READ_FIELDS] << nl + << " decompose : " << timings[TimingType::DECOMPOSE] << nl + << " cell-cells : " << timings[TimingType::CELL_CELLS] << nl + << " renumber : " << timings[TimingType::RENUMBER] << nl + << " write : " << timings[TimingType::WRITING] << nl + << "TotalTime = " << timer.elapsedTime() << " s" << nl + << nl; + + runTime.printExecutionTime(Info); + Info<< "End\n" << endl; return 0; diff --git a/etc/caseDicts/annotated/renumberMeshDict b/etc/caseDicts/annotated/renumberMeshDict index 80f960d0144..1bf012a57ef 100644 --- a/etc/caseDicts/annotated/renumberMeshDict +++ b/etc/caseDicts/annotated/renumberMeshDict @@ -38,6 +38,11 @@ sortCoupledFaceCells false; // Optional entry: sort points into internal and boundary points //orderPoints false; +// Optional entry (experimental) - for block-by-block (blockSize > 0) option: +// - sort intra-region and iter-region faces separately. +// This will likely lead to non-upper triangular ordering between regions. +//regionFaceOrder false; + method CuthillMcKee; //method RCM; // == reverseCuthillMcKee; diff --git a/src/OSspecific/POSIX/cpuTime/cpuTimePosix.C b/src/OSspecific/POSIX/cpuTime/cpuTimePosix.C index 47af1c635c1..027b29b41a5 100644 --- a/src/OSspecific/POSIX/cpuTime/cpuTimePosix.C +++ b/src/OSspecific/POSIX/cpuTime/cpuTimePosix.C @@ -77,6 +77,12 @@ void Foam::cpuTimePosix::resetCpuTime() } +void Foam::cpuTimePosix::resetCpuTimeIncrement() const +{ + last_.update(); +} + + double Foam::cpuTimePosix::elapsedCpuTime() const { last_.update(); diff --git a/src/OSspecific/POSIX/cpuTime/cpuTimePosix.H b/src/OSspecific/POSIX/cpuTime/cpuTimePosix.H index f657d232f19..efb6ada7f12 100644 --- a/src/OSspecific/POSIX/cpuTime/cpuTimePosix.H +++ b/src/OSspecific/POSIX/cpuTime/cpuTimePosix.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2014 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -72,7 +72,8 @@ class cpuTimePosix //- Start time, at the time of construction value_type start_; - //- Last time when elapsedTime or timeIncrement was called + //- Last time when elapsedCpuTime or cpuTimeIncrement was called. + //- Also affected by resetCpuTime and resetCpuTimeIncrement. mutable value_type last_; @@ -95,10 +96,14 @@ public: //- Reset to use the current time for the start time void resetCpuTime(); - //- Return CPU time (in seconds) from the start + //- Reset to use the current time for the increment point + void resetCpuTimeIncrement() const; + + //- Return CPU time [seconds] from the start double elapsedCpuTime() const; - //- Return CPU time (in seconds) since last call to cpuTimeIncrement() + //- Return CPU time [seconds] since last call to cpuTimeIncrement(), + //- resetCpuTimeIncrement(). double cpuTimeIncrement() const; }; diff --git a/src/OpenFOAM/fields/Fields/fieldTypes.C b/src/OpenFOAM/fields/Fields/fieldTypes.C index 943ecdd46fe..79ff2e60d93 100644 --- a/src/OpenFOAM/fields/Fields/fieldTypes.C +++ b/src/OpenFOAM/fields/Fields/fieldTypes.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,6 +59,11 @@ const Foam::word Foam::fieldTypes::extrapolatedCalculatedType Foam::fieldTypes::extrapolatedCalculatedTypeName_() ); +const Foam::word Foam::fieldTypes::processorType +( + Foam::fieldTypes::processorTypeName_() +); + const Foam::word Foam::fieldTypes::zeroGradientType ( Foam::fieldTypes::zeroGradientTypeName_() diff --git a/src/OpenFOAM/fields/Fields/fieldTypes.H b/src/OpenFOAM/fields/Fields/fieldTypes.H index 9f279730a14..55d8e629422 100644 --- a/src/OpenFOAM/fields/Fields/fieldTypes.H +++ b/src/OpenFOAM/fields/Fields/fieldTypes.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -105,6 +105,12 @@ inline const char* extrapolatedCalculatedTypeName_() noexcept //- A combined \c zero-gradient and \c calculated patch field type extern const word extrapolatedCalculatedType; +//- A \c processor patch field type +inline const char* processorTypeName_() noexcept { return "processor"; } + +//- A \c processor patch field type +extern const word processorType; + //- A \c zeroGradient patch field type inline const char* zeroGradientTypeName_() noexcept { return "zeroGradient"; } diff --git a/src/OpenFOAM/global/clockTime/clockTime.H b/src/OpenFOAM/global/clockTime/clockTime.H index 5a82387dc61..e3e1a155186 100644 --- a/src/OpenFOAM/global/clockTime/clockTime.H +++ b/src/OpenFOAM/global/clockTime/clockTime.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,8 +46,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef clockTime_H -#define clockTime_H +#ifndef Foam_clockTime_H +#define Foam_clockTime_H #include "clockValue.H" @@ -67,7 +67,8 @@ class clockTime //- Time point at start, or after resetTime clockValue start_; - //- Time point when elapsedTime or timeIncrement was called + //- Time point when elapsedTime or timeIncrement was called. + //- Also updated by resetTime and resetTimeIncrement. mutable clockValue last_; @@ -84,13 +85,18 @@ public: // Member Functions - //- Reset to use the current clock value for the start point + //- Reset to use the current clock value for the start + //- and increment points inline void resetTime(); + //- Reset to use the current clock value for the increment point + inline void resetTimeIncrement() const; + //- The time [seconds] since the start point inline double elapsedTime() const; - //- The time [seconds] since the last call to timeIncrement() + //- The time [seconds] since the last call to elapsedTime(), + //- timeIncrement() or resetTime(), resetTimeIncrement() inline double timeIncrement() const; }; diff --git a/src/OpenFOAM/global/clockTime/clockTimeI.H b/src/OpenFOAM/global/clockTime/clockTimeI.H index 6ec10f4d25e..92d86af60cc 100644 --- a/src/OpenFOAM/global/clockTime/clockTimeI.H +++ b/src/OpenFOAM/global/clockTime/clockTimeI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -50,6 +50,12 @@ inline void Foam::clockTime::resetTime() } +inline void Foam::clockTime::resetTimeIncrement() const +{ + last_.update(); +} + + inline double Foam::clockTime::elapsedTime() const { last_.update(); diff --git a/src/OpenFOAM/global/clockValue/clockValue.H b/src/OpenFOAM/global/clockValue/clockValue.H index 6d402abd8c1..5dfe3303c7d 100644 --- a/src/OpenFOAM/global/clockValue/clockValue.H +++ b/src/OpenFOAM/global/clockValue/clockValue.H @@ -36,8 +36,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef clockValue_H -#define clockValue_H +#ifndef Foam_clockValue_H +#define Foam_clockValue_H #include <chrono> #include <string> @@ -93,10 +93,7 @@ public: // Member Functions //- The time duration - inline const value_type& value() const - { - return value_; - } + const value_type& value() const noexcept { return value_; } //- Reset to zero inline void clear(); diff --git a/src/OpenFOAM/global/cpuTime/cpuTimeCxx.C b/src/OpenFOAM/global/cpuTime/cpuTimeCxx.C index fbb8277975d..d762851bf81 100644 --- a/src/OpenFOAM/global/cpuTime/cpuTimeCxx.C +++ b/src/OpenFOAM/global/cpuTime/cpuTimeCxx.C @@ -65,6 +65,12 @@ void Foam::cpuTimeCxx::resetCpuTime() } +void Foam::cpuTimeCxx::resetCpuTimeIncrement() const +{ + last_.update(); +} + + double Foam::cpuTimeCxx::elapsedCpuTime() const { last_.update(); diff --git a/src/OpenFOAM/global/cpuTime/cpuTimeCxx.H b/src/OpenFOAM/global/cpuTime/cpuTimeCxx.H index 91e5c939c04..4f0476fa305 100644 --- a/src/OpenFOAM/global/cpuTime/cpuTimeCxx.H +++ b/src/OpenFOAM/global/cpuTime/cpuTimeCxx.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2019 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cpuTimeCxx_H -#define cpuTimeCxx_H +#ifndef Foam_cpuTimeCxx_H +#define Foam_cpuTimeCxx_H #include <ctime> @@ -71,7 +71,8 @@ class cpuTimeCxx //- Start time, at the time of construction value_type start_; - //- Last time when elapsedTime or timeIncrement was called + //- Last time when elapsedCpuTime or cpuTimeIncrement was called. + //- Also affected by resetCpuTime and resetCpuTimeIncrement. mutable value_type last_; @@ -91,13 +92,17 @@ public: // Member Functions - //- Reset to use the current time for the start time + //- Reset to use the current time for the start and increment points void resetCpuTime(); + //- Reset to use the current time for the increment point + void resetCpuTimeIncrement() const; + //- Return CPU time (in seconds) from the start double elapsedCpuTime() const; - //- Return CPU time (in seconds) since last call to cpuTimeIncrement() + //- Return CPU time [seconds] since last call to cpuTimeIncrement(), + //- resetCpuTimeIncrement(). double cpuTimeIncrement() const; }; diff --git a/src/OpenFOAM/global/profiling/profilingPstream.H b/src/OpenFOAM/global/profiling/profilingPstream.H index 8256fb1418c..37284223afe 100644 --- a/src/OpenFOAM/global/profiling/profilingPstream.H +++ b/src/OpenFOAM/global/profiling/profilingPstream.H @@ -158,7 +158,7 @@ public: { if (!suspend_ && timer_) { - (void) timer_->cpuTimeIncrement(); + timer_->resetCpuTimeIncrement(); } } diff --git a/src/OpenFOAM/meshes/bandCompression/bandCompression.C b/src/OpenFOAM/meshes/bandCompression/bandCompression.C index b2f1a977add..b03596db797 100644 --- a/src/OpenFOAM/meshes/bandCompression/bandCompression.C +++ b/src/OpenFOAM/meshes/bandCompression/bandCompression.C @@ -159,6 +159,13 @@ Foam::labelList cuthill_mckee_algorithm } } + // Debug: + // - the peak capacity of queuedCells approximates the + // maximum intermediate bandwidth + #if 0 + Pout<< "bandCompression: peak-capacity=" << queuedCells.capacity() << nl; + #endif + // Now we have new-to-old in newOrder. return newOrder; } @@ -306,8 +313,14 @@ Foam::labelList Foam::meshTools::bandCompression } } - // Now we have new-to-old in newOrder. + // Debug: + // - the peak capacity of queuedCells approximates the + // maximum intermediate bandwidth + #if 0 + Pout<< "bandCompression: peak-capacity=" << queuedCells.capacity() << nl; + #endif + // Now we have new-to-old in newOrder. return newOrder; } diff --git a/src/OpenFOAM/meshes/bandCompression/bandCompression.H b/src/OpenFOAM/meshes/bandCompression/bandCompression.H index d90cca8e586..00553c7a22c 100644 --- a/src/OpenFOAM/meshes/bandCompression/bandCompression.H +++ b/src/OpenFOAM/meshes/bandCompression/bandCompression.H @@ -103,15 +103,17 @@ labelList bandCompression namespace Foam { -//- Forward to meshTools::bandCompression +//- Deprecated - prefer meshTools::bandCompression() // \deprecated(2022-03) prefer meshTools::bandCompression() +FOAM_DEPRECATED_FOR(2022-03, "meshTools::bandCompression()") inline labelList bandCompression(const labelListList& cellCellAddressing) { return meshTools::bandCompression(cellCellAddressing); } -//- Forward to meshTools::bandCompression +//- Deprecated - prefer meshTools::bandCompression() // \deprecated(2022-03) prefer meshTools::bandCompression() +FOAM_DEPRECATED_FOR(2022-03, "meshTools::bandCompression()") inline labelList bandCompression ( const labelUList& cellCells, diff --git a/src/OpenFOAM/parallel/globalIndex/globalIndex.H b/src/OpenFOAM/parallel/globalIndex/globalIndex.H index f5b82a44cf9..598c82e5521 100644 --- a/src/OpenFOAM/parallel/globalIndex/globalIndex.H +++ b/src/OpenFOAM/parallel/globalIndex/globalIndex.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -118,6 +118,16 @@ public: struct gatherNonLocal{}; + // Static Member Functions + + //- Return a null globalIndex (reference to a nullObject). + //- Behaves like an empty globalIndex + static const globalIndex& null() noexcept + { + return NullObjectRef<globalIndex>(); + } + + // Constructors //- Default construct (empty) diff --git a/src/renumber/SloanRenumber/SloanRenumber.C b/src/renumber/SloanRenumber/SloanRenumber.C index 9ef6ca08edc..df5c3f624df 100644 --- a/src/renumber/SloanRenumber/SloanRenumber.C +++ b/src/renumber/SloanRenumber/SloanRenumber.C @@ -30,7 +30,6 @@ License #include "SloanRenumber.H" #include "addToRunTimeSelectionTable.H" -#include "globalMeshData.H" #include "processorPolyPatch.H" #include "syncTools.H" @@ -165,8 +164,7 @@ Foam::labelList renumberImpl(Graph& G, const bool useReverse) Foam::labelList Foam::SloanRenumber::renumber ( - const polyMesh& mesh, - const pointField& points + const polyMesh& mesh ) const { // Construct graph : faceOwner + connections across cyclics. @@ -186,7 +184,7 @@ Foam::labelList Foam::SloanRenumber::renumber Graph G(mesh.nCells()); // Add internal faces - forAll(mesh.faceNeighbour(), facei) + for (label facei = 0; facei < mesh.nInternalFaces(); ++facei) { add_edge(mesh.faceOwner()[facei], mesh.faceNeighbour()[facei], G); } @@ -226,8 +224,7 @@ Foam::labelList Foam::SloanRenumber::renumber Foam::labelList Foam::SloanRenumber::renumber ( - const CompactListList<label>& cellCells, - const pointField& + const CompactListList<label>& cellCells ) const { Graph G(cellCells.size()); @@ -251,8 +248,7 @@ Foam::labelList Foam::SloanRenumber::renumber Foam::labelList Foam::SloanRenumber::renumber ( - const labelListList& cellCells, - const pointField& + const labelListList& cellCells ) const { Graph G(cellCells.size()); diff --git a/src/renumber/SloanRenumber/SloanRenumber.H b/src/renumber/SloanRenumber/SloanRenumber.H index 46aa1853567..a2c42c5cc3d 100644 --- a/src/renumber/SloanRenumber/SloanRenumber.H +++ b/src/renumber/SloanRenumber/SloanRenumber.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,44 +83,26 @@ public: //- Toggle reverse on/off void reverse(bool on) noexcept { reverse_ = on; } - //- The renumbering method does not require a polyMesh - virtual bool needs_mesh() const { return false; } + // With mesh topology - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // This is only defined for geometric renumberMethods. - virtual labelList renumber(const pointField&) const - { - NotImplemented; - return labelList(); - } + //- Return the cell visit order (from ordered back to original cell id) + //- using the mesh to determine the connectivity. + virtual labelList renumber(const polyMesh& mesh) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Use the mesh connectivity (if needed) - virtual labelList renumber - ( - const polyMesh& mesh, - const pointField& cc - ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + // With explicit topology + + //- Return the cell visit order (from ordered back to original cell id) virtual labelList renumber ( - const CompactListList<label>& cellCells, - const pointField& cellCentres + const CompactListList<label>& cellCells ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // The connectivity is equal to mesh.cellCells() except - // - the connections are across coupled patches + //- Return the cell visit order (from ordered back to original cell id) virtual labelList renumber ( - const labelListList& cellCells, - const pointField& cc + const labelListList& cellCells ) const; }; diff --git a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C index 241be2cbe30..4e7827d5034 100644 --- a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C +++ b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.C @@ -112,8 +112,7 @@ Foam::reverseCuthillMcKeeRenumber::reverseCuthillMcKeeRenumber Foam::labelList Foam::CuthillMcKeeRenumber::renumber ( - const polyMesh& mesh, - const pointField& + const polyMesh& mesh ) const { labelList orderedToOld = meshTools::bandCompression(mesh); @@ -129,12 +128,10 @@ Foam::labelList Foam::CuthillMcKeeRenumber::renumber Foam::labelList Foam::CuthillMcKeeRenumber::renumber ( - const labelList& cellCells, - const labelList& offsets, - const pointField& cc + const CompactListList<label>& cellCells ) const { - labelList orderedToOld = meshTools::bandCompression(cellCells, offsets); + labelList orderedToOld = meshTools::bandCompression(cellCells); if (reverse_) { @@ -147,8 +144,7 @@ Foam::labelList Foam::CuthillMcKeeRenumber::renumber Foam::labelList Foam::CuthillMcKeeRenumber::renumber ( - const CompactListList<label>& cellCells, - const pointField& + const labelListList& cellCells ) const { labelList orderedToOld = meshTools::bandCompression(cellCells); @@ -162,21 +158,21 @@ Foam::labelList Foam::CuthillMcKeeRenumber::renumber } -Foam::labelList Foam::CuthillMcKeeRenumber::renumber -( - const labelListList& cellCells, - const pointField& -) const -{ - labelList orderedToOld = meshTools::bandCompression(cellCells); - - if (reverse_) - { - Foam::reverse(orderedToOld); - } - - return orderedToOld; -} +// Foam::labelList Foam::CuthillMcKeeRenumber::renumber +// ( +// const labelUList& cellCells, +// const labelUList& offsets +// ) const +// { +// labelList orderedToOld = meshTools::bandCompression(cellCells, offsets); +// +// if (reverse_) +// { +// Foam::reverse(orderedToOld); +// } +// +// return orderedToOld; +// } // ************************************************************************* // diff --git a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H index 45a07be3554..506deef95d5 100644 --- a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H +++ b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H @@ -30,6 +30,9 @@ Class Description Cuthill-McKee renumbering (CM or RCM) +SeeAlso + Foam::meshTools::bandCompression + SourceFiles CuthillMcKeeRenumber.C @@ -85,62 +88,32 @@ public: //- Toggle reverse on/off void reverse(bool on) noexcept { reverse_ = on; } - //- The renumbering method does not require a polyMesh - virtual bool needs_mesh() const { return false; } - - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // This is only defined for geometric renumberMethods. - virtual labelList renumber(const pointField&) const - { - NotImplemented; - return labelList(); - } + // With mesh topology - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Use the mesh connectivity (if needed) + //- Return the cell visit order (from ordered back to original cell id) + //- using the mesh to determine the connectivity. virtual labelList renumber ( //! Mesh connectivity (see globalMeshData::calcCellCells) - const polyMesh& mesh, - //! \em ignored - const pointField& cellCentres + const polyMesh& mesh ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Connectivity in losort addressing (= neighbour + offsets into - // neighbour) - virtual labelList renumber - ( - const labelList& cellCells, - const labelList& offsets, - //! \em ignored - const pointField& cellCentres - ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + // With explicit topology + + //- Return the cell visit order (from ordered back to original cell id). virtual labelList renumber ( //! Mesh connectivity - const CompactListList<label>& cellCells, - //! \em ignored - const pointField& cellCentres + const CompactListList<label>& cellCells ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // The connectivity is equal to mesh.cellCells() except - // - the connections are across coupled patches + //- Return the cell visit order (from ordered back to original cell id). virtual labelList renumber ( //! Mesh connectivity - const labelListList& cellCells, - //! \em ignored - const pointField& cellCentres + const labelListList& cellCells ) const; }; diff --git a/src/renumber/renumberMethods/manualRenumber/manualRenumber.C b/src/renumber/renumberMethods/manualRenumber/manualRenumber.C index 61dc4972394..875ced3af00 100644 --- a/src/renumber/renumberMethods/manualRenumber/manualRenumber.C +++ b/src/renumber/renumberMethods/manualRenumber/manualRenumber.C @@ -68,10 +68,11 @@ Foam::manualRenumber::manualRenumber(const dictionary& dict) Foam::labelList Foam::manualRenumber::renumber ( - const polyMesh& mesh, - const pointField& points + const polyMesh& mesh ) const { + const label nCells = mesh.nCells(); + labelList newToOld ( labelIOList::readContents @@ -87,31 +88,27 @@ Foam::labelList Foam::manualRenumber::renumber ); // Check if the final renumbering is OK - if (newToOld.size() != points.size()) + if (newToOld.size() != nCells) { FatalErrorInFunction - << "Size of renumber list does not correspond " - << "to the number of points. Size: " - << newToOld.size() << " Number of points: " - << points.size() - << ".\n" << "Manual renumbering data read from file " - << dataFile_ << "." << endl + << "Size of renumber list: " + << newToOld.size() << " != number of cells: " << nCells << nl + << "Renumbering data read from file " << dataFile_ << endl << exit(FatalError); } // Invert to see if one to one - labelList oldToNew(points.size(), -1); + labelList oldToNew(nCells, -1); forAll(newToOld, i) { const label origCelli = newToOld[i]; - if (origCelli < 0 || origCelli >= points.size()) + if (origCelli < 0 || origCelli >= nCells) { FatalErrorInFunction - << "Renumbering is not one-to-one. Index " - << i << " maps onto original cell " << origCelli - << ".\n" << "Manual renumbering data read from file " - << dataFile_ << nl + << "Renumbering range error. Index " << i + << " maps to cell " << origCelli << " from " << nCells << nl + << "Renumbering data read from file " << dataFile_ << endl << exit(FatalError); } @@ -124,8 +121,7 @@ Foam::labelList Foam::manualRenumber::renumber FatalErrorInFunction << "Renumbering is not one-to-one. Index " << i << " and " << oldToNew[origCelli] << " map onto " << origCelli << nl - << "Manual renumbering data read from file " - << dataFile_ << nl + << "Renumbering data read from file " << dataFile_ << endl << exit(FatalError); } } diff --git a/src/renumber/renumberMethods/manualRenumber/manualRenumber.H b/src/renumber/renumberMethods/manualRenumber/manualRenumber.H index 208a6d959b5..42cfded2049 100644 --- a/src/renumber/renumberMethods/manualRenumber/manualRenumber.H +++ b/src/renumber/renumberMethods/manualRenumber/manualRenumber.H @@ -80,41 +80,31 @@ public: virtual bool needs_mesh() const { return true; } - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - virtual labelList renumber(const pointField&) const - { - NotImplemented; - return labelList(); - } + // With mesh topology - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Uses mesh for regIOobject - virtual labelList renumber - ( - const polyMesh& mesh, - const pointField& cc - ) const; + //- Return the cell visit order (from ordered back to original cell id) + //- using the mesh for its IOobject and instance. + virtual labelList renumber(const polyMesh& mesh) const; + + + // With explicit topology - Not implemented! - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + //- Return the cell visit order (from ordered back to original cell id) + //- Not implemented! virtual labelList renumber ( - const CompactListList<label>& cellCells, - const pointField& cellCentres + const CompactListList<label>& cellCells ) const { NotImplemented; return labelList(); } - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + //- Return the cell visit order (from ordered back to original cell id) + //- Not implemented! virtual labelList renumber ( - const labelListList& cellCells, - const pointField& cellCentres + const labelListList& cellCells ) const { NotImplemented; diff --git a/src/renumber/renumberMethods/noRenumber/noRenumber.C b/src/renumber/renumberMethods/noRenumber/noRenumber.C index 63878303999..2e647b00048 100644 --- a/src/renumber/renumberMethods/noRenumber/noRenumber.C +++ b/src/renumber/renumberMethods/noRenumber/noRenumber.C @@ -60,6 +60,15 @@ Foam::noRenumber::noRenumber(const dictionary& dict) // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +Foam::labelList Foam::noRenumber::renumber +( + const label nCells +) const +{ + return Foam::identity(nCells); +} + + Foam::labelList Foam::noRenumber::renumber ( const pointField& cellCentres @@ -71,8 +80,7 @@ Foam::labelList Foam::noRenumber::renumber Foam::labelList Foam::noRenumber::renumber ( - const polyMesh& mesh, - const pointField& + const polyMesh& mesh ) const { return Foam::identity(mesh.nCells()); @@ -81,8 +89,7 @@ Foam::labelList Foam::noRenumber::renumber Foam::labelList Foam::noRenumber::renumber ( - const CompactListList<label>& cellCells, - const pointField& + const CompactListList<label>& cellCells ) const { return Foam::identity(cellCells.size()); @@ -91,8 +98,7 @@ Foam::labelList Foam::noRenumber::renumber Foam::labelList Foam::noRenumber::renumber ( - const labelListList& cellCells, - const pointField& + const labelListList& cellCells ) const { return Foam::identity(cellCells.size()); diff --git a/src/renumber/renumberMethods/noRenumber/noRenumber.H b/src/renumber/renumberMethods/noRenumber/noRenumber.H index 98273362da1..03a5c37018c 100644 --- a/src/renumber/renumberMethods/noRenumber/noRenumber.H +++ b/src/renumber/renumberMethods/noRenumber/noRenumber.H @@ -73,42 +73,48 @@ public: // Member Functions - //- The renumbering method does not require a polyMesh - virtual bool needs_mesh() const { return false; } + //- Renumbering method without mesh or cell-cell topology! + virtual bool no_topology() const { return true; } - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + // No topology + + //- Return the cell visit order (from ordered back to original cell id) + //- based solely on the number of cells. + virtual labelList renumber(const label nCells) const; + + //- Return the cell visit order (from ordered back to original cell id). + //- based solely on pointField size virtual labelList renumber(const pointField&) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + + // With mesh topology + + //- Return the cell visit order (from ordered back to original cell id) + //- using the mesh only for the number of cells virtual labelList renumber ( - //! Mesh number of cells - const polyMesh& mesh, - //! \em ignored - const pointField& cellCentres + //! Mesh provides the number of cells + const polyMesh& mesh ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + + // With explicit topology + + //- Return the cell visit order (from ordered back to original cell id) + //- using the topology only for the number of cells virtual labelList renumber ( - //! Mesh connectivity for number of cells - const CompactListList<label>& cellCells, - //! \em ignored - const pointField& cellCentres + //! Connectivity provides the number of cells + const CompactListList<label>& cellCells ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + //- Return the cell visit order (from ordered back to original cell id) + //- using the topology only for the number of cells virtual labelList renumber ( - //! Mesh connectivity for number of cells - const labelListList& cellCells, - //! \em ignored - const pointField& cellCentres + //! Connectivity provides the number of cells + const labelListList& cellCells ) const; }; diff --git a/src/renumber/renumberMethods/randomRenumber/randomRenumber.C b/src/renumber/renumberMethods/randomRenumber/randomRenumber.C index 4ae111352d7..2a79a544cb7 100644 --- a/src/renumber/renumberMethods/randomRenumber/randomRenumber.C +++ b/src/renumber/renumberMethods/randomRenumber/randomRenumber.C @@ -86,6 +86,15 @@ Foam::randomRenumber::randomRenumber(const dictionary& dict) // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +Foam::labelList Foam::randomRenumber::renumber +( + const label nCells +) const +{ + return randomMap(nCells); +} + + Foam::labelList Foam::randomRenumber::renumber ( const pointField& cellCentres @@ -97,8 +106,7 @@ Foam::labelList Foam::randomRenumber::renumber Foam::labelList Foam::randomRenumber::renumber ( - const polyMesh& mesh, - const pointField& + const polyMesh& mesh ) const { return randomMap(mesh.nCells()); @@ -107,8 +115,7 @@ Foam::labelList Foam::randomRenumber::renumber Foam::labelList Foam::randomRenumber::renumber ( - const CompactListList<label>& cellCells, - const pointField& + const CompactListList<label>& cellCells ) const { return randomMap(cellCells.size()); @@ -117,8 +124,7 @@ Foam::labelList Foam::randomRenumber::renumber Foam::labelList Foam::randomRenumber::renumber ( - const labelListList& cellCells, - const pointField& + const labelListList& cellCells ) const { return randomMap(cellCells.size()); diff --git a/src/renumber/renumberMethods/randomRenumber/randomRenumber.H b/src/renumber/renumberMethods/randomRenumber/randomRenumber.H index 5769be0ce74..8637f2e977b 100644 --- a/src/renumber/renumberMethods/randomRenumber/randomRenumber.H +++ b/src/renumber/renumberMethods/randomRenumber/randomRenumber.H @@ -72,42 +72,48 @@ public: // Member Functions - //- The renumbering method does not require a polyMesh - virtual bool needs_mesh() const { return false; } + //- Renumbering method without mesh or cell-cell topology! + virtual bool no_topology() const { return true; } - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + // No topology + + //- Return the cell visit order (from ordered back to original cell id) + //- based solely on the number of cells. + virtual labelList renumber(const label nCells) const; + + //- Return the cell visit order (from ordered back to original cell id). + //- based solely on pointField size virtual labelList renumber(const pointField&) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + + // With mesh topology + + //- Return the cell visit order (from ordered back to original cell id) + //- using the mesh only for the number of cells virtual labelList renumber ( - //! Mesh number of cells - const polyMesh& mesh, - //! \em ignored - const pointField& cellCentres + //! Mesh provides the number of cells + const polyMesh& mesh ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + + // With explicit topology + + //- Return the cell visit order (from ordered back to original cell id) + //- using the topology only for the number of cells virtual labelList renumber ( - //! Mesh connectivity for number of cells - const CompactListList<label>& cellCells, - //! \em ignored - const pointField& cellCentres + //! Connectivity provides the number of cells + const CompactListList<label>& cellCells ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + //- Return the cell visit order (from ordered back to original cell id) + //- using the topology only for the number of cells virtual labelList renumber ( - //! Mesh connectivity for number of cells - const labelListList& cellCells, - //! \em ignored - const pointField& cellCentres + //! Connectivity provides the number of cells + const labelListList& cellCells ) const; }; diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C index 7cb556bd8f2..cd31aac8326 100644 --- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C +++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -82,56 +82,37 @@ Foam::autoPtr<Foam::renumberMethod> Foam::renumberMethod::New // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::labelList Foam::renumberMethod::renumber -( - const pointField& -) const +Foam::labelList Foam::renumberMethod::renumber(const label nCells) const { NotImplemented; return labelList(); } -Foam::labelList Foam::renumberMethod::renumber -( - const polyMesh& mesh, - const pointField& points -) const +Foam::labelList Foam::renumberMethod::renumber(const pointField& cc) const { - // Local mesh connectivity - CompactListList<label> cellCells; - globalMeshData::calcCellCells(mesh, cellCells); - - return renumber(cellCells, points); + NotImplemented; + return labelList(); } Foam::labelList Foam::renumberMethod::renumber ( - const CompactListList<label>& cellCells, - const pointField& points + const polyMesh& mesh ) const { - return renumber(cellCells.unpack(), points); -} - + // Local mesh connectivity + CompactListList<label> cellCells; + globalMeshData::calcCellCells(mesh, cellCells); -Foam::labelList Foam::renumberMethod::renumber -( - const labelList& cellCells, - const labelList& offsets, - const pointField& cc -) const -{ - NotImplemented; - return labelList(); + return renumber(cellCells); } Foam::labelList Foam::renumberMethod::renumber ( const polyMesh& mesh, - const labelList& fineToCoarse, + const labelUList& fineToCoarse, const pointField& coarsePoints ) const { @@ -140,16 +121,13 @@ Foam::labelList Foam::renumberMethod::renumber ( mesh, fineToCoarse, - coarsePoints.size(), + coarsePoints.size(), // nLocalCoarse false, // local only (parallel = false) coarseCellCells ); // Renumber based on agglomerated points - labelList coarseDistribution - ( - renumber(coarseCellCells, coarsePoints) - ); + labelList coarseDistribution = renumber(coarseCellCells); // From coarse back to fine for original mesh return labelList(coarseDistribution, fineToCoarse); diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.H b/src/renumber/renumberMethods/renumberMethod/renumberMethod.H index 9bfa6dd6c54..ec751c5eeb6 100644 --- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.H +++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.H @@ -98,72 +98,99 @@ public: // Member Functions - //- Does renumbering method require a polyMesh? + //- Renumbering method without mesh or cell-cell topology + //- (very special case) + virtual bool no_topology() const { return false; } + + //- Renumbering method requires a polyMesh for its topology virtual bool needs_mesh() const { return false; } // No topology - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // This is only defined for geometric renumber methods. + //- Return the cell visit order (from ordered back to original cell id) + //- based solely on the number of cells. + // Only applicable for no_topology() methods. + virtual labelList renumber(const label nCells) const; + + //- Return the cell visit order (from ordered back to original cell id) + //- based solely on the cell centres (or number of cell centres). + // Only applicable for no_topology() methods. virtual labelList renumber(const pointField&) const; - // Topology provided by mesh + // With mesh topology + + //- Return the cell visit order (from ordered back to original cell id) + //- using the mesh to determine the connectivity. + virtual labelList renumber(const polyMesh& mesh) const; + - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Use the mesh connectivity (if needed) - virtual labelList renumber(const polyMesh&, const pointField&) const; + // With explicit topology - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Gets passed agglomeration map (from fine to coarse cells) and coarse - // cell - // location. Can be overridden by renumberMethods that provide this - // functionality natively. Coarse cells are local to the processor - // (if in parallel). If you want to have coarse cells spanning - // processors use the globalCellCells instead. + //- Return the cell visit order (from ordered back to original cell id), virtual labelList renumber ( - const polyMesh& mesh, - const labelList& fineToCoarse, - const pointField& coarsePoints - ) const; + //! Mesh connectivity + const CompactListList<label>& cellCells + ) const = 0; + + //- Return the cell visit order (from ordered back to original cell id), + virtual labelList renumber + ( + //! Mesh connectivity + const labelListList& cellCells + ) const = 0; - // Topology provided explicitly + // Housekeeping - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Addressing in losort addressing (= neighbour + offsets into - // neighbour) + //- Deprecated - the pointField is unused + // \deprecated(2024-03) the pointField is unused + FOAM_DEPRECATED_FOR(2024-03, "renumber(const polyMesh&)") virtual labelList renumber ( - const labelList& cellCells, - const labelList& offsets, + const polyMesh& mesh, const pointField& - ) const; - - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Uses 'unpack' internally, so should be overloaded when possible + ) const + { + return renumber(mesh); + } + + //- Deprecated - the pointField is unused + // \deprecated(2024-03) the pointField is unused + FOAM_DEPRECATED_FOR(2024-03, "renumber(const CompactListList<label>&)") virtual labelList renumber ( const CompactListList<label>& cellCells, - const pointField& cellCentres - ) const; - - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // The connectivity is equal to mesh.cellCells() except - // - the connections are across coupled patches + const pointField& + ) const + { + return renumber(cellCells); + } + + //- Deprecated - the pointField is unused + // \deprecated(2024-03) the pointField is unused + FOAM_DEPRECATED_FOR(2024-03, "renumber(const labelListList&)") virtual labelList renumber ( const labelListList& cellCells, - const pointField& cellCentres - ) const = 0; + const pointField& + ) const + { + return renumber(cellCells); + } + + //- Deprecated - renumbering with agglomeration map. + //- Calculate globalCellCells directly + // \deprecated(2024-03) calculate globalCellCells directly + FOAM_DEPRECATED_FOR(2024-03, "calcCellCells and renumber separately") + virtual labelList renumber + ( + const polyMesh& mesh, + const labelUList& fineToCoarse, + const pointField& coarsePoints + ) const; }; diff --git a/src/renumber/renumberMethods/springRenumber/springRenumber.C b/src/renumber/renumberMethods/springRenumber/springRenumber.C index b0063d6b59b..c46a8ef5f4e 100644 --- a/src/renumber/renumberMethods/springRenumber/springRenumber.C +++ b/src/renumber/renumberMethods/springRenumber/springRenumber.C @@ -159,8 +159,7 @@ Foam::labelList Foam::springRenumber::renumberImpl Foam::labelList Foam::springRenumber::renumber ( - const polyMesh& mesh, - const pointField& + const polyMesh& mesh ) const { // Local mesh connectivity @@ -173,8 +172,7 @@ Foam::labelList Foam::springRenumber::renumber Foam::labelList Foam::springRenumber::renumber ( - const CompactListList<label>& cellCells, - const pointField& + const CompactListList<label>& cellCells ) const { return renumberImpl(cellCells); @@ -183,8 +181,7 @@ Foam::labelList Foam::springRenumber::renumber Foam::labelList Foam::springRenumber::renumber ( - const labelListList& cellCells, - const pointField& + const labelListList& cellCells ) const { return renumberImpl(cellCells); diff --git a/src/renumber/renumberMethods/springRenumber/springRenumber.H b/src/renumber/renumberMethods/springRenumber/springRenumber.H index bf0d8ac8b51..5d95ca1469c 100644 --- a/src/renumber/renumberMethods/springRenumber/springRenumber.H +++ b/src/renumber/renumberMethods/springRenumber/springRenumber.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -111,40 +111,31 @@ public: // Member Functions - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // This is only defined for geometric renumberMethods. - virtual labelList renumber(const pointField&) const - { - NotImplemented; - return labelList(); - } - - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Use the mesh connectivity (if needed) + // With mesh topology + + //- Return the cell visit order (from ordered back to original cell id) + //- using the mesh to determine the connectivity. virtual labelList renumber ( - const polyMesh& mesh, - const pointField& + //! Mesh connectivity (see globalMeshData::calcCellCells) + const polyMesh& mesh ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + + // With explicit topology + + //- Return the cell visit order (from ordered back to original cell id) virtual labelList renumber ( - const CompactListList<label>& cellCells, - const pointField& cellCentres + //! Mesh connectivity + const CompactListList<label>& cellCells ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // The connectivity is equal to mesh.cellCells() except - // - the connections are across coupled patches + //- Return the cell visit order (from ordered back to original cell id) virtual labelList renumber ( - const labelListList& cellCells, - const pointField& cellCentres + //! Mesh connectivity + const labelListList& cellCells ) const; }; diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C index f5a13168a97..7f250083379 100644 --- a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C +++ b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -137,18 +137,9 @@ bool Foam::structuredRenumber::layerLess::operator() Foam::labelList Foam::structuredRenumber::renumber ( - const polyMesh& mesh, - const pointField& points + const polyMesh& mesh ) const { - if (points.size() != mesh.nCells()) - { - FatalErrorInFunction - << "Number of points " << points.size() - << " should equal the number of cells " << mesh.nCells() - << exit(FatalError); - } - const polyBoundaryMesh& pbm = mesh.boundaryMesh(); const labelHashSet patchIDs(pbm.patchSet(patches_)); @@ -187,21 +178,20 @@ Foam::labelList Foam::structuredRenumber::renumber dynamic_cast<const fvMesh&>(mesh), patchCells ); - const fvMesh& subMesh = subsetter.subMesh(); - pointField subPoints(points, subsetter.cellMap()); + const labelList& cellMap = subsetter.cellMap(); // Locally renumber the layer of cells - labelList subOrder(method_().renumber(subMesh, subPoints)); + labelList subOrder = method_().renumber(subsetter.subMesh()); labelList subOrigToOrdered(invert(subOrder.size(), subOrder)); - globalIndex globalSubCells(subOrder.size()); + const globalIndex globalSubCells(subOrder.size()); // Transfer to final decomposition and convert into global numbering forAll(subOrder, i) { - orderedToOld[subsetter.cellMap()[i]] = + orderedToOld[cellMap[i]] = globalSubCells.toGlobal(subOrigToOrdered[i]); } } @@ -253,11 +243,7 @@ Foam::labelList Foam::structuredRenumber::renumber // by any visited cell so are used only if the number of nLayers is limited. labelList oldToOrdered ( - invert - ( - mesh.nCells(), - method_().renumber(mesh, points) - ) + invert(mesh.nCells(), method_().renumber(mesh)) ); // Use specialised sorting to sorted either layers or columns first diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H index f4368628323..37477cfe15a 100644 --- a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H +++ b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H @@ -132,46 +132,38 @@ public: // Member Functions - //- Renumbering method requires a polyMesh + //- Renumbering method requires a polyMesh! virtual bool needs_mesh() const { return true; } - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // This is only defined for geometric renumberMethods. - virtual labelList renumber(const pointField&) const - { - NotImplemented; - return labelList(); - } + // With mesh topology - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Use the mesh connectivity (if needed) + //- Return the cell visit order (from ordered back to original cell id) + // using the mesh. virtual labelList renumber ( - const polyMesh& mesh, - const pointField& cc + const polyMesh& mesh ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + + // With explicit topology - Not implemented! + + //- Return the cell visit order (from ordered back to original cell id). + //- Not implemented! virtual labelList renumber ( - const CompactListList<label>& cellCells, - const pointField& cellCentres + const CompactListList<label>& cellCells ) const { NotImplemented; return labelList(); } - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + //- Return the cell visit order (from ordered back to original cell id). + //- Not implemented! virtual labelList renumber ( - const labelListList& cellCells, - const pointField& cellCentres + const labelListList& cellCells ) const { NotImplemented; diff --git a/src/renumber/zoltanRenumber/zoltanRenumber.C b/src/renumber/zoltanRenumber/zoltanRenumber.C index 5cd44e11932..58348e8dc93 100644 --- a/src/renumber/zoltanRenumber/zoltanRenumber.C +++ b/src/renumber/zoltanRenumber/zoltanRenumber.C @@ -24,10 +24,7 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. -Class - Foam::zoltanRenumber - -Description +Notes Renumber using Zoltan Zoltan install: @@ -46,9 +43,6 @@ Description --prefix=$ZOLTAN_ARCH_DIR \ --with-ccflags=-fPIC --with-cxxflags=-fPIC --with-ldflags=-shared -SourceFiles - zoltanRenumber.C - \*---------------------------------------------------------------------------*/ #include "zoltanRenumber.H" @@ -365,8 +359,7 @@ Foam::zoltanRenumber::zoltanRenumber(const dictionary& dict) Foam::labelList Foam::zoltanRenumber::renumber ( - const polyMesh& pMesh, - const pointField& points + const polyMesh& pMesh ) const { // Zoltan_Initialize will trigger MPI_Init() if not already done. diff --git a/src/renumber/zoltanRenumber/zoltanRenumber.H b/src/renumber/zoltanRenumber/zoltanRenumber.H index b6f7c625ef2..c7446ec297a 100644 --- a/src/renumber/zoltanRenumber/zoltanRenumber.H +++ b/src/renumber/zoltanRenumber/zoltanRenumber.H @@ -83,46 +83,38 @@ public: // Member Functions - //- Renumbering method requires a polyMesh + //- Renumbering method requires a polyMesh for its topology virtual bool needs_mesh() const { return true; } - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // This is only defined for geometric renumberMethods. - virtual labelList renumber(const pointField&) const - { - NotImplemented; - return labelList(); - } + // With mesh topology - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). - // Use the mesh connectivity (if needed) + //- Return the cell visit order (from ordered back to original cell id) + //- uses the mesh for connectivity and global exchanges virtual labelList renumber ( - const polyMesh& mesh, - const pointField& cc + const polyMesh& mesh ) const; - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + + // With explicit topology - Not implemented! + + //- Return the cell visit order (from ordered back to original cell id). + //- Not implemented! virtual labelList renumber ( - const CompactListList<label>& cellCells, - const pointField& cellCentres + const CompactListList<label>& cellCells ) const { NotImplemented; return labelList(); } - //- Return the order in which cells need to be visited - //- (ie. from ordered back to original cell label). + //- Return the cell visit order (from ordered back to original cell id). + //- Not implemented! virtual labelList renumber ( - const labelListList& cellCells, - const pointField& cellCentres + const labelListList& cellCells ) const { NotImplemented; -- GitLab From ef47662131f8c1fac283dd8cd0e6ea4dfa5e5759 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 23 Feb 2024 09:47:18 +0000 Subject: [PATCH 094/231] STYLE: liquidFilmModel - report film initial temperature when T0 employed --- src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C index 00f0d1b6824..611e75abea3 100644 --- a/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C +++ b/src/regionFaModels/liquidFilm/liquidFilmModel/liquidFilmModel.C @@ -239,6 +239,8 @@ liquidFilmModel::liquidFilmModel { if (dict.readIfPresent("T0", Tref_)) { + Info<< "Initialised film temperature to T0" << endl; + Tf_ = dimensionedScalar("T0", dimTemperature, dict); } correctThermoFields(); -- GitLab From cff9c7b60c423a8fe7ad08101e1e97d3b4131f24 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 11 Mar 2024 14:17:47 +0000 Subject: [PATCH 095/231] ENH: singleCellFvMesh - added access to patchFaceAgglomeration --- .../fvMesh/singleCellFvMesh/singleCellFvMesh.H | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.H b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.H index c5b2a4417db..7e7e9aa1b9d 100644 --- a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.H +++ b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.H @@ -29,7 +29,7 @@ Class Description fvMesh as subset of other mesh. Consists of one cell and all original - bounday faces. Useful when manipulating boundary data. Single internal + boundary faces. Useful when manipulating boundary data. Single internal cell only needed to be able to manipulate in a standard way. SourceFiles @@ -60,6 +60,7 @@ class singleCellFvMesh { // Private Data + //- Fine patch face to agglomeration index addressing const labelListIOList patchFaceAgglomeration_; //- From patch faces back to agglomeration or fine mesh @@ -184,6 +185,12 @@ public: return !patchFaceAgglomeration_.empty(); } + //- Fine patch face to agglomeration index addressing + const labelListList& patchFaceAgglomeration() const noexcept + { + return patchFaceAgglomeration_; + } + //- From patchFace on this back to original mesh or agglomeration const labelListList& patchFaceMap() const noexcept { -- GitLab From 28e212030d7f0a3051d3a39fb2f0d46cb511afea Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 12 Mar 2024 16:46:18 +0100 Subject: [PATCH 096/231] CONFIG: increment API level to 2401 --- META-INFO/api-info | 2 +- wmake/rules/General/general | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/META-INFO/api-info b/META-INFO/api-info index 1952c86b399..73127b748e7 100644 --- a/META-INFO/api-info +++ b/META-INFO/api-info @@ -1,2 +1,2 @@ -api=2312 +api=2401 patch=240220 diff --git a/wmake/rules/General/general b/wmake/rules/General/general index ad982b7a1c6..eb0547fa53c 100644 --- a/wmake/rules/General/general +++ b/wmake/rules/General/general @@ -1,5 +1,5 @@ #-------------------------------*- makefile -*--------------------------------- -WM_VERSION = OPENFOAM=2312 +WM_VERSION = OPENFOAM=2401 AR = ar ARFLAGS = cr -- GitLab From 3973cf7a839a8d953aa457864990b288b0cafc0e Mon Sep 17 00:00:00 2001 From: Mattijs Janssens <ext-mjanssens@esi-group.com> Date: Wed, 13 Mar 2024 14:44:13 +0000 Subject: [PATCH 097/231] Feature overlapping zones --- .../meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C | 94 +- .../meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H | 15 +- src/dynamicMesh/polyMeshAdder/polyMeshAdder.C | 123 ++- src/meshTools/polyTopoChange/polyTopoChange.C | 900 ++++++++++++++++-- src/meshTools/polyTopoChange/polyTopoChange.H | 126 ++- .../polyTopoChange/polyTopoChangeTemplates.C | 26 +- .../mesh/parallel/filter/system/fvOptions | 23 + .../mesh/parallel/filter/system/topoSetDict | 36 +- 8 files changed, 1160 insertions(+), 183 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C index 29ead1a45e6..9fa134061a9 100644 --- a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,17 +83,77 @@ void Foam::ZoneMesh<ZoneType, MeshType>::calcZoneMap() const map.reserve(this->totalSize()); const PtrList<ZoneType>& zones = *this; + label zonei = 0; for (const ZoneType& zn : zones) { for (const label id : static_cast<const labelList&>(zn)) { - map.insert(id, zonei); + //map.insert(id, zonei); + const auto fnd = map.cfind(id); + if (!fnd) + { + map.insert(id, zonei); + } + else if (fnd() != zonei) + { + // Multiple zones for same id + + if (!additionalMapPtr_) + { + // First occurrence + label maxIndex = -1; + for (const ZoneType& zn : zones) + { + for + ( + const label id + : static_cast<const labelList&>(zn) + ) + { + maxIndex = max(maxIndex, id); + } + } + additionalMapPtr_.reset(new labelListList(maxIndex+1)); + } + auto& additionalMap = *additionalMapPtr_; + additionalMap[id].push_uniq(zonei); + } } ++zonei; } + + // Sort such that map contains lowest zoneID + if (additionalMapPtr_) + { + auto& additionalMap = *additionalMapPtr_; + forAll(additionalMap, id) + { + labelList& zones = additionalMap[id]; + + if (zones.size()) + { + stableSort(zones); + const label zonei = map[id]; + const label index = findLower(zones, zonei); + if (index == -1) + { + // Already first + } + else + { + map.set(id, zones[0]); + for (label i = 0; i < zones.size() && i <= index; i++) + { + zones[i] = zones[i+1]; + } + zones[index+1] = zonei; + } + } + } + } } } @@ -358,6 +418,35 @@ Foam::label Foam::ZoneMesh<ZoneType, MeshType>::whichZone } +template<class ZoneType, class MeshType> +Foam::label Foam::ZoneMesh<ZoneType, MeshType>::whichZones +( + const label objectIndex, + DynamicList<label>& zones +) const +{ + zones.clear(); + const auto fnd = zoneMap().find(objectIndex); + if (fnd) + { + // Add main element + zones.push_back(fnd()); + if (additionalMapPtr_) + { + const auto& additionalMap = *additionalMapPtr_; + if (objectIndex < additionalMap.size()) + { + for (const label zonei : additionalMap[objectIndex]) + { + zones.push_uniq(zonei); + } + } + } + } + return zones.size(); +} + + template<class ZoneType, class MeshType> Foam::wordList Foam::ZoneMesh<ZoneType, MeshType>::types() const { @@ -814,6 +903,7 @@ template<class ZoneType, class MeshType> void Foam::ZoneMesh<ZoneType, MeshType>::clearLocalAddressing() { zoneMapPtr_.reset(nullptr); + additionalMapPtr_.reset(nullptr); groupIDsPtr_.reset(nullptr); } diff --git a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H index 90ab8ca1542..fa6d3eb0435 100644 --- a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -76,6 +76,10 @@ class ZoneMesh //- Demand-driven: map of zone labels for given element mutable std::unique_ptr<Map<label>> zoneMapPtr_; + //- Demand-driven: map of additional zone labels for given element. + // Only populated if overlapping zones + mutable std::unique_ptr<labelListList> additionalMapPtr_; + //- Demand-driven: list of zone ids per group mutable std::unique_ptr<HashTable<labelList>> groupIDsPtr_; @@ -190,6 +194,15 @@ public: // If object does not belong to any zones, return -1 label whichZone(const label objectIndex) const; + //- Given a global object index, return (in argument) the zones it is + // in. Returns number of zones (0 if object does not belong to any + // zones) + label whichZones + ( + const label objectIndex, + DynamicList<label>& zones + ) const; + //- Return a list of zone types wordList types() const; diff --git a/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C b/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C index 85ce1edb056..d5634a7cccb 100644 --- a/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C +++ b/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C @@ -2698,37 +2698,14 @@ void Foam::polyMeshAdder::add const polyMesh& mesh = meshes[meshi]; const cellZoneMesh& cellZones = mesh.cellZones(); - // Precalc offset zones - labelList newZoneID(mesh.nCells(), -1); - - forAll(cellZones, zonei) - { - const labelList& cellLabels = cellZones[zonei]; - - for (const label celli : cellLabels) - { - if (newZoneID[celli] != -1) - { - WarningInFunction - << "Cell:" << celli - << " centre:" << mesh.cellCentres()[celli] - << " is in two zones:" - << cellZones[newZoneID[celli]].name() - << " and " << cellZones[zonei].name() << endl - << " This is not supported." - << " Continuing with first zone only." << endl; - } - else - { - newZoneID[celli] = cellZoneMap[meshi][zonei]; - } - } - } - // Add cells in mesh order cellProcAddressing[meshi].setSize(mesh.nCells()); + DynamicList<label> zones; for (label celli = 0; celli < mesh.nCells(); celli++) { + // Get current zones and renumber + cellZones.whichZones(celli, zones); + inplaceRenumber(cellZoneMap[meshi], zones); // Add cell from cell cellProcAddressing[meshi][celli] = meshMod.addCell ( @@ -2736,7 +2713,7 @@ void Foam::polyMeshAdder::add -1, -1, celli, - newZoneID[celli] + zones ); } } @@ -2755,30 +2732,21 @@ void Foam::polyMeshAdder::add const pointField& points = mesh.points(); const pointZoneMesh& pointZones = mesh.pointZones(); - // Precalc offset zones - labelList newZoneID(points.size(), -1); - - forAll(pointZones, zonei) - { - const labelList& pointLabels = pointZones[zonei]; - - for (const label pointi : pointLabels) - { - newZoneID[pointi] = pointZoneMap[meshi][zonei]; - } - } - // Add points in mesh order const labelList& myUniquePoints = uniquePoints[meshi]; + DynamicList<label> zones; for (const label pointi : myUniquePoints) { + // Get current zones and renumber + pointZones.whichZones(pointi, zones); + inplaceRenumber(pointZoneMap[meshi], zones); // Rewrite the addressing (should already be compact) just in // case the polyTopoChange does some special ordering pointProcAddressing[meshi][pointi] = meshMod.addPoint ( points[pointi], pointi, - newZoneID[pointi], + zones, true ); } @@ -2813,21 +2781,8 @@ void Foam::polyMeshAdder::add const labelList& faceNeighbour = mesh.faceNeighbour(); const faceZoneMesh& faceZones = mesh.faceZones(); - // Precalc offset zones - labelList newZoneID(faces.size(), -1); - boolList zoneFlip(faces.size(), false); - - forAll(faceZones, zonei) - { - const labelList& faceLabels = faceZones[zonei]; - const boolList& flipMap = faceZones[zonei].flipMap(); - - forAll(faceLabels, facei) - { - newZoneID[faceLabels[facei]] = faceZoneMap[meshi][zonei]; - zoneFlip[faceLabels[facei]] = flipMap[facei]; - } - } + DynamicList<label> zones; + DynamicList<bool> flips; // Add faces in mesh order @@ -2846,14 +2801,28 @@ void Foam::polyMeshAdder::add { newFace[fp] = pointProcAddressing[meshi][f[fp]]; } + + // Get current zones and renumber + faceZones.whichZones(facei, zones); + flips.clear(); + forAll(zones, i) + { + const label zonei = zones[i]; + const label index = faceZones[zonei].localID(facei); + flips.append(faceZones[zonei].flipMap()[index]); + } + inplaceRenumber(faceZoneMap[meshi], zones); + bool flipFaceFlux = false; - bool flip = zoneFlip[facei]; if (newNei < newOwn) { std::swap(newOwn, newNei); newFace = newFace.reverseFace(); flipFaceFlux = !flipFaceFlux; - flip = !flip; + for (bool& flip : flips) + { + flip = !flip; + } } const label newFacei = meshMod.addFace @@ -2866,8 +2835,8 @@ void Foam::polyMeshAdder::add facei, // masterFaceID flipFaceFlux, // flipFaceFlux -1, // patchID - newZoneID[facei], // zoneID - flip // zoneFlip + zones, // zoneIDs + flips // zoneFlips ); faceProcAddressing[meshi][facei] = newFacei; @@ -2892,6 +2861,17 @@ void Foam::polyMeshAdder::add const label newOwn = cellProcAddressing[meshi][faceOwner[facei]]; + faceZones.whichZones(facei, zones); + flips.clear(); + forAll(zones, i) + { + const label zonei = zones[i]; + const label index = faceZones[zonei].localID(facei); + flips.append(faceZones[zonei].flipMap()[index]); + } + inplaceRenumber(faceZoneMap[meshi], zones); + + // Neighbour mesh face const auto& nbrMesh = meshes[nbrMeshi]; const label nbrFacei = nbrMesh.nInternalFaces()+nbrBFacei; @@ -2912,7 +2892,6 @@ void Foam::polyMeshAdder::add newFace[fp] = pointProcAddressing[meshi][f[fp]]; } const bool flipFaceFlux = false; - const bool flip = zoneFlip[facei]; const label newFacei = meshMod.addFace ( newFace, @@ -2923,8 +2902,8 @@ void Foam::polyMeshAdder::add facei, // masterFaceID flipFaceFlux, // flipFaceFlux -1, // patchID - newZoneID[facei], // zoneID - flip // zoneFlip + zones, // zoneIDs + flips // zoneFlips ); faceProcAddressing[meshi][facei] = newFacei; @@ -2960,6 +2939,18 @@ void Foam::polyMeshAdder::add newFace[fp] = pointProcAddressing[meshi][f[fp]]; } + faceZones.whichZones(facei, zones); + flips.clear(); + forAll(zones, i) + { + const label zonei = zones[i]; + const label index = + faceZones[zonei].localID(facei); + flips.append(faceZones[zonei].flipMap()[index]); + } + inplaceRenumber(faceZoneMap[meshi], zones); + + const label newFacei = meshMod.addFace ( newFace, @@ -2970,8 +2961,8 @@ void Foam::polyMeshAdder::add facei, // masterFaceID false, // flipFaceFlux newPatchi, // patchID - newZoneID[facei], // zoneID - zoneFlip[facei] // zoneFlip + zones, // zoneID + flips // zoneFlip ); faceProcAddressing[meshi][facei] = newFacei; diff --git a/src/meshTools/polyTopoChange/polyTopoChange.C b/src/meshTools/polyTopoChange/polyTopoChange.C index 9d63159f40c..822ff1efe4a 100644 --- a/src/meshTools/polyTopoChange/polyTopoChange.C +++ b/src/meshTools/polyTopoChange/polyTopoChange.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -905,6 +905,11 @@ void Foam::polyTopoChange::reorderCompactFaces renumberKey(oldToNew, faceZone_); inplaceReorder(oldToNew, faceZoneFlip_); faceZoneFlip_.setCapacity(newSize); + if (faceAdditionalZones_.size()) + { + inplaceReorder(oldToNew, faceAdditionalZones_); + faceAdditionalZones_.setCapacity(newSize); + } } @@ -913,6 +918,7 @@ void Foam::polyTopoChange::shrink() points_.shrink(); pointMap_.shrink(); reversePointMap_.shrink(); + pointAdditionalZones_.shrink(); faces_.shrink(); region_.shrink(); @@ -920,10 +926,12 @@ void Foam::polyTopoChange::shrink() faceNeighbour_.shrink(); faceMap_.shrink(); reverseFaceMap_.shrink(); + faceAdditionalZones_.shrink(); cellMap_.shrink(); reverseCellMap_.shrink(); cellZone_.shrink(); + cellAdditionalZones_.shrink(); } @@ -1091,6 +1099,10 @@ void Foam::polyTopoChange::compact renumberKey(localPointMap, pointZone_); renumber(localPointMap, retiredPoints_); + if (pointAdditionalZones_.size()) + { + reorder(localPointMap, pointAdditionalZones_); + } // Use map to relabel face vertices forAll(faces_, facei) @@ -1191,6 +1203,11 @@ void Foam::polyTopoChange::compact reorder(localCellMap, cellZone_); cellZone_.setCapacity(newCelli); + if (cellAdditionalZones_.size()) + { + reorder(localCellMap, cellAdditionalZones_); + cellAdditionalZones_.setCapacity(newCelli); + } renumberKey(localCellMap, cellFromPoint_); renumberKey(localCellMap, cellFromEdge_); @@ -1224,6 +1241,14 @@ void Foam::polyTopoChange::compact std::swap(faceOwner_[facei], faceNeighbour_[facei]); flipFaceFlux_.flip(facei); faceZoneFlip_.flip(facei); + if (facei < faceAdditionalZones_.size()) + { + for (auto& zas : faceAdditionalZones_[facei]) + { + // Flip sign + zas = -zas; + } + } } } } @@ -1582,6 +1607,19 @@ void Foam::polyTopoChange::resetZones } nPoints[zonei]++; } + forAll(pointAdditionalZones_, pointi) + { + for (const label zonei : pointAdditionalZones_[pointi]) + { + if (zonei < 0 || zonei >= pointZones.size()) + { + FatalErrorInFunction + << "Illegal zoneID " << zonei << " for point " + << pointi << abort(FatalError); + } + nPoints[zonei]++; + } + } // Distribute points per zone @@ -1599,6 +1637,13 @@ void Foam::polyTopoChange::resetZones addressing[zonei][nPoints[zonei]++] = pointi; } + forAll(pointAdditionalZones_, pointi) + { + for (const label zonei : pointAdditionalZones_[pointi]) + { + addressing[zonei][nPoints[zonei]++] = pointi; + } + } // Sort the addressing forAll(addressing, zonei) { @@ -1668,6 +1713,20 @@ void Foam::polyTopoChange::resetZones } nFaces[zonei]++; } + forAll(faceAdditionalZones_, facei) + { + for (const label zoneAndSign : faceAdditionalZones_[facei]) + { + const label zonei = mag(zoneAndSign)-1; + if (zonei < 0 || zonei >= faceZones.size()) + { + FatalErrorInFunction + << "Illegal zoneID " << zonei << " for face " + << facei << abort(FatalError); + } + nFaces[zonei]++; + } + } labelListList addressing(faceZones.size()); boolListList flipMode(faceZones.size()); @@ -1685,9 +1744,21 @@ void Foam::polyTopoChange::resetZones const label zonei = iter.val(); const label index = nFaces[zonei]++; - addressing[zonei][index] = facei; flipMode[zonei][index] = faceZoneFlip_.test(facei); + + if (facei < faceAdditionalZones_.size()) + { + for (const label zoneAndSign : faceAdditionalZones_[facei]) + { + const label zonei = mag(zoneAndSign)-1; + const bool flip = (zoneAndSign > 0); + + const label index = nFaces[zonei]++; + addressing[zonei][index] = facei; + flipMode[zonei][index] = flip; + } + } } // Sort the addressing @@ -1784,6 +1855,20 @@ void Foam::polyTopoChange::resetZones nCells[zonei]++; } } + forAll(cellAdditionalZones_, celli) + { + for (const label zonei : cellAdditionalZones_[celli]) + { + if (zonei < 0 || zonei >= cellZones.size()) + { + FatalErrorInFunction + << "Illegal zoneID " << zonei << " for cell " + << celli << abort(FatalError); + } + nCells[zonei]++; + } + } + labelListList addressing(cellZones.size()); forAll(addressing, zonei) @@ -1801,6 +1886,13 @@ void Foam::polyTopoChange::resetZones addressing[zonei][nCells[zonei]++] = celli; } } + forAll(cellAdditionalZones_, celli) + { + for (const label zonei : cellAdditionalZones_[celli]) + { + addressing[zonei][nCells[zonei]++] = celli; + } + } // Sort the addressing forAll(addressing, zonei) { @@ -2236,6 +2328,7 @@ void Foam::polyTopoChange::clear() pointMap_.clearStorage(); reversePointMap_.clearStorage(); pointZone_.clearStorage(); + pointAdditionalZones_.clearStorage(); retiredPoints_.clearStorage(); faces_.clearStorage(); @@ -2249,11 +2342,13 @@ void Foam::polyTopoChange::clear() flipFaceFlux_.clearStorage(); faceZone_.clearStorage(); faceZoneFlip_.clearStorage(); + faceAdditionalZones_.clearStorage(); nActiveFaces_ = 0; cellMap_.clearStorage(); reverseCellMap_.clearStorage(); cellZone_.clearStorage(); + cellAdditionalZones_.clearStorage(); cellFromPoint_.clearStorage(); cellFromEdge_.clearStorage(); cellFromFace_.clearStorage(); @@ -2288,30 +2383,43 @@ void Foam::polyTopoChange::addMesh reversePointMap_.setCapacity(reversePointMap_.size() + points.size()); pointZone_.resize(pointZone_.size() + points.size()/128); - // Precalc offset zones - labelList newZoneID(points.size(), -1); - - forAll(pointZones, zonei) - { - const labelList& pointLabels = pointZones[zonei]; - - for (const label pointi : pointLabels) - { - newZoneID[pointi] = pointZoneMap[zonei]; - } - } - - // Add points in mesh order - for (label pointi = 0; pointi < mesh.nPoints(); pointi++) + // Add points without pointZone + labelList newPointID(points.size()); + forAll(newPointID, pointi) { - addPoint + // Add point from point + newPointID[pointi] = addPoint ( points[pointi], pointi, - newZoneID[pointi], + -1, true ); } + + // Modify for pointZones + DynamicList<label> zones; + forAll(pointZones, zonei) + { + for (const label pointi : pointZones[zonei]) + { + // Get previous zones + this->pointZones(newPointID[pointi], zones); + for (auto& zonei : zones) + { + zonei = pointZoneMap[zonei]; + } + // Add new zone + zones.append(pointZoneMap[zonei]); + modifyPoint + ( + newPointID[pointi], + points_[newPointID[pointi]], + zones, + true + ); + } + } } // Add cells @@ -2332,39 +2440,31 @@ void Foam::polyTopoChange::addMesh cellZone_.setCapacity(cellZone_.size() + nAllCells); - // Precalc offset zones - labelList newZoneID(nAllCells, -1); + // Add cells without cellZone + labelList newCellID(nAllCells); + for (label celli = 0; celli < nAllCells; celli++) + { + // Add cell from cell + newCellID[celli] = addCell(-1, -1, -1, celli, -1); + } + // Modify for cellZones + DynamicList<label> zones; forAll(cellZones, zonei) { - const labelList& cellLabels = cellZones[zonei]; - - for (const label celli : cellLabels) + for (const label celli : cellZones[zonei]) { - if (newZoneID[celli] != -1) - { - WarningInFunction - << "Cell:" << celli - << " centre:" << mesh.cellCentres()[celli] - << " is in two zones:" - << cellZones[newZoneID[celli]].name() - << " and " << cellZones[zonei].name() << endl - << " This is not supported." - << " Continuing with first zone only." << endl; - } - else + // Get previous zones + this->cellZones(newCellID[celli], zones); + for (auto& zonei : zones) { - newZoneID[celli] = cellZoneMap[zonei]; + zonei = cellZoneMap[zonei]; } + // Add new zone + zones.append(cellZoneMap[zonei]); + modifyCell(newCellID[celli], zones); } } - - // Add cells in mesh order - for (label celli = 0; celli < nAllCells; celli++) - { - // Add cell from cell - addCell(-1, -1, -1, celli, newZoneID[celli]); - } } // Add faces @@ -2388,31 +2488,16 @@ void Foam::polyTopoChange::addMesh faceFromEdge_.resize(faceFromEdge_.size() + nAllFaces/128); flipFaceFlux_.setCapacity(faces_.size() + nAllFaces); faceZone_.resize(faceZone_.size() + nAllFaces/128); - faceZoneFlip_.setCapacity(faces_.size() + nAllFaces); - - - // Precalc offset zones - labelList newZoneID(nAllFaces, -1); - boolList zoneFlip(nAllFaces, false); - - forAll(faceZones, zonei) - { - const labelList& faceLabels = faceZones[zonei]; - const boolList& flipMap = faceZones[zonei].flipMap(); + faceZoneFlip_.setCapacity(faceMap_.capacity()); - forAll(faceLabels, facei) - { - newZoneID[faceLabels[facei]] = faceZoneMap[zonei]; - zoneFlip[faceLabels[facei]] = flipMap[facei]; - } - } - // Add faces in mesh order + // Add faces (in mesh order) without faceZone + labelList newFaceID(nAllFaces); // 1. Internal faces for (label facei = 0; facei < mesh.nInternalFaces(); facei++) { - addFace + newFaceID[facei] = addFace ( faces[facei], faceOwner[facei], @@ -2422,8 +2507,8 @@ void Foam::polyTopoChange::addMesh facei, // masterFaceID false, // flipFaceFlux -1, // patchID - newZoneID[facei], // zoneID - zoneFlip[facei] // zoneFlip + -1, // zoneID + false // zoneFlip ); } @@ -2446,7 +2531,7 @@ void Foam::polyTopoChange::addMesh { const label facei = pp.start() + patchFacei; - addFace + newFaceID[facei] = addFace ( faces[facei], faceOwner[facei], @@ -2456,8 +2541,49 @@ void Foam::polyTopoChange::addMesh facei, // masterFaceID false, // flipFaceFlux patchMap[patchi], // patchID - newZoneID[facei], // zoneID - zoneFlip[facei] // zoneFlip + -1, // zoneID + false // zoneFlip + ); + } + } + + + // Modify for faceZones + + DynamicList<label> zones; + DynamicList<bool> flips; + forAll(faceZones, zonei) + { + const auto& fz = faceZones[zonei]; + + forAll(fz, i) + { + const label facei = fz[i]; + const bool flip = fz.flipMap()[i]; + + // Modify face index for combined zones + const label newFacei = newFaceID[facei]; + + // Get previous zones + this->faceZones(newFacei, zones, flips); + for (auto& zonei : zones) + { + zonei = faceZoneMap[zonei]; + } + // Add new zone + zones.append(faceZoneMap[zonei]); + flips.append(flip); + + modifyFace + ( + faces_[newFacei], + newFacei, + faceOwner_[newFacei], + faceNeighbour_[newFacei], + flipFaceFlux_(newFacei), + region_[newFacei], + zones, + flips ); } } @@ -2644,6 +2770,57 @@ Foam::label Foam::polyTopoChange::addPoint { pointZone_.insert(pointi, zoneID); } + // Delay extending the pointAdditionalZones + + if (!inCell) + { + retiredPoints_.insert(pointi); + } + + return pointi; +} + + +Foam::label Foam::polyTopoChange::addPoint +( + const point& pt, + const label masterPointID, + const labelUList& zoneIDs, + const bool inCell +) +{ + const label pointi = points_.size(); + + points_.append(pt); + pointMap_.append(masterPointID); + reversePointMap_.append(pointi); + + if (zoneIDs.size()) + { + const label minIndex = findMin(zoneIDs); + + pointZone_.set(pointi, zoneIDs[minIndex]); + + // Clear any additional storage + if (pointi < pointAdditionalZones_.size()) + { + pointAdditionalZones_[pointi].clear(); + } + // (auto-vivify and) store additional zones + forAll(zoneIDs, i) + { + if (i != minIndex) + { + if (zoneIDs[i] == zoneIDs[minIndex]) + { + FatalErrorInFunction << "Duplicates in zones " + << flatOutput(zoneIDs) << " for point " << pointi + << exit(FatalError); + } + pointAdditionalZones_(pointi).push_uniq(zoneIDs[i]); + } + } + } if (!inCell) { @@ -2659,6 +2836,88 @@ void Foam::polyTopoChange::modifyPoint const label pointi, const point& pt, const label zoneID, + const bool inCell, + const bool multiZone +) +{ + if (pointi < 0 || pointi >= points_.size()) + { + FatalErrorInFunction + << "illegal point label " << pointi << endl + << "Valid point labels are 0 .. " << points_.size()-1 + << abort(FatalError); + } + if (pointRemoved(pointi) || pointMap_[pointi] == -1) + { + FatalErrorInFunction + << "point " << pointi << " already marked for removal" + << abort(FatalError); + } + points_[pointi] = pt; + + if (!multiZone) + { + if (zoneID >= 0) + { + pointZone_.set(pointi, zoneID); + } + else + { + pointZone_.erase(pointi); + } + if (pointi < pointAdditionalZones_.size()) + { + pointAdditionalZones_[pointi].clear(); + } + } + else + { + auto fnd = pointZone_.find(pointi); + if (!fnd) + { + pointZone_.set(pointi, zoneID); + + // Check that no leftover additional zones + if (pointAdditionalZones_(pointi).size()) + { + FatalErrorInFunction + << "Additional zones for point:" + << pointAdditionalZones_(pointi) + << abort(FatalError); + } + } + else if (zoneID == -1) + { + // Clear + pointZone_.erase(fnd); + if (pointi < pointAdditionalZones_.size()) + { + pointAdditionalZones_[pointi].clear(); + } + } + else if (zoneID != fnd()) + { + // New zone. Store in additional storage. + pointAdditionalZones_(pointi).push_uniq(zoneID); + } + } + + if (inCell) + { + retiredPoints_.erase(pointi); + } + else + { + retiredPoints_.insert(pointi); + } +} + + +void Foam::polyTopoChange::modifyPoint +( + const label pointi, + const point& pt, + const labelUList& zoneIDs, const bool inCell ) { @@ -2677,13 +2936,33 @@ void Foam::polyTopoChange::modifyPoint } points_[pointi] = pt; - if (zoneID >= 0) + if (zoneIDs.size()) { - pointZone_.set(pointi, zoneID); + if (zoneIDs.found(-1)) + { + FatalErrorInFunction + << "zones cannot contain -1 : " << flatOutput(zoneIDs) + << " for point:" << pointi + << abort(FatalError); + } + + pointZone_.set(pointi, zoneIDs[0]); + if (pointi < pointAdditionalZones_.size()) + { + pointAdditionalZones_[pointi].clear(); + } + for (label i = 1; i < zoneIDs.size(); ++i) + { + pointAdditionalZones_(pointi).push_uniq(zoneIDs[i]); + } } else { pointZone_.erase(pointi); + if (pointi < pointAdditionalZones_.size()) + { + pointAdditionalZones_[pointi].clear(); + } } if (inCell) @@ -2696,7 +2975,6 @@ void Foam::polyTopoChange::modifyPoint } } - void Foam::polyTopoChange::movePoints(const pointField& newPoints) { if (newPoints.size() != points_.size()) @@ -2759,6 +3037,10 @@ void Foam::polyTopoChange::removePoint reversePointMap_[pointi] = -1; } pointZone_.erase(pointi); + if (pointi < pointAdditionalZones_.size()) + { + pointAdditionalZones_[pointi].clear(); + } retiredPoints_.erase(pointi); } @@ -2822,6 +3104,100 @@ Foam::label Foam::polyTopoChange::addFace faceZone_.insert(facei, zoneID); } faceZoneFlip_.set(facei, zoneFlip); + // Delay extending the faceAdditionalZones + + return facei; +} + + +Foam::label Foam::polyTopoChange::addFace +( + const face& f, + const label own, + const label nei, + const label masterPointID, + const label masterEdgeID, + const label masterFaceID, + const bool flipFaceFlux, + const label patchID, + const labelUList& zoneIDs, + const UList<bool>& zoneFlips +) +{ + // Check validity + if (debug) + { + // Note: no check on zones + checkFace(f, -1, own, nei, patchID, -1); + } + + label facei = faces_.size(); + + faces_.append(f); + region_.append(patchID); + faceOwner_.append(own); + faceNeighbour_.append(nei); + + if (masterPointID >= 0) + { + faceMap_.append(-1); + faceFromPoint_.insert(facei, masterPointID); + } + else if (masterEdgeID >= 0) + { + faceMap_.append(-1); + faceFromEdge_.insert(facei, masterEdgeID); + } + else if (masterFaceID >= 0) + { + faceMap_.append(masterFaceID); + } + else + { + // Allow inflate-from-nothing? + //FatalErrorInFunction + // << "Need to specify a master point, edge or face" + // << "face:" << f << " own:" << own << " nei:" << nei + // << abort(FatalError); + faceMap_.append(-1); + } + reverseFaceMap_.append(facei); + + flipFaceFlux_.set(facei, flipFaceFlux); + + if (zoneIDs.size()) + { + const label minIndex = findMin(zoneIDs); + + faceZone_.set(facei, zoneIDs[minIndex]); + faceZoneFlip_.set(facei, zoneFlips[minIndex]); + + // Clear any additional storage + if (facei < faceAdditionalZones_.size()) + { + faceAdditionalZones_[facei].clear(); + } + // (auto-vivify and) store additional zones + forAll(zoneIDs, i) + { + if (i != minIndex) + { + if (zoneIDs[i] == zoneIDs[minIndex]) + { + FatalErrorInFunction << "Duplicates in zones " + << flatOutput(zoneIDs) << " for face " << facei + << exit(FatalError); + } + const label zoneAndSign + ( + zoneFlips[i] + ? zoneIDs[i]+1 + : -(zoneIDs[i]+1) + ); + faceAdditionalZones_(facei).push_uniq(zoneAndSign); + } + } + } return facei; } @@ -2836,7 +3212,8 @@ void Foam::polyTopoChange::modifyFace const bool flipFaceFlux, const label patchID, const label zoneID, - const bool zoneFlip + const bool zoneFlip, + const bool multiZone ) { // Check validity @@ -2851,15 +3228,133 @@ void Foam::polyTopoChange::modifyFace region_[facei] = patchID; flipFaceFlux_.set(facei, flipFaceFlux); - faceZoneFlip_.set(facei, zoneFlip); - if (zoneID >= 0) + // Note: same logic as modifyCell except storage is now sparse instead + // of marked with -1 + + if (!multiZone) + { + if (zoneID == -1) + { + faceZone_.erase(facei); + faceZoneFlip_.set(facei, zoneFlip); + } + else + { + faceZone_.set(facei, zoneID); + faceZoneFlip_.set(facei, zoneFlip); + } + if (facei < faceAdditionalZones_.size()) + { + faceAdditionalZones_[facei].clear(); + } + } + else + { + auto fnd = faceZone_.find(facei); + if (!fnd) + { + faceZone_.set(facei, zoneID); + faceZoneFlip_.set(facei, zoneFlip); + + // Check that no leftover additional zones + if (faceAdditionalZones_(facei).size()) + { + FatalErrorInFunction + << "Additional zones for face:" + << faceAdditionalZones_(facei) + << abort(FatalError); + } + } + else if (zoneID == -1) + { + // Clear + faceZone_.erase(fnd); + faceZoneFlip_.set(facei, false); + if (facei < faceAdditionalZones_.size()) + { + faceAdditionalZones_[facei].clear(); + } + } + else if (zoneID != fnd()) + { + // New zone. Store in additional storage. + const label zoneAndSign + ( + zoneFlip + ? zoneID+1 + : -(zoneID+1) + ); + faceAdditionalZones_(facei).push_uniq(zoneAndSign); + } + } +} + + +void Foam::polyTopoChange::modifyFace +( + const face& f, + const label facei, + const label own, + const label nei, + const bool flipFaceFlux, + const label patchID, + const labelUList& zoneIDs, + const UList<bool>& zoneFlips +) +{ + // Check validity + if (debug) + { + // Note: no check on zones + checkFace(f, facei, own, nei, patchID, -1); + } + + faces_[facei] = f; + faceOwner_[facei] = own; + faceNeighbour_[facei] = nei; + region_[facei] = patchID; + + flipFaceFlux_.set(facei, flipFaceFlux); + + // Note: same logic as modifyCell except storage is now sparse instead + // of marked with -1 + + if (zoneIDs.size()) { - faceZone_.set(facei, zoneID); + if (zoneIDs.found(-1)) + { + FatalErrorInFunction + << "zones cannot contain -1 : " << flatOutput(zoneIDs) + << " for face:" << facei + << abort(FatalError); + } + + faceZone_.set(facei, zoneIDs[0]); + faceZoneFlip_.set(facei, zoneFlips[0]); + if (facei < faceAdditionalZones_.size()) + { + faceAdditionalZones_[facei].clear(); + } + for (label i = 1; i < zoneIDs.size(); ++i) + { + const label zoneAndSign + ( + zoneFlips[i] + ? zoneIDs[i]+1 + : -(zoneIDs[i]+1) + ); + faceAdditionalZones_(facei).push_uniq(zoneAndSign); + } } else { faceZone_.erase(facei); + faceZoneFlip_.set(facei, false); + if (facei < faceAdditionalZones_.size()) + { + faceAdditionalZones_[facei].clear(); + } } } @@ -2908,6 +3403,10 @@ void Foam::polyTopoChange::removeFace flipFaceFlux_.unset(facei); faceZoneFlip_.unset(facei); faceZone_.erase(facei); + if (facei < faceAdditionalZones_.size()) + { + faceAdditionalZones_[facei].clear(); + } } @@ -2942,7 +3441,65 @@ Foam::label Foam::polyTopoChange::addCell cellMap_.append(masterCellID); } reverseCellMap_.append(celli); + cellZone_.append(zoneID); + // Delay extending the cellAdditionalZones + + return celli; +} + + +Foam::label Foam::polyTopoChange::addCell +( + const label masterPointID, + const label masterEdgeID, + const label masterFaceID, + const label masterCellID, + const labelUList& zoneIDs +) +{ + label celli = cellMap_.size(); + + if (masterPointID >= 0) + { + cellMap_.append(-1); + cellFromPoint_.insert(celli, masterPointID); + } + else if (masterEdgeID >= 0) + { + cellMap_.append(-1); + cellFromEdge_.insert(celli, masterEdgeID); + } + else if (masterFaceID >= 0) + { + cellMap_.append(-1); + cellFromFace_.insert(celli, masterFaceID); + } + else + { + cellMap_.append(masterCellID); + } + reverseCellMap_.append(celli); + + if (zoneIDs.size()) + { + cellZone_.append(zoneIDs[0]); + + // Clear any additional storage + if (celli < cellAdditionalZones_.size()) + { + cellAdditionalZones_[celli].clear(); + } + // (auto-vivify and) store additional zones + for (label i = 1; i < zoneIDs.size(); ++i) + { + cellAdditionalZones_(celli).push_uniq(zoneIDs[i]); + } + } + else + { + cellZone_.append(-1); + } return celli; } @@ -2951,10 +3508,96 @@ Foam::label Foam::polyTopoChange::addCell void Foam::polyTopoChange::modifyCell ( const label celli, - const label zoneID + const label zoneID, + const bool multiZone +) +{ + if (!multiZone) + { + cellZone_[celli] = zoneID; + if (celli < cellAdditionalZones_.size()) + { + cellAdditionalZones_[celli].clear(); + } + } + else + { + if (cellZone_[celli] == -1) + { + cellZone_[celli] = zoneID; + + // Check that no leftover additional zones + if (cellAdditionalZones_(celli).size()) + { + FatalErrorInFunction + << "Additional zones for cell:" + << cellAdditionalZones_(celli) + << abort(FatalError); + } + } + else + { + if (zoneID == -1) + { + // Clear + cellZone_[celli] = zoneID; + if (celli < cellAdditionalZones_.size()) + { + cellAdditionalZones_[celli].clear(); + } + } + else if (zoneID != cellZone_[celli]) + { + // New zone. Store in additional storage. + cellAdditionalZones_(celli).push_uniq(zoneID); + } + } + } +} + + +void Foam::polyTopoChange::modifyCell +( + const label celli, + const labelUList& zoneIDs ) { - cellZone_[celli] = zoneID; + if (celli < 0 || celli >= cellMap_.size()) + { + FatalErrorInFunction + << "illegal cell label " << celli << endl + << "Valid cell labels are 0 .. " << cellMap_.size()-1 + << abort(FatalError); + } + + if (zoneIDs.size()) + { + if (zoneIDs.found(-1)) + { + FatalErrorInFunction + << "zones cannot contain -1 : " << flatOutput(zoneIDs) + << " for cell:" << celli + << abort(FatalError); + } + + cellZone_[celli] = zoneIDs[0]; + if (celli < cellAdditionalZones_.size()) + { + cellAdditionalZones_[celli].clear(); + } + for (label i = 1; i < zoneIDs.size(); ++i) + { + cellAdditionalZones_(celli).push_uniq(zoneIDs[i]); + } + } + else + { + cellZone_[celli] = -1; + if (celli < cellAdditionalZones_.size()) + { + cellAdditionalZones_[celli].clear(); + } + } } @@ -2993,6 +3636,109 @@ void Foam::polyTopoChange::removeCell cellFromEdge_.erase(celli); cellFromFace_.erase(celli); cellZone_[celli] = -1; + if (celli < cellAdditionalZones_.size()) + { + cellAdditionalZones_[celli].clear(); + } +} + + +Foam::label Foam::polyTopoChange::pointZones +( + const label pointi, + DynamicList<label>& zones +) const +{ + if (pointi < 0 || pointi >= pointMap_.size()) + { + FatalErrorInFunction + << "illegal point label " << pointi << endl + << "Valid point labels are 0 .. " << pointMap_.size()-1 + << abort(FatalError); + } + zones.clear(); + + const auto fnd = pointZone_.find(pointi); + if (fnd) + { + zones.push_back(fnd()); + if (pointi < pointAdditionalZones_.size()) + { + for (const label zonei : pointAdditionalZones_[pointi]) + { + zones.push_uniq(zonei); + } + } + } + return zones.size(); +} + + +Foam::label Foam::polyTopoChange::faceZones +( + const label facei, + DynamicList<label>& zones, + DynamicList<bool>& flips +) const +{ + if (facei < 0 || facei >= faceMap_.size()) + { + FatalErrorInFunction + << "illegal face label " << facei << endl + << "Valid face labels are 0 .. " << faceMap_.size()-1 + << abort(FatalError); + } + zones.clear(); + flips.clear(); + + const auto fnd = faceZone_.find(facei); + if (fnd) + { + zones.push_back(fnd()); + flips.push_back(flipFaceFlux_[facei]); + if (facei < faceAdditionalZones_.size()) + { + for (const label zoneAndSign : faceAdditionalZones_[facei]) + { + const label zonei = mag(zoneAndSign)-1; + if (!zones.found(zonei)) + { + zones.push_back(zonei); + flips.push_back((zoneAndSign > 0)); + } + } + } + } + return zones.size(); +} + + +Foam::label Foam::polyTopoChange::cellZones +( + const label celli, + DynamicList<label>& zones +) const +{ + if (celli < 0 || celli >= cellMap_.size()) + { + FatalErrorInFunction + << "illegal cell label " << celli << endl + << "Valid cell labels are 0 .. " << cellMap_.size()-1 + << abort(FatalError); + } + zones.clear(); + if (cellZone_[celli] != -1) + { + zones.push_back(cellZone_[celli]); + } + if (celli < cellAdditionalZones_.size()) + { + for (const label zonei : cellAdditionalZones_[celli]) + { + zones.push_uniq(zonei); + } + } + return zones.size(); } diff --git a/src/meshTools/polyTopoChange/polyTopoChange.H b/src/meshTools/polyTopoChange/polyTopoChange.H index 9ad146d575b..318142f9da7 100644 --- a/src/meshTools/polyTopoChange/polyTopoChange.H +++ b/src/meshTools/polyTopoChange/polyTopoChange.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -55,6 +55,14 @@ Description - coupled patches: the reorderCoupledFaces routine (borrowed from the couplePatches utility) reorders coupled patch faces and uses the cyclicPolyPatch,processorPolyPatch functionality. + - zones are assumed to be non-overlapping by default. If desired to be + overlapping either set the multiZone to true when calling + modifyCell|Face|Point or use the variants of addCell|Face|Point + and modifyCell|Face|Point that take a list of zones. + - if overlapping zones: + - 'main' zone is the lowest numbered zone. -1 means no zones. + - 'additional' zones are stored in incremental ordering (and cannot + contain -1) SourceFiles polyTopoChange.C @@ -127,6 +135,9 @@ class polyTopoChange //- Zone of point Map<label> pointZone_; + //- Additional zones of points + DynamicList<labelList> pointAdditionalZones_; + //- Retired points labelHashSet retiredPoints_; @@ -170,6 +181,9 @@ class polyTopoChange //- Orientation of face in zone bitSet faceZoneFlip_; + //- Additional zones of face (stored as signed face) + DynamicList<labelList> faceAdditionalZones_; + //- Active faces label nActiveFaces_; @@ -193,9 +207,12 @@ class polyTopoChange //- Cells added from face Map<label> cellFromFace_; - //- Zone of cell + //- First zone of cell (or -1) DynamicList<label> cellZone_; + //- Additional zones of cell + DynamicList<labelList> cellAdditionalZones_; + // Private Member Functions @@ -207,13 +224,6 @@ class polyTopoChange DynamicList<Type>& lst ); - template<class Type> - static void reorder - ( - const labelUList& oldToNew, - List<DynamicList<Type>>& lst - ); - template<class Type> static void renumberKey ( @@ -533,6 +543,18 @@ public: const bool inCell ); + //- Add point. Return new point label. + // Notes: + // - masterPointID can be < 0 (appended points) + // - inCell = false: add retired point (to end of point list) + label addPoint + ( + const point& pt, + const label masterPointID, + const labelUList& zoneIDs, + const bool inCell + ); + //- Modify coordinate. // Notes: // - zoneID = +ve (add to zoneID), -ve (remove from zones) @@ -542,12 +564,32 @@ public: const label pointi, const point& pt, const label zoneID, + const bool inCell, + const bool multiZone = false + ); + + //- Modify coordinate. + // Notes: + // - zoneIDs = set pointZones + // - inCell = false: add retired point (to end of point list) + void modifyPoint + ( + const label pointi, + const point& pt, + const labelUList& zoneIDs, const bool inCell ); //- Remove/merge point. void removePoint(const label pointi, const label mergePointi); + //- Get current cellZone(s). Return number of zones. + label pointZones + ( + const label pointi, + DynamicList<label>& zones + ) const; + //- Add face to cells. Return new face label. // own,nei<0, zoneID>=0 : add inactive face (to end of face list) label addFace @@ -564,6 +606,22 @@ public: const bool zoneFlip ); + //- Add face to cells. Return new face label. + // own,nei<0, zoneID>=0 : add inactive face (to end of face list) + label addFace + ( + const face& f, + const label own, + const label nei, + const label masterPointID, + const label masterEdgeID, + const label masterFaceID, + const bool flipFaceFlux, + const label patchID, + const labelUList& zoneIDs, + const UList<bool>& zoneFlips + ); + //- Modify vertices or cell of face. void modifyFace ( @@ -574,12 +632,34 @@ public: const bool flipFaceFlux, const label patchID, const label zoneID, - const bool zoneFlip + const bool zoneFlip, + const bool multiZone = false + ); + + //- Modify vertices or cell of face. + void modifyFace + ( + const face& f, + const label facei, + const label own, + const label nei, + const bool flipFaceFlux, + const label patchID, + const labelUList& zoneIDs, + const UList<bool>& zoneFlips ); //- Remove/merge face. void removeFace(const label facei, const label mergeFacei); + //- Get current faceZone(s). Return number of zones. + label faceZones + ( + const label facei, + DynamicList<label>& zones, + DynamicList<bool>& flips + ) const; + //- Add cell. Return new cell label. label addCell ( @@ -590,12 +670,34 @@ public: const label zoneID ); - //- Modify zone of cell - void modifyCell(const label celli, const label zoneID); + //- Add zoned cell (zones cannot be -1). Return new cell label. + label addCell + ( + const label masterPointID, + const label masterEdgeID, + const label masterFaceID, + const label masterCellID, + const labelUList& zoneIDs + ); + + //- Modify zone of cell. Optionally add to zone. + void modifyCell + ( + const label celli, + const label zoneID, + const bool multiZone = false + ); + + //- Set zones of cell + void modifyCell(const label celli, const labelUList& zoneIDs); //- Remove/merge cell. void removeCell(const label celli, const label mergeCelli); + //- Get current cellZone(s). Return number of zones. + label cellZones(const label celli, DynamicList<label>& zones) const; + + //- Explicitly set the number of patches if construct-without-mesh //- used. inline void setNumPatches(const label nPatches); diff --git a/src/meshTools/polyTopoChange/polyTopoChangeTemplates.C b/src/meshTools/polyTopoChange/polyTopoChangeTemplates.C index 9cc1362b439..9016ce6a3a9 100644 --- a/src/meshTools/polyTopoChange/polyTopoChangeTemplates.C +++ b/src/meshTools/polyTopoChange/polyTopoChangeTemplates.C @@ -43,35 +43,13 @@ void Foam::polyTopoChange::reorder // Create copy DynamicList<Type> oldLst(lst); - forAll(oldToNew, i) + forAll(oldLst, i) { const label newIdx = oldToNew[i]; if (newIdx >= 0) { - lst[newIdx] = oldLst[i]; - } - } -} - - -template<class Type> -void Foam::polyTopoChange::reorder -( - const labelUList& oldToNew, - List<DynamicList<Type>>& lst -) -{ - // Create copy - List<DynamicList<Type>> oldLst(lst); - - forAll(oldToNew, i) - { - const label newIdx = oldToNew[i]; - - if (newIdx >= 0) - { - lst[newIdx].transfer(oldLst[i]); + lst[newIdx] = std::move(oldLst[i]); } } } diff --git a/tutorials/mesh/parallel/filter/system/fvOptions b/tutorials/mesh/parallel/filter/system/fvOptions index b4dec7e9c38..60b12b0abdb 100644 --- a/tutorials/mesh/parallel/filter/system/fvOptions +++ b/tutorials/mesh/parallel/filter/system/fvOptions @@ -42,6 +42,29 @@ filter1 } +heater1 +{ + // Add some additional water inside a cellZone that is nested inside + // the filter. This is just to demonstrate overlapping cellZones + + type scalarSemiImplicitSource; + active yes; + + timeStart 0.0; + duration 0.4; + volumeMode specific; + + selectionMode cellZone; + cellZone heater; + + sources + { + rho (1e-2 0); // kg/s/m^3 + H2O (1e-2 0); // kg/s/m^3 + } +} + + massSource1 { type scalarSemiImplicitSource; diff --git a/tutorials/mesh/parallel/filter/system/topoSetDict b/tutorials/mesh/parallel/filter/system/topoSetDict index 1229a203daa..722ff8df865 100644 --- a/tutorials/mesh/parallel/filter/system/topoSetDict +++ b/tutorials/mesh/parallel/filter/system/topoSetDict @@ -32,7 +32,6 @@ actions set filterCells; } - { name leftFluidCells; type cellSet; @@ -114,6 +113,41 @@ actions source setToFaceZone; faceSet cycRightFaces; // name of faceSet } + + + // Additional zones inside filter + + // heater inside filter + { + name heaterCells; + type cellSet; + action new; + source boxToCell; + box (1.7 -10 -10) (1.8 10 10); + } + // Note: could be done directly using boxToCell + { + name heater; + type cellZoneSet; + action new; + source setToCellZone; + set heaterCells; + } + { + name heaterOutsideFaces; + type faceSet; + action new; + source cellToFace; + set heaterCells; + option outside; + } + { + name heaterOutside; + type faceZoneSet; + action new; + source setToFaceZone; + faceSet heaterOutsideFaces; // name of faceSet + } ); -- GitLab From bc03a538cf53387fbcb643bf56c9555d6d167776 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 18 Mar 2024 10:44:54 +0000 Subject: [PATCH 098/231] ENH: mapDistribute: improved error message --- .../mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C index 85c89213d9e..94a764b961f 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C @@ -349,7 +349,10 @@ void Foam::mapDistributeBase::receive { FatalErrorInFunction << "From processor " << proci - << " : unallocated receive field" << nl + << " : unallocated receive field." + << " Expected size " << map.size() + << " on comm " << comm + << " with procs " << UPstream::nProcs(comm) << nl << exit(FatalError); } } -- GitLab From b1eb3e8746767d6876a634d314b804dc2086616d Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 18 Mar 2024 11:54:40 +0000 Subject: [PATCH 099/231] BUG: fileHandler: disable parallel side effects. Fixes #3105 --- .../uncollatedFileOperation/uncollatedFileOperation.C | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C index 35fb161016f..75996732c3b 100644 --- a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -716,6 +716,14 @@ bool Foam::fileOperations::uncollatedFileOperation::read const bool oldMasterOnly = regIOobject::masterOnlyReading; regIOobject::masterOnlyReading = masterOnly; + const bool oldParRun = UPstream::parRun(); + if (masterOnly) + { + // Reading on master only. + // Avoid side effects from io.readStream below. + UPstream::parRun(false); + } + // Read file ok = io.readData(io.readStream(typeName)); io.close(); @@ -723,6 +731,7 @@ bool Foam::fileOperations::uncollatedFileOperation::read // Restore flags io.globalObject(oldGlobal); regIOobject::masterOnlyReading = oldMasterOnly; + UPstream::parRun(oldParRun); if (debug) { -- GitLab From 4a0a63999e45e72b982650a990e1a29f8ad27fa6 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 18 Mar 2024 12:14:36 +0000 Subject: [PATCH 100/231] BUG: cyclicAMI: start without 'value'. Fixes #3119 --- .../constraint/cyclicACMI/cyclicACMIFvPatchField.C | 14 ++++++++++++++ .../constraint/cyclicAMI/cyclicAMIFvPatchField.C | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C index d784d09aff0..f287734adc7 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C @@ -109,7 +109,21 @@ Foam::cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField << exit(FatalIOError); } + // Tricky: avoid call to evaluate without call to initEvaluate. + // For now just disable the localConsistency to make it use the + // old logic (ultimately calls the fully self contained + // patchNeighbourField) + + int& consistency = + GeometricField<Type, fvPatchField, volMesh>:: + Boundary::localConsistency; + + const int oldConsistency = consistency; + consistency = 0; + this->evaluate(Pstream::commsTypes::blocking); + + consistency = oldConsistency; } } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C index 452d119105b..8a8ad6e3cd8 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C @@ -92,7 +92,21 @@ Foam::cyclicAMIFvPatchField<Type>::cyclicAMIFvPatchField { if (this->coupled()) { + // Tricky: avoid call to evaluate without call to initEvaluate. + // For now just disable the localConsistency to make it use the + // old logic (ultimately calls the fully self contained + // patchNeighbourField) + + int& consistency = + GeometricField<Type, fvPatchField, volMesh>:: + Boundary::localConsistency; + + const int oldConsistency = consistency; + consistency = 0; + this->evaluate(UPstream::commsTypes::nonBlocking); + + consistency = oldConsistency; } else { -- GitLab From a7d6f2720f9e42fb11e55a6b303933e12171164b Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 4 Mar 2024 14:16:26 +0000 Subject: [PATCH 101/231] ENH: add for geometric transformation properties for topoSet - added solidBodyMotionFunctions to topoSet which allows things like moving cellSet selection for fvOptions etc. COMP: relocate solidBodyMotionFunctions to meshTools Co-authored-by: Kutalmis Bercin <> --- src/dynamicMesh/Make/files | 13 ----- src/meshTools/Make/files | 14 ++++++ src/meshTools/Make/options | 3 +- .../solidBodyMotionFunctions/SDA/SDA.C | 0 .../solidBodyMotionFunctions/SDA/SDA.H | 0 .../axisRotationMotion/axisRotationMotion.C | 0 .../axisRotationMotion/axisRotationMotion.H | 0 .../drivenLinearMotion/drivenLinearMotion.C | 0 .../drivenLinearMotion/drivenLinearMotion.H | 0 .../linearMotion/linearMotion.C | 0 .../linearMotion/linearMotion.H | 0 .../multiMotion/multiMotion.C | 0 .../multiMotion/multiMotion.H | 0 .../oscillatingLinearMotion.C | 0 .../oscillatingLinearMotion.H | 0 .../oscillatingRotatingMotion.C | 0 .../oscillatingRotatingMotion.H | 0 .../rotatingMotion/rotatingMotion.C | 0 .../rotatingMotion/rotatingMotion.H | 0 .../solidBodyMotionFunction.C | 0 .../solidBodyMotionFunction.H | 30 ++++++++--- .../solidBodyMotionFunctionNew.C | 50 +++++++++++++++++-- .../tabulated6DoFMotion/tabulated6DoFMotion.C | 0 .../tabulated6DoFMotion/tabulated6DoFMotion.H | 0 .../boundaryToCell/boundaryToCell.C | 4 +- .../topoSet/cellSources/boxToCell/boxToCell.C | 5 +- .../cellSources/cellToCell/cellToCell.C | 2 +- .../clipPlaneToCell/clipPlaneToCell.C | 12 ++--- .../cylinderToCell/cylinderToCell.C | 13 ++--- .../cellSources/faceToCell/faceToCell.C | 2 +- .../faceZoneToCell/faceZoneToCell.C | 2 +- .../cellSources/fieldToCell/fieldToCell.C | 11 ++-- .../cellSources/haloToCell/haloToCell.C | 3 +- .../cellSources/labelToCell/labelToCell.C | 3 +- .../topoSet/cellSources/nbrToCell/nbrToCell.C | 4 +- .../cellSources/nearestToCell/nearestToCell.C | 7 +-- .../cellSources/patchToCell/patchToCell.C | 2 +- .../cellSources/pointToCell/pointToCell.C | 2 +- .../cellSources/regionToCell/regionToCell.C | 2 +- .../rotatedBoxToCell/rotatedBoxToCell.C | 16 +++--- .../searchableSurfaceToCell.C | 8 ++- .../cellSources/shapeToCell/shapeToCell.C | 3 +- .../cellSources/sphereToCell/sphereToCell.C | 11 ++-- .../cellSources/surfaceToCell/surfaceToCell.C | 2 +- .../targetVolumeToCell/targetVolumeToCell.C | 11 ++-- .../cellSources/zoneToCell/zoneToCell.C | 2 +- .../setToCellZone/setToCellZone.C | 2 +- .../boundaryToFace/boundaryToFace.C | 4 +- .../topoSet/faceSources/boxToFace/boxToFace.C | 5 +- .../faceSources/cellToFace/cellToFace.C | 2 +- .../clipPlaneToFace/clipPlaneToFace.C | 12 ++--- .../cylinderToFace/cylinderToFace.C | 13 ++--- .../faceSources/faceToFace/faceToFace.C | 2 +- .../faceSources/holeToFace/holeToFace.C | 2 +- .../faceSources/labelToFace/labelToFace.C | 7 +-- .../faceSources/normalToFace/normalToFace.C | 9 ++-- .../faceSources/patchToFace/patchToFace.C | 2 +- .../faceSources/pointToFace/pointToFace.C | 2 +- .../faceSources/regionToFace/regionToFace.C | 2 +- .../searchableSurfaceToFace.C | 6 ++- .../faceSources/sphereToFace/sphereToFace.C | 11 ++-- .../faceSources/zoneToFace/zoneToFace.C | 2 +- .../cellToFaceZone/cellToFaceZone.C | 2 +- .../faceZoneToFaceZone/faceZoneToFaceZone.C | 2 +- .../planeToFaceZone/planeToFaceZone.C | 11 ++-- .../searchableSurfaceToFaceZone.C | 2 +- .../setAndNormalToFaceZone.C | 2 +- .../setToFaceZone/setToFaceZone.C | 2 +- .../setsToFaceZone/setsToFaceZone.C | 2 +- .../pointSources/boxToPoint/boxToPoint.C | 5 +- .../pointSources/cellToPoint/cellToPoint.C | 2 +- .../clipPlaneToPoint/clipPlaneToPoint.C | 12 ++--- .../cylinderToPoint/cylinderToPoint.C | 13 ++--- .../pointSources/faceToPoint/faceToPoint.C | 2 +- .../pointSources/labelToPoint/labelToPoint.C | 3 +- .../nearestToPoint/nearestToPoint.C | 3 +- .../pointSources/pointToPoint/pointToPoint.C | 2 +- .../searchableSurfaceToPoint.C | 7 ++- .../sphereToPoint/sphereToPoint.C | 11 ++-- .../surfaceToPoint/surfaceToPoint.C | 2 +- .../pointSources/zoneToPoint/zoneToPoint.C | 2 +- .../setToPointZone/setToPointZone.C | 2 +- .../topoSet/topoSetSource/topoSetSource.C | 37 +++++++++++--- .../topoSet/topoSetSource/topoSetSource.H | 15 +++++- 84 files changed, 276 insertions(+), 185 deletions(-) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/SDA/SDA.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/SDA/SDA.H (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.H (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/linearMotion/linearMotion.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/linearMotion/linearMotion.H (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/multiMotion/multiMotion.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/multiMotion/multiMotion.H (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.H (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.H (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.H (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H (81%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C (69%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C (100%) rename src/{dynamicMesh/motionSolvers/displacement/solidBody => meshTools}/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H (100%) diff --git a/src/dynamicMesh/Make/files b/src/dynamicMesh/Make/files index d87341be3e2..4f5379232b7 100644 --- a/src/dynamicMesh/Make/files +++ b/src/dynamicMesh/Make/files @@ -109,19 +109,6 @@ motionSolvers/displacement/solidBody/solidBodyMotionSolver.C motionSolvers/displacement/solidBody/multiSolidBodyMotionSolver.C motionSolvers/displacement/codedPoints0/codedPoints0MotionSolver.C -solidBodyMotionFunctions = motionSolvers/displacement/solidBody/solidBodyMotionFunctions -$(solidBodyMotionFunctions)/solidBodyMotionFunction/solidBodyMotionFunction.C -$(solidBodyMotionFunctions)/solidBodyMotionFunction/solidBodyMotionFunctionNew.C -$(solidBodyMotionFunctions)/SDA/SDA.C -$(solidBodyMotionFunctions)/tabulated6DoFMotion/tabulated6DoFMotion.C -$(solidBodyMotionFunctions)/linearMotion/linearMotion.C -$(solidBodyMotionFunctions)/drivenLinearMotion/drivenLinearMotion.C -$(solidBodyMotionFunctions)/rotatingMotion/rotatingMotion.C -$(solidBodyMotionFunctions)/axisRotationMotion/axisRotationMotion.C -$(solidBodyMotionFunctions)/multiMotion/multiMotion.C -$(solidBodyMotionFunctions)/oscillatingLinearMotion/oscillatingLinearMotion.C -$(solidBodyMotionFunctions)/oscillatingRotatingMotion/oscillatingRotatingMotion.C - motionSolvers/displacement/solidBody/pointPatchFields/derived/solidBodyMotionDisplacement/solidBodyMotionDisplacementPointPatchVectorField.C createShellMesh/createShellMesh.C diff --git a/src/meshTools/Make/files b/src/meshTools/Make/files index 4a571b5fc28..ad31ad0254d 100644 --- a/src/meshTools/Make/files +++ b/src/meshTools/Make/files @@ -354,4 +354,18 @@ tetOverlapVolume/tetOverlapVolume.C triangulatedPatch/triangulatedPatch.C +solidBodyMotion = solidBodyMotionFunctions +$(solidBodyMotion)/solidBodyMotionFunction/solidBodyMotionFunction.C +$(solidBodyMotion)/solidBodyMotionFunction/solidBodyMotionFunctionNew.C +$(solidBodyMotion)/SDA/SDA.C +$(solidBodyMotion)/tabulated6DoFMotion/tabulated6DoFMotion.C +$(solidBodyMotion)/linearMotion/linearMotion.C +$(solidBodyMotion)/drivenLinearMotion/drivenLinearMotion.C +$(solidBodyMotion)/rotatingMotion/rotatingMotion.C +$(solidBodyMotion)/axisRotationMotion/axisRotationMotion.C +$(solidBodyMotion)/multiMotion/multiMotion.C +$(solidBodyMotion)/oscillatingLinearMotion/oscillatingLinearMotion.C +$(solidBodyMotion)/oscillatingRotatingMotion/oscillatingRotatingMotion.C + + LIB = $(FOAM_LIBBIN)/libmeshTools diff --git a/src/meshTools/Make/options b/src/meshTools/Make/options index 5b4f9ec8418..9ee5884e590 100644 --- a/src/meshTools/Make/options +++ b/src/meshTools/Make/options @@ -1,7 +1,6 @@ EXE_INC = \ -I$(LIB_SRC)/fileFormats/lnInclude \ - -I$(LIB_SRC)/surfMesh/lnInclude \ - -I$(LIB_SRC)/dynamicMesh/lnInclude + -I$(LIB_SRC)/surfMesh/lnInclude LIB_LIBS = \ -lfileFormats \ diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.C b/src/meshTools/solidBodyMotionFunctions/SDA/SDA.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.C rename to src/meshTools/solidBodyMotionFunctions/SDA/SDA.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.H b/src/meshTools/solidBodyMotionFunctions/SDA/SDA.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.H rename to src/meshTools/solidBodyMotionFunctions/SDA/SDA.H diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C b/src/meshTools/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C rename to src/meshTools/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H b/src/meshTools/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H rename to src/meshTools/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.C b/src/meshTools/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.C rename to src/meshTools/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.H b/src/meshTools/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.H rename to src/meshTools/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.H diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.C b/src/meshTools/solidBodyMotionFunctions/linearMotion/linearMotion.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.C rename to src/meshTools/solidBodyMotionFunctions/linearMotion/linearMotion.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.H b/src/meshTools/solidBodyMotionFunctions/linearMotion/linearMotion.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.H rename to src/meshTools/solidBodyMotionFunctions/linearMotion/linearMotion.H diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/multiMotion/multiMotion.C b/src/meshTools/solidBodyMotionFunctions/multiMotion/multiMotion.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/multiMotion/multiMotion.C rename to src/meshTools/solidBodyMotionFunctions/multiMotion/multiMotion.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/multiMotion/multiMotion.H b/src/meshTools/solidBodyMotionFunctions/multiMotion/multiMotion.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/multiMotion/multiMotion.H rename to src/meshTools/solidBodyMotionFunctions/multiMotion/multiMotion.H diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C b/src/meshTools/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C rename to src/meshTools/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.H b/src/meshTools/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.H rename to src/meshTools/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.H diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C b/src/meshTools/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C rename to src/meshTools/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.H b/src/meshTools/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.H rename to src/meshTools/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.H diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C b/src/meshTools/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C rename to src/meshTools/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.H b/src/meshTools/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.H rename to src/meshTools/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.H diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.C b/src/meshTools/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.C rename to src/meshTools/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H b/src/meshTools/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H similarity index 81% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H rename to src/meshTools/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H index b6ad4c7a5b8..7d98bbed5c3 100644 --- a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H +++ b/src/meshTools/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H @@ -39,12 +39,12 @@ Description SourceFiles solidBodyMotionFunction.C - dynamicFvMeshNew.C + solidBodyMotionFunctionNew.C \*---------------------------------------------------------------------------*/ -#ifndef solidBodyMotionFunction_H -#define solidBodyMotionFunction_H +#ifndef Foam_solidBodyMotionFunction_H +#define Foam_solidBodyMotionFunction_H #include "Time.H" #include "dictionary.H" @@ -101,7 +101,7 @@ public: // Constructors - //- Construct from the SBMFCoeffs dictionary and Time + //- Construct from the coefficients dictionary and Time solidBodyMotionFunction ( const dictionary& SBMFCoeffs, @@ -114,10 +114,28 @@ public: // Selectors - //- Select constructed from the SBMFCoeffs dictionary and Time + //- Construct and dispatch motionType with dictionary and Time. + // Returns nullptr if motionType is empty static autoPtr<solidBodyMotionFunction> New ( - const dictionary& SBMFCoeffs, + const word& motionType, + const dictionary& dict, + const Time& runTime + ); + + //- Select "solidBodyMotionFunction" type from dictionary + //- and create with Time. + static autoPtr<solidBodyMotionFunction> New + ( + const dictionary& dict, + const Time& runTime + ); + + //- Select "solidBodyMotionFunction" type (if present) from dictionary + //- and create with Time. + static autoPtr<solidBodyMotionFunction> NewIfPresent + ( + const dictionary& dict, const Time& runTime ); diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C b/src/meshTools/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C similarity index 69% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C rename to src/meshTools/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C index 41f59990b36..b0d374ac8db 100644 --- a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C +++ b/src/meshTools/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,15 +30,18 @@ License // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // -Foam::autoPtr<Foam::solidBodyMotionFunction> Foam::solidBodyMotionFunction::New +Foam::autoPtr<Foam::solidBodyMotionFunction> +Foam::solidBodyMotionFunction::New ( + const word& motionType, const dictionary& dict, const Time& runTime ) { - const word motionType(dict.get<word>("solidBodyMotionFunction")); - - Info<< "Selecting solid-body motion function " << motionType << endl; + if (motionType.empty()) + { + return nullptr; + } auto* ctorPtr = dictionaryConstructorTable(motionType); @@ -53,8 +56,45 @@ Foam::autoPtr<Foam::solidBodyMotionFunction> Foam::solidBodyMotionFunction::New ) << exit(FatalIOError); } + Info<< "Selecting solid-body motion function " << motionType << endl; + return autoPtr<solidBodyMotionFunction>(ctorPtr(dict, runTime)); } +Foam::autoPtr<Foam::solidBodyMotionFunction> +Foam::solidBodyMotionFunction::New +( + const dictionary& dict, + const Time& runTime +) +{ + return New + ( + dict.get<word>("solidBodyMotionFunction", keyType::LITERAL), + dict, + runTime + ); +} + + +Foam::autoPtr<Foam::solidBodyMotionFunction> +Foam::solidBodyMotionFunction::NewIfPresent +( + const dictionary& dict, + const Time& runTime +) +{ + word motionType; + dict.readIfPresent("solidBodyMotionFunction", motionType, keyType::LITERAL); + + if (motionType.empty()) + { + return nullptr; + } + + return New(motionType, dict, runTime); +} + + // ************************************************************************* // diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C b/src/meshTools/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C rename to src/meshTools/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H b/src/meshTools/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H similarity index 100% rename from src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H rename to src/meshTools/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H diff --git a/src/meshTools/topoSet/cellSources/boundaryToCell/boundaryToCell.C b/src/meshTools/topoSet/cellSources/boundaryToCell/boundaryToCell.C index 2575d39c065..b760079fb99 100644 --- a/src/meshTools/topoSet/cellSources/boundaryToCell/boundaryToCell.C +++ b/src/meshTools/topoSet/cellSources/boundaryToCell/boundaryToCell.C @@ -90,10 +90,10 @@ Foam::boundaryToCell::boundaryToCell(const polyMesh& mesh) Foam::boundaryToCell::boundaryToCell ( const polyMesh& mesh, - const dictionary& + const dictionary& dict ) : - topoSetCellSource(mesh) + topoSetCellSource(mesh, dict) {} diff --git a/src/meshTools/topoSet/cellSources/boxToCell/boxToCell.C b/src/meshTools/topoSet/cellSources/boxToCell/boxToCell.C index 6796fe2200b..1b66a40cfed 100644 --- a/src/meshTools/topoSet/cellSources/boxToCell/boxToCell.C +++ b/src/meshTools/topoSet/cellSources/boxToCell/boxToCell.C @@ -92,7 +92,8 @@ static void readBoxDim(const dictionary& dict, treeBoundBox& bb) void Foam::boxToCell::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.cellCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.cellCentres())); + const pointField& ctrs = tctrs(); forAll(ctrs, elemi) { @@ -138,7 +139,7 @@ Foam::boxToCell::boxToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), bbs_() { // Accept 'boxes', 'box' or 'min/max' diff --git a/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C b/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C index a427b4dc210..e43ab9ee640 100644 --- a/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C +++ b/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C @@ -70,7 +70,7 @@ Foam::cellToCell::cellToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), names_() { // Look for 'sets' or 'set' diff --git a/src/meshTools/topoSet/cellSources/clipPlaneToCell/clipPlaneToCell.C b/src/meshTools/topoSet/cellSources/clipPlaneToCell/clipPlaneToCell.C index 521ba39942c..64d210dd997 100644 --- a/src/meshTools/topoSet/cellSources/clipPlaneToCell/clipPlaneToCell.C +++ b/src/meshTools/topoSet/cellSources/clipPlaneToCell/clipPlaneToCell.C @@ -69,7 +69,8 @@ void Foam::clipPlaneToCell::combine(topoSet& set, const bool add) const { // Cell centres above the plane - const pointField& ctrs = mesh_.cellCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.cellCentres())); + const pointField& ctrs = tctrs(); forAll(ctrs, elemi) { @@ -102,12 +103,9 @@ Foam::clipPlaneToCell::clipPlaneToCell const dictionary& dict ) : - clipPlaneToCell - ( - mesh, - dict.get<vector>("point"), - dict.get<vector>("normal") - ) + topoSetCellSource(mesh, dict), + point_(dict.get<vector>("point")), + normal_(dict.get<vector>("normal")) {} diff --git a/src/meshTools/topoSet/cellSources/cylinderToCell/cylinderToCell.C b/src/meshTools/topoSet/cellSources/cylinderToCell/cylinderToCell.C index 3d2a6fb6870..ef53a72e770 100644 --- a/src/meshTools/topoSet/cellSources/cylinderToCell/cylinderToCell.C +++ b/src/meshTools/topoSet/cellSources/cylinderToCell/cylinderToCell.C @@ -68,7 +68,8 @@ Foam::topoSetSource::addToUsageTable Foam::cylinderToCell::usage_ void Foam::cylinderToCell::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.cellCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.cellCentres())); + const pointField& ctrs = tctrs(); const vector axis = (point2_ - point1_); const scalar magAxis2 = magSqr(axis); @@ -127,12 +128,12 @@ Foam::cylinderToCell::cylinderToCell const dictionary& dict ) : - cylinderToCell + topoSetCellSource(mesh, dict), + point1_(dict.getCompat<point>("point1", {{"p1", -2112}})), + point2_(dict.getCompat<point>("point2", {{"p2", -2112}})), + radius_(dict.getCompat<scalar>("radius", {{"outerRadius", -2112}})), + innerRadius_ ( - mesh, - dict.getCompat<point>("point1", {{"p1", -2112}}), - dict.getCompat<point>("point2", {{"p2", -2112}}), - dict.getCompat<scalar>("radius", {{"outerRadius", -2112}}), dict.getCheckOrDefault<scalar>("innerRadius", 0, scalarMinMax::ge(0)) ) {} diff --git a/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C b/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C index 1fb53e60adb..ec52df9e2d4 100644 --- a/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C +++ b/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C @@ -155,7 +155,7 @@ Foam::faceToCell::faceToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), names_(), option_(faceActionNames_.get("option", dict)) { diff --git a/src/meshTools/topoSet/cellSources/faceZoneToCell/faceZoneToCell.C b/src/meshTools/topoSet/cellSources/faceZoneToCell/faceZoneToCell.C index 3e31508d4cf..5132bffec77 100644 --- a/src/meshTools/topoSet/cellSources/faceZoneToCell/faceZoneToCell.C +++ b/src/meshTools/topoSet/cellSources/faceZoneToCell/faceZoneToCell.C @@ -214,7 +214,7 @@ Foam::faceZoneToCell::faceZoneToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), zoneMatcher_(), option_(faceActionNames_.get("option", dict)) { diff --git a/src/meshTools/topoSet/cellSources/fieldToCell/fieldToCell.C b/src/meshTools/topoSet/cellSources/fieldToCell/fieldToCell.C index f991f2f24b4..6ce00a04843 100644 --- a/src/meshTools/topoSet/cellSources/fieldToCell/fieldToCell.C +++ b/src/meshTools/topoSet/cellSources/fieldToCell/fieldToCell.C @@ -148,13 +148,10 @@ Foam::fieldToCell::fieldToCell const dictionary& dict ) : - fieldToCell - ( - mesh, - dict.get<word>("field"), - dict.get<scalar>("min"), - dict.get<scalar>("max") - ) + topoSetCellSource(mesh, dict), + fieldName_(dict.get<word>("field")), + min_(dict.get<scalar>("min")), + max_(dict.get<scalar>("max")) {} diff --git a/src/meshTools/topoSet/cellSources/haloToCell/haloToCell.C b/src/meshTools/topoSet/cellSources/haloToCell/haloToCell.C index 0bce5d66b01..9c08a2e3f24 100644 --- a/src/meshTools/topoSet/cellSources/haloToCell/haloToCell.C +++ b/src/meshTools/topoSet/cellSources/haloToCell/haloToCell.C @@ -198,7 +198,8 @@ Foam::haloToCell::haloToCell const dictionary& dict ) : - haloToCell(mesh, dict.getOrDefault<label>("steps", 1)) + topoSetCellSource(mesh, dict), + steps_(dict.getOrDefault<label>("steps", 1)) {} diff --git a/src/meshTools/topoSet/cellSources/labelToCell/labelToCell.C b/src/meshTools/topoSet/cellSources/labelToCell/labelToCell.C index 85e6a435e86..0ce5f1253dd 100644 --- a/src/meshTools/topoSet/cellSources/labelToCell/labelToCell.C +++ b/src/meshTools/topoSet/cellSources/labelToCell/labelToCell.C @@ -94,7 +94,8 @@ Foam::labelToCell::labelToCell const dictionary& dict ) : - labelToCell(mesh, dict.get<labelList>("value")) + topoSetCellSource(mesh, dict), + labels_(dict.get<labelList>("value")) {} diff --git a/src/meshTools/topoSet/cellSources/nbrToCell/nbrToCell.C b/src/meshTools/topoSet/cellSources/nbrToCell/nbrToCell.C index 31b9d72fdb4..0b6d34db8d8 100644 --- a/src/meshTools/topoSet/cellSources/nbrToCell/nbrToCell.C +++ b/src/meshTools/topoSet/cellSources/nbrToCell/nbrToCell.C @@ -74,6 +74,7 @@ void Foam::nbrToCell::combine(topoSet& set, const bool add) const } const cellList& cells = mesh().cells(); + const polyBoundaryMesh& patches = mesh_.boundaryMesh(); boolList isCoupled(mesh_.nBoundaryFaces(), false); @@ -136,7 +137,8 @@ Foam::nbrToCell::nbrToCell const dictionary& dict ) : - nbrToCell(mesh, dict.getCheck<label>("neighbours", labelMinMax::ge(1))) + topoSetCellSource(mesh, dict), + minNbrs_(dict.getCheck<label>("neighbours", labelMinMax::ge(1))) {} diff --git a/src/meshTools/topoSet/cellSources/nearestToCell/nearestToCell.C b/src/meshTools/topoSet/cellSources/nearestToCell/nearestToCell.C index 5ee762e0390..034d43fbd70 100644 --- a/src/meshTools/topoSet/cellSources/nearestToCell/nearestToCell.C +++ b/src/meshTools/topoSet/cellSources/nearestToCell/nearestToCell.C @@ -127,11 +127,8 @@ Foam::nearestToCell::nearestToCell const dictionary& dict ) : - nearestToCell - ( - mesh, - dict.get<pointField>("points") - ) + topoSetCellSource(mesh, dict), + points_(dict.get<pointField>("points")) {} diff --git a/src/meshTools/topoSet/cellSources/patchToCell/patchToCell.C b/src/meshTools/topoSet/cellSources/patchToCell/patchToCell.C index 39e5e54733c..753dfd6e369 100644 --- a/src/meshTools/topoSet/cellSources/patchToCell/patchToCell.C +++ b/src/meshTools/topoSet/cellSources/patchToCell/patchToCell.C @@ -125,7 +125,7 @@ Foam::patchToCell::patchToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), selectedPatches_() { // Look for 'patches' and 'patch', but accept 'name' as well diff --git a/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C b/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C index cc373c07906..17b26421bb9 100644 --- a/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C +++ b/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C @@ -135,7 +135,7 @@ Foam::pointToCell::pointToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), names_(), option_(pointActionNames_.get("option", dict)) { diff --git a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C index 0089668c738..c83ec7ec74e 100644 --- a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C +++ b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C @@ -403,7 +403,7 @@ Foam::regionToCell::regionToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), setName_(dict.getOrDefault<word>("set", "none")), insidePoints_ ( diff --git a/src/meshTools/topoSet/cellSources/rotatedBoxToCell/rotatedBoxToCell.C b/src/meshTools/topoSet/cellSources/rotatedBoxToCell/rotatedBoxToCell.C index e422dfa6063..fda69b76622 100644 --- a/src/meshTools/topoSet/cellSources/rotatedBoxToCell/rotatedBoxToCell.C +++ b/src/meshTools/topoSet/cellSources/rotatedBoxToCell/rotatedBoxToCell.C @@ -96,7 +96,8 @@ void Foam::rotatedBoxToCell::combine(topoSet& set, const bool add) const // Check whether cell centre is inside all faces of box. - const pointField& ctrs = mesh_.cellCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.cellCentres())); + const pointField& ctrs = tctrs(); forAll(ctrs, celli) { @@ -146,14 +147,11 @@ Foam::rotatedBoxToCell::rotatedBoxToCell const dictionary& dict ) : - rotatedBoxToCell - ( - mesh, - dict.get<point>("origin"), - dict.get<vector>("i"), - dict.get<vector>("j"), - dict.get<vector>("k") - ) + topoSetCellSource(mesh, dict), + origin_(dict.get<point>("origin")), + i_(dict.get<vector>("i")), + j_(dict.get<vector>("j")), + k_(dict.get<vector>("k")) {} diff --git a/src/meshTools/topoSet/cellSources/searchableSurfaceToCell/searchableSurfaceToCell.C b/src/meshTools/topoSet/cellSources/searchableSurfaceToCell/searchableSurfaceToCell.C index 657ccad736a..331254810fe 100644 --- a/src/meshTools/topoSet/cellSources/searchableSurfaceToCell/searchableSurfaceToCell.C +++ b/src/meshTools/topoSet/cellSources/searchableSurfaceToCell/searchableSurfaceToCell.C @@ -102,9 +102,13 @@ void Foam::searchableSurfaceToCell::combine(topoSet& set, const bool add) const { return; } - const pointField& ctrs = mesh_.cellCentres(); + + const tmp<pointField> tctrs(this->transform(mesh_.cellCentres())); + const pointField& ctrs = tctrs(); + const searchableSurface& s = *surf_; + // Cell centres within the enclosing volumes List<volumeType> volTypes; @@ -130,7 +134,7 @@ Foam::searchableSurfaceToCell::searchableSurfaceToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), surf_ ( searchableSurface::New diff --git a/src/meshTools/topoSet/cellSources/shapeToCell/shapeToCell.C b/src/meshTools/topoSet/cellSources/shapeToCell/shapeToCell.C index c9fba49e035..e36ef939bab 100644 --- a/src/meshTools/topoSet/cellSources/shapeToCell/shapeToCell.C +++ b/src/meshTools/topoSet/cellSources/shapeToCell/shapeToCell.C @@ -116,7 +116,8 @@ Foam::shapeToCell::shapeToCell const dictionary& dict ) : - shapeToCell(mesh, dict.getCompat<word>("shape", {{"type", 1806}})) + topoSetCellSource(mesh, dict), + shape_(dict.getCompat<word>("shape", {{"type", 1806}})) {} diff --git a/src/meshTools/topoSet/cellSources/sphereToCell/sphereToCell.C b/src/meshTools/topoSet/cellSources/sphereToCell/sphereToCell.C index f4b7012d71f..abbc2d1a2e7 100644 --- a/src/meshTools/topoSet/cellSources/sphereToCell/sphereToCell.C +++ b/src/meshTools/topoSet/cellSources/sphereToCell/sphereToCell.C @@ -68,7 +68,8 @@ Foam::topoSetSource::addToUsageTable Foam::sphereToCell::usage_ void Foam::sphereToCell::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.cellCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.cellCentres())); + const pointField& ctrs = tctrs(); const scalar orad2 = sqr(radius_); const scalar irad2 = innerRadius_ > 0 ? sqr(innerRadius_) : -1; @@ -110,11 +111,11 @@ Foam::sphereToCell::sphereToCell const dictionary& dict ) : - sphereToCell + topoSetCellSource(mesh, dict), + origin_(dict.getCompat<vector>("origin", {{"centre", -1806}})), + radius_(dict.getCheck<scalar>("radius", scalarMinMax::ge(0))), + innerRadius_ ( - mesh, - dict.getCompat<vector>("origin", {{"centre", -1806}}), - dict.getCheck<scalar>("radius", scalarMinMax::ge(0)), dict.getCheckOrDefault<scalar>("innerRadius", 0, scalarMinMax::ge(0)) ) {} diff --git a/src/meshTools/topoSet/cellSources/surfaceToCell/surfaceToCell.C b/src/meshTools/topoSet/cellSources/surfaceToCell/surfaceToCell.C index cec0c476d1e..af18f129c3c 100644 --- a/src/meshTools/topoSet/cellSources/surfaceToCell/surfaceToCell.C +++ b/src/meshTools/topoSet/cellSources/surfaceToCell/surfaceToCell.C @@ -434,7 +434,7 @@ Foam::surfaceToCell::surfaceToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), surfName_(dict.get<fileName>("file").expand()), outsidePoints_(dict.get<pointField>("outsidePoints")), includeCut_(dict.get<bool>("includeCut")), diff --git a/src/meshTools/topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C b/src/meshTools/topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C index e222c5d4817..81f0710165e 100644 --- a/src/meshTools/topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C +++ b/src/meshTools/topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C @@ -301,13 +301,10 @@ Foam::targetVolumeToCell::targetVolumeToCell const dictionary& dict ) : - targetVolumeToCell - ( - mesh, - dict.getCheck<scalar>("volume", scalarMinMax::ge(0)), - dict.get<vector>("normal"), - dict.getOrDefault<word>("set", "") - ) + topoSetCellSource(mesh, dict), + vol_(dict.getCheck<scalar>("volume", scalarMinMax::ge(0))), + normal_(dict.get<vector>("normal")), + maskSetName_(dict.getOrDefault<word>("set", "")) {} diff --git a/src/meshTools/topoSet/cellSources/zoneToCell/zoneToCell.C b/src/meshTools/topoSet/cellSources/zoneToCell/zoneToCell.C index 37777f05130..774a8929e57 100644 --- a/src/meshTools/topoSet/cellSources/zoneToCell/zoneToCell.C +++ b/src/meshTools/topoSet/cellSources/zoneToCell/zoneToCell.C @@ -181,7 +181,7 @@ Foam::zoneToCell::zoneToCell const dictionary& dict ) : - topoSetCellSource(mesh), + topoSetCellSource(mesh, dict), zoneMatcher_() { // Look for 'zones' and 'zone', but accept 'name' as well diff --git a/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C b/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C index 9cd63b35481..d0e4d3f3025 100644 --- a/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C +++ b/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C @@ -71,7 +71,7 @@ Foam::setToCellZone::setToCellZone const dictionary& dict ) : - topoSetCellZoneSource(mesh), + topoSetCellZoneSource(mesh, dict), setName_(dict.get<word>("set")) {} diff --git a/src/meshTools/topoSet/faceSources/boundaryToFace/boundaryToFace.C b/src/meshTools/topoSet/faceSources/boundaryToFace/boundaryToFace.C index 5badb76d4f8..cb80cbc90e3 100644 --- a/src/meshTools/topoSet/faceSources/boundaryToFace/boundaryToFace.C +++ b/src/meshTools/topoSet/faceSources/boundaryToFace/boundaryToFace.C @@ -91,10 +91,10 @@ Foam::boundaryToFace::boundaryToFace(const polyMesh& mesh) Foam::boundaryToFace::boundaryToFace ( const polyMesh& mesh, - const dictionary& + const dictionary& dict ) : - topoSetFaceSource(mesh) + topoSetFaceSource(mesh, dict) {} diff --git a/src/meshTools/topoSet/faceSources/boxToFace/boxToFace.C b/src/meshTools/topoSet/faceSources/boxToFace/boxToFace.C index b277a6e90c1..9f5e7582930 100644 --- a/src/meshTools/topoSet/faceSources/boxToFace/boxToFace.C +++ b/src/meshTools/topoSet/faceSources/boxToFace/boxToFace.C @@ -92,7 +92,8 @@ static void readBoxDim(const dictionary& dict, treeBoundBox& bb) void Foam::boxToFace::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.faceCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.faceCentres())); + const pointField& ctrs = tctrs(); forAll(ctrs, elemi) { @@ -138,7 +139,7 @@ Foam::boxToFace::boxToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), bbs_() { // Accept 'boxes', 'box' or 'min/max' diff --git a/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C b/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C index b66de8c2d66..7c4a4c4be33 100644 --- a/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C +++ b/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C @@ -233,7 +233,7 @@ Foam::cellToFace::cellToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), names_(), option_(cellActionNames_.get("option", dict)) { diff --git a/src/meshTools/topoSet/faceSources/clipPlaneToFace/clipPlaneToFace.C b/src/meshTools/topoSet/faceSources/clipPlaneToFace/clipPlaneToFace.C index 004a4d859a2..64a8f83ff28 100644 --- a/src/meshTools/topoSet/faceSources/clipPlaneToFace/clipPlaneToFace.C +++ b/src/meshTools/topoSet/faceSources/clipPlaneToFace/clipPlaneToFace.C @@ -69,7 +69,8 @@ void Foam::clipPlaneToFace::combine(topoSet& set, const bool add) const { // Face centres above the plane - const pointField& ctrs = mesh_.faceCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.faceCentres())); + const pointField& ctrs = tctrs(); forAll(ctrs, elemi) { @@ -102,12 +103,9 @@ Foam::clipPlaneToFace::clipPlaneToFace const dictionary& dict ) : - clipPlaneToFace - ( - mesh, - dict.get<vector>("point"), - dict.get<vector>("normal") - ) + topoSetFaceSource(mesh, dict), + point_(dict.get<vector>("point")), + normal_(dict.get<vector>("normal")) {} diff --git a/src/meshTools/topoSet/faceSources/cylinderToFace/cylinderToFace.C b/src/meshTools/topoSet/faceSources/cylinderToFace/cylinderToFace.C index 48100d38036..c3710f3d086 100644 --- a/src/meshTools/topoSet/faceSources/cylinderToFace/cylinderToFace.C +++ b/src/meshTools/topoSet/faceSources/cylinderToFace/cylinderToFace.C @@ -68,7 +68,8 @@ Foam::topoSetSource::addToUsageTable Foam::cylinderToFace::usage_ void Foam::cylinderToFace::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.faceCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.faceCentres())); + const pointField& ctrs = tctrs(); const vector axis = (point2_ - point1_); const scalar magAxis2 = magSqr(axis); @@ -127,12 +128,12 @@ Foam::cylinderToFace::cylinderToFace const dictionary& dict ) : - cylinderToFace + topoSetFaceSource(mesh, dict), + point1_(dict.getCompat<point>("point1", {{"p1", -2112}})), + point2_(dict.getCompat<point>("point2", {{"p2", -2112}})), + radius_(dict.getCompat<scalar>("radius", {{"outerRadius", -2112}})), + innerRadius_ ( - mesh, - dict.getCompat<point>("point1", {{"p1", -2112}}), - dict.getCompat<point>("point2", {{"p2", -2112}}), - dict.getCompat<scalar>("radius", {{"outerRadius", -2112}}), dict.getCheckOrDefault<scalar>("innerRadius", 0, scalarMinMax::ge(0)) ) {} diff --git a/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C b/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C index 4abc17fac60..8fbcf20838c 100644 --- a/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C +++ b/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C @@ -70,7 +70,7 @@ Foam::faceToFace::faceToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), names_() { // Look for 'sets' or 'set' diff --git a/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C b/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C index 8ec3dac42c1..3816a19a6df 100644 --- a/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C +++ b/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C @@ -1095,7 +1095,7 @@ Foam::holeToFace::holeToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), zonePoints_(dict.get<List<pointField>>("points")), blockedFaceNames_(), blockedCellNames_(), diff --git a/src/meshTools/topoSet/faceSources/labelToFace/labelToFace.C b/src/meshTools/topoSet/faceSources/labelToFace/labelToFace.C index 148b225d6c8..dee5b38b17a 100644 --- a/src/meshTools/topoSet/faceSources/labelToFace/labelToFace.C +++ b/src/meshTools/topoSet/faceSources/labelToFace/labelToFace.C @@ -94,11 +94,8 @@ Foam::labelToFace::labelToFace const dictionary& dict ) : - labelToFace - ( - mesh, - dict.get<labelList>("value") - ) + topoSetFaceSource(mesh, dict), + labels_(dict.get<labelList>("value")) {} diff --git a/src/meshTools/topoSet/faceSources/normalToFace/normalToFace.C b/src/meshTools/topoSet/faceSources/normalToFace/normalToFace.C index b376426f9a3..077b981e02b 100644 --- a/src/meshTools/topoSet/faceSources/normalToFace/normalToFace.C +++ b/src/meshTools/topoSet/faceSources/normalToFace/normalToFace.C @@ -100,12 +100,9 @@ Foam::normalToFace::normalToFace Foam::normalToFace::normalToFace(const polyMesh& mesh, const dictionary& dict) : - normalToFace - ( - mesh, - dict.get<vector>("normal"), - dict.get<scalar>("cos") - ) + topoSetFaceSource(mesh, dict), + normal_(dict.get<vector>("normal")), + tol_(dict.get<scalar>("cos")) { setNormal(); } diff --git a/src/meshTools/topoSet/faceSources/patchToFace/patchToFace.C b/src/meshTools/topoSet/faceSources/patchToFace/patchToFace.C index 8fe00702f55..a52e9168eaa 100644 --- a/src/meshTools/topoSet/faceSources/patchToFace/patchToFace.C +++ b/src/meshTools/topoSet/faceSources/patchToFace/patchToFace.C @@ -121,7 +121,7 @@ Foam::patchToFace::patchToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), selectedPatches_() { // Look for 'patches' and 'patch', but accept 'name' as well diff --git a/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C b/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C index cf0b8f5a14c..9633b6b4248 100644 --- a/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C +++ b/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C @@ -181,7 +181,7 @@ Foam::pointToFace::pointToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), names_(), option_(pointActionNames_.get("option", dict)) { diff --git a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C index 53aae6f23ef..8bb3e8815ff 100644 --- a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C +++ b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C @@ -227,7 +227,7 @@ Foam::regionToFace::regionToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), setName_(dict.get<word>("set")), nearPoint_(dict.get<point>("nearPoint")) {} diff --git a/src/meshTools/topoSet/faceSources/searchableSurfaceToFace/searchableSurfaceToFace.C b/src/meshTools/topoSet/faceSources/searchableSurfaceToFace/searchableSurfaceToFace.C index 2299b79483b..2a0f54c234b 100644 --- a/src/meshTools/topoSet/faceSources/searchableSurfaceToFace/searchableSurfaceToFace.C +++ b/src/meshTools/topoSet/faceSources/searchableSurfaceToFace/searchableSurfaceToFace.C @@ -102,7 +102,9 @@ void Foam::searchableSurfaceToFace::combine(topoSet& set, const bool add) const { return; } - const pointField& ctrs = mesh_.faceCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.faceCentres())); + const pointField& ctrs = tctrs(); + const searchableSurface& s = *surf_; // Face centres within the enclosing volumes @@ -130,7 +132,7 @@ Foam::searchableSurfaceToFace::searchableSurfaceToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), surf_ ( searchableSurface::New diff --git a/src/meshTools/topoSet/faceSources/sphereToFace/sphereToFace.C b/src/meshTools/topoSet/faceSources/sphereToFace/sphereToFace.C index f7b0079c089..51ef63778de 100644 --- a/src/meshTools/topoSet/faceSources/sphereToFace/sphereToFace.C +++ b/src/meshTools/topoSet/faceSources/sphereToFace/sphereToFace.C @@ -67,7 +67,8 @@ Foam::topoSetSource::addToUsageTable Foam::sphereToFace::usage_ void Foam::sphereToFace::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.faceCentres(); + const tmp<pointField> tctrs(this->transform(mesh_.faceCentres())); + const pointField& ctrs = tctrs(); const scalar orad2 = sqr(radius_); const scalar irad2 = innerRadius_ > 0 ? sqr(innerRadius_) : -1; @@ -109,11 +110,11 @@ Foam::sphereToFace::sphereToFace const dictionary& dict ) : - sphereToFace + topoSetFaceSource(mesh, dict), + origin_(dict.getCompat<vector>("origin", {{"centre", -1806}})), + radius_(dict.getCheck<scalar>("radius", scalarMinMax::ge(0))), + innerRadius_ ( - mesh, - dict.getCompat<vector>("origin", {{"centre", -1806}}), - dict.getCheck<scalar>("radius", scalarMinMax::ge(0)), dict.getCheckOrDefault<scalar>("innerRadius", 0, scalarMinMax::ge(0)) ) {} diff --git a/src/meshTools/topoSet/faceSources/zoneToFace/zoneToFace.C b/src/meshTools/topoSet/faceSources/zoneToFace/zoneToFace.C index 3ce8d9d7afe..a4c7ee20499 100644 --- a/src/meshTools/topoSet/faceSources/zoneToFace/zoneToFace.C +++ b/src/meshTools/topoSet/faceSources/zoneToFace/zoneToFace.C @@ -183,7 +183,7 @@ Foam::zoneToFace::zoneToFace const dictionary& dict ) : - topoSetFaceSource(mesh), + topoSetFaceSource(mesh, dict), zoneMatcher_() { // Look for 'zones' and 'zone', but accept 'name' as well diff --git a/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C index cf2680c76f0..ed0586fba1d 100644 --- a/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C @@ -160,7 +160,7 @@ Foam::cellToFaceZone::cellToFaceZone const dictionary& dict ) : - topoSetFaceZoneSource(mesh), + topoSetFaceZoneSource(mesh, dict), names_(), flip_(dict.getOrDefault("flip", false)) { diff --git a/src/meshTools/topoSet/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C index b2d44b12d67..4e0f039624a 100644 --- a/src/meshTools/topoSet/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C @@ -81,7 +81,7 @@ Foam::faceZoneToFaceZone::faceZoneToFaceZone const dictionary& dict ) : - topoSetFaceZoneSource(mesh), + topoSetFaceZoneSource(mesh, dict), setName_(dict.get<word>("zone")) {} diff --git a/src/meshTools/topoSet/faceZoneSources/planeToFaceZone/planeToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/planeToFaceZone/planeToFaceZone.C index c7cdff5f780..273cbfd8acc 100644 --- a/src/meshTools/topoSet/faceZoneSources/planeToFaceZone/planeToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/planeToFaceZone/planeToFaceZone.C @@ -388,13 +388,10 @@ Foam::planeToFaceZone::planeToFaceZone const dictionary& dict ) : - planeToFaceZone - ( - mesh, - dict.get<vector>("point"), - dict.get<vector>("normal"), - faceActionNames_.getOrDefault("option", dict, faceAction::ALL) - ) + topoSetFaceZoneSource(mesh, dict), + point_(dict.get<vector>("point")), + normal_(dict.get<vector>("normal")), + option_(faceActionNames_.getOrDefault("option", dict, faceAction::ALL)) {} diff --git a/src/meshTools/topoSet/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C index 170ecd7206b..0c3c0c4532b 100644 --- a/src/meshTools/topoSet/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C @@ -109,7 +109,7 @@ Foam::searchableSurfaceToFaceZone::searchableSurfaceToFaceZone const dictionary& dict ) : - topoSetFaceZoneSource(mesh), + topoSetFaceZoneSource(mesh, dict), surfacePtr_ ( searchableSurface::New diff --git a/src/meshTools/topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C index b0eeb21b338..21e51ff5cc9 100644 --- a/src/meshTools/topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C @@ -83,7 +83,7 @@ Foam::setAndNormalToFaceZone::setAndNormalToFaceZone const dictionary& dict ) : - topoSetFaceZoneSource(mesh), + topoSetFaceZoneSource(mesh, dict), setName_(dict.get<word>("faceSet")), normal_(dict.get<vector>("normal")) {} diff --git a/src/meshTools/topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C index a460bfb649d..7e47c0598e1 100644 --- a/src/meshTools/topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C @@ -72,7 +72,7 @@ Foam::setToFaceZone::setToFaceZone const dictionary& dict ) : - topoSetFaceZoneSource(mesh), + topoSetFaceZoneSource(mesh, dict), setName_(dict.get<word>("faceSet")) { if (dict.found("cellSet")) diff --git a/src/meshTools/topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C index 642cf82bca8..ecbbb7f469b 100644 --- a/src/meshTools/topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C @@ -77,7 +77,7 @@ Foam::setsToFaceZone::setsToFaceZone const dictionary& dict ) : - topoSetFaceZoneSource(mesh), + topoSetFaceZoneSource(mesh, dict), faceSetName_(dict.get<word>("faceSet")), cellSetName_(dict.get<word>("cellSet")), flip_(dict.getOrDefault("flip", false)) diff --git a/src/meshTools/topoSet/pointSources/boxToPoint/boxToPoint.C b/src/meshTools/topoSet/pointSources/boxToPoint/boxToPoint.C index b7fe126f18f..d2c6237d6f5 100644 --- a/src/meshTools/topoSet/pointSources/boxToPoint/boxToPoint.C +++ b/src/meshTools/topoSet/pointSources/boxToPoint/boxToPoint.C @@ -92,7 +92,8 @@ static void readBoxDim(const dictionary& dict, treeBoundBox& bb) void Foam::boxToPoint::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.points(); + const tmp<pointField> tctrs(this->transform(mesh_.points())); + const pointField& ctrs = tctrs(); forAll(ctrs, elemi) { @@ -138,7 +139,7 @@ Foam::boxToPoint::boxToPoint const dictionary& dict ) : - topoSetPointSource(mesh), + topoSetPointSource(mesh, dict), bbs_() { // Accept 'boxes', 'box' or 'min/max' diff --git a/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C b/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C index 39cccb0cdc3..4cf1f0b7f00 100644 --- a/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C +++ b/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C @@ -109,7 +109,7 @@ Foam::cellToPoint::cellToPoint const dictionary& dict ) : - topoSetPointSource(mesh), + topoSetPointSource(mesh, dict), names_(), option_(cellActionNames_.get("option", dict)) { diff --git a/src/meshTools/topoSet/pointSources/clipPlaneToPoint/clipPlaneToPoint.C b/src/meshTools/topoSet/pointSources/clipPlaneToPoint/clipPlaneToPoint.C index 336983da349..c2e26b4fddf 100644 --- a/src/meshTools/topoSet/pointSources/clipPlaneToPoint/clipPlaneToPoint.C +++ b/src/meshTools/topoSet/pointSources/clipPlaneToPoint/clipPlaneToPoint.C @@ -69,7 +69,8 @@ void Foam::clipPlaneToPoint::combine(topoSet& set, const bool add) const { // Mesh points above plane - const pointField& ctrs = mesh_.points(); + const tmp<pointField> tctrs(this->transform(mesh_.points())); + const pointField& ctrs = tctrs(); forAll(ctrs, elemi) { @@ -102,12 +103,9 @@ Foam::clipPlaneToPoint::clipPlaneToPoint const dictionary& dict ) : - clipPlaneToPoint - ( - mesh, - dict.get<vector>("point"), - dict.get<vector>("normal") - ) + topoSetPointSource(mesh, dict), + point_(dict.get<vector>("point")), + normal_(dict.get<vector>("normal")) {} diff --git a/src/meshTools/topoSet/pointSources/cylinderToPoint/cylinderToPoint.C b/src/meshTools/topoSet/pointSources/cylinderToPoint/cylinderToPoint.C index 99e58047f58..23ec1d52322 100644 --- a/src/meshTools/topoSet/pointSources/cylinderToPoint/cylinderToPoint.C +++ b/src/meshTools/topoSet/pointSources/cylinderToPoint/cylinderToPoint.C @@ -68,7 +68,8 @@ Foam::topoSetSource::addToUsageTable Foam::cylinderToPoint::usage_ void Foam::cylinderToPoint::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.points(); + const tmp<pointField> tctrs(this->transform(mesh_.points())); + const pointField& ctrs = tctrs(); const vector axis = (point2_ - point1_); const scalar magAxis2 = magSqr(axis); @@ -119,12 +120,12 @@ Foam::cylinderToPoint::cylinderToPoint const dictionary& dict ) : - cylinderToPoint + topoSetPointSource(mesh, dict), + point1_(dict.getCompat<point>("point1", {{"p1", -2112}})), + point2_(dict.getCompat<point>("point2", {{"p2", -2112}})), + radius_(dict.getCompat<scalar>("radius", {{"outerRadius", -2112}})), + innerRadius_ ( - mesh, - dict.getCompat<point>("point1", {{"p1", -2112}}), - dict.getCompat<point>("point2", {{"p2", -2112}}), - dict.getCompat<scalar>("radius", {{"outerRadius", -2112}}), dict.getCheckOrDefault<scalar>("innerRadius", 0, scalarMinMax::ge(0)) ) {} diff --git a/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C b/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C index 86d20e9f909..0de8f548ccd 100644 --- a/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C +++ b/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C @@ -103,7 +103,7 @@ Foam::faceToPoint::faceToPoint const dictionary& dict ) : - topoSetPointSource(mesh), + topoSetPointSource(mesh, dict), names_(), option_(faceActionNames_.get("option", dict)) { diff --git a/src/meshTools/topoSet/pointSources/labelToPoint/labelToPoint.C b/src/meshTools/topoSet/pointSources/labelToPoint/labelToPoint.C index 4b3eb85c442..e6c9de9cf33 100644 --- a/src/meshTools/topoSet/pointSources/labelToPoint/labelToPoint.C +++ b/src/meshTools/topoSet/pointSources/labelToPoint/labelToPoint.C @@ -94,7 +94,8 @@ Foam::labelToPoint::labelToPoint const dictionary& dict ) : - labelToPoint(mesh, dict.get<labelList>("value")) + topoSetPointSource(mesh, dict), + labels_(dict.get<labelList>("value")) {} diff --git a/src/meshTools/topoSet/pointSources/nearestToPoint/nearestToPoint.C b/src/meshTools/topoSet/pointSources/nearestToPoint/nearestToPoint.C index b5ec828161a..cf17eef6b44 100644 --- a/src/meshTools/topoSet/pointSources/nearestToPoint/nearestToPoint.C +++ b/src/meshTools/topoSet/pointSources/nearestToPoint/nearestToPoint.C @@ -146,7 +146,8 @@ Foam::nearestToPoint::nearestToPoint const dictionary& dict ) : - nearestToPoint(mesh, dict.get<pointField>("points")) + topoSetPointSource(mesh, dict), + points_(dict.get<pointField>("points")) {} diff --git a/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C b/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C index ddb9810c92b..6b8abbbdbb4 100644 --- a/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C +++ b/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C @@ -70,7 +70,7 @@ Foam::pointToPoint::pointToPoint const dictionary& dict ) : - topoSetPointSource(mesh), + topoSetPointSource(mesh, dict), names_() { // Look for 'sets' or 'set' diff --git a/src/meshTools/topoSet/pointSources/searchableSurfaceToPoint/searchableSurfaceToPoint.C b/src/meshTools/topoSet/pointSources/searchableSurfaceToPoint/searchableSurfaceToPoint.C index 4b5e7344675..15a82782daf 100644 --- a/src/meshTools/topoSet/pointSources/searchableSurfaceToPoint/searchableSurfaceToPoint.C +++ b/src/meshTools/topoSet/pointSources/searchableSurfaceToPoint/searchableSurfaceToPoint.C @@ -102,12 +102,15 @@ void Foam::searchableSurfaceToPoint::combine(topoSet& set, const bool add) const { return; } + const tmp<pointField> tctrs(this->transform(mesh_.points())); + const pointField& ctrs = tctrs(); + const searchableSurface& s = *surf_; // Mesh points within the enclosing volumes List<volumeType> volTypes; - s.getVolumeType(mesh_.points(), volTypes); + s.getVolumeType(ctrs, volTypes); const label len = volTypes.size(); for (label id=0; id < len; ++id) @@ -129,7 +132,7 @@ Foam::searchableSurfaceToPoint::searchableSurfaceToPoint const dictionary& dict ) : - topoSetPointSource(mesh), + topoSetPointSource(mesh, dict), surf_ ( searchableSurface::New diff --git a/src/meshTools/topoSet/pointSources/sphereToPoint/sphereToPoint.C b/src/meshTools/topoSet/pointSources/sphereToPoint/sphereToPoint.C index e564b789255..ccecc0062b5 100644 --- a/src/meshTools/topoSet/pointSources/sphereToPoint/sphereToPoint.C +++ b/src/meshTools/topoSet/pointSources/sphereToPoint/sphereToPoint.C @@ -67,7 +67,8 @@ Foam::topoSetSource::addToUsageTable Foam::sphereToPoint::usage_ void Foam::sphereToPoint::combine(topoSet& set, const bool add) const { - const pointField& ctrs = mesh_.points(); + const tmp<pointField> tctrs(this->transform(mesh_.points())); + const pointField& ctrs = tctrs(); const scalar orad2 = sqr(radius_); const scalar irad2 = innerRadius_ > 0 ? sqr(innerRadius_) : -1; @@ -109,11 +110,11 @@ Foam::sphereToPoint::sphereToPoint const dictionary& dict ) : - sphereToPoint + topoSetPointSource(mesh, dict), + origin_(dict.getCompat<vector>("origin", {{"centre", -1806}})), + radius_(dict.getCheck<scalar>("radius", scalarMinMax::ge(0))), + innerRadius_ ( - mesh, - dict.getCompat<vector>("origin", {{"centre", -1806}}), - dict.getCheck<scalar>("radius", scalarMinMax::ge(0)), dict.getCheckOrDefault<scalar>("innerRadius", 0, scalarMinMax::ge(0)) ) {} diff --git a/src/meshTools/topoSet/pointSources/surfaceToPoint/surfaceToPoint.C b/src/meshTools/topoSet/pointSources/surfaceToPoint/surfaceToPoint.C index d6e94acab1b..22afa0c3cc4 100644 --- a/src/meshTools/topoSet/pointSources/surfaceToPoint/surfaceToPoint.C +++ b/src/meshTools/topoSet/pointSources/surfaceToPoint/surfaceToPoint.C @@ -153,7 +153,7 @@ Foam::surfaceToPoint::surfaceToPoint const dictionary& dict ) : - topoSetPointSource(mesh), + topoSetPointSource(mesh, dict), surfName_(dict.get<fileName>("file").expand()), surfType_(dict.getOrDefault<word>("fileType", word::null)), scale_(dict.getOrDefault<scalar>("scale", -1)), diff --git a/src/meshTools/topoSet/pointSources/zoneToPoint/zoneToPoint.C b/src/meshTools/topoSet/pointSources/zoneToPoint/zoneToPoint.C index 44627db683a..b7138e75049 100644 --- a/src/meshTools/topoSet/pointSources/zoneToPoint/zoneToPoint.C +++ b/src/meshTools/topoSet/pointSources/zoneToPoint/zoneToPoint.C @@ -183,7 +183,7 @@ Foam::zoneToPoint::zoneToPoint const dictionary& dict ) : - topoSetPointSource(mesh), + topoSetPointSource(mesh, dict), zoneMatcher_() { // Look for 'zones' and 'zone', but accept 'name' as well diff --git a/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C b/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C index 1fcc0cf0fd5..1d03c80dc35 100644 --- a/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C +++ b/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C @@ -71,7 +71,7 @@ Foam::setToPointZone::setToPointZone const dictionary& dict ) : - topoSetPointZoneSource(mesh), + topoSetPointZoneSource(mesh, dict), setName_(dict.get<word>("set")) {} diff --git a/src/meshTools/topoSet/topoSetSource/topoSetSource.C b/src/meshTools/topoSet/topoSetSource/topoSetSource.C index ffc15dc29fe..16a7cd1d2d8 100644 --- a/src/meshTools/topoSet/topoSetSource/topoSetSource.C +++ b/src/meshTools/topoSet/topoSetSource/topoSetSource.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,6 +31,7 @@ License #include "polyMesh.H" #include "bitSet.H" #include "topoSet.H" +#include "transformField.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -252,7 +253,8 @@ Foam::topoSetSource::topoSetSource ) : mesh_(mesh), - verbose_(verbose) + verbose_(verbose), + transformPtr_(nullptr) {} @@ -262,10 +264,14 @@ Foam::topoSetSource::topoSetSource const dictionary& dict ) : - topoSetSource(mesh) -{ - verbose(dict); -} + mesh_(mesh), + verbose_(dict.getOrDefault<bool>("verbose", true)), + transformPtr_ + ( + // Uses "solidBodyMotionFunction" if present + solidBodyMotionFunction::NewIfPresent(dict, mesh.time()) + ) +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -274,11 +280,28 @@ void Foam::topoSetSource::verbose(const dictionary& dict) { bool flag(verbose_); - if (dict.readIfPresent("verbose", flag)) + if (dict.readIfPresent("verbose", flag, keyType::LITERAL)) { verbose_ = flag; } } +Foam::tmp<Foam::pointField> Foam::topoSetSource::transform +( + const pointField& points +) const +{ + if (transformPtr_) + { + return transformPoints(transformPtr_->transformation(), points); + } + else + { + // No transform - return reference to input points + return points; + } +} + + // ************************************************************************* // diff --git a/src/meshTools/topoSet/topoSetSource/topoSetSource.H b/src/meshTools/topoSet/topoSetSource/topoSetSource.H index 7be81600029..68b07a71083 100644 --- a/src/meshTools/topoSet/topoSetSource/topoSetSource.H +++ b/src/meshTools/topoSet/topoSetSource/topoSetSource.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,7 +48,7 @@ SourceFiles #include "autoPtr.H" #include "Enum.H" #include "HashTable.H" -#include "runTimeSelectionTables.H" +#include "solidBodyMotionFunction.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -168,6 +168,9 @@ protected: //- Output verbosity (default: true) bool verbose_; + //- Optional transformation for geometric data + autoPtr<solidBodyMotionFunction> transformPtr_; + // Protected Member Functions @@ -386,6 +389,14 @@ public: ) const = 0; + //- True if coordinate transform is active. + bool hasTransform() const noexcept { return bool(transformPtr_); } + + //- Coordinate transform (optionally) coordinates. + //- Returns reference to input data if no transform is active. + tmp<pointField> transform(const pointField& points) const; + + // Housekeeping //- Deprecated(2018-07) convert string to action -- GitLab From 6692ecfbbc813664b357cac5c7411204ee864e07 Mon Sep 17 00:00:00 2001 From: Mattijs Janssens <ext-mjanssens@esi-group.com> Date: Mon, 18 Mar 2024 19:58:06 +0000 Subject: [PATCH 102/231] topoSet: allow use of 'zone' instead 'set', 'zones' instead of 'sets' in all set sources --- .../topoSet/cellSources/boxToCell/boxToCell.H | 2 +- .../cellSources/cellToCell/cellToCell.C | 50 ++++++---- .../cellSources/cellToCell/cellToCell.H | 37 +++++--- .../cellSources/faceToCell/faceToCell.C | 65 ++++++++----- .../cellSources/faceToCell/faceToCell.H | 41 ++++++-- .../faceZoneToCell/faceZoneToCell.H | 4 +- .../cellSources/patchToCell/patchToCell.H | 2 +- .../cellSources/pointToCell/pointToCell.C | 59 ++++++++---- .../cellSources/pointToCell/pointToCell.H | 45 ++++++--- .../cellSources/regionToCell/regionToCell.C | 52 +++++++--- .../cellSources/regionToCell/regionToCell.H | 14 ++- .../cellSources/zoneToCell/zoneToCell.H | 2 +- .../setToCellZone/setToCellZone.C | 10 +- .../topoSet/faceSources/boxToFace/boxToFace.H | 2 +- .../faceSources/cellToFace/cellToFace.C | 69 +++++++++----- .../faceSources/cellToFace/cellToFace.H | 37 ++++++-- .../faceSources/faceToFace/faceToFace.C | 52 ++++++---- .../faceSources/faceToFace/faceToFace.H | 28 ++++-- .../faceSources/holeToFace/holeToFace.C | 6 +- .../faceSources/patchToFace/patchToFace.H | 2 +- .../faceSources/pointToFace/pointToFace.C | 59 ++++++++---- .../faceSources/pointToFace/pointToFace.H | 43 ++++++--- .../faceSources/regionToFace/regionToFace.C | 58 +++++++++--- .../faceSources/regionToFace/regionToFace.H | 14 ++- .../faceSources/zoneToFace/zoneToFace.H | 2 +- .../cellToFaceZone/cellToFaceZone.C | 66 ++++++++----- .../cellToFaceZone/cellToFaceZone.H | 33 ++++++- .../pointSources/boxToPoint/boxToPoint.H | 2 +- .../pointSources/cellToPoint/cellToPoint.C | 56 +++++++---- .../pointSources/cellToPoint/cellToPoint.H | 45 ++++++--- .../pointSources/faceToPoint/faceToPoint.C | 53 +++++++---- .../pointSources/faceToPoint/faceToPoint.H | 17 ++-- .../pointSources/pointToPoint/pointToPoint.C | 50 ++++++---- .../pointSources/pointToPoint/pointToPoint.H | 30 ++++-- .../pointSources/zoneToPoint/zoneToPoint.H | 2 +- .../setToPointZone/setToPointZone.C | 10 +- .../topoSet/topoSetSource/topoSetSource.C | 48 ++++++++++ .../topoSet/topoSetSource/topoSetSource.H | 5 + src/meshTools/topoSet/topoSets/cellZoneSet.C | 54 +++++++++++ src/meshTools/topoSet/topoSets/cellZoneSet.H | 11 +++ src/meshTools/topoSet/topoSets/faceZoneSet.C | 94 ++++++++++++++----- src/meshTools/topoSet/topoSets/faceZoneSet.H | 36 +++++++ src/meshTools/topoSet/topoSets/pointZoneSet.C | 54 +++++++++++ src/meshTools/topoSet/topoSets/pointZoneSet.H | 12 +++ src/meshTools/topoSet/topoSets/topoBitSet.C | 28 ++++++ src/meshTools/topoSet/topoSets/topoBitSet.H | 11 +++ src/meshTools/topoSet/topoSets/topoBoolSet.C | 39 ++++++++ src/meshTools/topoSet/topoSets/topoBoolSet.H | 11 +++ src/meshTools/topoSet/topoSets/topoSet.C | 34 ++++++- src/meshTools/topoSet/topoSets/topoSet.H | 19 +++- 50 files changed, 1189 insertions(+), 386 deletions(-) diff --git a/src/meshTools/topoSet/cellSources/boxToCell/boxToCell.H b/src/meshTools/topoSet/cellSources/boxToCell/boxToCell.H index 1da35b00b0b..0775939338c 100644 --- a/src/meshTools/topoSet/cellSources/boxToCell/boxToCell.H +++ b/src/meshTools/topoSet/cellSources/boxToCell/boxToCell.H @@ -50,7 +50,7 @@ Usage source boxToCell; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 boxes diff --git a/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C b/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C index e43ab9ee640..667ccd02c3d 100644 --- a/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C +++ b/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,7 +60,8 @@ Foam::cellToCell::cellToCell ) : topoSetCellSource(mesh), - names_(one{}, setName) + names_(Foam::one{}, setName), + isZone_(false) {} @@ -71,15 +72,9 @@ Foam::cellToCell::cellToCell ) : topoSetCellSource(mesh, dict), - names_() -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} + names_(), + isZone_(topoSetSource::readNames(dict, names_)) +{} Foam::cellToCell::cellToCell @@ -89,7 +84,8 @@ Foam::cellToCell::cellToCell ) : topoSetCellSource(mesh), - names_(one{}, word(checkIs(is))) + names_(Foam::one{}, word(checkIs(is))), + isZone_(false) {} @@ -105,30 +101,44 @@ void Foam::cellToCell::applyToSet { if (verbose_) { - Info<< " Adding all elements of cell sets: " + Info<< " Adding all elements of cell " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } for (const word& setName : names_) { - cellSet loadedSet(mesh_, setName); - - set.addSet(loadedSet); + if (isZone_) + { + set.addSet(mesh_.cellZones()[setName]); + } + else + { + cellSet loadedSet(mesh_, setName); + set.addSet(loadedSet); + } } } else if (action == topoSetSource::SUBTRACT) { if (verbose_) { - Info<< " Removing all elements of cell sets: " + Info<< " Removing all elements of cell " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } for (const word& setName : names_) { - cellSet loadedSet(mesh_, setName); - - set.subtractSet(loadedSet); + if (isZone_) + { + set.subtractSet(mesh_.cellZones()[setName]); + } + else + { + cellSet loadedSet(mesh_, setName); + set.subtractSet(loadedSet); + } } } } diff --git a/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.H b/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.H index 1a42aa8b00d..fb595cb7872 100644 --- a/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.H +++ b/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,8 @@ Class Foam::cellToCell Description - A \c topoSetCellSource to select all the cells from given \c cellSet(s). + A \c topoSetCellSource to select all the cells from given \c cellSet(s) + or \c cellZone(s). Operands: \table @@ -50,7 +51,7 @@ Usage source cellToCell; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -61,7 +62,18 @@ Usage ); // Option-2 - set <cellSetName>; + zones + ( + <cellZoneName0> + <cellZoneName1> + ... + ); + + // Option-3 + set <cellSetName>; + + // Option-4 + zone <cellZoneName>; } \endverbatim @@ -81,17 +93,15 @@ Usage subtract | Remove selected cells from this cellSet \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim Entry | Description | Type | Req'd | Dflt sets | Names of input cellSets | wordList | cond'l | - + zones | Names of input cellZones | wordList | cond'l | - set | Name of input cellSet | word | cond'l | - + zone | Name of input cellZone | word | cond'l | - \endverbatim -Note - The order of precedence among the conditional mandatory entries from the - highest to the lowest is \c sets, and \c set. - See also - Foam::topoSetSource - Foam::topoSetCellSource @@ -101,8 +111,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cellToCell_H -#define cellToCell_H +#ifndef Foam_cellToCell_H +#define Foam_cellToCell_H #include "topoSetCellSource.H" @@ -124,9 +134,12 @@ class cellToCell //- Add usage string static addToUsageTable usage_; - //- Names of sets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + public: diff --git a/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C b/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C index ec52df9e2d4..a71a70760b9 100644 --- a/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C +++ b/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -66,18 +66,14 @@ Foam::faceToCell::faceActionNames_ // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::faceToCell::combine +template<class Selector> +void Foam::faceToCell::combineImpl ( topoSet& set, const bool add, - const word& setName + const Selector& faceLabels ) const { - // Load the set - faceSet loadedSet(mesh_, setName); - - const labelHashSet& faceLabels = loadedSet; - // Handle owner/neighbour/any selection for (const label facei : faceLabels) { @@ -104,7 +100,7 @@ void Foam::faceToCell::combine { // Count number of selected faces per cell. - Map<label> facesPerCell(loadedSet.size()); + Map<label> facesPerCell(faceLabels.size()); for (const label facei : faceLabels) { @@ -134,6 +130,31 @@ void Foam::faceToCell::combine } +void Foam::faceToCell::combine +( + topoSet& set, + const bool add, + const word& setName +) const +{ + if (isZone_) + { + const labelList& faceLabels = mesh_.faceZones()[setName]; + + combineImpl(set, add, faceLabels); + } + else + { + // Load the set + faceSet loadedSet(mesh_, setName); + + const labelHashSet& faceLabels = loadedSet; + + combineImpl(set, add, faceLabels); + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::faceToCell::faceToCell @@ -144,7 +165,8 @@ Foam::faceToCell::faceToCell ) : topoSetCellSource(mesh), - names_(one{}, setName), + names_(Foam::one{}, setName), + isZone_(false), option_(option) {} @@ -157,15 +179,9 @@ Foam::faceToCell::faceToCell : topoSetCellSource(mesh, dict), names_(), + isZone_(topoSetSource::readNames(dict, names_)), option_(faceActionNames_.get("option", dict)) -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} +{} Foam::faceToCell::faceToCell @@ -175,7 +191,8 @@ Foam::faceToCell::faceToCell ) : topoSetCellSource(mesh), - names_(one{}, word(checkIs(is))), + names_(Foam::one{}, word(checkIs(is))), + isZone_(false), option_(faceActionNames_.read(checkIs(is))) {} @@ -192,8 +209,9 @@ void Foam::faceToCell::applyToSet { if (verbose_) { - Info<< " Adding cells according to face sets: " - << flatOutput(names_) << endl; + Info<< " Adding cells according to face " + << (isZone_ ? "zones: " : "sets: ") + << flatOutput(names_) << nl; } for (const word& setName : names_) @@ -205,8 +223,9 @@ void Foam::faceToCell::applyToSet { if (verbose_) { - Info<< " Removing cells according to face sets: " - << flatOutput(names_) << endl; + Info<< " Removing cells according to face " + << (isZone_ ? "zones: " : "sets: ") + << flatOutput(names_) << nl; } for (const word& setName : names_) diff --git a/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.H b/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.H index dbd6f18f8a3..36811cbe32c 100644 --- a/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.H +++ b/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -53,7 +53,7 @@ Usage option <option>; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -64,7 +64,18 @@ Usage ); // Option-2 + zones + ( + <faceZoneName0> + <faceZoneName1> + ... + ); + + // Option-3 set <faceSetName>; + + // Option-4 + zone <faceZoneName>; } \endverbatim @@ -93,17 +104,15 @@ Usage neighbour | Cells that are neighbour of given faces \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim Entry | Description | Type | Req'd | Dflt sets | Names of input faceSets | wordList | cond'l | - + zones | Names of input faceZones | wordList | cond'l | - set | Name of input faceSet | word | cond'l | - + zone | Name of input faceZone | word | cond'l | - \endverbatim -Note - The order of precedence among the conditional mandatory entries from the - highest to the lowest is \c sets, and \c set. - See also - Foam::topoSetSource - Foam::topoSetCellSource @@ -114,8 +123,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faceToCell_H -#define faceToCell_H +#ifndef Foam_faceToCell_H +#define Foam_faceToCell_H #include "topoSetCellSource.H" #include "Enum.H" @@ -153,15 +162,27 @@ private: //- Add usage string static addToUsageTable usage_; - //- Names of sets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + //- Option faceAction option_; // Private Member Functions + //- Depending on face to cell option add to or delete from cellSet. + template<class Selector> + void combineImpl + ( + topoSet& set, + const bool add, + const Selector& faceLabels + ) const; + //- Depending on face to cell option add to or delete from cellSet. void combine(topoSet& set, const bool add, const word& setName) const; diff --git a/src/meshTools/topoSet/cellSources/faceZoneToCell/faceZoneToCell.H b/src/meshTools/topoSet/cellSources/faceZoneToCell/faceZoneToCell.H index 44da5e124dc..c5fbd88148c 100644 --- a/src/meshTools/topoSet/cellSources/faceZoneToCell/faceZoneToCell.H +++ b/src/meshTools/topoSet/cellSources/faceZoneToCell/faceZoneToCell.H @@ -52,7 +52,7 @@ Usage option <option>; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 zones @@ -63,7 +63,7 @@ Usage ); // Option-2 - set <faceZoneName>; + zone <faceZoneName>; } \endverbatim diff --git a/src/meshTools/topoSet/cellSources/patchToCell/patchToCell.H b/src/meshTools/topoSet/cellSources/patchToCell/patchToCell.H index 4f787642884..7705e0b10cc 100644 --- a/src/meshTools/topoSet/cellSources/patchToCell/patchToCell.H +++ b/src/meshTools/topoSet/cellSources/patchToCell/patchToCell.H @@ -48,7 +48,7 @@ Usage source patchToCell; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 patches diff --git a/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C b/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C index 17b26421bb9..9c74f9e3e6d 100644 --- a/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C +++ b/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -64,18 +64,14 @@ Foam::pointToCell::pointActionNames_ // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::pointToCell::combine +template<class Selector> +void Foam::pointToCell::combineImpl ( topoSet& set, const bool add, - const word& setName + const Selector& pointLabels ) const { - // Load the set - pointSet loadedSet(mesh_, setName); - - const labelHashSet& pointLabels = loadedSet; - // Handle any selection if (option_ == ANY) { @@ -114,6 +110,31 @@ void Foam::pointToCell::combine } +void Foam::pointToCell::combine +( + topoSet& set, + const bool add, + const word& setName +) const +{ + if (isZone_) + { + const labelList& pointLabels = mesh_.pointZones()[setName]; + + combineImpl(set, add, pointLabels); + } + else + { + // Load the set + pointSet loadedSet(mesh_, setName); + + const labelHashSet& pointLabels = loadedSet; + + combineImpl(set, add, pointLabels); + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::pointToCell::pointToCell @@ -124,7 +145,8 @@ Foam::pointToCell::pointToCell ) : topoSetCellSource(mesh), - names_(one{}, setName), + names_(Foam::one{}, setName), + isZone_(false), option_(option) {} @@ -137,15 +159,9 @@ Foam::pointToCell::pointToCell : topoSetCellSource(mesh, dict), names_(), + isZone_(topoSetSource::readNames(dict, names_)), option_(pointActionNames_.get("option", dict)) -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} +{} Foam::pointToCell::pointToCell @@ -155,7 +171,8 @@ Foam::pointToCell::pointToCell ) : topoSetCellSource(mesh), - names_(one{}, word(checkIs(is))), + names_(Foam::one{}, word(checkIs(is))), + isZone_(false), option_(pointActionNames_.read(checkIs(is))) {} @@ -172,7 +189,8 @@ void Foam::pointToCell::applyToSet { if (verbose_) { - Info<< " Adding cells according to point sets: " + Info<< " Adding cells according to point " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } @@ -185,7 +203,8 @@ void Foam::pointToCell::applyToSet { if (verbose_) { - Info<< " Removing cells according to point sets: " + Info<< " Removing cells according to point " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } diff --git a/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.H b/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.H index 7d5432501d8..5fd938e079d 100644 --- a/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.H +++ b/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2012 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,7 +52,7 @@ Usage option <option>; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -62,8 +62,19 @@ Usage ... ); - // Option-2 - set <pointSetName>; + // Option-3 + zones + ( + <pointZoneName0> + <pointZoneName1> + ... + ); + + // Option-3 + set <pointSetName>; + + // Option-4 + zone <pointZoneName>; } \endverbatim @@ -90,17 +101,15 @@ Usage edge | Cells using an edge with both points in pointSet \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim Entry | Description | Type | Req'd | Dflt sets | Names of input pointSets | wordList | cond'l | - + zones | Names of input pointZones | wordList | cond'l | - set | Name of input pointSet | word | cond'l | - + zone | Name of input pointZone | word | cond'l | - \endverbatim -Note - The order of precedence among the conditional mandatory entries from the - highest to the lowest is \c sets, and \c set. - See also - Foam::topoSetSource - Foam::topoSetCellSource @@ -110,8 +119,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef pointToCell_H -#define pointToCell_H +#ifndef Foam_pointToCell_H +#define Foam_pointToCell_H #include "topoSetCellSource.H" #include "Enum.H" @@ -148,15 +157,27 @@ private: static const Enum<pointAction> pointActionNames_; - //- Names of sets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + //- Selection type pointAction option_; // Private Member Functions + //- Depending on point to cell option add to or delete from cellSet. + template<class Selector> + void combineImpl + ( + topoSet& set, + const bool add, + const Selector& pointLabels + ) const; + //- Depending on point-to-cell option add to or delete from cellSet. void combine(topoSet& set, const bool add, const word& setName) const; diff --git a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C index c83ec7ec74e..f192b4f37d6 100644 --- a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C +++ b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -346,18 +346,33 @@ void Foam::regionToCell::combine(topoSet& set, const bool add) const // Note: wip. Select cells first boolList selectedCell(mesh_.nCells(), true); - if (setName_.size() && setName_ != "none") + if (!setName_.empty() && setName_ != "none") { - Info<< " Loading subset " << setName_ - << " to delimit search region." - << endl; - - cellSet subSet(mesh_, setName_); + if (isZone_) + { + Info<< " Using cellZone " << setName_ + << " to delimit search region." + << endl; - selectedCell = false; - for (const label celli : subSet) + selectedCell = false; + for (const label celli : mesh_.cellZones()[setName_]) + { + selectedCell[celli] = true; + } + } + else { - selectedCell[celli] = true; + Info<< " Loading cellSet " << setName_ + << " to delimit search region." + << endl; + + cellSet subSet(mesh_, setName_); + + selectedCell = false; + for (const label celli : subSet) + { + selectedCell[celli] = true; + } } } @@ -392,6 +407,7 @@ Foam::regionToCell::regionToCell : topoSetCellSource(mesh), setName_(setName), + isZone_(false), insidePoints_(insidePoints), nErode_(nErode) {} @@ -404,13 +420,24 @@ Foam::regionToCell::regionToCell ) : topoSetCellSource(mesh, dict), - setName_(dict.getOrDefault<word>("set", "none")), + setName_(), + isZone_(false), insidePoints_ ( dict.getCompat<pointField>("insidePoints", {{ "insidePoint", 0 }}) ), nErode_(dict.getCheckOrDefault<label>("nErode", 0, labelMinMax::ge(0))) -{} +{ + // A single set or zone only! + if (dict.readIfPresent("set", setName_)) + { + isZone_ = false; + } + else if (dict.readIfPresent("zone", setName_)) + { + isZone_ = true; + } +} Foam::regionToCell::regionToCell @@ -421,6 +448,7 @@ Foam::regionToCell::regionToCell : topoSetCellSource(mesh), setName_(checkIs(is)), + isZone_(false), insidePoints_(checkIs(is)), nErode_(readLabel(checkIs(is))) {} diff --git a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.H b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.H index 4d273ffa5b7..2dd718a81b7 100644 --- a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.H +++ b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2012 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,6 +59,7 @@ Usage // Optional entries set <cellSetName>; + zone <cellZoneName>; nErode <label>; } \endverbatim @@ -93,8 +94,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef regionToCell_H -#define regionToCell_H +#ifndef Foam_regionToCell_H +#define Foam_regionToCell_H #include "topoSetCellSource.H" #include "boolList.H" @@ -119,8 +120,11 @@ class regionToCell //- Add usage string static addToUsageTable usage_; - //- Name of cellSet to keep to - const word setName_; + //- Name of cellSet or cellZone to keep to + word setName_; + + //- Is name a set or a zone + bool isZone_; //- Coordinate(s) that is inside connected region const pointField insidePoints_; diff --git a/src/meshTools/topoSet/cellSources/zoneToCell/zoneToCell.H b/src/meshTools/topoSet/cellSources/zoneToCell/zoneToCell.H index a83ce416eca..e9c2e128554 100644 --- a/src/meshTools/topoSet/cellSources/zoneToCell/zoneToCell.H +++ b/src/meshTools/topoSet/cellSources/zoneToCell/zoneToCell.H @@ -50,7 +50,7 @@ Usage source zoneToCell; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 zones diff --git a/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C b/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C index d0e4d3f3025..ca3d0c1d78e 100644 --- a/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C +++ b/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -123,7 +123,7 @@ void Foam::setToCellZone::applyToSet { if (!zoneSet.found(celli)) { - newAddressing.append(celli); + newAddressing.push_back(celli); } } @@ -144,11 +144,11 @@ void Foam::setToCellZone::applyToSet // Start off empty DynamicList<label> newAddressing(zoneSet.addressing().size()); - forAll(zoneSet.addressing(), i) + for (const label celli : zoneSet.addressing()) { - if (!loadedSet.found(zoneSet.addressing()[i])) + if (!loadedSet.found(celli)) { - newAddressing.append(zoneSet.addressing()[i]); + newAddressing.push_back(celli); } } zoneSet.addressing().transfer(newAddressing); diff --git a/src/meshTools/topoSet/faceSources/boxToFace/boxToFace.H b/src/meshTools/topoSet/faceSources/boxToFace/boxToFace.H index ecd4b0b305b..3df24f8b5ed 100644 --- a/src/meshTools/topoSet/faceSources/boxToFace/boxToFace.H +++ b/src/meshTools/topoSet/faceSources/boxToFace/boxToFace.H @@ -50,7 +50,7 @@ Usage source boxToFace; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 boxes diff --git a/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C b/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C index 7c4a4c4be33..d3b7508de72 100644 --- a/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C +++ b/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -68,23 +68,14 @@ Foam::cellToFace::cellActionNames_ // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::cellToFace::combine +template<class Selector> +void Foam::cellToFace::combineImpl ( topoSet& set, const bool add, - const word& setName + const Selector& cellLabels ) const { - // Load the set - if (!exists(mesh_.time().path()/topoSet::localPath(mesh_, setName))) - { - SeriousError<< "Cannot load set " - << setName << endl; - } - - cellSet loadedSet(mesh_, setName); - const labelHashSet& cellLabels = loadedSet; - if (option_ == ALL) { // Add all faces from cell @@ -212,6 +203,36 @@ void Foam::cellToFace::combine } +void Foam::cellToFace::combine +( + topoSet& set, + const bool add, + const word& setName +) const +{ + if (isZone_) + { + const labelList& cellLabels = mesh_.cellZones()[setName]; + + combineImpl(set, add, cellLabels); + } + else + { + // Load the set + if (!exists(mesh_.time().path()/topoSet::localPath(mesh_, setName))) + { + SeriousError<< "Cannot load set " + << setName << endl; + } + + cellSet loadedSet(mesh_, setName); + const labelHashSet& cellLabels = loadedSet; + + combineImpl(set, add, cellLabels); + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::cellToFace::cellToFace @@ -222,7 +243,8 @@ Foam::cellToFace::cellToFace ) : topoSetFaceSource(mesh), - names_(one{}, setName), + names_(Foam::one{}, setName), + isZone_(false), option_(option) {} @@ -235,15 +257,9 @@ Foam::cellToFace::cellToFace : topoSetFaceSource(mesh, dict), names_(), + isZone_(topoSetSource::readNames(dict, names_)), option_(cellActionNames_.get("option", dict)) -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} +{} Foam::cellToFace::cellToFace @@ -253,7 +269,8 @@ Foam::cellToFace::cellToFace ) : topoSetFaceSource(mesh), - names_(one{}, word(checkIs(is))), + names_(Foam::one{}, word(checkIs(is))), + isZone_(false), option_(cellActionNames_.read(checkIs(is))) {} @@ -270,7 +287,8 @@ void Foam::cellToFace::applyToSet { if (verbose_) { - Info<< " Adding faces according to cell sets: " + Info<< " Adding faces according to cell " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } @@ -283,7 +301,8 @@ void Foam::cellToFace::applyToSet { if (verbose_) { - Info<< " Removing faces according to cell sets: " + Info<< " Removing faces according to cell " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } diff --git a/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.H b/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.H index d1c5638a597..5b197e15a27 100644 --- a/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.H +++ b/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,7 +51,7 @@ Usage option <option>; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -62,7 +62,18 @@ Usage ); // Option-2 - set <cellSetName>; + zones + ( + <cellZoneName0> + <cellZoneName1> + ... + ); + + // Option-3 + set <cellSetName>; + + // Option-4 + zone <cellZoneName>; } \endverbatim @@ -90,16 +101,16 @@ Usage outside | Faces with only one neighbour in the cellSet \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim Entry | Description | Type | Reqd | Deflt sets | Names of input cellSets | wordList | choice | - + zones | Names of input cellZones | wordList | cond'l | - set | Name of input cellSet | word | choice | - + zone | Name of input cellZone | word | cond'l | - \endverbatim Note - - The order of precedence among the conditional mandatory entries from the - highest to the lowest is \c sets, and \c set. - The \c outside option applies to the cellSets individually. See also @@ -149,9 +160,12 @@ private: static const Enum<cellAction> cellActionNames_; - //- Names of cellSets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + //- Selection type cellAction option_; @@ -159,6 +173,15 @@ private: // Private Member Functions //- Depending on face to cell option add to or delete from cellSet. + template<class Selector> + void combineImpl + ( + topoSet& set, + const bool add, + const Selector& cellLabels + ) const; + + //- Depending on face to cell option add to or delete from set. void combine(topoSet& set, const bool add, const word& setName) const; diff --git a/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C b/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C index 8fbcf20838c..9eaed67c4e6 100644 --- a/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C +++ b/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,7 +60,8 @@ Foam::faceToFace::faceToFace ) : topoSetFaceSource(mesh), - names_(one{}, setName) + names_(Foam::one{}, setName), + isZone_(false) {} @@ -71,15 +72,9 @@ Foam::faceToFace::faceToFace ) : topoSetFaceSource(mesh, dict), - names_() -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} + names_(), + isZone_(topoSetSource::readNames(dict, names_)) +{} Foam::faceToFace::faceToFace @@ -89,7 +84,8 @@ Foam::faceToFace::faceToFace ) : topoSetFaceSource(mesh), - names_(one{}, word(checkIs(is))) + names_(Foam::one{}, word(checkIs(is))), + isZone_(false) {} @@ -105,30 +101,46 @@ void Foam::faceToFace::applyToSet { if (verbose_) { - Info<< " Adding all elements of face sets: " + Info<< " Adding all elements of face " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } for (const word& setName : names_) { - faceSet loadedSet(mesh_, setName); - - set.addSet(loadedSet); + if (isZone_) + { + set.addSet(mesh_.faceZones()[setName]); + } + else + { + faceSet loadedSet(mesh_, setName); + + set.addSet(loadedSet); + } } } else if (action == topoSetSource::SUBTRACT) { if (verbose_) { - Info<< " Removing all elements of face sets: " + Info<< " Removing all elements of face " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } for (const word& setName : names_) { - faceSet loadedSet(mesh_, setName); - - set.subtractSet(loadedSet); + if (isZone_) + { + set.subtractSet(mesh_.faceZones()[setName]); + } + else + { + faceSet loadedSet(mesh_, setName); + + set.subtractSet(loadedSet); + } } } } diff --git a/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.H b/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.H index 67642a41ea9..b02309df68e 100644 --- a/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.H +++ b/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -50,7 +50,7 @@ Usage source faceToFace; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -61,7 +61,18 @@ Usage ); // Option-2 + zones + ( + <faceZoneName0> + <faceZoneName1> + ... + ); + + // Option-3 set <faceSetName>; + + // Option-4 + zone <faceZoneName>; } \endverbatim @@ -81,11 +92,13 @@ Usage subtract | Remove selected faces from this faceSet \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim Entry | Description | Type | Req'd | Dflt sets | Names of input faceSets | wordList | cond'l | - + zones | Names of input faceZones | wordList | cond'l | - set | Name of input faceSet | word | cond'l | - + zone | Name of input faceZone | word | cond'l | - \endverbatim Note @@ -101,8 +114,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faceToFace_H -#define faceToFace_H +#ifndef Foam_faceToFace_H +#define Foam_faceToFace_H #include "topoSetFaceSource.H" @@ -124,9 +137,12 @@ class faceToFace //- Add usage string static addToUsageTable usage_; - //- Names of faceSets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + public: diff --git a/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C b/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C index 3816a19a6df..90781958d53 100644 --- a/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C +++ b/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1149,7 +1149,7 @@ void Foam::holeToFace::applyToSet for (const word& setName : blockedFaceNames_) { const faceSet loadedSet(mesh_, setName); - isBlockedFace.set(loadedSet.toc()); + isBlockedFace.setMany(loadedSet.begin(), loadedSet.end()); } // Optional initial blocked cells @@ -1159,7 +1159,7 @@ void Foam::holeToFace::applyToSet for (const word& setName : blockedCellNames_) { const cellSet loadedSet(mesh_, setName); - isCandidateCell.set(loadedSet.toc()); + isCandidateCell.setMany(loadedSet.begin(), loadedSet.end()); } } else diff --git a/src/meshTools/topoSet/faceSources/patchToFace/patchToFace.H b/src/meshTools/topoSet/faceSources/patchToFace/patchToFace.H index 844824483d7..792fad47fc6 100644 --- a/src/meshTools/topoSet/faceSources/patchToFace/patchToFace.H +++ b/src/meshTools/topoSet/faceSources/patchToFace/patchToFace.H @@ -49,7 +49,7 @@ Usage source patchToFace; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 patches diff --git a/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C b/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C index 9633b6b4248..6a4a77b96e5 100644 --- a/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C +++ b/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -82,18 +82,14 @@ Foam::pointToFace::pointActionNames_ // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::pointToFace::combine +template<class Selector> +void Foam::pointToFace::combineImpl ( topoSet& set, const bool add, - const word& setName + const Selector& pointLabels ) const { - // Load the set - pointSet loadedSet(mesh_, setName); - - const labelHashSet& pointLabels = loadedSet; - if (option_ == ANY) { // Add faces with any point in loadedSet @@ -160,6 +156,31 @@ void Foam::pointToFace::combine } +void Foam::pointToFace::combine +( + topoSet& set, + const bool add, + const word& setName +) const +{ + if (isZone_) + { + const labelList& pointLabels = mesh_.pointZones()[setName]; + + combineImpl(set, add, pointLabels); + } + else + { + // Load the set + pointSet loadedSet(mesh_, setName); + + const labelHashSet& pointLabels = loadedSet; + + combineImpl(set, add, pointLabels); + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::pointToFace::pointToFace @@ -170,7 +191,8 @@ Foam::pointToFace::pointToFace ) : topoSetFaceSource(mesh), - names_(one{}, setName), + names_(Foam::one{}, setName), + isZone_(false), option_(option) {} @@ -183,15 +205,9 @@ Foam::pointToFace::pointToFace : topoSetFaceSource(mesh, dict), names_(), + isZone_(topoSetSource::readNames(dict, names_)), option_(pointActionNames_.get("option", dict)) -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} +{} Foam::pointToFace::pointToFace @@ -201,7 +217,8 @@ Foam::pointToFace::pointToFace ) : topoSetFaceSource(mesh), - names_(one{}, word(checkIs(is))), + names_(Foam::one{}, word(checkIs(is))), + isZone_(false), option_(pointActionNames_.read(checkIs(is))) {} @@ -218,7 +235,8 @@ void Foam::pointToFace::applyToSet { if (verbose_) { - Info<< " Adding faces according to point sets: " + Info<< " Adding faces according to point " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } @@ -231,7 +249,8 @@ void Foam::pointToFace::applyToSet { if (verbose_) { - Info<< " Removing faces according to point sets: " + Info<< " Removing faces according to point " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } diff --git a/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.H b/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.H index ea632bc4819..ebf18e4d35b 100644 --- a/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.H +++ b/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2012 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,7 +52,7 @@ Usage option <option>; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -63,7 +63,18 @@ Usage ); // Option-2 - set <pointSetName>; + zones + ( + <pointZoneName0> + <pointZoneName1> + ... + ); + + // Option-3 + set <pointSetName>; + + // Option-4 + zone <pointZoneName>; } \endverbatim @@ -91,17 +102,15 @@ Usage all | All points in the pointSet \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim Entry | Description | Type | Req'd | Dflt sets | Names of input pointSets | wordList | cond'l | - + zones | Names of input pointZones | wordList | cond'l | - set | Name of input pointSet | word | cond'l | - + zone | Name of input pointZone | word | cond'l | - \endverbatim -Note - The order of precedence among the conditional mandatory entries from the - highest to the lowest is \c sets, and \c set. - See also - Foam::topoSetSource - Foam::topoSetFaceSource @@ -111,8 +120,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef pointToFace_H -#define pointToFace_H +#ifndef Foam_pointToFace_H +#define Foam_pointToFace_H #include "topoSetFaceSource.H" #include "Enum.H" @@ -149,15 +158,27 @@ private: static const Enum<pointAction> pointActionNames_; - //- Names of sets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + //- Option pointAction option_; // Private Member Functions + //- Depending on option add to or delete from set. + template<class Selector> + void combineImpl + ( + topoSet& set, + const bool add, + const Selector& pointLabels + ) const; + //- Depending on face to cell option add to or delete from faceSet. void combine(topoSet& set, const bool add, const word& setName) const; diff --git a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C index 8bb3e8815ff..683e5e68e0e 100644 --- a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C +++ b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -136,7 +136,12 @@ void Foam::regionToFace::markZone } -void Foam::regionToFace::combine(topoSet& set, const bool add) const +void Foam::regionToFace::combine +( + topoSet& set, + const bool add, + const labelUList& ids +) const { if (verbose_) { @@ -144,11 +149,9 @@ void Foam::regionToFace::combine(topoSet& set, const bool add) const << " to delimit search region." << endl; } - faceSet subSet(mesh_, setName_); - indirectPrimitivePatch patch ( - IndirectList<face>(mesh_.faces(), subSet.toc()), + IndirectList<face>(mesh_.faces(), ids), mesh_.points() ); @@ -158,7 +161,7 @@ void Foam::regionToFace::combine(topoSet& set, const bool add) const Tuple2<scalar, label> ( sqr(GREAT), - Pstream::myProcNo() + UPstream::myProcNo() ) ); @@ -217,6 +220,7 @@ Foam::regionToFace::regionToFace : topoSetFaceSource(mesh), setName_(setName), + isZone_(false), nearPoint_(nearPoint) {} @@ -228,9 +232,20 @@ Foam::regionToFace::regionToFace ) : topoSetFaceSource(mesh, dict), - setName_(dict.get<word>("set")), + setName_(), + isZone_(false), nearPoint_(dict.get<point>("nearPoint")) -{} +{ + if (dict.readIfPresent("set", setName_)) + { + isZone_ = false; + } + else + { + dict.readEntry("zone", setName_); + isZone_ = true; + } +} Foam::regionToFace::regionToFace @@ -241,6 +256,7 @@ Foam::regionToFace::regionToFace : topoSetFaceSource(mesh), setName_(checkIs(is)), + isZone_(false), nearPoint_(checkIs(is)) {} @@ -257,23 +273,41 @@ void Foam::regionToFace::applyToSet { if (verbose_) { - Info<< " Adding all faces of connected region of set " + Info<< " Adding all faces of connected region of " + << (isZone_ ? "zone " : "set ") << setName_ << " starting from point " << nearPoint_ << " ..." << endl; } - combine(set, true); + if (isZone_) + { + combine(set, true, mesh_.faceZones()[setName_].addressing()); + } + else + { + faceSet subSet(mesh_, setName_); + combine(set, true, subSet.sortedToc()); + } } else if (action == topoSetSource::SUBTRACT) { if (verbose_) { - Info<< " Removing all cells of connected region of set " + Info<< " Removing all cells of connected region of " + << (isZone_ ? "zone " : "set ") << setName_ << " starting from point " << nearPoint_ << " ..." << endl; } - combine(set, false); + if (isZone_) + { + combine(set, false, mesh_.faceZones()[setName_].addressing()); + } + else + { + faceSet subSet(mesh_, setName_); + combine(set, false, subSet.sortedToc()); + } } } diff --git a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.H b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.H index 9fafcb87e97..f0faf5dd79c 100644 --- a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.H +++ b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.H @@ -105,11 +105,14 @@ class regionToFace //- Add usage string static addToUsageTable usage_; - //- Name of set to use + //- Name of set or zone to use word setName_; + //- Is name a set or a zone + bool isZone_; + //- Coordinate that is nearest/on connected region - point nearPoint_; + const point nearPoint_; // Private Member Functions @@ -124,7 +127,12 @@ class regionToFace labelList& faceZone ) const; - void combine(topoSet& set, const bool add) const; + void combine + ( + topoSet& set, + const bool add, + const labelUList& ids + ) const; public: diff --git a/src/meshTools/topoSet/faceSources/zoneToFace/zoneToFace.H b/src/meshTools/topoSet/faceSources/zoneToFace/zoneToFace.H index 3369ea17db8..5f4f7ba13e8 100644 --- a/src/meshTools/topoSet/faceSources/zoneToFace/zoneToFace.H +++ b/src/meshTools/topoSet/faceSources/zoneToFace/zoneToFace.H @@ -50,7 +50,7 @@ Usage source zoneToFace; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 zones diff --git a/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C index ed0586fba1d..40e5330c368 100644 --- a/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -58,7 +58,7 @@ Foam::topoSetSource::addToUsageTable Foam::cellToFaceZone::usage_ void Foam::cellToFaceZone::selectFaces ( - const cellSet& cSet, + const bitSet& whichCells, bitSet& selectedFace, bitSet& doFlip ) const @@ -81,8 +81,8 @@ void Foam::cellToFaceZone::selectFaces // Check all internal faces for (label facei = 0; facei < nInt; ++facei) { - const bool ownFound = cSet.found(own[facei]); - const bool neiFound = cSet.found(nei[facei]); + const bool ownFound = whichCells.test(own[facei]); + const bool neiFound = whichCells.test(nei[facei]); if (ownFound && !neiFound) { @@ -106,7 +106,7 @@ void Foam::cellToFaceZone::selectFaces label facei = pp.start(); forAll(pp, i) { - neiInSet[facei-nInt] = cSet.found(own[facei]); + neiInSet[facei-nInt] = whichCells.test(own[facei]); ++facei; } } @@ -120,7 +120,7 @@ void Foam::cellToFaceZone::selectFaces label facei = pp.start(); forAll(pp, i) { - const bool ownFound = cSet.found(own[facei]); + const bool ownFound = whichCells.test(own[facei]); const bool neiFound = neiInSet[facei-nInt]; if (ownFound && !neiFound) @@ -149,7 +149,8 @@ Foam::cellToFaceZone::cellToFaceZone ) : topoSetFaceZoneSource(mesh), - names_(one{}, setName), + names_(Foam::one{}, setName), + isZone_(false), flip_(flip) {} @@ -162,15 +163,9 @@ Foam::cellToFaceZone::cellToFaceZone : topoSetFaceZoneSource(mesh, dict), names_(), + isZone_(topoSetSource::readNames(dict, names_)), flip_(dict.getOrDefault("flip", false)) -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} +{} Foam::cellToFaceZone::cellToFaceZone @@ -180,7 +175,8 @@ Foam::cellToFaceZone::cellToFaceZone ) : topoSetFaceZoneSource(mesh), - names_(one{}, word(checkIs(is))), + names_(Foam::one{}, word(checkIs(is))), + isZone_(false), flip_(false) {} @@ -207,7 +203,8 @@ void Foam::cellToFaceZone::applyToSet { if (verbose_) { - Info<< " Adding all faces on outside of cell sets: " + Info<< " Adding all faces on outside of cell " + << (isZone_ ? "zones:" : "sets: ") << flatOutput(names_) << "; orientation pointing "; if (flip_) @@ -222,12 +219,23 @@ void Foam::cellToFaceZone::applyToSet bitSet selectedFace(mesh_.nFaces()); bitSet doFlip(mesh_.nFaces()); + for (const word& setName : names_) { - // Load the sets - cellSet cSet(mesh_, setName); + bitSet whichCells(mesh_.nCells()); + if (isZone_) + { + whichCells.set(mesh_.cellZones()[setName]); + } + else + { + // Load the sets + const cellSet loadedSet(mesh_, setName); + whichCells.setMany(loadedSet.begin(), loadedSet.end()); + } + // Select outside faces - selectFaces(cSet, selectedFace, doFlip); + selectFaces(whichCells, selectedFace, doFlip); } // Start off from copy @@ -251,7 +259,8 @@ void Foam::cellToFaceZone::applyToSet { if (verbose_) { - Info<< " Removing all faces on outside of cell sets: " + Info<< " Removing all faces on outside of cell " + << (isZone_ ? "zones:" : "sets: ") << flatOutput(names_) << " ..." << endl; } @@ -259,10 +268,19 @@ void Foam::cellToFaceZone::applyToSet bitSet doFlip(mesh_.nFaces()); for (const word& setName : names_) { - // Load the sets - cellSet cSet(mesh_, setName); + bitSet whichCells(mesh_.nCells()); + if (isZone_) + { + whichCells.set(mesh_.cellZones()[setName]); + } + else + { + // Load the sets + const cellSet loadedSet(mesh_, setName); + whichCells.setMany(loadedSet.begin(), loadedSet.end()); + } // Select outside faces - selectFaces(cSet, selectedFace, doFlip); + selectFaces(whichCells, selectedFace, doFlip); } // Start off empty diff --git a/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.H b/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.H index 338d8f19e32..053769cf917 100644 --- a/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.H +++ b/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,7 +52,7 @@ Usage action <action>; source cellToFaceZone; - // Select either of the below + // Select one of the below // Option-1 sets @@ -63,7 +63,18 @@ Usage ); // Option-2 - set <word>; + zones + ( + <cellZoneName0> + <cellZoneName1> + ... + ); + + // Option-3 + set <cellSetName>; + + // Option-4 + zone <cellZoneName>; // Optional entries flip <bool>; @@ -89,6 +100,15 @@ Usage subtract | Remove selected faces of a faceZoneSet from this faceZone \endverbatim + Options for the conditional mandatory entries (in order of precedence): + \verbatim + Entry | Description | Type | Reqd | Deflt + sets | Names of input cellSets | wordList | choice | - + zones | Names of input cellZones | wordList | cond'l | - + set | Name of input cellSet | word | choice | - + zone | Name of input cellZone | word | cond'l | - + \endverbatim + Notes - \c flip=true sets the orientation of faces pointing into the \c cellSet, and vice versa. @@ -124,9 +144,12 @@ class cellToFaceZone //- Add usage string static addToUsageTable usage_; - //- Names of cellSets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + //- Whether cellSet is slave cells or master cells const bool flip_; @@ -136,7 +159,7 @@ class cellToFaceZone //- Select outside faces of cellSet void selectFaces ( - const cellSet& cSet, + const bitSet& cSet, bitSet& selectedFace, bitSet& doFlip ) const; diff --git a/src/meshTools/topoSet/pointSources/boxToPoint/boxToPoint.H b/src/meshTools/topoSet/pointSources/boxToPoint/boxToPoint.H index 462c29285c2..a7b0b701e3f 100644 --- a/src/meshTools/topoSet/pointSources/boxToPoint/boxToPoint.H +++ b/src/meshTools/topoSet/pointSources/boxToPoint/boxToPoint.H @@ -50,7 +50,7 @@ Usage source boxToPoint; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 boxes diff --git a/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C b/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C index 4cf1f0b7f00..e2be28d26c2 100644 --- a/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C +++ b/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C @@ -62,17 +62,14 @@ Foam::cellToPoint::cellActionNames_ // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::cellToPoint::combine +template<class Selector> +void Foam::cellToPoint::combineImpl ( topoSet& set, const bool add, - const word& setName + const Selector& cellLabels ) const { - // Load the set - cellSet loadedSet(mesh_, setName); - const labelHashSet& cellLabels = loadedSet; - // Add all point from cells in loadedSet for (const label celli : cellLabels) { @@ -88,6 +85,31 @@ void Foam::cellToPoint::combine } +void Foam::cellToPoint::combine +( + topoSet& set, + const bool add, + const word& setName +) const +{ + if (isZone_) + { + const labelList& cellLabels = mesh_.cellZones()[setName]; + + combineImpl(set, add, cellLabels); + } + else + { + // Load the set + cellSet loadedSet(mesh_, setName); + + const labelHashSet& cellLabels = loadedSet; + + combineImpl(set, add, cellLabels); + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::cellToPoint::cellToPoint @@ -98,7 +120,8 @@ Foam::cellToPoint::cellToPoint ) : topoSetPointSource(mesh), - names_(one{}, setName), + names_(Foam::one{}, setName), + isZone_(false), option_(option) {} @@ -111,15 +134,9 @@ Foam::cellToPoint::cellToPoint : topoSetPointSource(mesh, dict), names_(), + isZone_(topoSetSource::readNames(dict, names_)), option_(cellActionNames_.get("option", dict)) -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} +{} Foam::cellToPoint::cellToPoint @@ -129,7 +146,8 @@ Foam::cellToPoint::cellToPoint ) : topoSetPointSource(mesh), - names_(one{}, word(checkIs(is))), + names_(Foam::one{}, word(checkIs(is))), + isZone_(false), option_(cellActionNames_.read(checkIs(is))) {} @@ -146,7 +164,8 @@ void Foam::cellToPoint::applyToSet { if (verbose_) { - Info<< " Adding points in cell sets: " + Info<< " Adding points in cell " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } @@ -159,7 +178,8 @@ void Foam::cellToPoint::applyToSet { if (verbose_) { - Info<< " Removing points in cell sets: " + Info<< " Removing points in cell " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } diff --git a/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.H b/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.H index 7ff71fb09f7..9026c49486e 100644 --- a/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.H +++ b/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2020,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,7 +51,7 @@ Usage option <option>; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -62,7 +62,18 @@ Usage ); // Option-2 - set <pointSetName>; + zones + ( + <pointZoneName0> + <pointZoneName1> + ... + ); + + // Option-3 + set <pointSetName>; + + // Option-4 + zone <pointZoneName>; } \endverbatim @@ -88,17 +99,15 @@ Usage all | Select all points of cells in the cellSet \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim - Entry | Description | Type | Req'd | Dflt - sets | Names of input cellSets | wordList | cond'l | - - set | Name of input cellSet | word | cond'l | - + Entry | Description | Type | Reqd | Deflt + sets | Names of input cellSets | wordList | choice | - + zones | Names of input cellZones | wordList | cond'l | - + set | Name of input cellSet | word | choice | - + zone | Name of input cellZone | word | cond'l | - \endverbatim -Note - The order of precedence among the conditional mandatory entries from the - highest to the lowest is \c sets, and \c set. - See also - Foam::topoSetSource - Foam::topoSetPointSource @@ -145,15 +154,27 @@ private: static const Enum<cellAction> cellActionNames_; - //- Names of sets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + //- Option cellAction option_; // Private Member Functions + //- Depending on cell to point option add to or delete from pointSet. + template<class Selector> + void combineImpl + ( + topoSet& set, + const bool add, + const Selector& cellLabels + ) const; + void combine(topoSet& set, const bool add, const word& setName) const; diff --git a/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C b/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C index 0de8f548ccd..aac6b621614 100644 --- a/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C +++ b/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -68,16 +68,31 @@ void Foam::faceToPoint::combine const word& setName ) const { - // Load the set - faceSet loadedSet(mesh_, setName); - const labelHashSet& faceLabels = loadedSet; + if (isZone_) + { + const auto& faceLabels = mesh_.faceZones()[setName].addressing(); + + // Add all points from faces in loadedSet + for (const label facei : faceLabels) + { + const face& f = mesh_.faces()[facei]; - // Add all points from faces in loadedSet - for (const label facei : faceLabels) + addOrDelete(set, f, add); + } + } + else { - const face& f = mesh_.faces()[facei]; + // Load the set + faceSet loadedSet(mesh_, setName); + const labelHashSet& faceLabels = loadedSet; + + // Add all points from faces in loadedSet + for (const label facei : faceLabels) + { + const face& f = mesh_.faces()[facei]; - addOrDelete(set, f, add); + addOrDelete(set, f, add); + } } } @@ -92,7 +107,8 @@ Foam::faceToPoint::faceToPoint ) : topoSetPointSource(mesh), - names_(one{}, setName), + names_(Foam::one{}, setName), + isZone_(false), option_(option) {} @@ -105,15 +121,9 @@ Foam::faceToPoint::faceToPoint : topoSetPointSource(mesh, dict), names_(), + isZone_(topoSetSource::readNames(dict, names_)), option_(faceActionNames_.get("option", dict)) -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} +{} Foam::faceToPoint::faceToPoint @@ -123,7 +133,8 @@ Foam::faceToPoint::faceToPoint ) : topoSetPointSource(mesh), - names_(one{}, word(checkIs(is))), + names_(Foam::one{}, word(checkIs(is))), + isZone_(false), option_(faceActionNames_.read(checkIs(is))) {} @@ -140,7 +151,8 @@ void Foam::faceToPoint::applyToSet { if (verbose_) { - Info<< " Adding points from face in face sets: " + Info<< " Adding face points in face " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } @@ -153,7 +165,8 @@ void Foam::faceToPoint::applyToSet { if (verbose_) { - Info<< " Removing points from face in face sets: " + Info<< " Removing face points in face " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } diff --git a/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.H b/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.H index 8e12ef2740e..49c132cf981 100644 --- a/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.H +++ b/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -52,7 +52,7 @@ Usage option <option>; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -89,17 +89,15 @@ Usage all | Select all points of faces in the faceSet \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim Entry | Description | Type | Req'd | Dflt sets | Names of input faceSets | wordList | cond'l | - + zones | Names of input faceZones | wordList | cond'l | - set | Name of input faceSet | word | cond'l | - + zone | Name of input faceZone | word | cond'l | - \endverbatim -Note - The order of precedence among the conditional mandatory entries from the - highest to the lowest is \c sets, and \c set. - See also - Foam::topoSetSource - Foam::topoSetPointSource @@ -146,9 +144,12 @@ private: static const Enum<faceAction> faceActionNames_; - //- Names of sets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + //- Option faceAction option_; diff --git a/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C b/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C index 6b8abbbdbb4..0f428972cc9 100644 --- a/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C +++ b/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C @@ -60,7 +60,8 @@ Foam::pointToPoint::pointToPoint ) : topoSetPointSource(mesh), - names_(one{}, setName) + names_(Foam::one{}, setName), + isZone_(false) {} @@ -71,15 +72,9 @@ Foam::pointToPoint::pointToPoint ) : topoSetPointSource(mesh, dict), - names_() -{ - // Look for 'sets' or 'set' - if (!dict.readIfPresent("sets", names_)) - { - names_.resize(1); - dict.readEntry("set", names_.front()); - } -} + names_(), + isZone_(topoSetSource::readNames(dict, names_)) +{} Foam::pointToPoint::pointToPoint @@ -89,7 +84,8 @@ Foam::pointToPoint::pointToPoint ) : topoSetPointSource(mesh), - names_(one{}, word(checkIs(is))) + names_(Foam::one{}, word(checkIs(is))), + isZone_(false) {} @@ -105,30 +101,46 @@ void Foam::pointToPoint::applyToSet { if (verbose_) { - Info<< " Adding all elements of point sets: " + Info<< " Adding all elements of point " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } for (const word& setName : names_) { - pointSet loadedSet(mesh_, setName); - - set.addSet(loadedSet); + if (isZone_) + { + set.addSet(mesh_.pointZones()[setName]); + } + else + { + pointSet loadedSet(mesh_, setName); + + set.addSet(loadedSet); + } } } else if (action == topoSetSource::SUBTRACT) { if (verbose_) { - Info<< " Removing all elements of point sets: " + Info<< " Removing all elements of point " + << (isZone_ ? "zones: " : "sets: ") << flatOutput(names_) << nl; } for (const word& setName : names_) { - pointSet loadedSet(mesh_, setName); - - set.subtractSet(loadedSet); + if (isZone_) + { + set.subtractSet(mesh_.pointZones()[setName]); + } + else + { + pointSet loadedSet(mesh_, setName); + + set.subtractSet(loadedSet); + } } } } diff --git a/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.H b/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.H index 55efeceb8d5..1a6d0b39c63 100644 --- a/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.H +++ b/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2020,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -50,7 +50,7 @@ Usage source pointToPoint; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 sets @@ -61,7 +61,18 @@ Usage ); // Option-2 - set <pointSetName>; + zones + ( + <pointZoneName0> + <pointZoneName1> + ... + ); + + // Option-3 + set <pointSetName>; + + // Option-4 + zone <pointZoneName>; } \endverbatim @@ -81,17 +92,15 @@ Usage subtract | Remove selected points from this pointSet \endverbatim - Options for the conditional mandatory entries: + Options for the conditional mandatory entries (in order of precedence): \verbatim Entry | Description | Type | Req'd | Dflt sets | Names of input pointSets | wordList | cond'l | - + zones | Names of input pointZones | wordList | cond'l | - set | Name of input pointSet | word | cond'l | - + zone | Name of input pointZone | word | cond'l | - \endverbatim -Note - The order of precedence among the conditional mandatory entries from the - highest to the lowest is \c sets, and \c set. - See also - Foam::topoSetSource - Foam::topoSetPointSource @@ -124,9 +133,12 @@ class pointToPoint //- Add usage string static addToUsageTable usage_; - //- Names of sets to use + //- Names of sets or zones to use wordList names_; + //- Is name a set or a zone + const bool isZone_; + public: diff --git a/src/meshTools/topoSet/pointSources/zoneToPoint/zoneToPoint.H b/src/meshTools/topoSet/pointSources/zoneToPoint/zoneToPoint.H index 8f44db859eb..2e587d39bdc 100644 --- a/src/meshTools/topoSet/pointSources/zoneToPoint/zoneToPoint.H +++ b/src/meshTools/topoSet/pointSources/zoneToPoint/zoneToPoint.H @@ -50,7 +50,7 @@ Usage source zoneToPoint; // Conditional mandatory entries - // Select either of the below + // Select one of the below // Option-1 zones diff --git a/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C b/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C index 1d03c80dc35..40e50aa54fa 100644 --- a/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C +++ b/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -124,7 +124,7 @@ void Foam::setToPointZone::applyToSet { if (!zoneSet.found(pointi)) { - newAddressing.append(pointi); + newAddressing.push_back(pointi); } } @@ -145,11 +145,11 @@ void Foam::setToPointZone::applyToSet // Start off empty DynamicList<label> newAddressing(zoneSet.addressing().size()); - forAll(zoneSet.addressing(), i) + for (const label pointi : zoneSet.addressing()) { - if (!loadedSet.found(zoneSet.addressing()[i])) + if (!loadedSet.found(pointi)) { - newAddressing.append(zoneSet.addressing()[i]); + newAddressing.push_back(pointi); } } zoneSet.addressing().transfer(newAddressing); diff --git a/src/meshTools/topoSet/topoSetSource/topoSetSource.C b/src/meshTools/topoSet/topoSetSource/topoSetSource.C index 16a7cd1d2d8..10331ffa575 100644 --- a/src/meshTools/topoSet/topoSetSource/topoSetSource.C +++ b/src/meshTools/topoSet/topoSetSource/topoSetSource.C @@ -304,4 +304,52 @@ Foam::tmp<Foam::pointField> Foam::topoSetSource::transform } +bool Foam::topoSetSource::readNames +( + const dictionary& dict, + wordList& names +) +{ + bool isZone = false; + + // priority + // 1. 'sets' + // 2. 'zones' + // 3. 'set' + // 4. 'zone' + + if (dict.readIfPresent("sets", names, keyType::LITERAL)) + { + // -> isZone = false; + } + else if (dict.readIfPresent("zones", names, keyType::LITERAL)) + { + isZone = true; + } + else + { + // Ensure error messsages make sense if nothing was provided + names.resize(1); + + if (dict.readIfPresent("zone", names.front(), keyType::LITERAL)) + { + // Had 'zone', so 'set' is optional... + isZone = true; + if (dict.readIfPresent("set", names.front(), keyType::LITERAL)) + { + isZone = false; + } + } + else + { + // No 'zone', so 'set' is mandatory... + dict.readEntry("set", names.front(), keyType::LITERAL); + // -> isZone = false; + } + } + + return isZone; +} + + // ************************************************************************* // diff --git a/src/meshTools/topoSet/topoSetSource/topoSetSource.H b/src/meshTools/topoSet/topoSetSource/topoSetSource.H index 68b07a71083..a7797736447 100644 --- a/src/meshTools/topoSet/topoSetSource/topoSetSource.H +++ b/src/meshTools/topoSet/topoSetSource/topoSetSource.H @@ -405,6 +405,11 @@ public: { return actionNames[actionName]; } + + //- Helper: extract wordList of patches/zones from dictionary. Returns + // true if zone(s). Order of parsing is + // sets, zones, set, zone + static bool readNames(const dictionary& dict, wordList& names); }; diff --git a/src/meshTools/topoSet/topoSets/cellZoneSet.C b/src/meshTools/topoSet/topoSets/cellZoneSet.C index 28ab5ac500d..4fca3baacc0 100644 --- a/src/meshTools/topoSet/topoSets/cellZoneSet.C +++ b/src/meshTools/topoSet/topoSets/cellZoneSet.C @@ -171,6 +171,23 @@ void Foam::cellZoneSet::subset(const topoSet& set) } +void Foam::cellZoneSet::subset(const labelUList& set) +{ + DynamicList<label> newAddressing(addressing_.size()); + + for (const label celli : set) + { + if (found(celli)) + { + newAddressing.append(celli); + } + } + + addressing_.transfer(newAddressing); + updateSet(); +} + + void Foam::cellZoneSet::addSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_); @@ -190,6 +207,23 @@ void Foam::cellZoneSet::addSet(const topoSet& set) } +void Foam::cellZoneSet::addSet(const labelUList& set) +{ + DynamicList<label> newAddressing(addressing_); + + for (const label celli : set) + { + if (!found(celli)) + { + newAddressing.append(celli); + } + } + + addressing_.transfer(newAddressing); + updateSet(); +} + + void Foam::cellZoneSet::subtractSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_.size()); @@ -210,6 +244,26 @@ void Foam::cellZoneSet::subtractSet(const topoSet& set) } +void Foam::cellZoneSet::subtractSet(const labelUList& elems) +{ + DynamicList<label> newAddressing(addressing_.size()); + + const labelHashSet zoneSet(elems); + + for (const label celli : addressing_) + { + if (!zoneSet.found(celli)) + { + // Not found in zoneSet so add + newAddressing.append(celli); + } + } + + addressing_.transfer(newAddressing); + updateSet(); +} + + void Foam::cellZoneSet::sync(const polyMesh& mesh) { cellSet::sync(mesh); diff --git a/src/meshTools/topoSet/topoSets/cellZoneSet.H b/src/meshTools/topoSet/topoSets/cellZoneSet.H index d2e34e416b4..cb53106b804 100644 --- a/src/meshTools/topoSet/topoSets/cellZoneSet.H +++ b/src/meshTools/topoSet/topoSets/cellZoneSet.H @@ -128,6 +128,17 @@ public: //- Subtract elements present in set. virtual void subtractSet(const topoSet& set); + // Variants taking labelUList& + + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const labelUList& set); + + //- Add elements present in set. + virtual void addSet(const labelUList& set); + + //- Subtract elements present in set. + virtual void subtractSet(const labelUList& set); + //- Sync cellSet across coupled patches; update cellZone from cellSet virtual void sync(const polyMesh& mesh); diff --git a/src/meshTools/topoSet/topoSets/faceZoneSet.C b/src/meshTools/topoSet/topoSets/faceZoneSet.C index ab86d89c636..6b230325ead 100644 --- a/src/meshTools/topoSet/topoSets/faceZoneSet.C +++ b/src/meshTools/topoSet/topoSets/faceZoneSet.C @@ -171,7 +171,12 @@ void Foam::faceZoneSet::invert(const label maxLen) } -void Foam::faceZoneSet::subset(const topoSet& set) +void Foam::faceZoneSet::subset +( + const word& setName, + const labelUList& setAddressing, + const UList<bool>& setFlipMap +) { label nConflict = 0; @@ -180,11 +185,9 @@ void Foam::faceZoneSet::subset(const topoSet& set) Map<label> faceToIndex(invertToMap(addressing_)); - const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); - - forAll(zoneSet.addressing(), i) + forAll(setAddressing, i) { - const label facei = zoneSet.addressing()[i]; + const label facei = setAddressing[i]; const auto iter = faceToIndex.cfind(facei); @@ -192,7 +195,7 @@ void Foam::faceZoneSet::subset(const topoSet& set) { const label index = iter.val(); - if (zoneSet.flipMap()[i] != flipMap_[index]) + if (setFlipMap.size() && (setFlipMap[i] != flipMap_[index])) { ++nConflict; } @@ -205,8 +208,8 @@ void Foam::faceZoneSet::subset(const topoSet& set) { WarningInFunction << "subset : there are " << nConflict - << " faces with different orientation in faceZonesSets " - << name() << " and " << set.name() << endl; + << " faces with different orientation in faceZoneSets " + << name() << " and " << setName << endl; } addressing_.transfer(newAddressing); @@ -215,7 +218,25 @@ void Foam::faceZoneSet::subset(const topoSet& set) } -void Foam::faceZoneSet::addSet(const topoSet& set) +void Foam::faceZoneSet::subset(const topoSet& set) +{ + const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); + subset(zoneSet.name(), zoneSet.addressing(), zoneSet.flipMap()); +} + + +void Foam::faceZoneSet::subset(const labelUList& set) +{ + subset(word::null, set, boolList::null()); +} + + +void Foam::faceZoneSet::addSet +( + const word& setName, + const labelUList& setAddressing, + const UList<bool>& setFlipMap +) { label nConflict = 0; @@ -224,18 +245,16 @@ void Foam::faceZoneSet::addSet(const topoSet& set) Map<label> faceToIndex(invertToMap(addressing_)); - const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); - - forAll(zoneSet.addressing(), i) + forAll(setAddressing, i) { - const label facei = zoneSet.addressing()[i]; + const label facei = setAddressing[i]; const auto iter = faceToIndex.cfind(facei); if (iter.good()) { const label index = iter.val(); - if (zoneSet.flipMap()[i] != flipMap_[index]) + if (setFlipMap.size() && (setFlipMap[i] != flipMap_[index])) { ++nConflict; } @@ -243,7 +262,7 @@ void Foam::faceZoneSet::addSet(const topoSet& set) else { newAddressing.append(facei); - newFlipMap.append(zoneSet.flipMap()[i]); + newFlipMap.append(setFlipMap.size() ? setFlipMap[i] : false); } } @@ -252,7 +271,7 @@ void Foam::faceZoneSet::addSet(const topoSet& set) WarningInFunction << "addSet : there are " << nConflict << " faces with different orientation in faceZonesSets " - << name() << " and " << set.name() << endl; + << name() << " and " << setName << endl; } addressing_.transfer(newAddressing); @@ -261,16 +280,32 @@ void Foam::faceZoneSet::addSet(const topoSet& set) } -void Foam::faceZoneSet::subtractSet(const topoSet& set) +void Foam::faceZoneSet::addSet(const topoSet& set) +{ + const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); + addSet(zoneSet.name(), zoneSet.addressing(), zoneSet.flipMap()); +} + + +void Foam::faceZoneSet::addSet(const labelUList& set) +{ + addSet(word::null, set, boolList::null()); +} + + +void Foam::faceZoneSet::subtractSet +( + const word& setName, + const labelUList& setAddressing, + const UList<bool>& setFlipMap +) { label nConflict = 0; DynamicList<label> newAddressing(addressing_.size()); DynamicList<bool> newFlipMap(flipMap_.size()); - const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); - - Map<label> faceToIndex(invertToMap(zoneSet.addressing())); + Map<label> faceToIndex(invertToMap(setAddressing)); forAll(addressing_, i) { @@ -282,7 +317,7 @@ void Foam::faceZoneSet::subtractSet(const topoSet& set) { const label index = iter.val(); - if (zoneSet.flipMap()[index] != flipMap_[i]) + if (setFlipMap.size() && (setFlipMap[index] != flipMap_[i])) { ++nConflict; } @@ -291,7 +326,7 @@ void Foam::faceZoneSet::subtractSet(const topoSet& set) { // Not found in zoneSet so add newAddressing.append(facei); - newFlipMap.append(zoneSet.flipMap()[i]); + newFlipMap.append(setFlipMap.size() ? setFlipMap[i] : false); } } @@ -300,7 +335,7 @@ void Foam::faceZoneSet::subtractSet(const topoSet& set) WarningInFunction << "subtractSet : there are " << nConflict << " faces with different orientation in faceZonesSets " - << name() << " and " << set.name() << endl; + << name() << " and " << setName << endl; } addressing_.transfer(newAddressing); @@ -309,6 +344,19 @@ void Foam::faceZoneSet::subtractSet(const topoSet& set) } +void Foam::faceZoneSet::subtractSet(const topoSet& set) +{ + const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); + subtractSet(zoneSet.name(), zoneSet.addressing(), zoneSet.flipMap()); +} + + +void Foam::faceZoneSet::subtractSet(const labelUList& set) +{ + subtractSet(word::null, set, boolList::null()); +} + + void Foam::faceZoneSet::sync(const polyMesh& mesh) { // This routine serves two purposes diff --git a/src/meshTools/topoSet/topoSets/faceZoneSet.H b/src/meshTools/topoSet/topoSets/faceZoneSet.H index 4a621de44c2..1f81d5d5d4e 100644 --- a/src/meshTools/topoSet/topoSets/faceZoneSet.H +++ b/src/meshTools/topoSet/topoSets/faceZoneSet.H @@ -62,6 +62,30 @@ class faceZoneSet boolList flipMap_; + // Private Member Functions + + void subset + ( + const word& setName, + const labelUList& setAddressing, + const UList<bool>& setFlipMap + ); + + void addSet + ( + const word& setName, + const labelUList& setAddressing, + const UList<bool>& setFlipMap + ); + + void subtractSet + ( + const word& setName, + const labelUList& setAddressing, + const UList<bool>& setFlipMap + ); + + public: //- Runtime type information @@ -142,6 +166,18 @@ public: //- Subtract elements present in set. virtual void subtractSet(const topoSet& set); + // Variants taking labelUList& + + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const labelUList& set); + + //- Add elements present in set. + virtual void addSet(const labelUList& set); + + //- Subtract elements present in set. + virtual void subtractSet(const labelUList& set); + + //- Sync faceZoneSet across coupled patches. virtual void sync(const polyMesh& mesh); diff --git a/src/meshTools/topoSet/topoSets/pointZoneSet.C b/src/meshTools/topoSet/topoSets/pointZoneSet.C index cd0e151d61d..752ab2524bd 100644 --- a/src/meshTools/topoSet/topoSets/pointZoneSet.C +++ b/src/meshTools/topoSet/topoSets/pointZoneSet.C @@ -171,6 +171,23 @@ void Foam::pointZoneSet::subset(const topoSet& set) } +void Foam::pointZoneSet::subset(const labelUList& set) +{ + DynamicList<label> newAddressing(addressing_.size()); + + for (const label pointi : set) + { + if (found(pointi)) + { + newAddressing.append(pointi); + } + } + + addressing_.transfer(newAddressing); + updateSet(); +} + + void Foam::pointZoneSet::addSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_); @@ -190,6 +207,23 @@ void Foam::pointZoneSet::addSet(const topoSet& set) } +void Foam::pointZoneSet::addSet(const labelUList& set) +{ + DynamicList<label> newAddressing(addressing_); + + for (const label pointi : set) + { + if (!found(pointi)) + { + newAddressing.append(pointi); + } + } + + addressing_.transfer(newAddressing); + updateSet(); +} + + void Foam::pointZoneSet::subtractSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_.size()); @@ -210,6 +244,26 @@ void Foam::pointZoneSet::subtractSet(const topoSet& set) } +void Foam::pointZoneSet::subtractSet(const labelUList& elems) +{ + DynamicList<label> newAddressing(addressing_.size()); + + const labelHashSet zoneSet(elems); + + for (const label pointi : addressing_) + { + if (!zoneSet.found(pointi)) + { + // Not found in zoneSet so add + newAddressing.append(pointi); + } + } + + addressing_.transfer(newAddressing); + updateSet(); +} + + void Foam::pointZoneSet::sync(const polyMesh& mesh) { pointSet::sync(mesh); diff --git a/src/meshTools/topoSet/topoSets/pointZoneSet.H b/src/meshTools/topoSet/topoSets/pointZoneSet.H index 5ba34edc858..e1419f51cf9 100644 --- a/src/meshTools/topoSet/topoSets/pointZoneSet.H +++ b/src/meshTools/topoSet/topoSets/pointZoneSet.H @@ -129,6 +129,18 @@ public: //- Subtract elements present in set. virtual void subtractSet(const topoSet& set); + // Variants taking labelUList& + + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const labelUList& set); + + //- Add elements present in set. + virtual void addSet(const labelUList& set); + + //- Subtract elements present in set. + virtual void subtractSet(const labelUList& set); + + //- Sync pointZoneSet across coupled patches. virtual void sync(const polyMesh& mesh); diff --git a/src/meshTools/topoSet/topoSets/topoBitSet.C b/src/meshTools/topoSet/topoSets/topoBitSet.C index 56676ee9435..6bd7005d5e5 100644 --- a/src/meshTools/topoSet/topoSets/topoBitSet.C +++ b/src/meshTools/topoSet/topoSets/topoBitSet.C @@ -239,6 +239,22 @@ void Foam::topoBitSet::subset(const topoSet& set) } +void Foam::topoBitSet::subset(const labelUList& elems) +{ + // Only retain entries found in both sets + bitSet newSelected(selected_.size()); + + for (const label id : elems) + { + if (selected_[id]) + { + newSelected.set(id); + } + } + selected_ = newSelected; +} + + void Foam::topoBitSet::addSet(const topoSet& set) { // Add entries to the set @@ -256,6 +272,12 @@ void Foam::topoBitSet::addSet(const topoSet& set) } +void Foam::topoBitSet::addSet(const labelUList& elems) +{ + selected_.set(elems); +} + + void Foam::topoBitSet::subtractSet(const topoSet& set) { // Subtract entries from the set @@ -273,4 +295,10 @@ void Foam::topoBitSet::subtractSet(const topoSet& set) } +void Foam::topoBitSet::subtractSet(const labelUList& elems) +{ + selected_.unset(elems); +} + + // ************************************************************************* // diff --git a/src/meshTools/topoSet/topoSets/topoBitSet.H b/src/meshTools/topoSet/topoSets/topoBitSet.H index 456b65e67a1..ae702fb71f9 100644 --- a/src/meshTools/topoSet/topoSets/topoBitSet.H +++ b/src/meshTools/topoSet/topoSets/topoBitSet.H @@ -154,6 +154,17 @@ public: //- Subtract elements present in set. virtual void subtractSet(const topoSet& set); + + // Variants taking labelUList& + + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const labelUList& set); + + //- Add elements present in set. + virtual void addSet(const labelUList& set); + + //- Subtract elements present in set. + virtual void subtractSet(const labelUList& set); }; diff --git a/src/meshTools/topoSet/topoSets/topoBoolSet.C b/src/meshTools/topoSet/topoSets/topoBoolSet.C index 35268ec9690..0045c159f32 100644 --- a/src/meshTools/topoSet/topoSets/topoBoolSet.C +++ b/src/meshTools/topoSet/topoSets/topoBoolSet.C @@ -250,6 +250,25 @@ void Foam::topoBoolSet::subset(const topoSet& set) } +void Foam::topoBoolSet::subset(const labelUList& set) +{ + // Only retain entries found in both sets + if (set.empty()) + { + selected_ = false; + } + else + { + const boolList oldSelected(selected_); + selected_ = false; + for (const label id : set) + { + selected_[id] = oldSelected[id]; + } + } +} + + void Foam::topoBoolSet::addSet(const topoSet& set) { // Add entries to the set @@ -260,6 +279,16 @@ void Foam::topoBoolSet::addSet(const topoSet& set) } +void Foam::topoBoolSet::addSet(const labelUList& set) +{ + // Add entries to the set + for (const label id : set) + { + selected_[id] = true; + } +} + + void Foam::topoBoolSet::subtractSet(const topoSet& set) { // Subtract entries from the set @@ -270,4 +299,14 @@ void Foam::topoBoolSet::subtractSet(const topoSet& set) } +void Foam::topoBoolSet::subtractSet(const labelUList& set) +{ + // Subtract entries from the set + for (const label id : set) + { + selected_.unset(id); + } +} + + // ************************************************************************* // diff --git a/src/meshTools/topoSet/topoSets/topoBoolSet.H b/src/meshTools/topoSet/topoSets/topoBoolSet.H index 6abaf921cf0..273e3297f9e 100644 --- a/src/meshTools/topoSet/topoSets/topoBoolSet.H +++ b/src/meshTools/topoSet/topoSets/topoBoolSet.H @@ -154,6 +154,17 @@ public: //- Subtract elements present in set. virtual void subtractSet(const topoSet& set); + + // Variants taking labelUList& + + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const labelUList& set); + + //- Add elements present in set. + virtual void addSet(const labelUList& set); + + //- Subtract elements present in set. + virtual void subtractSet(const labelUList& set); }; diff --git a/src/meshTools/topoSet/topoSets/topoSet.C b/src/meshTools/topoSet/topoSets/topoSet.C index 177fb22b468..29d2a8cb1ce 100644 --- a/src/meshTools/topoSet/topoSets/topoSet.C +++ b/src/meshTools/topoSet/topoSets/topoSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -553,6 +553,26 @@ void Foam::topoSet::subset(const topoSet& set) } +void Foam::topoSet::subset(const labelUList& elems) +{ + // Only retain entries found in both sets + auto& currentSet = static_cast<labelHashSet&>(*this); + + DynamicList<label> newElems(elems.size()+currentSet.size()); + for (const label elem : elems) + { + if (currentSet.found(elem)) + { + newElems.push_back(elem); + } + } + if (newElems.size() < currentSet.size()) + { + currentSet = newElems; + } +} + + void Foam::topoSet::addSet(const topoSet& set) { // Add entries to the set @@ -560,6 +580,13 @@ void Foam::topoSet::addSet(const topoSet& set) } +void Foam::topoSet::addSet(const labelUList& elems) +{ + // Add entries to the set + static_cast<labelHashSet&>(*this).set(elems); +} + + void Foam::topoSet::subtractSet(const topoSet& set) { // Subtract entries from the set @@ -567,9 +594,10 @@ void Foam::topoSet::subtractSet(const topoSet& set) } -void Foam::topoSet::deleteSet(const topoSet& set) +void Foam::topoSet::subtractSet(const labelUList& elems) { - this->subtractSet(set); + // Subtract entries from the set + static_cast<labelHashSet&>(*this).unset(elems); } diff --git a/src/meshTools/topoSet/topoSets/topoSet.H b/src/meshTools/topoSet/topoSets/topoSet.H index d8eef752992..d8437149669 100644 --- a/src/meshTools/topoSet/topoSets/topoSet.H +++ b/src/meshTools/topoSet/topoSets/topoSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -331,12 +331,22 @@ public: //- Subset contents. Only elements present in both sets remain. virtual void subset(const topoSet& set); - //- Add elements present in set. + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const labelUList& set); + + //- Add elements virtual void addSet(const topoSet& set); - //- Subtract elements present in set. + //- Add elements + virtual void addSet(const labelUList& set); + + //- Subtract elements virtual void subtractSet(const topoSet& set); + //- Subtract elements + virtual void subtractSet(const labelUList& set); + + //- Sync set across coupled patches. virtual void sync(const polyMesh& mesh); @@ -392,7 +402,8 @@ public: //- Deprecated(2018-10) subtract elements present in set. // \deprecated(2018-10) - use subtractSet instead - virtual void deleteSet(const topoSet& set); + FOAM_DEPRECATED_FOR(2018-10, "subtractSet()") + virtual void deleteSet(const topoSet& set) { this->subtractSet(set); } }; -- GitLab From 6d695062946e7ee7fbce7eabfd81bf55a027f3d9 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 15 Mar 2024 13:06:55 +0100 Subject: [PATCH 103/231] STYLE: adjust comments and iterator de-reference STYLE: replace PackedListCore.H with in-file definition --- .../containers/Bits/PackedList/PackedList.H | 22 +++++- .../Bits/PackedList/PackedListCore.C | 2 +- .../Bits/PackedList/PackedListCore.H | 70 +------------------ .../meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C | 14 ++-- .../meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H | 5 +- src/dynamicMesh/polyMeshAdder/polyMeshAdder.C | 2 +- 6 files changed, 32 insertions(+), 83 deletions(-) diff --git a/src/OpenFOAM/containers/Bits/PackedList/PackedList.H b/src/OpenFOAM/containers/Bits/PackedList/PackedList.H index e0e3fc6c6c1..cc88ba4c38c 100644 --- a/src/OpenFOAM/containers/Bits/PackedList/PackedList.H +++ b/src/OpenFOAM/containers/Bits/PackedList/PackedList.H @@ -83,8 +83,9 @@ See also Foam::DynamicList SourceFiles - PackedListI.H PackedList.C + PackedListCore.C + PackedListI.H PackedListIO.C \*---------------------------------------------------------------------------*/ @@ -92,11 +93,11 @@ SourceFiles #ifndef Foam_PackedList_H #define Foam_PackedList_H +#include "className.H" #include "BitOps.H" #include "labelList.H" #include "IndirectListBase.H" #include "InfoProxy.H" -#include "PackedListCore.H" #include <type_traits> @@ -119,6 +120,23 @@ template<unsigned Width> Ostream& operator<<(Ostream& os, const InfoProxy<PackedList<Width>>& info); +/*---------------------------------------------------------------------------*\ + Class Detail::PackedListCore Declaration +\*---------------------------------------------------------------------------*/ + +namespace Detail +{ + +//- Template-invariant parts for PackedList +struct PackedListCore +{ + //- Define template name + ClassNameNoDebug("PackedList"); +}; + +} // End namespace Detail + + /*---------------------------------------------------------------------------*\ Class PackedList Declaration \*---------------------------------------------------------------------------*/ diff --git a/src/OpenFOAM/containers/Bits/PackedList/PackedListCore.C b/src/OpenFOAM/containers/Bits/PackedList/PackedListCore.C index d17c6a29064..075f4e6754c 100644 --- a/src/OpenFOAM/containers/Bits/PackedList/PackedListCore.C +++ b/src/OpenFOAM/containers/Bits/PackedList/PackedListCore.C @@ -25,7 +25,7 @@ License \*---------------------------------------------------------------------------*/ -#include "PackedListCore.H" +#include "PackedList.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/containers/Bits/PackedList/PackedListCore.H b/src/OpenFOAM/containers/Bits/PackedList/PackedListCore.H index 8a564c47d95..7cec1b4541d 100644 --- a/src/OpenFOAM/containers/Bits/PackedList/PackedListCore.H +++ b/src/OpenFOAM/containers/Bits/PackedList/PackedListCore.H @@ -1,69 +1 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | www.openfoam.com - \\/ M anipulation | -------------------------------------------------------------------------------- - Copyright (C) 2018 OpenCFD Ltd. -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. - -Class - Foam::Detail::PackedListCore - -Description - Implementation of template-invariant details for Foam::PackedList - -SourceFiles - PackedListCore.C - -\*---------------------------------------------------------------------------*/ - -#ifndef PackedListCore_H -#define PackedListCore_H - -#include "className.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace Detail -{ - -/*---------------------------------------------------------------------------*\ - Class Detail::PackedListCore Declaration -\*---------------------------------------------------------------------------*/ - -//- Template-invariant parts for PackedList -struct PackedListCore -{ - //- Define template name - ClassNameNoDebug("PackedList"); -}; - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Detail -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // +#warning File removed - left for old dependency check only diff --git a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C index 9fa134061a9..f45bcd7be95 100644 --- a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C @@ -96,7 +96,7 @@ void Foam::ZoneMesh<ZoneType, MeshType>::calcZoneMap() const { map.insert(id, zonei); } - else if (fnd() != zonei) + else if (fnd.val() != zonei) { // Multiple zones for same id @@ -112,7 +112,7 @@ void Foam::ZoneMesh<ZoneType, MeshType>::calcZoneMap() const : static_cast<const labelList&>(zn) ) { - maxIndex = max(maxIndex, id); + maxIndex = Foam::max(maxIndex, id); } } additionalMapPtr_.reset(new labelListList(maxIndex+1)); @@ -135,7 +135,7 @@ void Foam::ZoneMesh<ZoneType, MeshType>::calcZoneMap() const if (zones.size()) { - stableSort(zones); + Foam::stableSort(zones); const label zonei = map[id]; const label index = findLower(zones, zonei); if (index == -1) @@ -426,11 +426,11 @@ Foam::label Foam::ZoneMesh<ZoneType, MeshType>::whichZones ) const { zones.clear(); - const auto fnd = zoneMap().find(objectIndex); + const auto fnd = zoneMap().cfind(objectIndex); if (fnd) { // Add main element - zones.push_back(fnd()); + zones.push_back(fnd.val()); if (additionalMapPtr_) { const auto& additionalMap = *additionalMapPtr_; @@ -967,7 +967,7 @@ bool Foam::ZoneMesh<ZoneType, MeshType>::checkParallelSync const bool report ) const { - if (!Pstream::parRun()) + if (!UPstream::parRun()) { return false; } @@ -1025,7 +1025,7 @@ bool Foam::ZoneMesh<ZoneType, MeshType>::checkParallelSync { hasError = true; - if (debug || (report && Pstream::master())) + if (debug || (report && UPstream::master())) { Info<< " ***Zone " << zn.name() << " of type " << zn.type() diff --git a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H index fa6d3eb0435..c729327a400 100644 --- a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H @@ -194,9 +194,8 @@ public: // If object does not belong to any zones, return -1 label whichZone(const label objectIndex) const; - //- Given a global object index, return (in argument) the zones it is - // in. Returns number of zones (0 if object does not belong to any - // zones) + //- Given a global object index, return (in argument) its zones. + // Returns number of zones (0 if object does not belong to any zones) label whichZones ( const label objectIndex, diff --git a/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C b/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C index d5634a7cccb..a2ff8326812 100644 --- a/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C +++ b/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C @@ -2817,7 +2817,7 @@ void Foam::polyMeshAdder::add if (newNei < newOwn) { std::swap(newOwn, newNei); - newFace = newFace.reverseFace(); + newFace.flip(); flipFaceFlux = !flipFaceFlux; for (bool& flip : flips) { -- GitLab From a431e0fe9a55654b2dea742d89996a266809b637 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 15 Mar 2024 17:27:16 +0100 Subject: [PATCH 104/231] ENH: additional parRun selection/protection on syncTools - allow more control over using parallel communication or not. --- .../globalMeshData/globalMeshDataTopology.C | 5 +- .../meshes/polyMesh/syncTools/syncTools.C | 48 +++---- .../meshes/polyMesh/syncTools/syncTools.H | 132 +++++++++++++---- .../polyMesh/syncTools/syncToolsTemplates.C | 135 ++++++++++-------- 4 files changed, 203 insertions(+), 117 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTopology.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTopology.C index 3a26d28681f..edb79ea7df8 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTopology.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTopology.C @@ -84,7 +84,10 @@ static void calcCellCellsImpl globalNeighbour[bfacei] = val; } } - syncTools::swapBoundaryFaceList(mesh, globalNeighbour); + + // Swap boundary neighbour information: + // - cyclics and (optionally) processor + syncTools::swapBoundaryFaceList(mesh, globalNeighbour, parallel); // Count number of faces (internal + coupled) diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C index c4e0c9fef5e..2f1f1c85de7 100644 --- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C +++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,34 +34,34 @@ void Foam::syncTools::swapBoundaryCellPositions ( const polyMesh& mesh, const UList<point>& cellData, - List<point>& neighbourCellData + List<point>& neighbourCellData, + const bool parRun ) { if (cellData.size() != mesh.nCells()) { FatalErrorInFunction - << "Number of cell values " << cellData.size() - << " is not equal to the number of cells in the mesh " - << mesh.nCells() << abort(FatalError); + << "Number of values " << cellData.size() + << " != number of cells " << mesh.nCells() << nl + << abort(FatalError); } - const polyBoundaryMesh& patches = mesh.boundaryMesh(); - neighbourCellData.resize(mesh.nBoundaryFaces()); - for (const polyPatch& pp : patches) + for (const polyPatch& pp : mesh.boundaryMesh()) { - label bFacei = pp.start()-mesh.nInternalFaces(); - - const labelUList& faceCells = pp.faceCells(); - - for (const label celli : faceCells) - { - neighbourCellData[bFacei] = cellData[celli]; - ++bFacei; - } + const auto& faceCells = pp.faceCells(); + + // ie, boundarySlice() = patchInternalList() + SubList<point> + ( + neighbourCellData, + faceCells.size(), + pp.offset() + ) = UIndirectList<point>(cellData, faceCells); } - syncTools::swapBoundaryFacePositions(mesh, neighbourCellData); + + syncTools::swapBoundaryFacePositions(mesh, neighbourCellData, parRun); } @@ -127,9 +127,7 @@ Foam::bitSet Foam::syncTools::getMasterFaces(const polyMesh& mesh) { bitSet isMaster(mesh.nFaces(), true); - const polyBoundaryMesh& patches = mesh.boundaryMesh(); - - for (const polyPatch& pp : patches) + for (const polyPatch& pp : mesh.boundaryMesh()) { if (pp.coupled()) { @@ -151,9 +149,7 @@ Foam::bitSet Foam::syncTools::getInternalOrMasterFaces { bitSet isMaster(mesh.nFaces(), true); - const polyBoundaryMesh& patches = mesh.boundaryMesh(); - - for (const polyPatch& pp : patches) + for (const polyPatch& pp : mesh.boundaryMesh()) { if (pp.coupled()) { @@ -179,9 +175,7 @@ Foam::bitSet Foam::syncTools::getInternalOrCoupledFaces { bitSet isMaster(mesh.nFaces(), true); - const polyBoundaryMesh& patches = mesh.boundaryMesh(); - - for (const polyPatch& pp : patches) + for (const polyPatch& pp : mesh.boundaryMesh()) { if (!pp.coupled()) { diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H b/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H index 43b5fb8af41..a1076aa6f5d 100644 --- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H +++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -69,6 +69,7 @@ class syncTools // Private Member Functions //- Combine val with existing value in pointValues map at given index + // No communication template<class T, class CombineOp> static void combine ( @@ -79,6 +80,7 @@ class syncTools ); //- Combine val with existing value in edgeValues at edge index + // No communication template<class T, class CombineOp> static void combine ( @@ -95,6 +97,7 @@ public: // Preferably use specialisations below. //- Synchronize values on selected points. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp, class TransformOp> static void syncPointMap ( @@ -105,6 +108,7 @@ public: ); //- Synchronize values on selected edges. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp, class TransformOp> static void syncEdgeMap ( @@ -115,6 +119,7 @@ public: ); //- Synchronize values on all mesh points. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp, class TransformOp> static void syncPointList ( @@ -126,6 +131,7 @@ public: ); //- Synchronize values on selected mesh points. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp, class TransformOp> static void syncPointList ( @@ -138,6 +144,7 @@ public: ); //- Synchronize values on all mesh edges. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp, class TransformOp, class FlipOp> static void syncEdgeList ( @@ -150,11 +157,12 @@ public: ); //- Synchronize values on selected mesh edges. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp, class TransformOp, class FlipOp> static void syncEdgeList ( const polyMesh& mesh, - const labelList& meshEdges, + const labelUList& meshEdges, List<T>& edgeValues, const CombineOp& cop, const T& nullValue, @@ -170,6 +178,7 @@ public: UList<T>& faceValues, const CombineOp& cop, const TransformOp& top, + //! Allow parallel communication const bool parRun = UPstream::parRun() ); @@ -177,6 +186,7 @@ public: // Synchronise point-wise data //- Synchronize values on all mesh points. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp> static void syncPointList ( @@ -197,6 +207,7 @@ public: } //- Synchronize locations on all mesh points. + // Communication if UPstream::parRun() == true. template<class CombineOp> static void syncPointPositions ( @@ -217,11 +228,12 @@ public: } //- Synchronize values on selected mesh points. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp> static void syncPointList ( const polyMesh& mesh, - const labelList& meshPoints, + const labelUList& meshPoints, List<T>& pointValues, const CombineOp& cop, const T& nullValue @@ -239,11 +251,12 @@ public: } //- Synchronize locations on selected mesh points. + // Communication if UPstream::parRun() == true. template<class CombineOp> static void syncPointPositions ( const polyMesh& mesh, - const labelList& meshPoints, + const labelUList& meshPoints, List<point>& positions, const CombineOp& cop, const point& nullValue @@ -264,6 +277,7 @@ public: // Synchronise edge-wise data //- Synchronize values on all mesh edges. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp> static void syncEdgeList ( @@ -285,6 +299,7 @@ public: } //- Synchronize locations on all mesh edges. + // Communication if UPstream::parRun() == true. template<class CombineOp> static void syncEdgePositions ( @@ -306,11 +321,12 @@ public: } //- Synchronize values on selected mesh edges. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp> static void syncEdgeList ( const polyMesh& mesh, - const labelList& meshEdges, + const labelUList& meshEdges, List<T>& edgeValues, const CombineOp& cop, const T& nullValue @@ -329,11 +345,12 @@ public: } //- Synchronize locations on selected mesh edges. + // Communication if UPstream::parRun() == true. template<class CombineOp> static void syncEdgePositions ( const polyMesh& mesh, - const labelList& meshEdges, + const labelUList& meshEdges, List<point>& positions, const CombineOp& cop, const point& nullValue @@ -397,7 +414,9 @@ public: ( const polyMesh& mesh, UList<T>& faceValues, - const CombineOp& cop + const CombineOp& cop, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ) { SubList<T> bndValues @@ -412,7 +431,8 @@ public: mesh, bndValues, cop, - mapDistribute::transform() + mapDistribute::transform(), + parRun ); } @@ -422,7 +442,9 @@ public: ( const polyMesh& mesh, UList<point>& positions, - const CombineOp& cop + const CombineOp& cop, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ) { SubList<point> bndValues @@ -436,7 +458,8 @@ public: mesh, bndValues, cop, - mapDistribute::transformPosition() + mapDistribute::transformPosition(), + parRun ); } @@ -445,7 +468,9 @@ public: static void swapBoundaryFaceList ( const polyMesh& mesh, - UList<T>& faceValues + UList<T>& faceValues, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ) { syncBoundaryFaceList @@ -453,7 +478,8 @@ public: mesh, faceValues, eqOp<T>(), - mapDistribute::transform() + mapDistribute::transform(), + parRun ); } @@ -461,7 +487,9 @@ public: static void swapBoundaryFacePositions ( const polyMesh& mesh, - UList<point>& positions + UList<point>& positions, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ) { syncBoundaryFaceList @@ -469,7 +497,8 @@ public: mesh, positions, eqOp<point>(), - mapDistribute::transformPosition() + mapDistribute::transformPosition(), + parRun ); } @@ -478,7 +507,9 @@ public: static void swapFaceList ( const polyMesh& mesh, - UList<T>& faceValues + UList<T>& faceValues, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ) { SubList<T> bndValues @@ -492,31 +523,71 @@ public: mesh, bndValues, eqOp<T>(), - mapDistribute::transform() + mapDistribute::transform(), + parRun ); } - //- Swap to obtain neighbour cell values for all boundary faces + //- Extract and swap to obtain neighbour cell values + //- for all boundary faces template<class T> static void swapBoundaryCellList ( const polyMesh& mesh, const UList<T>& cellData, - List<T>& neighbourCellData + List<T>& neighbourCellData, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ); - //- Swap to obtain neighbour cell positions for all boundary faces + //- Extract and swap to obtain neighbour cell positions + //- for all boundary faces static void swapBoundaryCellPositions ( const polyMesh& mesh, const UList<point>& cellData, - List<point>& neighbourCellData + List<point>& neighbourCellData, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ); + //- Return neighbour cell values for all boundary faces + //- by swapping via boundary faces + template<class T> + static List<T> swapBoundaryCellList + ( + const polyMesh& mesh, + const UList<T>& cellData, + //! Allow parallel communication + const bool parRun = UPstream::parRun() + ) FOAM_NODISCARD + { + List<T> nbrCellData; + swapBoundaryCellList(mesh, cellData, nbrCellData, parRun); + return nbrCellData; + } + + //- Return neighbour cell positions for all boundary faces + //- by swapping via boundary faces + static List<point> swapBoundaryCellPositions + ( + const polyMesh& mesh, + const UList<point>& cellData, + //! Allow parallel communication + const bool parRun = UPstream::parRun() + ) FOAM_NODISCARD + { + List<point> nbrCellData; + swapBoundaryCellPositions(mesh, cellData, nbrCellData, parRun); + return nbrCellData; + } + + // Sparse versions //- Synchronize values on selected points. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp> static void syncPointMap ( @@ -535,6 +606,7 @@ public: } //- Synchronize locations on selected points. + // Communication if UPstream::parRun() == true. template<class CombineOp> static void syncPointPositions ( @@ -552,9 +624,10 @@ public: ); } - //- Synchronize values on selected edges. Edges are represented - // by the two vertices that make it up so global edges never get - // constructed. + //- Synchronize values on selected edges. + //- Edges are represented by the two vertices that make it up + //- so global edges never get constructed. + // Communication if UPstream::parRun() == true. template<class T, class CombineOp> static void syncEdgeMap ( @@ -573,6 +646,7 @@ public: } //- Synchronize locations on selected edges. + // Communication if UPstream::parRun() == true. template<class CombineOp> static void syncEdgePositions ( @@ -601,7 +675,7 @@ public: // offset when accessing values. // \param faceValues The face values to synchronize // \param cop The combine operation - // \param parRun True if this is a parallel simulation + // \param parRun Allow parallel communication template<unsigned Width, class CombineOp> static void syncFaceList ( @@ -619,6 +693,7 @@ public: const polyMesh& mesh, PackedList<Width>& faceValues, const CombineOp& cop, + //! Allow parallel communication const bool parRun = UPstream::parRun() ); @@ -629,6 +704,7 @@ public: const polyMesh& mesh, PackedList<Width>& faceValues, const CombineOp& cop, + //! Allow parallel communication const bool parRun = UPstream::parRun() ); @@ -637,7 +713,9 @@ public: static void swapFaceList ( const polyMesh& mesh, - PackedList<Width>& faceValues + PackedList<Width>& faceValues, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ); //- Swap coupled boundary face values. Uses eqOp @@ -645,7 +723,9 @@ public: static void swapBoundaryFaceList ( const polyMesh& mesh, - PackedList<Width>& faceValues + PackedList<Width>& faceValues, + //! Allow parallel communication + const bool parRun = UPstream::parRun() ); template<unsigned Width, class CombineOp> diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C index 457a9daff66..21b4030d227 100644 --- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C @@ -79,6 +79,8 @@ void Foam::syncTools::combine } +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + template<class T, class CombineOp, class TransformOp> void Foam::syncTools::syncPointMap ( @@ -488,7 +490,7 @@ void Foam::syncTools::syncEdgeMap forAllConstIters(nbrPatchInfo, nbrIter) { const edge& e = nbrIter.key(); - const edge meshEdge(meshPts[e[0]], meshPts[e[1]]); + const edge meshEdge(meshPts, e); combine ( @@ -535,7 +537,7 @@ void Foam::syncTools::syncEdgeMap { const edge& e0 = edgesA[twoEdges[0]]; - const edge meshEdge0(meshPtsA[e0[0]], meshPtsA[e0[1]]); + const edge meshEdge0(meshPtsA, e0); const auto iter = edgeValues.cfind(meshEdge0); @@ -546,7 +548,7 @@ void Foam::syncTools::syncEdgeMap } { const edge& e1 = edgesB[twoEdges[1]]; - const edge meshEdge1(meshPtsB[e1[0]], meshPtsB[e1[1]]); + const edge meshEdge1(meshPtsB, e1); const auto iter = edgeValues.cfind(meshEdge1); @@ -573,7 +575,7 @@ void Foam::syncTools::syncEdgeMap if (half1Fnd.good()) { const edge& e0 = edgesA[twoEdges[0]]; - const edge meshEdge0(meshPtsA[e0[0]], meshPtsA[e0[1]]); + const edge meshEdge0(meshPtsA, e0); combine ( @@ -589,7 +591,7 @@ void Foam::syncTools::syncEdgeMap if (half0Fnd.good()) { const edge& e1 = edgesB[twoEdges[1]]; - const edge meshEdge1(meshPtsB[e1[0]], meshPtsB[e1[1]]); + const edge meshEdge1(meshPtsB, e1); combine ( @@ -749,8 +751,8 @@ void Foam::syncTools::syncPointList { FatalErrorInFunction << "Number of values " << pointValues.size() - << " is not equal to the number of points in the mesh " - << mesh.nPoints() << abort(FatalError); + << " != number of points " << mesh.nPoints() << nl + << abort(FatalError); } mesh.globalData().syncPointData(pointValues, cop, top); @@ -772,8 +774,8 @@ void Foam::syncTools::syncPointList { FatalErrorInFunction << "Number of values " << pointValues.size() - << " is not equal to the number of meshPoints " - << meshPoints.size() << abort(FatalError); + << " != number of meshPoints " << meshPoints.size() << nl + << abort(FatalError); } const globalMeshData& gd = mesh.globalData(); const indirectPrimitivePatch& cpp = gd.coupledPatch(); @@ -829,8 +831,8 @@ void Foam::syncTools::syncEdgeList { FatalErrorInFunction << "Number of values " << edgeValues.size() - << " is not equal to the number of edges in the mesh " - << mesh.nEdges() << abort(FatalError); + << " != number of edges " << mesh.nEdges() << nl + << abort(FatalError); } const edgeList& edges = mesh.edges(); @@ -915,7 +917,7 @@ template<class T, class CombineOp, class TransformOp, class FlipOp> void Foam::syncTools::syncEdgeList ( const polyMesh& mesh, - const labelList& meshEdges, + const labelUList& meshEdges, List<T>& edgeValues, const CombineOp& cop, const T& nullValue, @@ -927,8 +929,8 @@ void Foam::syncTools::syncEdgeList { FatalErrorInFunction << "Number of values " << edgeValues.size() - << " is not equal to the number of meshEdges " - << meshEdges.size() << abort(FatalError); + << " != number of meshEdges " << meshEdges.size() << nl + << abort(FatalError); } const edgeList& edges = mesh.edges(); const globalMeshData& gd = mesh.globalData(); @@ -946,7 +948,7 @@ void Foam::syncTools::syncEdgeList const auto iter = mpm.cfind(meshEdgei); if (iter.good()) { - const label cppEdgei = iter(); + const label cppEdgei = iter.val(); const edge& cppE = cppEdges[cppEdgei]; const edge& meshE = edges[meshEdgei]; @@ -992,7 +994,7 @@ void Foam::syncTools::syncEdgeList const auto iter = mpm.cfind(meshEdgei); if (iter.good()) { - label cppEdgei = iter(); + label cppEdgei = iter.val(); const edge& cppE = cppEdges[cppEdgei]; const edge& meshE = edges[meshEdgei]; @@ -1029,14 +1031,13 @@ void Foam::syncTools::syncBoundaryFaceList { FatalErrorInFunction << "Number of values " << faceValues.size() - << " is not equal to the number of boundary faces in the mesh " - << mesh.nBoundaryFaces() << nl + << " != number of boundary faces " << mesh.nBoundaryFaces() << nl << abort(FatalError); } const polyBoundaryMesh& patches = mesh.boundaryMesh(); - if (parRun) + if (parRun && UPstream::parRun()) { // Avoid mesh.globalData() - possible race condition @@ -1104,7 +1105,7 @@ void Foam::syncTools::syncBoundaryFaceList } // Wait for all comms to finish - Pstream::waitRequests(startRequest); + UPstream::waitRequests(startRequest); // Combine with existing data for (const polyPatch& pp : patches) @@ -1274,20 +1275,20 @@ void Foam::syncTools::syncFaceList { FatalErrorInFunction << "Number of values " << faceValues.size() - << " is not equal to the number of " + << " != number of " << (isBoundaryOnly ? "boundary" : "mesh") << " faces " - << ((mesh.nFaces() - boundaryOffset)) << nl + << (mesh.nFaces() - boundaryOffset) << nl << abort(FatalError); } const polyBoundaryMesh& patches = mesh.boundaryMesh(); - if (parRun) + if (parRun && UPstream::parRun()) { const label startRequest = UPstream::nRequests(); // Receive buffers - PtrList<PackedList<Width>> recvInfos(patches.size()); + PtrList<PackedList<Width>> recvBufs(patches.size()); // Set up reads for (const polyPatch& pp : patches) @@ -1298,23 +1299,21 @@ void Foam::syncTools::syncFaceList { const auto& procPatch = *ppp; const label patchi = pp.index(); - const label patchSize = pp.size(); - recvInfos.set(patchi, new PackedList<Width>(patchSize)); - PackedList<Width>& recvInfo = recvInfos[patchi]; + auto& recvbuf = recvBufs.emplace_set(patchi, pp.size()); UIPstream::read ( UPstream::commsTypes::nonBlocking, procPatch.neighbProcNo(), - recvInfo.data_bytes(), - recvInfo.size_bytes() + recvbuf.data_bytes(), + recvbuf.size_bytes() ); } } // Send buffers - PtrList<PackedList<Width>> sendInfos(patches.size()); + PtrList<PackedList<Width>> sendBufs(patches.size()); // Set up writes for (const polyPatch& pp : patches) @@ -1326,24 +1325,16 @@ void Foam::syncTools::syncFaceList const auto& procPatch = *ppp; const label patchi = pp.index(); - const labelRange range - ( - pp.start()-boundaryOffset, - pp.size() - ); - sendInfos.set - ( - patchi, - new PackedList<Width>(faceValues, range) - ); - PackedList<Width>& sendInfo = sendInfos[patchi]; + const labelRange range(pp.start()-boundaryOffset, pp.size()); + + auto& sendbuf = sendBufs.emplace_set(patchi, faceValues, range); UOPstream::write ( UPstream::commsTypes::nonBlocking, procPatch.neighbProcNo(), - sendInfo.cdata_bytes(), - sendInfo.size_bytes() + sendbuf.cdata_bytes(), + sendbuf.size_bytes() ); } } @@ -1361,13 +1352,13 @@ void Foam::syncTools::syncFaceList const label patchi = pp.index(); const label patchSize = pp.size(); - const PackedList<Width>& recvInfo = recvInfos[patchi]; + const auto& recvbuf = recvBufs[patchi]; // Combine (bitwise) label bFacei = pp.start()-boundaryOffset; for (label i = 0; i < patchSize; ++i) { - unsigned int recvVal = recvInfo[i]; + unsigned int recvVal = recvbuf[i]; unsigned int faceVal = faceValues[bFacei]; cop(faceVal, recvVal); @@ -1420,15 +1411,16 @@ void Foam::syncTools::swapBoundaryCellList ( const polyMesh& mesh, const UList<T>& cellData, - List<T>& neighbourCellData + List<T>& neighbourCellData, + const bool parRun ) { if (cellData.size() != mesh.nCells()) { FatalErrorInFunction << "Number of cell values " << cellData.size() - << " is not equal to the number of cells in the mesh " - << mesh.nCells() << abort(FatalError); + << " != number of cells " << mesh.nCells() << nl + << abort(FatalError); } const polyBoundaryMesh& patches = mesh.boundaryMesh(); @@ -1437,15 +1429,18 @@ void Foam::syncTools::swapBoundaryCellList for (const polyPatch& pp : patches) { - label bFacei = pp.offset(); + const auto& faceCells = pp.faceCells(); - for (const label celli : pp.faceCells()) - { - neighbourCellData[bFacei] = cellData[celli]; - ++bFacei; - } + // ie, boundarySlice() = patchInternalList() + SubList<T> + ( + neighbourCellData, + faceCells.size(), + pp.offset() + ) = UIndirectList<T>(cellData, faceCells); } - syncTools::swapBoundaryFaceList(mesh, neighbourCellData); + + syncTools::swapBoundaryFaceList(mesh, neighbourCellData, parRun); } @@ -1479,10 +1474,17 @@ template<unsigned Width> void Foam::syncTools::swapFaceList ( const polyMesh& mesh, - PackedList<Width>& faceValues + PackedList<Width>& faceValues, + const bool parRun ) { - syncFaceList(mesh, faceValues, eqOp<unsigned int>()); + syncFaceList + ( + mesh, + faceValues, + eqOp<unsigned int>(), + parRun + ); } @@ -1490,10 +1492,17 @@ template<unsigned Width> void Foam::syncTools::swapBoundaryFaceList ( const polyMesh& mesh, - PackedList<Width>& faceValues + PackedList<Width>& faceValues, + const bool parRun ) { - syncBoundaryFaceList(mesh, faceValues, eqOp<unsigned int>()); + syncBoundaryFaceList + ( + mesh, + faceValues, + eqOp<unsigned int>(), + parRun + ); } @@ -1510,8 +1519,8 @@ void Foam::syncTools::syncPointList { FatalErrorInFunction << "Number of values " << pointValues.size() - << " is not equal to the number of points in the mesh " - << mesh.nPoints() << abort(FatalError); + << " != number of points " << mesh.nPoints() << nl + << abort(FatalError); } const globalMeshData& gd = mesh.globalData(); @@ -1553,8 +1562,8 @@ void Foam::syncTools::syncEdgeList { FatalErrorInFunction << "Number of values " << edgeValues.size() - << " is not equal to the number of edges in the mesh " - << mesh.nEdges() << abort(FatalError); + << " != number of edges " << mesh.nEdges() << nl + << abort(FatalError); } const globalMeshData& gd = mesh.globalData(); -- GitLab From 46e1b00c34217a19fdf4574263c41263be8fea3d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 15 Mar 2024 19:42:39 +0100 Subject: [PATCH 105/231] ENH: handle sub-mesh connectivity by subsetting of adjacency matrix - in renumberMesh replace calculation of a subMesh connectivity with calculation of the full mesh connectivity followed by subsetting of the full adjacency matrix. This should reduce the overall number of operations. (MR !669) --- .../manipulation/renumberMesh/renumberMesh.C | 241 ++++++++++++------ .../renumberMesh/subsetAdjacency.H | 168 ++++++++++++ 2 files changed, 325 insertions(+), 84 deletions(-) create mode 100644 applications/utilities/mesh/manipulation/renumberMesh/subsetAdjacency.H diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C index 64011258c6a..3702cfe8ce8 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C @@ -145,6 +145,7 @@ Usage #include "hexRef8Data.H" #include "regionProperties.H" #include "polyMeshTools.H" +#include "subsetAdjacency.H" using namespace Foam; @@ -194,21 +195,56 @@ tmp<volScalarField> createScalarField } -// Calculate band of matrix -label getBand(const labelList& owner, const labelList& neighbour) +// Calculate band of mesh +// label getBand(const labelUList& owner, const labelUList& neighbour) +// { +// label bandwidth = 0; +// +// forAll(neighbour, facei) +// { +// const label width = neighbour[facei] - owner[facei]; +// +// if (bandwidth < width) +// { +// bandwidth = width; +// } +// } +// return bandwidth; +// } + + +// Calculate band and profile of matrix. Profile is scalar to avoid overflow +Tuple2<label, scalar> getBand +( + const CompactListList<label>& mat +) { - label band = 0; + Tuple2<label, scalar> metrics(0, 0); - forAll(neighbour, facei) + auto& bandwidth = metrics.first(); + auto& profile = metrics.second(); + + forAll(mat, celli) { - label diff = neighbour[facei] - owner[facei]; + const auto& neighbours = mat[celli]; + + const label nNbr = neighbours.size(); - if (diff > band) + if (nNbr) { - band = diff; + // Max distance + const label width = (neighbours[nNbr-1] - celli); + + if (bandwidth < width) + { + bandwidth = width; + } + + profile += scalar(width); } } - return band; + + return metrics; } @@ -217,27 +253,35 @@ void getBand ( const bool calculateIntersect, const label nCells, - const labelList& owner, - const labelList& neighbour, + const labelUList& owner, + const labelUList& neighbour, label& bandwidth, scalar& profile, // scalar to avoid overflow scalar& sumSqrIntersect // scalar to avoid overflow ) { labelList cellBandwidth(nCells, Foam::zero{}); - scalarField nIntersect(nCells, Foam::zero{}); + + bandwidth = 0; forAll(neighbour, facei) { - label own = owner[facei]; - label nei = neighbour[facei]; + const label own = owner[facei]; + const label nei = neighbour[facei]; // Note: mag not necessary for correct (upper-triangular) ordering. - label diff = nei-own; - cellBandwidth[nei] = max(cellBandwidth[nei], diff); - } + const label width = nei - own; + + if (cellBandwidth[nei] < width) + { + cellBandwidth[nei] = width; - bandwidth = max(cellBandwidth); + if (bandwidth < width) + { + bandwidth = width; + } + } + } // Do not use field algebra because of conversion label to scalar profile = 0; @@ -246,14 +290,16 @@ void getBand profile += scalar(width); } - sumSqrIntersect = 0.0; + sumSqrIntersect = 0; if (calculateIntersect) { + scalarField nIntersect(nCells, Foam::zero{}); + forAll(nIntersect, celli) { for (label colI = celli-cellBandwidth[celli]; colI <= celli; colI++) { - nIntersect[colI] += 1.0; + nIntersect[colI] += scalar(1); } } @@ -675,9 +721,8 @@ CompactListList<label> regionRenumber forAll(regionCellOrder, regioni) { - // Info<< " region " << regioni - // << " starts at " << regionCellOrder.localStart(regioni) - // << nl; + // Info<< " region " << regioni << " starts at " + // << regionCellOrder.localStart(regioni) << nl; // No parallel communication const bool oldParRun = UPstream::parRun(false); @@ -703,27 +748,42 @@ CompactListList<label> regionRenumber { timer.resetTimeIncrement(); + // Create adjacency matrix of the full mesh and subset subsequently. + // This is more efficient than creating adjacency matrices of + // sub-meshes. + + // No parallel communication + const bool oldParRun = UPstream::parRun(false); + + // The local connectivity of the full (non-subsetted) mesh + CompactListList<label> meshCellCells; + globalMeshData::calcCellCells(mesh, meshCellCells); + UPstream::parRun(oldParRun); // Restore parallel state + + timings[TimingType::CELL_CELLS] += timer.timeIncrement(); + + // For the respective subMesh selections + bitSet subsetCells(mesh.nCells()); + forAll(regionCellOrder, regioni) { - // Info<< " region " << regioni - // << " starts at " << regionCellOrder.localStart(regioni) - // << nl; + // Info<< " region " << regioni << " starts at " + // << regionCellOrder.localStart(regioni) << nl; - // No parallel communication - const bool oldParRun = UPstream::parRun(false); + subsetCells = false; + subsetCells.set(regionCellOrder[regioni]); // Connectivity of local sub-mesh - CompactListList<label> cellCells; - labelList cellMap = globalMeshData::calcCellCells - ( - mesh, - regionCellOrder[regioni], - cellCells - ); + labelList cellMap; + CompactListList<label> subCellCells = + subsetAdjacency(subsetCells, meshCellCells, cellMap); timings[TimingType::CELL_CELLS] += timer.timeIncrement(); - labelList subCellOrder = method.renumber(cellCells); + // No parallel communication + const bool oldParRun = UPstream::parRun(false); + + labelList subCellOrder = method.renumber(subCellCells); UPstream::parRun(oldParRun); // Restore parallel state @@ -835,10 +895,10 @@ int main(int argc, char *argv[]) const bool dryrun = args.dryRun(); const bool readDict = args.found("dict"); - const bool doFrontWidth = args.found("frontWidth"); + const bool doDecompose = args.found("decompose"); const bool overwrite = args.found("overwrite"); const bool doFields = !args.found("no-fields"); - const bool doDecompose = args.found("decompose"); + const bool doFrontWidth = args.found("frontWidth") && !doDecompose; word renumberMethodName; args.readIfPresent("renumber-method", renumberMethodName); @@ -846,8 +906,7 @@ int main(int argc, char *argv[]) if (doDecompose && UPstream::parRun()) { FatalErrorIn(args.executable()) - << "Cannot use -decompose option in parallel" - << " ... giving up" << nl + << "Cannot use -decompose option in parallel ... giving up" << nl << exit(FatalError); } @@ -908,21 +967,21 @@ int main(int argc, char *argv[]) reduce(band, maxOp<label>()); reduce(profile, sumOp<scalar>()); - reduce(sumSqrIntersect, sumOp<scalar>()); - - scalar rmsFrontwidth = Foam::sqrt - ( - sumSqrIntersect/mesh.globalData().nTotalCells() - ); Info<< "Mesh " << mesh.name() << " size: " << mesh.globalData().nTotalCells() << nl - << "Before renumbering :" << nl + << "Before renumbering" << nl << " band : " << band << nl << " profile : " << profile << nl; if (doFrontWidth) { + reduce(sumSqrIntersect, sumOp<scalar>()); + scalar rmsFrontwidth = Foam::sqrt + ( + sumSqrIntersect/mesh.globalData().nTotalCells() + ); + Info<< " rms frontwidth : " << rmsFrontwidth << nl; } @@ -1091,10 +1150,7 @@ int main(int argc, char *argv[]) ); - // List of objects read from time directory - // List of stored objects to clear from mesh - - IOobjectList objects; + // List of stored objects to clear from mesh (after reading) DynamicList<regIOobject*> storedObjects; if (!dryrun && doFields) @@ -1103,55 +1159,60 @@ int main(int argc, char *argv[]) timer.resetTimeIncrement(); - objects = IOobjectList(mesh, runTime.timeName()); + IOobjectList objects(mesh, runTime.timeName()); storedObjects.reserve(objects.size()); const predicates::always nameMatcher; // Read GeometricFields - #undef ReadFields - #define ReadFields(FieldType) \ + #undef doLocalCode + #define doLocalCode(FieldType) \ readFields<FieldType>(mesh, objects, nameMatcher, storedObjects); // Read volume fields - ReadFields(volScalarField); - ReadFields(volVectorField); - ReadFields(volSphericalTensorField); - ReadFields(volSymmTensorField); - ReadFields(volTensorField); + doLocalCode(volScalarField); + doLocalCode(volVectorField); + doLocalCode(volSphericalTensorField); + doLocalCode(volSymmTensorField); + doLocalCode(volTensorField); // Read internal fields - ReadFields(volScalarField::Internal); - ReadFields(volVectorField::Internal); - ReadFields(volSphericalTensorField::Internal); - ReadFields(volSymmTensorField::Internal); - ReadFields(volTensorField::Internal); + doLocalCode(volScalarField::Internal); + doLocalCode(volVectorField::Internal); + doLocalCode(volSphericalTensorField::Internal); + doLocalCode(volSymmTensorField::Internal); + doLocalCode(volTensorField::Internal); // Read surface fields - ReadFields(surfaceScalarField); - ReadFields(surfaceVectorField); - ReadFields(surfaceSphericalTensorField); - ReadFields(surfaceSymmTensorField); - ReadFields(surfaceTensorField); + doLocalCode(surfaceScalarField); + doLocalCode(surfaceVectorField); + doLocalCode(surfaceSphericalTensorField); + doLocalCode(surfaceSymmTensorField); + doLocalCode(surfaceTensorField); // Read point fields const pointMesh& pMesh = pointMesh::New(mesh); - #undef ReadPointFields - #define ReadPointFields(FieldType) \ + #undef doLocalCode + #define doLocalCode(FieldType) \ readFields<FieldType>(pMesh, objects, nameMatcher, storedObjects); - ReadPointFields(pointScalarField); - ReadPointFields(pointVectorField); - ReadPointFields(pointSphericalTensorField); - ReadPointFields(pointSymmTensorField); - ReadPointFields(pointTensorField); + doLocalCode(pointScalarField); + doLocalCode(pointVectorField); + doLocalCode(pointSphericalTensorField); + doLocalCode(pointSymmTensorField); + doLocalCode(pointTensorField); - #undef ReadFields - #undef ReadPointFields + #undef doLocalCode timings[TimingType::READ_FIELDS] += timer.timeIncrement(); + + // Write loaded fields when mesh.write() is called + for (auto* fldptr : storedObjects) + { + fldptr->writeOpt(IOobject::AUTO_WRITE); + } } @@ -1224,7 +1285,13 @@ int main(int argc, char *argv[]) CompactListList<label> regionCellOrder = - regionRenumber(renumberPtr(), mesh, cellToRegion); + regionRenumber + ( + renumberPtr(), + mesh, + cellToRegion, + decomposePtr().nDomains() + ); cellOrder = regionCellOrder.values(); @@ -1586,19 +1653,25 @@ int main(int argc, char *argv[]) ); reduce(band, maxOp<label>()); reduce(profile, sumOp<scalar>()); - reduce(sumSqrIntersect, sumOp<scalar>()); - scalar rmsFrontwidth = Foam::sqrt - ( - sumSqrIntersect/mesh.globalData().nTotalCells() - ); + Info<< "After renumbering"; + if (doDecompose) + { + Info<< " [values are misleading with -decompose option]"; + } - Info<< "After renumbering :" << nl + Info<< nl << " band : " << band << nl << " profile : " << profile << nl; if (doFrontWidth) { + reduce(sumSqrIntersect, sumOp<scalar>()); + scalar rmsFrontwidth = Foam::sqrt + ( + sumSqrIntersect/mesh.globalData().nTotalCells() + ); + Info<< " rms frontwidth : " << rmsFrontwidth << nl; } diff --git a/applications/utilities/mesh/manipulation/renumberMesh/subsetAdjacency.H b/applications/utilities/mesh/manipulation/renumberMesh/subsetAdjacency.H new file mode 100644 index 00000000000..0c098616cf2 --- /dev/null +++ b/applications/utilities/mesh/manipulation/renumberMesh/subsetAdjacency.H @@ -0,0 +1,168 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM, distributed under GPL-3.0-or-later. + +Description + Subsetting of an adjacency matrix (as CompactListList). + Can be relocated elsewhere. + +\*---------------------------------------------------------------------------*/ + +#include "CompactListList.H" +#include "bitSet.H" +#include "ListOps.H" +#include "Map.H" + +namespace Foam +{ + +// Perform a subset of the adjacency matrix +CompactListList<label> subsetAdjacency +( + const bitSet& select, // could also be labelHashSet + const CompactListList<label>& input, + labelList& subMap +) +{ + // Corresponds to cellMap etc (the original selection) + subMap = select.sortedToc(); + + // Ensure that the subMap corresponds to a valid subset + { + label validSize = 0; + + const label nTotal = input.size(); + + forAllReverse(subMap, i) + { + if (subMap[i] < nTotal) + { + validSize = i + 1; + break; + } + } + + subMap.resize(validSize); + } + + + // Assumed to be sparse - use Map for reverse lookup + const Map<label> reverseMap(invertToMap(subMap)); + + + // Pass 1: determine the selected sub-sizes + labelList sizes(subMap.size(), Foam::zero{}); + + forAll(subMap, idx) + { + for (const label nbr : input[subMap[idx]]) + { + if + ( + select.test(nbr) + && reverseMap.contains(nbr) // extra consistency (paranoid) + ) + { + ++sizes[idx]; + } + } + } + + + CompactListList<label> output(sizes); + + // Reuse sizes as output offset into output.values() + sizes = labelList::subList(output.offsets(), output.size()); + labelList& values = output.values(); + + + // Pass 2: extract sub-adjacent matrix + + label newNbr = -1; + + forAll(subMap, idx) + { + for (const label nbr : input[subMap[idx]]) + { + if + ( + select.test(nbr) + && (newNbr = reverseMap.lookup(nbr, -1)) >= 0 + ) + { + values[sizes[idx]++] = newNbr; + } + } + } + + return output; +} + + +// Perform a subset of the adjacency matrix +CompactListList<label> subsetAdjacency +( + const labelRange& slice, + const CompactListList<label>& input, + labelList& subMap +) +{ + // Ensure that the selection corresponds to a valid subset + const labelRange select = slice.subset0(input.size()); + + // Corresponds to cellMap etc (the original selection) + subMap = Foam::identity(select); + + + // Pass 1: determine the selected sub-sizes + labelList sizes(subMap.size(), Foam::zero{}); + + forAll(subMap, idx) + { + for (const label nbr : input[subMap[idx]]) + { + if (select.contains(nbr)) + { + ++sizes[idx]; + } + } + } + + + CompactListList<label> output(sizes); + + // Reuse sizes as output offset into output.values() + sizes = labelList::subList(output.offsets(), output.size()); + labelList& values = output.values(); + + + // Pass 2: extract sub-adjacent matrix + + const label localOffset = select.start(); + + forAll(subMap, idx) + { + for (const label nbr : input[subMap[idx]]) + { + if (select.contains(nbr)) + { + values[sizes[idx]++] = nbr - localOffset; + } + } + } + + return output; +} + +} // End namespace Foam + + +// ************************************************************************* // -- GitLab From c6ecf3113a7f96a74ede01d1a0790544e8e27973 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 20 Mar 2024 09:32:43 +0000 Subject: [PATCH 106/231] COMP: syncTools: move attribute --- src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H b/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H index a1076aa6f5d..053cdb91033 100644 --- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H +++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H @@ -555,13 +555,13 @@ public: //- Return neighbour cell values for all boundary faces //- by swapping via boundary faces template<class T> - static List<T> swapBoundaryCellList + FOAM_NODISCARD static List<T> swapBoundaryCellList ( const polyMesh& mesh, const UList<T>& cellData, //! Allow parallel communication const bool parRun = UPstream::parRun() - ) FOAM_NODISCARD + ) { List<T> nbrCellData; swapBoundaryCellList(mesh, cellData, nbrCellData, parRun); @@ -570,13 +570,13 @@ public: //- Return neighbour cell positions for all boundary faces //- by swapping via boundary faces - static List<point> swapBoundaryCellPositions + FOAM_NODISCARD static List<point> swapBoundaryCellPositions ( const polyMesh& mesh, const UList<point>& cellData, //! Allow parallel communication const bool parRun = UPstream::parRun() - ) FOAM_NODISCARD + ) { List<point> nbrCellData; swapBoundaryCellPositions(mesh, cellData, nbrCellData, parRun); -- GitLab From 68e36946fd3cf2bfa6817b1a9371bdd3dfb44f95 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Thu, 21 Mar 2024 15:55:19 +0000 Subject: [PATCH 107/231] BUG: externalWallHeatFluxTemperature: prevent FPE in mixedEnergy condition (fixes #3123) --- .../externalWallHeatFluxTemperatureFvPatchScalarField.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/thermoTools/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C b/src/thermoTools/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C index 9b186b78d04..67f622f2ccf 100644 --- a/src/thermoTools/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C +++ b/src/thermoTools/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C @@ -331,7 +331,7 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() Q_->value(this->db().time().timeOutputValue()); refGrad() = (heatPower/gSum(patch().magSf()) + qr)/kappa(Tp); - refValue() = 0; + refValue() = 293.15; // prevents FPE, no impact on condition valueFraction() = 0; break; @@ -342,7 +342,7 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() q_->value(this->db().time().timeOutputValue()); refGrad() = (heatFlux + qr)/kappa(Tp); - refValue() = 0; + refValue() = 293.15; // prevents FPE, no impact on condition valueFraction() = 0; break; -- GitLab From 93f6cae46a4a69544587d0f8d62b1f57fe36447a Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 20 Mar 2024 13:53:22 +0000 Subject: [PATCH 108/231] DOC: topoSet: add zones instead of sets --- etc/caseDicts/annotated/topoSetSourcesDict | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/etc/caseDicts/annotated/topoSetSourcesDict b/etc/caseDicts/annotated/topoSetSourcesDict index 11e2608439d..0c0a816e79f 100644 --- a/etc/caseDicts/annotated/topoSetSourcesDict +++ b/etc/caseDicts/annotated/topoSetSourcesDict @@ -43,6 +43,10 @@ cellSet_doc sets (c1 c2); // or set c1; + // or + zones (c1Zone c2Zone); + // or + zone c1Zone; } @@ -62,6 +66,10 @@ cellSet_doc sets (f0 f1); // or set f0; // Name of faceSet + // or + zones (f0Zone f1Zone); + // or + zone f0Zone; //- selection option (mandatory) option any; // cell with any face in faceSet @@ -127,6 +135,10 @@ cellSet_doc sets (p0 p1); // or sets p0; + // or + zones (p0Zone p1Zone); + // or + zone p0Zone; option any; // cell with any point in pointSet //option edge; // cell with an edge with both points in pointSet @@ -254,6 +266,10 @@ faceSet_doc sets (c0 c1); // or set c0; // Name of cellSet + // or + zones (c0Zone c1Zone); + // or + zone c0Zone; option all; // All faces of cells //option both; // Only faces with owner+neighbour in cellSet @@ -310,6 +326,10 @@ faceSet_doc sets (p0 p1); // or set p0; // Name of pointSet + // or + zones (p0Zone p1Zone); + // or + zone p0Zone; option any; // Faces using any point in pointSet //option all // Faces with all points in pointSet @@ -399,6 +419,10 @@ pointSet_doc sets (c1 c2); // or set c1; + // or + zones (c1Zone c2Zone); + // or + zone c1Zone; option all; // all points of cell } @@ -421,6 +445,10 @@ pointSet_doc sets (f1 f2); // or set f1; + // or + zones (f1Zone f2Zone); + // or + zone f1Zone; option all; // all points of face } @@ -446,6 +474,10 @@ pointSet_doc sets (p1 p2); // or set p1; + // or + zones (p1Zone p2Zone); + // or + zone p1Zone; } -- GitLab From 6bd1486a3866f7802b5a6624e902784edd8dda24 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 27 Mar 2024 09:16:57 +0000 Subject: [PATCH 109/231] ENH: solution: allow Function1 with database --- src/OpenFOAM/matrices/solution/solution.C | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/OpenFOAM/matrices/solution/solution.C b/src/OpenFOAM/matrices/solution/solution.C index 27b0eac1df3..397bae49ae5 100644 --- a/src/OpenFOAM/matrices/solution/solution.C +++ b/src/OpenFOAM/matrices/solution/solution.C @@ -106,7 +106,8 @@ void Foam::solution::read(const dictionary& dict) fieldRelaxDefault_ = Function1<scalar>::NewIfPresent ( "default", - fieldRelaxDict_ + fieldRelaxDict_, + &db() ); if (!fieldRelaxDefault_) { @@ -119,7 +120,8 @@ void Foam::solution::read(const dictionary& dict) eqnRelaxDefault_ = Function1<scalar>::NewIfPresent ( "default", - eqnRelaxDict_ + eqnRelaxDict_, + &db() ); if (!eqnRelaxDefault_) { @@ -341,7 +343,8 @@ bool Foam::solution::relaxField(const word& name, scalar& factor) const fieldRelaxCache_, // cache name, fieldRelaxDict_, - keyType::REGEX + keyType::REGEX, + &db() )().value(time().timeOutputValue()); return true; @@ -368,7 +371,8 @@ bool Foam::solution::relaxEquation(const word& name, scalar& factor) const eqnRelaxCache_, // cache name, eqnRelaxDict_, - keyType::REGEX + keyType::REGEX, + &db() )().value(time().timeOutputValue()); return true; -- GitLab From 5091c79e96b22288d629a31c93aa71afab2b9782 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 27 Mar 2024 10:28:56 +0000 Subject: [PATCH 110/231] BUG: topoSet: allow use of 'set' as input for zones. Fixes #3126 --- src/meshTools/topoSet/topoSets/cellZoneSet.C | 57 ++++++++++++++----- src/meshTools/topoSet/topoSets/faceZoneSet.C | 42 ++++++++++++-- src/meshTools/topoSet/topoSets/pointZoneSet.C | 57 ++++++++++++++----- 3 files changed, 124 insertions(+), 32 deletions(-) diff --git a/src/meshTools/topoSet/topoSets/cellZoneSet.C b/src/meshTools/topoSet/topoSets/cellZoneSet.C index 4fca3baacc0..fd36af0d2fa 100644 --- a/src/meshTools/topoSet/topoSets/cellZoneSet.C +++ b/src/meshTools/topoSet/topoSets/cellZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -114,7 +114,12 @@ Foam::cellZoneSet::cellZoneSet : cellSet(mesh, name, set.size(), wOpt), mesh_(mesh), - addressing_(refCast<const cellZoneSet>(set).addressing()) + addressing_ + ( + isA<const cellZoneSet>(set) + ? refCast<const cellZoneSet>(set).addressing() + : set.sortedToc() + ) { updateSet(); } @@ -156,13 +161,27 @@ void Foam::cellZoneSet::subset(const topoSet& set) { DynamicList<label> newAddressing(addressing_.size()); - const cellZoneSet& zoneSet = refCast<const cellZoneSet>(set); + const auto* setPtr = dynamic_cast<const cellZoneSet*>(&set); - for (const label celli : zoneSet.addressing()) + if (setPtr) { - if (found(celli)) + for (const label celli : setPtr->addressing()) { - newAddressing.append(celli); + if (found(celli)) + { + newAddressing.append(celli); + } + } + } + else + { + // Assume a cellSet + for (const label celli : refCast<const cellSet>(set).sortedToc()) + { + if (found(celli)) + { + newAddressing.append(celli); + } } } @@ -192,13 +211,27 @@ void Foam::cellZoneSet::addSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_); - const cellZoneSet& zoneSet = refCast<const cellZoneSet>(set); + const auto* setPtr = dynamic_cast<const cellZoneSet*>(&set); - for (const label celli : zoneSet.addressing()) + if (setPtr) { - if (!found(celli)) + for (const label celli : setPtr->addressing()) { - newAddressing.append(celli); + if (!found(celli)) + { + newAddressing.append(celli); + } + } + } + else + { + // Assume a cellSet + for (const label celli : refCast<const cellSet>(set).sortedToc()) + { + if (!found(celli)) + { + newAddressing.append(celli); + } } } @@ -228,11 +261,9 @@ void Foam::cellZoneSet::subtractSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_.size()); - const cellZoneSet& zoneSet = refCast<const cellZoneSet>(set); - for (const label celli : addressing_) { - if (!zoneSet.found(celli)) + if (!set.found(celli)) { // Not found in zoneSet so add newAddressing.append(celli); diff --git a/src/meshTools/topoSet/topoSets/faceZoneSet.C b/src/meshTools/topoSet/topoSets/faceZoneSet.C index 6b230325ead..73431e3890c 100644 --- a/src/meshTools/topoSet/topoSets/faceZoneSet.C +++ b/src/meshTools/topoSet/topoSets/faceZoneSet.C @@ -220,8 +220,18 @@ void Foam::faceZoneSet::subset void Foam::faceZoneSet::subset(const topoSet& set) { - const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); - subset(zoneSet.name(), zoneSet.addressing(), zoneSet.flipMap()); + const auto* setPtr = dynamic_cast<const faceZoneSet*>(&set); + + if (setPtr) + { + subset(setPtr->name(), setPtr->addressing(), setPtr->flipMap()); + } + else + { + // Assume a faceSet. Ignore flipMap + const auto& fSet = refCast<const faceSet>(set); + subset(fSet.name(), fSet.sortedToc(), boolList::null()); + } } @@ -282,8 +292,18 @@ void Foam::faceZoneSet::addSet void Foam::faceZoneSet::addSet(const topoSet& set) { - const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); - addSet(zoneSet.name(), zoneSet.addressing(), zoneSet.flipMap()); + const auto* setPtr = dynamic_cast<const faceZoneSet*>(&set); + + if (setPtr) + { + addSet(setPtr->name(), setPtr->addressing(), setPtr->flipMap()); + } + else + { + // Assume a faceSet. Ignore flipMap + const auto& fSet = refCast<const faceSet>(set); + addSet(fSet.name(), fSet.sortedToc(), boolList::null()); + } } @@ -346,8 +366,18 @@ void Foam::faceZoneSet::subtractSet void Foam::faceZoneSet::subtractSet(const topoSet& set) { - const faceZoneSet& zoneSet = refCast<const faceZoneSet>(set); - subtractSet(zoneSet.name(), zoneSet.addressing(), zoneSet.flipMap()); + const auto* setPtr = dynamic_cast<const faceZoneSet*>(&set); + + if (setPtr) + { + subtractSet(setPtr->name(), setPtr->addressing(), setPtr->flipMap()); + } + else + { + // Assume a faceSet. Ignore flipMap + const auto& fSet = refCast<const faceSet>(set); + subtractSet(fSet.name(), fSet.sortedToc(), boolList::null()); + } } diff --git a/src/meshTools/topoSet/topoSets/pointZoneSet.C b/src/meshTools/topoSet/topoSets/pointZoneSet.C index 752ab2524bd..1bcd5b503da 100644 --- a/src/meshTools/topoSet/topoSets/pointZoneSet.C +++ b/src/meshTools/topoSet/topoSets/pointZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -115,7 +115,12 @@ Foam::pointZoneSet::pointZoneSet : pointSet(mesh, name, set.size(), wOpt), mesh_(mesh), - addressing_(refCast<const pointZoneSet>(set).addressing()) + addressing_ + ( + isA<const pointZoneSet>(set) + ? refCast<const pointZoneSet>(set).addressing() + : set.sortedToc() + ) { updateSet(); } @@ -156,13 +161,27 @@ void Foam::pointZoneSet::subset(const topoSet& set) { DynamicList<label> newAddressing(addressing_.size()); - const pointZoneSet& zoneSet = refCast<const pointZoneSet>(set); + const auto* setPtr = dynamic_cast<const pointZoneSet*>(&set); - for (const label pointi : zoneSet.addressing()) + if (setPtr) { - if (found(pointi)) + for (const label pointi : setPtr->addressing()) { - newAddressing.append(pointi); + if (found(pointi)) + { + newAddressing.append(pointi); + } + } + } + else + { + // Assume a pointSet + for (const label pointi : refCast<const pointSet>(set).sortedToc()) + { + if (found(pointi)) + { + newAddressing.append(pointi); + } } } @@ -192,13 +211,27 @@ void Foam::pointZoneSet::addSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_); - const pointZoneSet& zoneSet = refCast<const pointZoneSet>(set); + const auto* setPtr = dynamic_cast<const pointZoneSet*>(&set); - for (const label pointi : zoneSet.addressing()) + if (setPtr) { - if (!found(pointi)) + for (const label pointi : setPtr->addressing()) { - newAddressing.append(pointi); + if (!found(pointi)) + { + newAddressing.append(pointi); + } + } + } + else + { + // Assume a pointSet + for (const label pointi : refCast<const pointSet>(set).sortedToc()) + { + if (!found(pointi)) + { + newAddressing.append(pointi); + } } } @@ -228,11 +261,9 @@ void Foam::pointZoneSet::subtractSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_.size()); - const pointZoneSet& zoneSet = refCast<const pointZoneSet>(set); - for (label pointi : addressing_) { - if (!zoneSet.found(pointi)) + if (!set.found(pointi)) { // Not found in zoneSet so add newAddressing.append(pointi); -- GitLab From 1668519996c9a66dae1d2c30146e203f8de3e991 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 27 Mar 2024 11:52:38 +0000 Subject: [PATCH 111/231] BUG: redistributePar: disable parallel when redistributing. Fixes #3125 --- .../parallelProcessing/redistributePar/redistributePar.C | 2 ++ src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C index 23d62c26520..2b43537186e 100644 --- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C +++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C @@ -727,11 +727,13 @@ autoPtr<mapDistributePolyMesh> redistributeAndWrite { // A zero-sized mesh with boundaries. // This is used to create zero-sized fields. + const bool oldParRun = UPstream::parRun(false); subsetterPtr.reset(new fvMeshSubset(mesh, zero{})); subsetterPtr().subMesh().init(true); subsetterPtr().subMesh().globalData(); subsetterPtr().subMesh().tetBasePtIs(); subsetterPtr().subMesh().geometricD(); + UPstream::parRun(oldParRun); } diff --git a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C index de5d2dfed04..54a837d7ebf 100644 --- a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C +++ b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -569,7 +569,8 @@ void Foam::fvMeshSubset::reset(const Foam::zero) ); } - newSubMesh.addFvPatches(newPatches); + // Add patches - make sure we don't trigger any parallel side effects + newSubMesh.addFvPatches(newPatches, false); } -- GitLab From 483075b4aa92df905189e522964654d9871c1d98 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 27 Mar 2024 19:47:32 +0000 Subject: [PATCH 112/231] BUG: KinematicCloud: remove hard-coded debug condition --- .../clouds/Templates/KinematicCloud/KinematicCloudI.H | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H index 5651acab617..74eccd091f9 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H @@ -501,14 +501,11 @@ template<class CloudType> inline Foam::tmp<Foam::volScalarField::Internal> Foam::KinematicCloud<CloudType>::Srhok() const { - label debug0 = debug; - debug = 1; if (debug) { Pout<< "rhokTrans min/max = " << min(rhokTrans()).value() << ", " << max(rhokTrans()).value() << endl; } - debug = debug0; if (this->solution().coupled()) { -- GitLab From 13f66313d11cdde2f96af6531f84c16ddeb03d31 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 28 Mar 2024 14:50:34 +0000 Subject: [PATCH 113/231] BUG: redistributePar: restore. Fix AMIInterpolation. fixes #3125 Problem was that the zero fvMeshSubset constructed did not reset the distributed flag. --- .../parallelProcessing/redistributePar/redistributePar.C | 2 -- .../AMIInterpolation/AMIInterpolation/AMIInterpolation.C | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C index 2b43537186e..23d62c26520 100644 --- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C +++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C @@ -727,13 +727,11 @@ autoPtr<mapDistributePolyMesh> redistributeAndWrite { // A zero-sized mesh with boundaries. // This is used to create zero-sized fields. - const bool oldParRun = UPstream::parRun(false); subsetterPtr.reset(new fvMeshSubset(mesh, zero{})); subsetterPtr().subMesh().init(true); subsetterPtr().subMesh().globalData(); subsetterPtr().subMesh().tetBasePtIs(); subsetterPtr().subMesh().geometricD(); - UPstream::parRun(oldParRun); } diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C index 50a48a0e91d..b71a9d4237c 100644 --- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C +++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C @@ -837,6 +837,8 @@ bool Foam::AMIInterpolation::calculate << "AMI: no source faces present - no addressing constructed" << endl; + singlePatchProc_ = UPstream::myProcNo(comm_); + return false; } -- GitLab From 2ff67f8ce407040ce32f8b80b8dd7b3af8c10e05 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Sat, 30 Mar 2024 14:54:42 +0000 Subject: [PATCH 114/231] BUG: overlapping zones: incorrect indexing --- src/meshTools/polyTopoChange/polyTopoChange.C | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/src/meshTools/polyTopoChange/polyTopoChange.C b/src/meshTools/polyTopoChange/polyTopoChange.C index 822ff1efe4a..3c3e20284d3 100644 --- a/src/meshTools/polyTopoChange/polyTopoChange.C +++ b/src/meshTools/polyTopoChange/polyTopoChange.C @@ -202,11 +202,33 @@ void Foam::polyTopoChange::writeMeshStats(const polyMesh& mesh, Ostream& os) patchStarts[patchi] = patches[patchi].start(); } + const auto& czs = mesh.cellZones(); + labelList cellZoneSizes(czs.size(), 0); + for (const auto& cz : czs) + { + cellZoneSizes[cz.index()] = cz.size(); + } + const auto& fzs = mesh.faceZones(); + labelList faceZoneSizes(fzs.size(), 0); + for (const auto& fz : fzs) + { + faceZoneSizes[fz.index()] = fz.size(); + } + const auto& pzs = mesh.pointZones(); + labelList pointZoneSizes(pzs.size(), 0); + for (const auto& pz : pzs) + { + pointZoneSizes[pz.index()] = pz.size(); + } + os << " Points : " << mesh.nPoints() << nl << " Faces : " << mesh.nFaces() << nl << " Cells : " << mesh.nCells() << nl - << " PatchSizes : " << patchSizes << nl - << " PatchStarts : " << patchStarts << nl + << " PatchSizes : " << flatOutput(patchSizes) << nl + << " PatchStarts : " << flatOutput(patchStarts) << nl + << " cZoneSizes : " << flatOutput(cellZoneSizes) << nl + << " fZoneSizes : " << flatOutput(faceZoneSizes) << nl + << " pZoneSizes : " << flatOutput(pointZoneSizes) << nl << endl; } @@ -907,6 +929,8 @@ void Foam::polyTopoChange::reorderCompactFaces faceZoneFlip_.setCapacity(newSize); if (faceAdditionalZones_.size()) { + // Extend to number of faces so oldToNew can be used + faceAdditionalZones_.setSize(faceZone_.size()); inplaceReorder(oldToNew, faceAdditionalZones_); faceAdditionalZones_.setCapacity(newSize); } @@ -3913,13 +3937,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::changeMesh << endl; } - if (debug) - { - Pout<< "New mesh:" << nl; - writeMeshStats(mesh, Pout); - } - - // Zones // ~~~~~ @@ -3932,6 +3949,12 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::changeMesh resetZones(mesh, mesh, pointZoneMap, faceZoneFaceMap, cellZoneMap); + if (debug) + { + Pout<< "New mesh:" << nl; + writeMeshStats(mesh, Pout); + } + // Clear zone info { pointZone_.clearStorage(); -- GitLab From e099e98b8b2ecbdfbf973776658dfa06a19ec8c4 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 3 Apr 2024 11:31:12 +0200 Subject: [PATCH 115/231] STYLE: remove defunct restore0Dir expand of #include [collated] - used defunct "processors/" directory naming, and includes are now addressed by the file-handler anyhow. ENH: support 'tutorials/Alltest -init' - for copying/creating test directory without running --- bin/tools/RunFunctions | 40 ++++++++++++++++------------------------ tutorials/Alltest | 21 ++++++++++++++++++--- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions index 03bd194919e..4901d15ee0d 100644 --- a/bin/tools/RunFunctions +++ b/bin/tools/RunFunctions @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2015-2023 OpenCFD Ltd. +# Copyright (C) 2015-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -501,9 +501,9 @@ cloneParallelCase() } -# Overwrite 0/ with the contents of 0.orig/ if it exists. -# The -processor option to do the processor directories instead -# +# If 0.orig/ exists, copy (overwrite) into 0/ [ie, serial case] +# * -processor : copy into processor directories instead +# * -all : copy into serial and processor directories restore0Dir() { if [ ! -d 0.orig ] @@ -513,35 +513,27 @@ restore0Dir() fi case "$1" in - -proc | -processor | -processors) - echo "Restore 0/ from 0.orig/ [processor directories]" + (-all | -proc | -processor*) + if [ "$1" = "-all" ] + then + echo "Restore 0/ from 0.orig/ [serial/processor dirs]" 1>&2 + \rm -rf 0 + \cp -r 0.orig 0 2>/dev/null + else + echo "Restore 0/ from 0.orig/ [processor dirs]" 1>&2 + fi \ls -d processor* | xargs -I {} \rm -rf ./{}/0 \ls -d processor* | xargs -I {} \cp -r 0.orig ./{}/0 > /dev/null 2>&1 - - # Remove '#include' directives from field dictionaries - # for collated format - if [ "$1" = "-processors" ] - then - ( - echo "Filter #include directives in processors/0:" - \cd processors/0 2>/dev/null || exit 0 - for file in $(grep -l "#include" * 2>/dev/null) - do - foamDictionary "$file" > "$file.$$." && mv "$file.$$." "$file" - echo " $file" - done | tr -d '\n' - echo - ) - fi ;; - *) - echo "Restore 0/ from 0.orig/" + (*) + echo "Restore 0/ from 0.orig/" 1>&2 \rm -rf 0 \cp -r 0.orig 0 2>/dev/null ;; esac + return 0 } diff --git a/tutorials/Alltest b/tutorials/Alltest index 9277189ab5f..554549bf1e6 100755 --- a/tutorials/Alltest +++ b/tutorials/Alltest @@ -34,6 +34,7 @@ options: -force Force overwrite of existing tutorialsTest directory -debug Adjust DebugSwitches (fvSchemes, solution) -default Sets up a default scheme on all schemes + -init Initialise/copy only without running -git Use git to retrieve the tutorials -no-git Do not use git to retrieve the tutorials -print-context Print git context for tutorials @@ -44,7 +45,7 @@ Quickly tests the tutorials and writes out the scheme/solver information. Detects and uses 'git' to obtain a fresh set of files when possible. USAGE - exit 0 # A clean exit + exit 0 # A clean exit } # Report error and exit @@ -66,7 +67,7 @@ rootDir="./" adjustDebugSwitches=false useDefaultSchemes=false useGit=auto -unset opt_backup opt_printContext +unset opt_backup opt_initOnly opt_printContext # Parse options while [ "$#" -gt 0 ] @@ -75,6 +76,7 @@ do -h* | -help*) printHelp ;; -f | -force) opt_backup='force' ;; -backup) opt_backup='backup' ;; + -init) opt_initOnly=true ;; -print-cont*) opt_printContext=true ;; -root=*) @@ -201,7 +203,7 @@ __FOOTER_TEXT__ if [ "$opt_printContext" = true ] then printContext_git - exit 0 # A clean exit + exit 0 # A clean exit fi @@ -394,6 +396,19 @@ fi [ -f Allrun ] || cp -f "${FOAM_TUTORIALS:?}/Allrun" . + +#------------------------------------------------------------------------------ + +# Dispatch + +if [ "$opt_initOnly" = true ] +then + echo "Initialised only - call 'Allrun -test' separately" 1>&2 + echo " $PWD" 1>&2 + echo 1>&2 + exit 0 # A clean exit +fi + echo "Starting Allrun -test" 1>&2 echo " $PWD" 1>&2 echo 1>&2 -- GitLab From 2d611276067e6ba6a7292de56709d8e7696405c8 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 5 Apr 2024 12:05:17 +0200 Subject: [PATCH 116/231] ENH: accept reading unquoted string (ie, word) - makes string reading consistent with fileName reading. Related to #3133 to also allow compatibility when reading existing dictionaries written with unquoted string contents. --- src/OpenFOAM/primitives/strings/string/stringIO.C | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/OpenFOAM/primitives/strings/string/stringIO.C b/src/OpenFOAM/primitives/strings/string/stringIO.C index 346ebce3e5f..c260f27e5f9 100644 --- a/src/OpenFOAM/primitives/strings/string/stringIO.C +++ b/src/OpenFOAM/primitives/strings/string/stringIO.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,6 +48,11 @@ Foam::Istream& Foam::operator>>(Istream& is, string& val) { val = tok.stringToken(); } + else if (tok.isWord()) + { + // Also accept a plain word as a string + val = tok.wordToken(); + } else { FatalIOErrorInFunction(is); -- GitLab From 0ef981adbc6b25a866823e79abfe2acc863f5043 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 5 Apr 2024 12:14:49 +0200 Subject: [PATCH 117/231] BUG: cached ensight type not a word (fixes #3133) - the type/name for field caching were saved as word, but ensight has things like "tensor symm" etc, which do not parse very well as 'word'. Now save as 'string' type. Backwards compatibility is OK since a word token will also be readable as string etc. --- src/fileFormats/ensight/file/ensightWriterCaching.C | 4 ++-- src/fileFormats/ensight/file/ensightWriterCaching.H | 8 ++++++-- .../writers/ensight/ensightCoordSetWriterCollated.C | 6 +++--- .../writers/ensight/ensightSurfaceWriterCollated.C | 6 +++--- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/fileFormats/ensight/file/ensightWriterCaching.C b/src/fileFormats/ensight/file/ensightWriterCaching.C index 4d6ed044bc2..7674415e81e 100644 --- a/src/fileFormats/ensight/file/ensightWriterCaching.C +++ b/src/fileFormats/ensight/file/ensightWriterCaching.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -203,7 +203,7 @@ bool Foam::ensightOutput::writerCaching::update const scalar timeValue, const bool geomChanged, const word& fieldName, - const word& fieldType, + const string& fieldType, // May contain spaces (eg, "tensor symm") const word& varName ) { diff --git a/src/fileFormats/ensight/file/ensightWriterCaching.H b/src/fileFormats/ensight/file/ensightWriterCaching.H index b9a1abfd88e..40b56a20e8b 100644 --- a/src/fileFormats/ensight/file/ensightWriterCaching.H +++ b/src/fileFormats/ensight/file/ensightWriterCaching.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -139,6 +139,10 @@ public: //- Update time/geometry information and file cache. //- This routine should only be called from the master process + // + // Note that the ensight field type may contain spaces + // (eg, "tensor symm") + // // \return True if there is a state change, which is either a // geometry change or a new time interval bool update @@ -147,7 +151,7 @@ public: const scalar timeValue, //!< The current time value const bool geomChanged, //!< Monitored geometry changed const word& fieldName, //!< Name of field - const word& fieldType, //!< Type of field + const string& fieldType, //!< Ensight type of field const word& varName = word::null //!< Alternative field name ); }; diff --git a/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C b/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C index 3e378c2933c..7e9303eced8 100644 --- a/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C +++ b/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -222,7 +222,7 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeCollated { const dictionary& subDict = dEntry.dict(); - const word varType(subDict.get<word>("type")); + const string varType(subDict.get<string>("type")); const word varName ( subDict.getOrDefault<word> @@ -233,7 +233,7 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeCollated ); osCase - << varType + << varType.c_str() << ( true // this->isPointData() diff --git a/src/surfMesh/writers/ensight/ensightSurfaceWriterCollated.C b/src/surfMesh/writers/ensight/ensightSurfaceWriterCollated.C index 1d5595564ec..6e27fe3bee4 100644 --- a/src/surfMesh/writers/ensight/ensightSurfaceWriterCollated.C +++ b/src/surfMesh/writers/ensight/ensightSurfaceWriterCollated.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2014 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -236,7 +236,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated { const dictionary& subDict = dEntry.dict(); - const word varType(subDict.get<word>("type")); + const string varType(subDict.get<string>("type")); const word varName ( subDict.getOrDefault<word> @@ -247,7 +247,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated ); osCase - << varType + << varType.c_str() << ( this->isPointData() -- GitLab From bca093d89c1f5dff57ec5461a6718ae14dae441f Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Mon, 8 Apr 2024 19:21:12 +0100 Subject: [PATCH 118/231] SUBMODULE: update OpenQBMM (compilation change only) --- modules/OpenQBMM | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/OpenQBMM b/modules/OpenQBMM index cbbd69ae348..d3ff7dee4e2 160000 --- a/modules/OpenQBMM +++ b/modules/OpenQBMM @@ -1 +1 @@ -Subproject commit cbbd69ae348161c4fe5296a61e1f637bfec72b67 +Subproject commit d3ff7dee4e2c4f336d72a4425dac9ecb6fc81b9b -- GitLab From 7fd962926d8759d71bbfb20da3f58697aea9a6ba Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 10 Apr 2024 14:05:52 +0200 Subject: [PATCH 119/231] ENH: simplify Pstream broadcast stream construction - the rootProcNo is usually == UPstream::masterNo() --- .../db/IOstreams/Pstreams/IPBstreams.C | 40 ++++++++++++----- src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H | 14 ++++-- .../db/IOstreams/Pstreams/OPBstreams.C | 45 +++++++++++++++---- src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H | 14 ++++-- .../db/IOstreams/Pstreams/PstreamBroadcast.C | 21 ++++----- .../masterUncollatedFileOperation.C | 22 +++------ .../uncollatedFileOperation.C | 20 +++------ .../fieldsDistributorTemplates.C | 6 +-- 8 files changed, 112 insertions(+), 70 deletions(-) diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/IPBstreams.C b/src/OpenFOAM/db/IOstreams/Pstreams/IPBstreams.C index a43f73116e4..54b1305f27e 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/IPBstreams.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/IPBstreams.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,7 +34,7 @@ License Foam::UIPBstream::UIPBstream ( const UPstream::commsTypes commsType, - const int fromProcNo, + const int rootProcNo, DynamicList<char>& receiveBuf, label& receiveBufPosition, const int tag, @@ -45,11 +45,11 @@ Foam::UIPBstream::UIPBstream : UIPstreamBase ( - commsType, - fromProcNo, + commsType, // irrelevant + rootProcNo, // normally UPstream::masterNo() receiveBuf, receiveBufPosition, - tag, + tag, // irrelevant comm, clearAtEnd, fmt @@ -62,7 +62,7 @@ Foam::UIPBstream::UIPBstream Foam::IPBstream::IPBstream ( const UPstream::commsTypes commsType, - const int fromProcNo, + const int rootProcNo, const label bufSize, const int tag, const label comm, @@ -72,11 +72,11 @@ Foam::IPBstream::IPBstream Pstream(commsType, bufSize), UIPBstream ( - commsType, - fromProcNo, + commsType, // irrelevant + rootProcNo, // normally UPstream::masterNo() Pstream::transferBuf_, UIPstreamBase::storedRecvBufPos_, // Internal only - tag, + tag, // irrelevant comm, false, // Do not clear Pstream::transferBuf_ if at end fmt @@ -86,7 +86,7 @@ Foam::IPBstream::IPBstream Foam::IPBstream::IPBstream ( - const int fromProcNo, + const int rootProcNo, const label comm, IOstreamOption::streamFormat fmt ) @@ -94,7 +94,25 @@ Foam::IPBstream::IPBstream IPBstream ( UPstream::commsTypes::scheduled, // irrelevant - fromProcNo, + rootProcNo, + label(0), // bufSize + UPstream::msgType(), // irrelevant + comm, + fmt + ) +{} + + +Foam::IPBstream::IPBstream +( + const label comm, + IOstreamOption::streamFormat fmt +) +: + IPBstream + ( + UPstream::commsTypes::scheduled, // irrelevant + UPstream::masterNo(), // rootProcNo label(0), // bufSize UPstream::msgType(), // irrelevant comm, diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H index c71bb4b24c5..2f7eeea3df5 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H @@ -127,11 +127,19 @@ public: IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); - //- Construct for broadcast root with optional communicator, - //- write format - explicit IPBstream + //- Construct for broadcast root and communicator, + //- with optional read format + IPBstream ( const int rootProcNo, //!< normally UPstream::masterNo() + const label comm, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ); + + //- Construct with optional communicator and read format. + //- Uses UPstream::masterNo() root + explicit IPBstream + ( const label comm = UPstream::worldComm, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/OPBstreams.C b/src/OpenFOAM/db/IOstreams/Pstreams/OPBstreams.C index 487cdf6716c..b68dc927a70 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/OPBstreams.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/OPBstreams.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,7 +34,7 @@ License Foam::UOPBstream::UOPBstream ( const UPstream::commsTypes commsType, - const int toProcNo, + const int rootProcNo, DynamicList<char>& sendBuf, const int tag, const label comm, @@ -42,14 +42,23 @@ Foam::UOPBstream::UOPBstream IOstreamOption::streamFormat fmt ) : - UOPstreamBase(commsType, toProcNo, sendBuf, tag, comm, sendAtDestruct, fmt) + UOPstreamBase + ( + commsType, // irrelevant + rootProcNo, // normally UPstream::masterNo() + sendBuf, + tag, // irrelevant + comm, + sendAtDestruct, + fmt + ) {} Foam::OPBstream::OPBstream ( const UPstream::commsTypes commsType, - const int toProcNo, + const int rootProcNo, const label bufSize, const int tag, const label comm, @@ -59,10 +68,10 @@ Foam::OPBstream::OPBstream Pstream(commsType, bufSize), UOPBstream ( - commsType, - toProcNo, + commsType, // irrelevant + rootProcNo, // normally UPstream::masterNo() Pstream::transferBuf_, - tag, + tag, // irrelevant comm, true, // sendAtDestruct fmt @@ -72,7 +81,25 @@ Foam::OPBstream::OPBstream Foam::OPBstream::OPBstream ( - const int toProcNo, + const int rootProcNo, + const label comm, + IOstreamOption::streamFormat fmt +) +: + OPBstream + ( + UPstream::commsTypes::scheduled, // irrelevant + rootProcNo, + label(0), // bufSize + UPstream::msgType(), // irrelevant + comm, + fmt + ) +{} + + +Foam::OPBstream::OPBstream +( const label comm, IOstreamOption::streamFormat fmt ) @@ -80,7 +107,7 @@ Foam::OPBstream::OPBstream OPBstream ( UPstream::commsTypes::scheduled, // irrelevant - toProcNo, + UPstream::masterNo(), // rootProcNo label(0), // bufSize UPstream::msgType(), // irrelevant comm, diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H index 87d56367593..bf0445f04a3 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H @@ -144,11 +144,19 @@ public: IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); - //- Construct for broadcast root with optional communicator, - //- write format - explicit OPBstream + //- Construct for broadcast root and communicator, + //- with optional write format + OPBstream ( const int rootProcNo, //!< normally UPstream::masterNo() + const label comm, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ); + + //- Construct with optional communicator and write format. + //- Uses UPstream::masterNo() root + explicit OPBstream + ( const label comm = UPstream::worldComm, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C index 7bba29d4fbb..b41fafee10d 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBroadcast.C @@ -41,20 +41,19 @@ void Foam::Pstream::broadcast(Type& value, const label comm) ( reinterpret_cast<char*>(&value), sizeof(Type), - comm, - UPstream::masterNo() + comm ); } else if (UPstream::is_parallel(comm)) { if (UPstream::master(comm)) { - OPBstream os(UPstream::masterNo(), comm); + OPBstream os(comm); os << value; } else // UPstream::is_subrank(comm) { - IPBstream is(UPstream::masterNo(), comm); + IPBstream is(comm); is >> value; } } @@ -68,12 +67,12 @@ void Foam::Pstream::broadcasts(const label comm, Type& arg1, Args&&... args) { if (UPstream::master(comm)) { - OPBstream os(UPstream::masterNo(), comm); + OPBstream os(comm); Detail::outputLoop(os, arg1, std::forward<Args>(args)...); } else // UPstream::is_subrank(comm) { - IPBstream is(UPstream::masterNo(), comm); + IPBstream is(comm); Detail::inputLoop(is, arg1, std::forward<Args>(args)...); } } @@ -98,8 +97,7 @@ void Foam::Pstream::broadcastList(ListType& list, const label comm) ( reinterpret_cast<char*>(&len), sizeof(label), - comm, - UPstream::masterNo() + comm ); if (UPstream::is_subrank(comm)) @@ -113,8 +111,7 @@ void Foam::Pstream::broadcastList(ListType& list, const label comm) ( list.data_bytes(), list.size_bytes(), - comm, - UPstream::masterNo() + comm ); } } @@ -125,12 +122,12 @@ void Foam::Pstream::broadcastList(ListType& list, const label comm) if (UPstream::master(comm)) { - OPBstream os(UPstream::masterNo(), comm); + OPBstream os(comm); os << list; } else // UPstream::is_subrank(comm) { - IPBstream is(UPstream::masterNo(), comm); + IPBstream is(comm); is >> list; } } diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index 100e87b2274..ac4ffc8e229 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -2195,26 +2195,18 @@ bool Foam::fileOperations::masterUncollatedFileOperation::read io.note() ); - if (Pstream::master(UPstream::worldComm)) + if (UPstream::master(UPstream::worldComm)) { - OPBstream toAll - ( - UPstream::masterNo(), - UPstream::worldComm, - format - ); - bool okWrite = io.writeData(toAll); + OPBstream os(UPstream::worldComm, format); + + bool okWrite = io.writeData(os); ok = ok && okWrite; } else { - IPBstream fromMaster - ( - UPstream::masterNo(), - UPstream::worldComm, - format - ); - ok = io.readData(fromMaster); + IPBstream is(UPstream::worldComm, format); + + ok = io.readData(is); } } } diff --git a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C index 75996732c3b..ea850885581 100644 --- a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C @@ -752,24 +752,16 @@ bool Foam::fileOperations::uncollatedFileOperation::read if (UPstream::master(UPstream::worldComm)) { - OPBstream toAll - ( - UPstream::masterNo(), - UPstream::worldComm, - format - ); - bool okWrite = io.writeData(toAll); + OPBstream os(UPstream::worldComm, format); + + bool okWrite = io.writeData(os); ok = ok && okWrite; } else { - IPBstream fromMaster - ( - UPstream::masterNo(), - UPstream::worldComm, - format - ); - ok = io.readData(fromMaster); + IPBstream is(UPstream::worldComm, format); + + ok = io.readData(is); } } diff --git a/src/OpenFOAM/parallel/fieldsDistributor/fieldsDistributorTemplates.C b/src/OpenFOAM/parallel/fieldsDistributor/fieldsDistributorTemplates.C index 491b8f31ee0..01c0195b81c 100644 --- a/src/OpenFOAM/parallel/fieldsDistributor/fieldsDistributorTemplates.C +++ b/src/OpenFOAM/parallel/fieldsDistributor/fieldsDistributorTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -270,7 +270,7 @@ void Foam::fieldsDistributor::readFieldsImpl // Broadcast zero sized fields everywhere (if needed) // Send like a list of dictionaries - OPBstream toProcs(UPstream::masterNo()); // worldComm + OPBstream toProcs(UPstream::worldComm); const label nDicts = (subsetter ? fields.size() : label(0)); @@ -299,7 +299,7 @@ void Foam::fieldsDistributor::readFieldsImpl else { // Receive the broadcast... - IPBstream fromMaster(UPstream::masterNo()); // worldComm + IPBstream fromMaster(UPstream::worldComm); // But only consume where needed... if (!haveMeshOnProc.test(UPstream::myProcNo())) -- GitLab From 6ac572a17931910cf2b2e5af8e6c166f8ae18fc4 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 10 Apr 2024 13:16:01 +0200 Subject: [PATCH 120/231] BUG: masterUncollatedFileOperation::read() masked return value (#3135) ENH: combine broadcasts for uncollated master-only handling --- .../masterUncollatedFileOperation.C | 17 +++++------------ .../uncollatedFileOperation.C | 14 +++++--------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index ac4ffc8e229..0b8c5aba872 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -2167,8 +2167,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::read << endl; } - bool ok = false; - if (Pstream::master(UPstream::worldComm)) + if (UPstream::master(UPstream::worldComm)) { // Do master-only reading always. const bool oldParRun = UPstream::parRun(false); @@ -2184,21 +2183,14 @@ bool Foam::fileOperations::masterUncollatedFileOperation::read UPstream::parRun(oldParRun); // Restore parallel state } - // Broadcast regIOobjects content - if (Pstream::parRun()) + // Broadcast regIOobject content, with writeData/readData handling + if (UPstream::parRun()) { - Pstream::broadcasts - ( - UPstream::worldComm, - ok, - io.headerClassName(), - io.note() - ); - if (UPstream::master(UPstream::worldComm)) { OPBstream os(UPstream::worldComm, format); + os << io.headerClassName() << io.note(); bool okWrite = io.writeData(os); ok = ok && okWrite; } @@ -2206,6 +2198,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::read { IPBstream is(UPstream::worldComm, format); + is >> io.headerClassName() >> io.note(); ok = io.readData(is); } } diff --git a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C index ea850885581..d2b6a3656f6 100644 --- a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C @@ -699,7 +699,7 @@ bool Foam::fileOperations::uncollatedFileOperation::read { bool ok = false; - if (!masterOnly || Pstream::master(UPstream::worldComm)) + if (!masterOnly || UPstream::master(UPstream::worldComm)) { if (debug) { @@ -741,19 +741,14 @@ bool Foam::fileOperations::uncollatedFileOperation::read } } - if (masterOnly && Pstream::parRun()) + if (masterOnly && UPstream::parRun()) { - Pstream::broadcasts - ( - UPstream::worldComm, - io.headerClassName(), - io.note() - ); - + // Broadcast regIOobject content, with writeData/readData handling if (UPstream::master(UPstream::worldComm)) { OPBstream os(UPstream::worldComm, format); + os << io.headerClassName() << io.note(); bool okWrite = io.writeData(os); ok = ok && okWrite; } @@ -761,6 +756,7 @@ bool Foam::fileOperations::uncollatedFileOperation::read { IPBstream is(UPstream::worldComm, format); + is >> io.headerClassName() >> io.note(); ok = io.readData(is); } } -- GitLab From 0dcc53ab03f889d618af6caf99c8e9655723ac4d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 10 Apr 2024 11:23:55 +0200 Subject: [PATCH 121/231] ENH: additional std::unique_ptr support for regIOobject and IOobjectList - regIOobject::store(std::unique_ptr<...>&& ptr) - IOobjectList::add(std::unique_ptr<...>&& ptr) STYLE: io.globalCaseName() instead of io.time().globalCaseName() [#3007] --- src/OpenFOAM/db/IOobjectList/IOobjectList.H | 5 ++++- src/OpenFOAM/db/IOobjectList/IOobjectListI.H | 13 ++++++++++- src/OpenFOAM/db/regIOobject/regIOobject.H | 8 ++++++- src/OpenFOAM/db/regIOobject/regIOobjectI.H | 11 +++++++++- .../fileOperation/fileOperation.C | 2 +- .../masterUncollatedFileOperation.C | 8 ++++--- .../uncollatedFileOperation.C | 12 +++++----- .../distributedTriSurfaceMesh.C | 22 ++++++++++++------- 8 files changed, 60 insertions(+), 21 deletions(-) diff --git a/src/OpenFOAM/db/IOobjectList/IOobjectList.H b/src/OpenFOAM/db/IOobjectList/IOobjectList.H index 2c993f1fb0d..d5e14a637d4 100644 --- a/src/OpenFOAM/db/IOobjectList/IOobjectList.H +++ b/src/OpenFOAM/db/IOobjectList/IOobjectList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -228,6 +228,9 @@ public: // Basic methods + //- Move insert IOobject into the list + inline bool add(std::unique_ptr<IOobject>&& objectPtr); + //- Move insert IOobject into the list inline bool add(autoPtr<IOobject>& objectPtr); diff --git a/src/OpenFOAM/db/IOobjectList/IOobjectListI.H b/src/OpenFOAM/db/IOobjectList/IOobjectListI.H index 9408e7b53a3..24044638ecd 100644 --- a/src/OpenFOAM/db/IOobjectList/IOobjectListI.H +++ b/src/OpenFOAM/db/IOobjectList/IOobjectListI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -109,6 +109,17 @@ inline Foam::IOobjectList::IOobjectList // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +inline bool Foam::IOobjectList::add(std::unique_ptr<IOobject>&& objectPtr) +{ + if (objectPtr) + { + return insert(objectPtr->name(), std::move(objectPtr)); + } + + return false; +} + + inline bool Foam::IOobjectList::add(autoPtr<IOobject>& objectPtr) { if (objectPtr) diff --git a/src/OpenFOAM/db/regIOobject/regIOobject.H b/src/OpenFOAM/db/regIOobject/regIOobject.H index 9cce9137e7d..6dad7249ca7 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobject.H +++ b/src/OpenFOAM/db/regIOobject/regIOobject.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -195,6 +195,12 @@ public: template<class Type> inline static Type& store(Type* p); + //- Transfer pointer ownership to its registry. + // Resets (clears) the parameter. + // \return reference to the stored object + template<class Type> + inline static Type& store(std::unique_ptr<Type>&& ptr); + //- Transfer pointer ownership to its registry. // Resets (clears) the parameter. // \return reference to the stored object diff --git a/src/OpenFOAM/db/regIOobject/regIOobjectI.H b/src/OpenFOAM/db/regIOobject/regIOobjectI.H index 1b4c632e873..1f04bd68f0c 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobjectI.H +++ b/src/OpenFOAM/db/regIOobject/regIOobjectI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -80,6 +80,14 @@ inline Type& Foam::regIOobject::store(Type* p) } +template<class Type> +inline Type& Foam::regIOobject::store(std::unique_ptr<Type>&& ptr) +{ + // Pass management to objectRegistry + return store(ptr.release()); +} + + template<class Type> inline Type& Foam::regIOobject::store(autoPtr<Type>& ptr) { @@ -182,6 +190,7 @@ inline Type& Foam::regIOobject::store(tmp<Type>&& ptr) inline void Foam::regIOobject::release(const bool unregister) noexcept { + // Note: could also return the old ownedByRegistry_ value ownedByRegistry_ = false; if (unregister) { diff --git a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C index 8addedf1d5b..54f6ea82034 100644 --- a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C +++ b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C @@ -1413,7 +1413,7 @@ Foam::fileName Foam::fileOperation::processorsCasePath const word& procsDir ) const { - return io.rootPath()/io.time().globalCaseName()/procsDir; + return io.rootPath()/io.globalCaseName()/procsDir; } diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index 0b8c5aba872..89c6674f9ff 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -198,8 +198,10 @@ Foam::fileOperations::masterUncollatedFileOperation::filePathInfo ) { fileName parentPath = - io.rootPath()/io.time().globalCaseName() - /io.instance()/io.db().dbDir()/io.local()/io.name(); + ( + io.rootPath()/io.globalCaseName() + /io.instance()/io.db().dbDir()/io.local()/io.name() + ); if (isFileOrDir(isFile, parentPath)) { @@ -356,7 +358,7 @@ Foam::fileOperations::masterUncollatedFileOperation::localObjectPath case fileOperation::PARENTOBJECT: { return - io.rootPath()/io.time().globalCaseName() + io.rootPath()/io.globalCaseName() /io.instance()/io.db().dbDir()/io.local()/io.name(); } break; diff --git a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C index d2b6a3656f6..6278d087029 100644 --- a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C @@ -108,13 +108,15 @@ Foam::fileName Foam::fileOperations::uncollatedFileOperation::filePathInfo { // Constant & system can come from global case - fileName parentObjectPath = - io.rootPath()/io.time().globalCaseName() - /io.instance()/io.db().dbDir()/io.local()/io.name(); + fileName parentPath = + ( + io.rootPath()/io.globalCaseName() + /io.instance()/io.db().dbDir()/io.local()/io.name() + ); - if (isFileOrDir(isFile, parentObjectPath)) + if (isFileOrDir(isFile, parentPath)) { - return parentObjectPath; + return parentPath; } } diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C index 8591ee1d3d7..13828bfa9aa 100644 --- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C +++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C @@ -250,8 +250,10 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance // Search in parent directory fileName parentDir = - io.rootPath()/io.time().globalCaseName() - /io.instance()/io.db().dbDir()/io.local()/io.name(); + ( + io.rootPath()/io.globalCaseName() + /io.instance()/io.db().dbDir()/io.local()/io.name() + ); if (fileHandler().isDir(parentDir)) { @@ -280,9 +282,11 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance continue; } - fileName parentDir = - io.rootPath()/io.time().globalCaseName() - /ts[instanceI].name()/io.db().dbDir()/io.local()/io.name(); + parentDir = + ( + io.rootPath()/io.globalCaseName() + /ts[instanceI].name()/io.db().dbDir()/io.local()/io.name() + ); if (fileHandler().isDir(parentDir)) { @@ -301,9 +305,11 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance // constant function of the time, because the latter points to // the case constant directory in parallel cases - fileName parentDir = - io.rootPath()/io.time().globalCaseName() - /io.time().constant()/io.db().dbDir()/io.local()/io.name(); + parentDir = + ( + io.rootPath()/io.globalCaseName() + /io.time().constant()/io.db().dbDir()/io.local()/io.name() + ); if (fileHandler().isDir(parentDir)) { -- GitLab From 68c5d90ad02b590e10b89cf769b3c63fe101d7f2 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 8 Apr 2024 09:45:31 +0200 Subject: [PATCH 122/231] STYLE: rename readContents -> readIOcontents for private/protected method - leave 'readContents' method name for exposed (public) methods. Generally not a problem, but can confuse the compiler when various public/private versions are available with the same number of parameters. STYLE: adjust meshObject debug statements --- .../IOobjects/CompactIOField/CompactIOField.C | 59 ++++++------ .../IOobjects/CompactIOField/CompactIOField.H | 13 +-- .../IOobjects/CompactIOList/CompactIOList.C | 76 ++++++++------- .../IOobjects/CompactIOList/CompactIOList.H | 30 +----- .../db/IOobjects/GlobalIOList/GlobalIOList.H | 4 +- src/OpenFOAM/db/IOobjects/IOField/IOField.C | 60 ++++++------ src/OpenFOAM/db/IOobjects/IOField/IOField.H | 10 +- src/OpenFOAM/db/IOobjects/IOList/IOList.C | 16 ++-- src/OpenFOAM/db/IOobjects/IOList/IOList.H | 4 +- src/OpenFOAM/db/IOobjects/IOMap/IOMap.C | 14 +-- src/OpenFOAM/db/IOobjects/IOMap/IOMap.H | 4 +- .../db/IOobjects/IOPtrList/IOPtrList.C | 2 +- .../db/IOobjects/IOdictionary/IOdictionary.C | 2 +- .../IOdictionary/localIOdictionary.C | 2 +- .../IOdictionary/unwatchedIOdictionary.C | 4 +- .../db/IOobjects/rawIOField/rawIOField.C | 14 +-- .../db/IOobjects/rawIOField/rawIOField.H | 4 +- .../mapDistribute/IOmapDistribute.C | 10 +- .../mapDistribute/IOmapDistribute.H | 4 +- .../mapDistribute/IOmapDistributePolyMesh.C | 10 +- .../mapDistribute/IOmapDistributePolyMesh.H | 4 +- .../polyBoundaryMesh/polyBoundaryMesh.C | 10 +- .../polyBoundaryMesh/polyBoundaryMesh.H | 4 +- .../polyBoundaryMeshEntries.C | 3 +- .../meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C | 10 +- .../meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H | 2 +- .../coordinate/systems/coordinateSystems.C | 92 +++++++++---------- .../coordinate/systems/coordinateSystems.H | 23 ++--- .../hexRef8/refinementHistory.C | 15 ++- .../hexRef8/refinementHistory.H | 4 +- .../polyTopoChanger/polyTopoChanger.C | 6 +- .../polyTopoChanger/polyTopoChanger.H | 4 +- .../faMesh/faBoundaryMesh/faBoundaryMesh.C | 12 +-- .../faMesh/faBoundaryMesh/faBoundaryMesh.H | 4 +- .../faBoundaryMesh/faBoundaryMeshEntries.C | 3 +- src/surfMesh/surfZone/surfZoneIOList.C | 6 +- src/surfMesh/surfZone/surfZoneIOList.H | 4 +- 37 files changed, 253 insertions(+), 295 deletions(-) diff --git a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C index b37ae44d6b5..8f5a6c2d978 100644 --- a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C +++ b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,8 +32,26 @@ License // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template<class T, class BaseType> -void Foam::CompactIOField<T, BaseType>::readFromStream(const bool readOnProc) +bool Foam::CompactIOField<T, BaseType>::readIOcontents(bool readOnProc) { + if (readOpt() == IOobject::MUST_READ) + { + // Reading + } + else if (isReadOptional()) + { + if (!headerOk()) + { + readOnProc = false; + } + } + else + { + return false; + } + + + // Do reading Istream& is = readStream(word::null, readOnProc); if (readOnProc) @@ -58,23 +76,8 @@ void Foam::CompactIOField<T, BaseType>::readFromStream(const bool readOnProc) << exit(FatalIOError); } } -} - - -template<class T, class BaseType> -bool Foam::CompactIOField<T, BaseType>::readContents() -{ - if - ( - readOpt() == IOobject::MUST_READ - || (isReadOptional() && headerOk()) - ) - { - readFromStream(); - return true; - } - return false; + return true; } @@ -85,7 +88,7 @@ Foam::CompactIOField<T, BaseType>::CompactIOField(const IOobject& io) : regIOobject(io) { - readContents(); + readIOcontents(); } @@ -98,15 +101,7 @@ Foam::CompactIOField<T, BaseType>::CompactIOField : regIOobject(io) { - if (readOpt() == IOobject::MUST_READ) - { - readFromStream(readOnProc); - } - else if (isReadOptional()) - { - const bool haveFile = headerOk(); - readFromStream(readOnProc && haveFile); - } + readIOcontents(readOnProc); } @@ -119,7 +114,7 @@ Foam::CompactIOField<T, BaseType>::CompactIOField : regIOobject(io) { - readContents(); + readIOcontents(); } @@ -132,7 +127,7 @@ Foam::CompactIOField<T, BaseType>::CompactIOField : regIOobject(io) { - if (!readContents()) + if (!readIOcontents()) { Field<T>::resize(len); } @@ -148,7 +143,7 @@ Foam::CompactIOField<T, BaseType>::CompactIOField : regIOobject(io) { - if (!readContents()) + if (!readIOcontents()) { Field<T>::operator=(content); } @@ -166,7 +161,7 @@ Foam::CompactIOField<T, BaseType>::CompactIOField { Field<T>::transfer(content); - readContents(); + readIOcontents(); } diff --git a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.H b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.H index 506a0e0c67b..efad050dbf7 100644 --- a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.H +++ b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -76,13 +76,10 @@ class CompactIOField { // Private Member Functions - //- Read according to header type, with optional 'on-proc' value - void readFromStream(const bool readOnProc = true); - - //- Read if IOobject flags set. Return true if read. - // Reads according to the header type - bool readContents(); - + //- Read if IOobject flags set and 'on-proc' is true. + //- Reads according to the header type. + // Return true if read (only accurate when readOnProc == true). + bool readIOcontents(bool readOnProc = true); public: diff --git a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C index eb9ec7c591e..d6d96d9b75f 100644 --- a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C +++ b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,34 +32,7 @@ License // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template<class T, class BaseType> -void Foam::CompactIOList<T, BaseType>::readFromStream() -{ - Istream& is = readStream(word::null); - - if (headerClassName() == IOList<T>::typeName) - { - is >> static_cast<List<T>&>(*this); - close(); - } - else if (headerClassName() == typeName) - { - is >> *this; - close(); - } - else - { - FatalIOErrorInFunction(is) - << "unexpected class name " << headerClassName() - << " expected " << typeName - << " or " << IOList<T>::typeName << endl - << " while reading object " << name() - << exit(FatalIOError); - } -} - - -template<class T, class BaseType> -bool Foam::CompactIOList<T, BaseType>::readContents() +bool Foam::CompactIOList<T, BaseType>::readIOcontents() { if ( @@ -67,7 +40,28 @@ bool Foam::CompactIOList<T, BaseType>::readContents() || (isReadOptional() && headerOk()) ) { - readFromStream(); + Istream& is = readStream(word::null); + + if (headerClassName() == IOList<T>::typeName) + { + is >> static_cast<List<T>&>(*this); + close(); + } + else if (headerClassName() == typeName) + { + is >> *this; + close(); + } + else + { + FatalIOErrorInFunction(is) + << "Unexpected class name " << headerClassName() + << " expected " << typeName + << " or " << IOList<T>::typeName << endl + << " while reading object " << name() + << exit(FatalIOError); + } + return true; } @@ -78,12 +72,14 @@ bool Foam::CompactIOList<T, BaseType>::readContents() template<class T, class BaseType> bool Foam::CompactIOList<T, BaseType>::overflows() const { - label size = 0; - forAll(*this, i) + const List<T>& lists = *this; + + label total = 0; + for (const auto& sublist : lists) { - const label oldSize = size; - size += this->operator[](i).size(); - if (size < oldSize) + const label prev = total; + total += sublist.size(); + if (total < prev) { return true; } @@ -99,7 +95,7 @@ Foam::CompactIOList<T, BaseType>::CompactIOList(const IOobject& io) : regIOobject(io) { - readContents(); + readIOcontents(); } @@ -112,7 +108,7 @@ Foam::CompactIOList<T, BaseType>::CompactIOList : regIOobject(io) { - readContents(); + readIOcontents(); } @@ -125,7 +121,7 @@ Foam::CompactIOList<T, BaseType>::CompactIOList : regIOobject(io) { - if (!readContents()) + if (!readIOcontents()) { List<T>::resize(len); } @@ -141,7 +137,7 @@ Foam::CompactIOList<T, BaseType>::CompactIOList : regIOobject(io) { - if (!readContents()) + if (!readIOcontents()) { List<T>::operator=(content); } @@ -159,7 +155,7 @@ Foam::CompactIOList<T, BaseType>::CompactIOList { List<T>::transfer(content); - readContents(); + readIOcontents(); } diff --git a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.H b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.H index 77d599428f6..fc439588f89 100644 --- a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.H +++ b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -43,7 +43,6 @@ SourceFiles #define Foam_CompactIOList_H #include "IOList.H" -#include "regIOobject.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -76,12 +75,10 @@ class CompactIOList { // Private Member Functions - //- Read according to header type - void readFromStream(); - //- Read if IOobject flags set. Return true if read. - // Reads according to the header type - bool readContents(); + //- Reads according to the header type. + // Return true if read. + bool readIOcontents(); //- Has too many elements in it? bool overflows() const; @@ -130,7 +127,7 @@ public: const bool writeOnProc ) const; - virtual bool writeData(Ostream&) const; + virtual bool writeData(Ostream& os) const; // Member Operators @@ -140,23 +137,6 @@ public: //- Copy or move assignment of entries using List<T>::operator=; - - - // IOstream operators - - //- Read List from Istream, discarding contents of existing List. - friend Istream& operator>> <T, BaseType> - ( - Istream&, - CompactIOList<T, BaseType>& - ); - - // Write List to Ostream. - friend Ostream& operator<< <T, BaseType> - ( - Ostream&, - const CompactIOList<T, BaseType>& - ); }; diff --git a/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.H b/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.H index 966a5976d98..44124a879f5 100644 --- a/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.H +++ b/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.H @@ -91,14 +91,14 @@ public: // Member Functions - //- Is object global + //- This object is global virtual bool global() const { return true; } //- Return complete path + object name if the file exists - // either in the case/processor or case otherwise null + //- either in the case/processor or case otherwise null virtual fileName filePath() const { return globalFilePath(type()); diff --git a/src/OpenFOAM/db/IOobjects/IOField/IOField.C b/src/OpenFOAM/db/IOobjects/IOField/IOField.C index 3c4a7a9eb5c..89b3d2f8488 100644 --- a/src/OpenFOAM/db/IOobjects/IOField/IOField.C +++ b/src/OpenFOAM/db/IOobjects/IOField/IOField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,8 +31,26 @@ License // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template<class Type> -void Foam::IOField<Type>::readFromStream(const bool readOnProc) +bool Foam::IOField<Type>::readIOcontents(bool readOnProc) { + if (isReadRequired()) + { + // Reading + } + else if (isReadOptional()) + { + if (!headerOk()) + { + readOnProc = false; + } + } + else + { + return false; + } + + + // Do reading Istream& is = readStream(typeName, readOnProc); if (readOnProc) @@ -40,19 +58,7 @@ void Foam::IOField<Type>::readFromStream(const bool readOnProc) is >> *this; } close(); -} - - -template<class Type> -bool Foam::IOField<Type>::readContents() -{ - if (isReadRequired() || (isReadOptional() && headerOk())) - { - readFromStream(); - return true; - } - - return false; + return true; } @@ -66,7 +72,7 @@ Foam::IOField<Type>::IOField(const IOobject& io) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOField<Type>>(); - readContents(); + readIOcontents(); } @@ -78,15 +84,7 @@ Foam::IOField<Type>::IOField(const IOobject& io, const bool readOnProc) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOField<Type>>(); - if (isReadRequired()) - { - readFromStream(readOnProc); - } - else if (isReadOptional()) - { - const bool haveFile = headerOk(); - readFromStream(readOnProc && haveFile); - } + readIOcontents(readOnProc); } @@ -98,7 +96,7 @@ Foam::IOField<Type>::IOField(const IOobject& io, Foam::zero) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOField<Type>>(); - readContents(); + readIOcontents(); } @@ -110,7 +108,7 @@ Foam::IOField<Type>::IOField(const IOobject& io, const label len) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOField<Type>>(); - if (!readContents()) + if (!readIOcontents()) { Field<Type>::resize(len); } @@ -125,7 +123,7 @@ Foam::IOField<Type>::IOField(const IOobject& io, const UList<Type>& content) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOField<Type>>(); - if (!readContents()) + if (!readIOcontents()) { Field<Type>::operator=(content); } @@ -142,7 +140,7 @@ Foam::IOField<Type>::IOField(const IOobject& io, Field<Type>&& content) Field<Type>::transfer(content); - readContents(); + readIOcontents(); } @@ -158,7 +156,7 @@ Foam::IOField<Type>::IOField(const IOobject& io, const tmp<Field<Type>>& tfld) Field<Type>::transfer(tfld.ref()); } - if (!readContents() && !reuse) + if (!readIOcontents() && !reuse) { Field<Type>::operator=(tfld()); } @@ -185,7 +183,7 @@ template<class Type> Foam::Field<Type> Foam::IOField<Type>::readContents(const IOobject& io) { IOobject rio(io, IOobjectOption::NO_REGISTER); - if (rio.readOpt() == IOobjectOption::MUST_READ_IF_MODIFIED) + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) { rio.readOpt(IOobjectOption::MUST_READ); } diff --git a/src/OpenFOAM/db/IOobjects/IOField/IOField.H b/src/OpenFOAM/db/IOobjects/IOField/IOField.H index 49560862383..1cbf9a93b5a 100644 --- a/src/OpenFOAM/db/IOobjects/IOField/IOField.H +++ b/src/OpenFOAM/db/IOobjects/IOField/IOField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -58,11 +58,9 @@ class IOField { // Private Member Functions - //- Read with optional 'on-proc' value - void readFromStream(const bool readOnProc = true); - - //- Read if IOobject flags set. Return true if read. - bool readContents(); + //- Read if IOobject flags set and 'on-proc' is true. + // Return true if read (only accurate when readOnProc == true). + bool readIOcontents(bool readOnProc = true); public: diff --git a/src/OpenFOAM/db/IOobjects/IOList/IOList.C b/src/OpenFOAM/db/IOobjects/IOList/IOList.C index 59c6b63a8e9..a6a0bbb2002 100644 --- a/src/OpenFOAM/db/IOobjects/IOList/IOList.C +++ b/src/OpenFOAM/db/IOobjects/IOList/IOList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,7 +31,7 @@ License // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template<class T> -bool Foam::IOList<T>::readContents() +bool Foam::IOList<T>::readIOcontents() { if (isReadRequired() || (isReadOptional() && headerOk())) { @@ -54,7 +54,7 @@ Foam::IOList<T>::IOList(const IOobject& io) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOList<T>>(); - readContents(); + readIOcontents(); } @@ -66,7 +66,7 @@ Foam::IOList<T>::IOList(const IOobject& io, Foam::zero) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOList<T>>(); - readContents(); + readIOcontents(); } @@ -78,7 +78,7 @@ Foam::IOList<T>::IOList(const IOobject& io, const label len) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOList<T>>(); - if (!readContents()) + if (!readIOcontents()) { List<T>::resize(len); } @@ -93,7 +93,7 @@ Foam::IOList<T>::IOList(const IOobject& io, const UList<T>& content) // Check for MUST_READ_IF_MODIFIED warnNoRereading<IOList<T>>(); - if (!readContents()) + if (!readIOcontents()) { List<T>::operator=(content); } @@ -110,7 +110,7 @@ Foam::IOList<T>::IOList(const IOobject& io, List<T>&& content) List<T>::transfer(content); - readContents(); + readIOcontents(); } @@ -132,7 +132,7 @@ template<class T> Foam::List<T> Foam::IOList<T>::readContents(const IOobject& io) { IOobject rio(io, IOobjectOption::NO_REGISTER); - if (rio.readOpt() == IOobjectOption::MUST_READ_IF_MODIFIED) + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) { rio.readOpt(IOobjectOption::MUST_READ); } diff --git a/src/OpenFOAM/db/IOobjects/IOList/IOList.H b/src/OpenFOAM/db/IOobjects/IOList/IOList.H index 1f30fc4863e..636fab73dbb 100644 --- a/src/OpenFOAM/db/IOobjects/IOList/IOList.H +++ b/src/OpenFOAM/db/IOobjects/IOList/IOList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -59,7 +59,7 @@ class IOList // Private Member Functions //- Read if IOobject flags set. Return true if read. - bool readContents(); + bool readIOcontents(); public: diff --git a/src/OpenFOAM/db/IOobjects/IOMap/IOMap.C b/src/OpenFOAM/db/IOobjects/IOMap/IOMap.C index 702aebd322e..b88f08bab6b 100644 --- a/src/OpenFOAM/db/IOobjects/IOMap/IOMap.C +++ b/src/OpenFOAM/db/IOobjects/IOMap/IOMap.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,7 +31,7 @@ License // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template<class T> -bool Foam::IOMap<T>::readContents() +bool Foam::IOMap<T>::readIOcontents() { if (isReadRequired() || (isReadOptional() && headerOk())) { @@ -55,7 +55,7 @@ Foam::IOMap<T>::IOMap(const IOobject& io) : regIOobject(io) { - readContents(); + readIOcontents(); } @@ -64,7 +64,7 @@ Foam::IOMap<T>::IOMap(const IOobject& io, const label size) : regIOobject(io) { - if (!readContents()) + if (!readIOcontents()) { Map<T>::resize(size); } @@ -76,7 +76,7 @@ Foam::IOMap<T>::IOMap(const IOobject& io, const Map<T>& content) : regIOobject(io) { - if (!readContents()) + if (!readIOcontents()) { Map<T>::operator=(content); } @@ -90,7 +90,7 @@ Foam::IOMap<T>::IOMap(const IOobject& io, Map<T>&& content) { Map<T>::transfer(content); - readContents(); + readIOcontents(); } @@ -100,7 +100,7 @@ template<class T> Foam::Map<T> Foam::IOMap<T>::readContents(const IOobject& io) { IOobject rio(io, IOobjectOption::NO_REGISTER); - if (rio.readOpt() == IOobjectOption::MUST_READ_IF_MODIFIED) + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) { rio.readOpt(IOobjectOption::MUST_READ); } diff --git a/src/OpenFOAM/db/IOobjects/IOMap/IOMap.H b/src/OpenFOAM/db/IOobjects/IOMap/IOMap.H index 9cf43adee26..ede099d7f15 100644 --- a/src/OpenFOAM/db/IOobjects/IOMap/IOMap.H +++ b/src/OpenFOAM/db/IOobjects/IOMap/IOMap.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,7 +60,7 @@ class IOMap // Private Member Functions //- Read if IOobject flags set. Return true if read. - bool readContents(); + bool readIOcontents(); public: diff --git a/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C b/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C index 48efa21d5ea..95a42de2e5b 100644 --- a/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C +++ b/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C @@ -122,7 +122,7 @@ template<class T> Foam::PtrList<T> Foam::IOPtrList<T>::readContents(const IOobject& io) { IOobject rio(io, IOobjectOption::NO_REGISTER); - if (rio.readOpt() == IOobjectOption::MUST_READ_IF_MODIFIED) + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) { rio.readOpt(IOobjectOption::MUST_READ); } diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C index 83834881ec7..375b12e211f 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C @@ -96,7 +96,7 @@ Foam::IOdictionary::IOdictionary Foam::dictionary Foam::IOdictionary::readContents(const IOobject& io) { IOobject rio(io, IOobjectOption::NO_REGISTER); - if (rio.readOpt() == IOobjectOption::MUST_READ_IF_MODIFIED) + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) { rio.readOpt(IOobjectOption::MUST_READ); } diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C index bd45e100c78..b938f054043 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C @@ -93,7 +93,7 @@ Foam::localIOdictionary::localIOdictionary Foam::dictionary Foam::localIOdictionary::readContents(const IOobject& io) { IOobject rio(io, IOobjectOption::NO_REGISTER); - if (rio.readOpt() == IOobjectOption::MUST_READ_IF_MODIFIED) + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) { rio.readOpt(IOobjectOption::MUST_READ); } diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.C index f4183e9ceea..1a54d618279 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.C +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.C @@ -97,7 +97,7 @@ Foam::label Foam::unwatchedIOdictionary::addWatch(const fileName& f) { label index = -1; - if (readOpt() == IOobject::MUST_READ_IF_MODIFIED) + if (readOpt() == IOobjectOption::READ_MODIFIED) { index = files_.find(f); @@ -113,7 +113,7 @@ Foam::label Foam::unwatchedIOdictionary::addWatch(const fileName& f) void Foam::unwatchedIOdictionary::addWatch() { - if (readOpt() == IOobject::MUST_READ_IF_MODIFIED) + if (readOpt() == IOobjectOption::READ_MODIFIED) { fileName f = filePath(); if (f.empty()) diff --git a/src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.C b/src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.C index 69f4d1772b5..64e1959fa3c 100644 --- a/src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.C +++ b/src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,7 +31,7 @@ License // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template<class Type> -void Foam::rawIOField<Type>::readContents +void Foam::rawIOField<Type>::readIOcontents ( Istream& is, IOobjectOption::readOption readAverage @@ -65,7 +65,7 @@ void Foam::rawIOField<Type>::readContents template<class Type> -bool Foam::rawIOField<Type>::readContents +bool Foam::rawIOField<Type>::readIOcontents ( IOobjectOption::readOption readAverage ) @@ -111,7 +111,7 @@ bool Foam::rawIOField<Type>::readContents if (is.good()) { - readContents(is, readAverage); + readIOcontents(is, readAverage); close(); } } @@ -122,7 +122,7 @@ bool Foam::rawIOField<Type>::readContents if (isPtr && isPtr->good()) { - readContents(*isPtr, readAverage); + readIOcontents(*isPtr, readAverage); } else { @@ -165,7 +165,7 @@ Foam::rawIOField<Type>::rawIOField // Check for MUST_READ_IF_MODIFIED warnNoRereading<rawIOField<Type>>(); - readContents(readAverage); + readIOcontents(readAverage); } @@ -194,7 +194,7 @@ template<class Type> Foam::Field<Type> Foam::rawIOField<Type>::readContents(const IOobject& io) { IOobject rio(io, IOobjectOption::NO_REGISTER); - if (rio.readOpt() == IOobjectOption::MUST_READ_IF_MODIFIED) + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) { rio.readOpt(IOobjectOption::MUST_READ); } diff --git a/src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.H b/src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.H index eaf5a9e934e..3e3668361ea 100644 --- a/src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.H +++ b/src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.H @@ -67,10 +67,10 @@ class rawIOField // Private Member Functions //- Read contents and average - void readContents(Istream&, IOobjectOption::readOption readAverage); + void readIOcontents(Istream&, IOobjectOption::readOption readAverage); //- Read if IOobject flags set. Return true if read. - bool readContents(IOobjectOption::readOption readAverage); + bool readIOcontents(IOobjectOption::readOption readAverage); public: diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C index de98bcf8791..65e2b70443a 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014-2015 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,7 +38,7 @@ namespace Foam // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -bool Foam::IOmapDistribute::readContents() +bool Foam::IOmapDistribute::readIOcontents() { if (isReadRequired() || (isReadOptional() && headerOk())) { @@ -60,7 +60,7 @@ Foam::IOmapDistribute::IOmapDistribute(const IOobject& io) // Warn for MUST_READ_IF_MODIFIED warnNoRereading<IOmapDistribute>(); - readContents(); + readIOcontents(); } @@ -75,7 +75,7 @@ Foam::IOmapDistribute::IOmapDistribute // Warn for MUST_READ_IF_MODIFIED warnNoRereading<IOmapDistribute>(); - if (!readContents()) + if (!readIOcontents()) { mapDistribute::operator=(map); } @@ -95,7 +95,7 @@ Foam::IOmapDistribute::IOmapDistribute mapDistribute::transfer(map); - readContents(); + readIOcontents(); } diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.H index eee7b25883d..59cc1cc141f 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,7 +60,7 @@ class IOmapDistribute // Private Member Functions //- Read if IOobject flags set. Return true if read. - bool readContents(); + bool readIOcontents(); public: diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.C index d4dd4c6f076..8f35bbedaa2 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,7 +38,7 @@ namespace Foam // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -bool Foam::IOmapDistributePolyMesh::readContents() +bool Foam::IOmapDistributePolyMesh::readIOcontents() { if (isReadRequired() || (isReadOptional() && headerOk())) { @@ -60,7 +60,7 @@ Foam::IOmapDistributePolyMesh::IOmapDistributePolyMesh(const IOobject& io) // Warn for MUST_READ_IF_MODIFIED warnNoRereading<IOmapDistributePolyMesh>(); - readContents(); + readIOcontents(); } @@ -75,7 +75,7 @@ Foam::IOmapDistributePolyMesh::IOmapDistributePolyMesh // Warn for MUST_READ_IF_MODIFIED warnNoRereading<IOmapDistributePolyMesh>(); - if (!readContents()) + if (!readIOcontents()) { mapDistributePolyMesh::operator=(map); } @@ -95,7 +95,7 @@ Foam::IOmapDistributePolyMesh::IOmapDistributePolyMesh mapDistributePolyMesh::transfer(map); - readContents(); + readIOcontents(); } diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.H index 5dd4a45b111..b0d85a2afd7 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,7 +60,7 @@ class IOmapDistributePolyMesh // Private Member Functions //- Read if IOobject flags set. Return true if read. - bool readContents(); + bool readIOcontents(); public: diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C index 38751f59c6f..69368495318 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -134,7 +134,7 @@ void Foam::polyBoundaryMesh::populate(PtrList<entry>&& entries) } -bool Foam::polyBoundaryMesh::readContents(const bool allowOptionalRead) +bool Foam::polyBoundaryMesh::readIOcontents(const bool allowOptionalRead) { bool updated = false; PtrList<entry> entries; @@ -180,7 +180,7 @@ Foam::polyBoundaryMesh::polyBoundaryMesh regIOobject(io), mesh_(mesh) { - readContents(false); // allowOptionalRead = false + readIOcontents(false); // allowOptionalRead = false } @@ -221,7 +221,7 @@ Foam::polyBoundaryMesh::polyBoundaryMesh regIOobject(io), mesh_(pm) { - if (!readContents(true)) // allowOptionalRead = true + if (!readIOcontents(true)) // allowOptionalRead = true { // Nothing read. Use supplied patches polyPatchList& patches = *this; @@ -246,7 +246,7 @@ Foam::polyBoundaryMesh::polyBoundaryMesh regIOobject(io), mesh_(pm) { - if (!readContents(true)) // allowOptionalRead = true + if (!readIOcontents(true)) // allowOptionalRead = true { populate(std::move(entries)); } diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H index 169db86464c..93a059a06e6 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -101,7 +101,7 @@ class polyBoundaryMesh //- Return true if contents were read //- (controlled by IOobject readOption flags). - bool readContents(const bool allowOptionalRead); + bool readIOcontents(const bool allowOptionalRead); public: diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C index 9c8cb756004..7cf2f53abb9 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C @@ -46,8 +46,7 @@ Foam::polyBoundaryMeshEntries::polyBoundaryMeshEntries(const IOobject& io) IOobject(io, IOobjectOption::NO_REGISTER) ) { - // readContents() - + // readIOcontents() if (isReadRequired() || (isReadOptional() && headerOk())) { // Read as entries diff --git a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C index f45bcd7be95..b0ce8d06c22 100644 --- a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C @@ -258,7 +258,7 @@ void Foam::ZoneMesh<ZoneType, MeshType>::populate template<class ZoneType, class MeshType> -bool Foam::ZoneMesh<ZoneType, MeshType>::readContents +bool Foam::ZoneMesh<ZoneType, MeshType>::readIOcontents ( const bool allowOptionalRead ) @@ -311,7 +311,7 @@ Foam::ZoneMesh<ZoneType, MeshType>::ZoneMesh { // Note: this is inconsistent with polyBoundaryMesh // which does not permit optional reading - readContents(true); // allowOptionalRead = true + readIOcontents(true); // allowOptionalRead = true } @@ -343,7 +343,7 @@ Foam::ZoneMesh<ZoneType, MeshType>::ZoneMesh { // Note: this is inconsistent with polyBoundaryMesh // which does not read all - readContents(true); // allowOptionalRead = true + readIOcontents(true); // allowOptionalRead = true } @@ -359,7 +359,7 @@ Foam::ZoneMesh<ZoneType, MeshType>::ZoneMesh regIOobject(io), mesh_(mesh) { - if (!readContents(true)) // allowOptionalRead = true + if (!readIOcontents(true)) // allowOptionalRead = true { // Nothing read. Use supplied zones PtrList<ZoneType>& zones = *this; @@ -385,7 +385,7 @@ Foam::ZoneMesh<ZoneType, MeshType>::ZoneMesh regIOobject(io), mesh_(mesh) { - if (!readContents(true)) // allowOptionalRead = true + if (!readIOcontents(true)) // allowOptionalRead = true { populate(std::move(entries)); } diff --git a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H index c729327a400..0039ab43dd4 100644 --- a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.H @@ -106,7 +106,7 @@ class ZoneMesh //- Return true if contents were read //- (controlled by IOobject readOption flags). - bool readContents(const bool allowOptionalRead); + bool readIOcontents(const bool allowOptionalRead); public: diff --git a/src/OpenFOAM/primitives/coordinate/systems/coordinateSystems.C b/src/OpenFOAM/primitives/coordinate/systems/coordinateSystems.C index 54a95185d20..da4f2b5e1bc 100644 --- a/src/OpenFOAM/primitives/coordinate/systems/coordinateSystems.C +++ b/src/OpenFOAM/primitives/coordinate/systems/coordinateSystems.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,55 +46,53 @@ static const char* headerTypeCompat = "IOPtrList<coordinateSystem>"; // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::coordinateSystems::readFromStream(const bool readOnProc) +bool Foam::coordinateSystems::readIOcontents() { - Istream& is = readStream(word::null, readOnProc); + if (isReadRequired() || (isReadOptional() && headerOk())) + { + // Attempt reading + } + else + { + return false; + } + - if (readOnProc) + // Do reading + Istream& is = readStream(word::null); + + if (headerClassName() == typeName) { - if (headerClassName() == typeName) - { - this->readIstream(is, coordinateSystem::iNew()); - close(); - } - else if (headerClassName() == headerTypeCompat) - { - // Older (1806 and earlier) header name - if (error::master()) - { - std::cerr - << "--> FOAM IOWarning :" << nl - << " Found header class name '" << headerTypeCompat - << "' instead of '" << typeName << "'" << nl; - - error::warnAboutAge("header class", 1806); - } - - this->readIstream(is, coordinateSystem::iNew()); - close(); - } - else - { - FatalIOErrorInFunction(is) - << "unexpected class name " << headerClassName() - << " expected " << typeName - << " or " << headerTypeCompat << nl - << " while reading object " << name() - << exit(FatalIOError); - } + this->readIstream(is, coordinateSystem::iNew()); + close(); } -} + else if (headerClassName() == headerTypeCompat) + { + // Older (1806 and earlier) header name + if (error::master()) + { + std::cerr + << "--> FOAM IOWarning :" << nl + << " Found header class name '" << headerTypeCompat + << "' instead of '" << typeName << "'" << nl; + error::warnAboutAge("header class", 1806); + } -bool Foam::coordinateSystems::readContents() -{ - if (isReadRequired() || (isReadOptional() && headerOk())) + this->readIstream(is, coordinateSystem::iNew()); + close(); + } + else { - readFromStream(); - return true; + FatalIOErrorInFunction(is) + << "Unexpected class name " << headerClassName() + << " expected " << typeName + << " or " << headerTypeCompat << nl + << " while reading object " << name() + << exit(FatalIOError); } - return false; + return true; } @@ -102,10 +100,9 @@ bool Foam::coordinateSystems::readContents() Foam::coordinateSystems::coordinateSystems(const IOobject& io) : - regIOobject(io), - PtrList<coordinateSystem>() + regIOobject(io) { - readContents(); + readIOcontents(); } @@ -131,10 +128,9 @@ Foam::coordinateSystems::coordinateSystems const PtrList<coordinateSystem>& content ) : - regIOobject(io), - PtrList<coordinateSystem>() + regIOobject(io) { - if (!readContents()) + if (!readIOcontents()) { static_cast<PtrList<coordinateSystem>&>(*this) = content; } @@ -150,7 +146,7 @@ Foam::coordinateSystems::coordinateSystems regIOobject(io), PtrList<coordinateSystem>(std::move(content)) { - readContents(); + readIOcontents(); } diff --git a/src/OpenFOAM/primitives/coordinate/systems/coordinateSystems.H b/src/OpenFOAM/primitives/coordinate/systems/coordinateSystems.H index 6dcce33a900..183415127f5 100644 --- a/src/OpenFOAM/primitives/coordinate/systems/coordinateSystems.H +++ b/src/OpenFOAM/primitives/coordinate/systems/coordinateSystems.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,11 +83,18 @@ class coordinateSystems { // Private Member Functions - //- Read "coordinateSystems" or older "IOPtrList<coordinateSystem>" - void readFromStream(const bool readOnProc = true); + //- Read if IOobject flags set. + //- Reads "coordinateSystems" or older "IOPtrList<coordinateSystem>" + // Return true if read. + bool readIOcontents(); - //- Read if IOobject flags set. Return true if read. - bool readContents(); +public: + + //- Declare type-name, virtual type (without debug switch) + TypeNameNoDebug("coordinateSystems"); + + + // Generated Methods //- No copy construct coordinateSystems(const coordinateSystems&) = delete; @@ -96,12 +103,6 @@ class coordinateSystems void operator=(const coordinateSystems&) = delete; -public: - - //- Declare type-name, virtual type (without debug switch) - TypeNameNoDebug("coordinateSystems"); - - // Constructors //- Read construct from IOobject diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C index 3239bf801ad..18ac3e6dc2e 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -43,7 +43,7 @@ namespace Foam // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -bool Foam::refinementHistory::readContents() +bool Foam::refinementHistory::readIOcontents() { if (isReadRequired() || (isReadOptional() && headerOk())) { @@ -566,7 +566,7 @@ Foam::refinementHistory::refinementHistory(const IOobject& io) // Warn for MUST_READ_IF_MODIFIED warnNoRereading<refinementHistory>(); - readContents(); + readIOcontents(); // When running in redistributePar + READ_IF_PRESENT it can happen // that some processors do have refinementHistory and some don't so @@ -602,7 +602,7 @@ Foam::refinementHistory::refinementHistory // Warn for MUST_READ_IF_MODIFIED warnNoRereading<refinementHistory>(); - readContents(); + readIOcontents(); // Check indices. checkIndices(); @@ -632,7 +632,7 @@ Foam::refinementHistory::refinementHistory // Warn for MUST_READ_IF_MODIFIED warnNoRereading<refinementHistory>(); - if (!readContents()) + if (!readIOcontents()) { visibleCells_.setSize(nCells); splitCells_.setCapacity(nCells); @@ -677,7 +677,7 @@ Foam::refinementHistory::refinementHistory // Warn for MUST_READ_IF_MODIFIED warnNoRereading<refinementHistory>(); - if (!readContents()) + if (!readIOcontents()) { visibleCells_.setSize(nCells); splitCells_.setCapacity(nCells); @@ -737,8 +737,7 @@ Foam::refinementHistory::refinementHistory if (io.isAnyRead()) { WarningInFunction - << "read option IOobject::MUST_READ or READ_IF_PRESENT " - << "or MUST_READ_IF_MODIFIED" + << "Read option MUST_READ, READ_IF_PRESENT or READ_MODIFIED" << " suggests that a read constructor would be more appropriate." << endl; } diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.H index 49bd6fe7795..6f40cf11dd6 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.H +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -176,7 +176,7 @@ private: ); //- Read if IOobject flags set. Return true if read. - bool readContents(); + bool readIOcontents(); //- Check consistency of structure, i.e. indices into splitCells_. void checkIndices() const; diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C index 022de1d90db..bae650eadaa 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,7 +42,7 @@ namespace Foam // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -bool Foam::polyTopoChanger::readContents() +bool Foam::polyTopoChanger::readIOcontents() { if (isReadRequired() || (isReadOptional() && headerOk())) { @@ -93,7 +93,7 @@ Foam::polyTopoChanger::polyTopoChanger // Warn for MUST_READ_IF_MODIFIED warnNoRereading<polyTopoChanger>(); - readContents(); + readIOcontents(); } diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.H b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.H index 8ed5efdda1b..d930b56563e 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.H +++ b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -68,7 +68,7 @@ class polyTopoChanger // Private Member Functions //- Read if IOobject flags set, set modifiers. Return true if read. - bool readContents(); + bool readIOcontents(); //- No copy construct polyTopoChanger(const polyTopoChanger&) = delete; diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C index 3ed9ea7f8fc..89c358c1b57 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -129,14 +129,14 @@ void Foam::faBoundaryMesh::populate(PtrList<entry>&& entries) } -bool Foam::faBoundaryMesh::readContents(const bool allowOptionalRead) +bool Foam::faBoundaryMesh::readIOcontents(const bool allowOptionalRead) { bool updated = false; PtrList<entry> entries; if ( - isReadRequired() + this->isReadRequired() || (allowOptionalRead && this->isReadOptional() && this->headerOk()) ) { @@ -175,7 +175,7 @@ Foam::faBoundaryMesh::faBoundaryMesh regIOobject(io), mesh_(mesh) { - readContents(false); // allowOptionalRead = false + readIOcontents(false); // allowOptionalRead = false } @@ -216,7 +216,7 @@ Foam::faBoundaryMesh::faBoundaryMesh regIOobject(io), mesh_(fam) { - if (!readContents(true)) // allowOptionalRead = true + if (!readIOcontents(true)) // allowOptionalRead = true { // Nothing read. Use supplied patches faPatchList& patches = *this; @@ -241,7 +241,7 @@ Foam::faBoundaryMesh::faBoundaryMesh regIOobject(io), mesh_(fam) { - if (!readContents(true)) // allowOptionalRead = true + if (!readIOcontents(true)) // allowOptionalRead = true { populate(std::move(entries)); } diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H index 0603bd28d2e..9c3cc9d0e90 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -94,7 +94,7 @@ class faBoundaryMesh //- Return true if contents were read //- (controlled by IOobject readOption flags). - bool readContents(const bool allowOptionalRead); + bool readIOcontents(const bool allowOptionalRead); public: diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C index 8a075e927df..59ebacfe33f 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C @@ -45,8 +45,7 @@ Foam::faBoundaryMeshEntries::faBoundaryMeshEntries(const IOobject& io) IOobject(io, IOobjectOption::NO_REGISTER) ) { - // readContents() - + // readIOcontents() if (isReadRequired() || (isReadOptional() && headerOk())) { // Read as entries diff --git a/src/surfMesh/surfZone/surfZoneIOList.C b/src/surfMesh/surfZone/surfZoneIOList.C index b2567d286ca..c7cf0c73dc8 100644 --- a/src/surfMesh/surfZone/surfZoneIOList.C +++ b/src/surfMesh/surfZone/surfZoneIOList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,7 +38,7 @@ namespace Foam // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -bool Foam::surfZoneIOList::readContents() +bool Foam::surfZoneIOList::readIOcontents() { if ( @@ -96,7 +96,7 @@ Foam::surfZoneIOList::surfZoneIOList regIOobject(io), surfZoneList() { - readContents(); // allowOptionalRead = false + readIOcontents(); // allowOptionalRead = false } diff --git a/src/surfMesh/surfZone/surfZoneIOList.H b/src/surfMesh/surfZone/surfZoneIOList.H index 4ceb9237582..1165fb1a3fd 100644 --- a/src/surfMesh/surfZone/surfZoneIOList.H +++ b/src/surfMesh/surfZone/surfZoneIOList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,7 +60,7 @@ class surfZoneIOList //- Return true if contents were read //- (controlled by IOobject readOption flags). - bool readContents(); + bool readIOcontents(); public: -- GitLab From 85771c89850b36623abb2b2d38c577fcaf234617 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 2 Apr 2024 16:49:26 +0200 Subject: [PATCH 123/231] ENH: simpler topoSet handling of zone/set - support construct faceZoneSet from faceSet (#3126) ENH: support unregistered loading of cell/face/point sets --- .../fvMesh/fvMeshSubset/fvMeshSubsetProxy.C | 2 +- .../cellSources/cellToCell/cellToCell.C | 4 +- .../cellSources/faceToCell/faceToCell.C | 3 +- .../cellSources/haloToCell/haloToCell.C | 8 +- .../cellSources/pointToCell/pointToCell.C | 3 +- .../cellSources/regionToCell/regionToCell.C | 22 +- .../cellSources/regionToCell/regionToCell.H | 2 +- .../targetVolumeToCell/targetVolumeToCell.C | 8 +- .../setToCellZone/setToCellZone.C | 6 +- .../faceSources/cellToFace/cellToFace.C | 6 +- .../faceSources/faceToFace/faceToFace.C | 4 +- .../faceSources/holeToFace/holeToFace.C | 4 +- .../faceSources/pointToFace/pointToFace.C | 3 +- .../faceSources/regionToFace/regionToFace.C | 14 +- .../faceSources/regionToFace/regionToFace.H | 6 +- .../cellToFaceZone/cellToFaceZone.C | 4 +- .../setAndNormalToFaceZone.C | 8 +- .../setToFaceZone/setToFaceZone.C | 4 +- .../setsToFaceZone/setsToFaceZone.C | 4 +- .../pointSources/cellToPoint/cellToPoint.C | 5 +- .../pointSources/faceToPoint/faceToPoint.C | 6 +- .../pointSources/pointToPoint/pointToPoint.C | 4 +- .../setToPointZone/setToPointZone.C | 4 +- src/meshTools/topoSet/topoSets/cellBitSet.C | 10 +- src/meshTools/topoSet/topoSets/cellBitSet.H | 12 +- src/meshTools/topoSet/topoSets/cellSet.C | 55 +++- src/meshTools/topoSet/topoSets/cellSet.H | 109 +++++--- src/meshTools/topoSet/topoSets/cellZoneSet.C | 229 +++++++---------- src/meshTools/topoSet/topoSets/cellZoneSet.H | 39 ++- src/meshTools/topoSet/topoSets/faceBitSet.C | 8 +- src/meshTools/topoSet/topoSets/faceBitSet.H | 12 +- src/meshTools/topoSet/topoSets/faceBoolSet.C | 2 +- src/meshTools/topoSet/topoSets/faceBoolSet.H | 2 +- src/meshTools/topoSet/topoSets/faceSet.C | 43 +++- src/meshTools/topoSet/topoSets/faceSet.H | 52 +++- src/meshTools/topoSet/topoSets/faceZoneSet.C | 210 ++++++++------- src/meshTools/topoSet/topoSets/faceZoneSet.H | 35 ++- src/meshTools/topoSet/topoSets/pointBitSet.C | 10 +- src/meshTools/topoSet/topoSets/pointBitSet.H | 12 +- src/meshTools/topoSet/topoSets/pointSet.C | 46 +++- src/meshTools/topoSet/topoSets/pointSet.H | 52 +++- src/meshTools/topoSet/topoSets/pointZoneSet.C | 241 ++++++++---------- src/meshTools/topoSet/topoSets/pointZoneSet.H | 42 ++- src/meshTools/topoSet/topoSets/topoBitSet.C | 40 ++- src/meshTools/topoSet/topoSets/topoBitSet.H | 35 +-- src/meshTools/topoSet/topoSets/topoBoolSet.C | 11 +- src/meshTools/topoSet/topoSets/topoBoolSet.H | 32 +-- src/meshTools/topoSet/topoSets/topoSet.C | 227 ++++++++++------- src/meshTools/topoSet/topoSets/topoSet.H | 135 ++++++---- .../topoSet/topoSets/topoSetTemplates.C | 15 +- src/overset/regionsToCell/regionsToCell.C | 12 +- 51 files changed, 1029 insertions(+), 833 deletions(-) diff --git a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetProxy.C b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetProxy.C index 302357e8ba8..1e6f080cd99 100644 --- a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetProxy.C +++ b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubsetProxy.C @@ -160,7 +160,7 @@ bool Foam::fvMeshSubsetProxy::correct(bool verbose) Info<< "Subsetting mesh based on cellSet " << name_ << endl; } - cellSet cset(baseMesh_, name_); + cellSet cset(baseMesh_, name_, IOobject::NO_REGISTER); selectedCells.resize(nCells); for (const label idx : cset) diff --git a/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C b/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C index 667ccd02c3d..c175d121d2b 100644 --- a/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C +++ b/src/meshTools/topoSet/cellSources/cellToCell/cellToCell.C @@ -114,7 +114,7 @@ void Foam::cellToCell::applyToSet } else { - cellSet loadedSet(mesh_, setName); + cellSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); set.addSet(loadedSet); } } @@ -136,7 +136,7 @@ void Foam::cellToCell::applyToSet } else { - cellSet loadedSet(mesh_, setName); + cellSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); set.subtractSet(loadedSet); } } diff --git a/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C b/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C index a71a70760b9..848851ffa5e 100644 --- a/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C +++ b/src/meshTools/topoSet/cellSources/faceToCell/faceToCell.C @@ -146,8 +146,7 @@ void Foam::faceToCell::combine else { // Load the set - faceSet loadedSet(mesh_, setName); - + faceSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); const labelHashSet& faceLabels = loadedSet; combineImpl(set, add, faceLabels); diff --git a/src/meshTools/topoSet/cellSources/haloToCell/haloToCell.C b/src/meshTools/topoSet/cellSources/haloToCell/haloToCell.C index 9c08a2e3f24..ba70c4bcb9d 100644 --- a/src/meshTools/topoSet/cellSources/haloToCell/haloToCell.C +++ b/src/meshTools/topoSet/cellSources/haloToCell/haloToCell.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2022 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,9 +83,11 @@ void Foam::haloToCell::combine(topoSet& set, const bool add) const // The starting set of cells bitSet current(cells.size()); - if (isA<topoBitSet>(set)) + const auto* topoBitsPtr = isA<topoBitSet>(set); + + if (topoBitsPtr) { - current |= refCast<const topoBitSet>(set).addressing(); + current |= topoBitsPtr->addressing(); } else { diff --git a/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C b/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C index 9c74f9e3e6d..aad09d4423d 100644 --- a/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C +++ b/src/meshTools/topoSet/cellSources/pointToCell/pointToCell.C @@ -126,8 +126,7 @@ void Foam::pointToCell::combine else { // Load the set - pointSet loadedSet(mesh_, setName); - + pointSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); const labelHashSet& pointLabels = loadedSet; combineImpl(set, add, pointLabels); diff --git a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C index f192b4f37d6..26270cf1ef9 100644 --- a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C +++ b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.C @@ -351,8 +351,7 @@ void Foam::regionToCell::combine(topoSet& set, const bool add) const if (isZone_) { Info<< " Using cellZone " << setName_ - << " to delimit search region." - << endl; + << " to delimit search region." << nl; selectedCell = false; for (const label celli : mesh_.cellZones()[setName_]) @@ -363,10 +362,9 @@ void Foam::regionToCell::combine(topoSet& set, const bool add) const else { Info<< " Loading cellSet " << setName_ - << " to delimit search region." - << endl; + << " to delimit search region." << nl; - cellSet subSet(mesh_, setName_); + cellSet subSet(mesh_, setName_, IOobject::NO_REGISTER); selectedCell = false; for (const label celli : subSet) @@ -428,14 +426,14 @@ Foam::regionToCell::regionToCell ), nErode_(dict.getCheckOrDefault<label>("nErode", 0, labelMinMax::ge(0))) { - // A single set or zone only! - if (dict.readIfPresent("set", setName_)) + // A single "set" or "zone" only + if (!dict.readIfPresent("set", setName_)) { - isZone_ = false; - } - else if (dict.readIfPresent("zone", setName_)) - { - isZone_ = true; + // Optional entry + if (dict.readIfPresent("zone", setName_)) + { + isZone_ = true; + } } } diff --git a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.H b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.H index 2dd718a81b7..ae22b4a3abd 100644 --- a/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.H +++ b/src/meshTools/topoSet/cellSources/regionToCell/regionToCell.H @@ -73,7 +73,7 @@ Usage source | Source name: regionToCell | word | yes | - insidePoints | Coordinate(s) that is inside connected region <!-- --> | vectorList | yes | - - set | Name of cellSet giving mesh subset | word | no | none + set / zone | Name of cellSet / zone giving mesh subset | word | no | - nErode | Number of cell layers to erode mesh to detect holes <!-- --> in the mesh - set to 0 if not used | label | no | 0 \endtable diff --git a/src/meshTools/topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C b/src/meshTools/topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C index 81f0710165e..2d7aa87f015 100644 --- a/src/meshTools/topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C +++ b/src/meshTools/topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C @@ -133,13 +133,13 @@ void Foam::targetVolumeToCell::combine(topoSet& set, const bool add) const << maskSetName_ << endl; } - maskSet = false; - cellSet subset(mesh_, maskSetName_); - + cellSet subset(mesh_, maskSetName_, IOobject::NO_REGISTER); const labelHashSet& cellLabels = subset; + + maskSet = false; maskSet.setMany(cellLabels.begin(), cellLabels.end()); - nTotCells = returnReduce(subset.size(), sumOp<label>()); + nTotCells = returnReduce(cellLabels.size(), sumOp<label>()); } diff --git a/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C b/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C index ca3d0c1d78e..d12ccf64fe7 100644 --- a/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C +++ b/src/meshTools/topoSet/cellZoneSources/setToCellZone/setToCellZone.C @@ -114,12 +114,12 @@ void Foam::setToCellZone::applyToSet } // Load the sets - cellSet fSet(mesh_, setName_); + cellSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); // Start off from copy DynamicList<label> newAddressing(zoneSet.addressing()); - for (const label celli : fSet) + for (const label celli : loadedSet) { if (!zoneSet.found(celli)) { @@ -139,7 +139,7 @@ void Foam::setToCellZone::applyToSet } // Load the set - cellSet loadedSet(mesh_, setName_); + cellSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); // Start off empty DynamicList<label> newAddressing(zoneSet.addressing().size()); diff --git a/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C b/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C index d3b7508de72..1777c0de569 100644 --- a/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C +++ b/src/meshTools/topoSet/faceSources/cellToFace/cellToFace.C @@ -221,11 +221,11 @@ void Foam::cellToFace::combine // Load the set if (!exists(mesh_.time().path()/topoSet::localPath(mesh_, setName))) { - SeriousError<< "Cannot load set " - << setName << endl; + SeriousError + << "Cannot load set " << setName << endl; } - cellSet loadedSet(mesh_, setName); + cellSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); const labelHashSet& cellLabels = loadedSet; combineImpl(set, add, cellLabels); diff --git a/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C b/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C index 9eaed67c4e6..ef1cc9cdace 100644 --- a/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C +++ b/src/meshTools/topoSet/faceSources/faceToFace/faceToFace.C @@ -114,7 +114,7 @@ void Foam::faceToFace::applyToSet } else { - faceSet loadedSet(mesh_, setName); + faceSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); set.addSet(loadedSet); } @@ -137,7 +137,7 @@ void Foam::faceToFace::applyToSet } else { - faceSet loadedSet(mesh_, setName); + faceSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); set.subtractSet(loadedSet); } diff --git a/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C b/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C index 90781958d53..9b70b6698e6 100644 --- a/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C +++ b/src/meshTools/topoSet/faceSources/holeToFace/holeToFace.C @@ -1148,7 +1148,7 @@ void Foam::holeToFace::applyToSet bitSet isBlockedFace(mesh_.nFaces()); for (const word& setName : blockedFaceNames_) { - const faceSet loadedSet(mesh_, setName); + faceSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); isBlockedFace.setMany(loadedSet.begin(), loadedSet.end()); } @@ -1158,7 +1158,7 @@ void Foam::holeToFace::applyToSet { for (const word& setName : blockedCellNames_) { - const cellSet loadedSet(mesh_, setName); + cellSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); isCandidateCell.setMany(loadedSet.begin(), loadedSet.end()); } } diff --git a/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C b/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C index 6a4a77b96e5..4c2f35d51e2 100644 --- a/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C +++ b/src/meshTools/topoSet/faceSources/pointToFace/pointToFace.C @@ -172,8 +172,7 @@ void Foam::pointToFace::combine else { // Load the set - pointSet loadedSet(mesh_, setName); - + pointSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); const labelHashSet& pointLabels = loadedSet; combineImpl(set, add, pointLabels); diff --git a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C index 683e5e68e0e..e35793c8dd7 100644 --- a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C +++ b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.C @@ -146,7 +146,7 @@ void Foam::regionToFace::combine if (verbose_) { Info<< " Loading subset " << setName_ - << " to delimit search region." << endl; + << " to delimit search region." << nl; } indirectPrimitivePatch patch @@ -236,12 +236,10 @@ Foam::regionToFace::regionToFace isZone_(false), nearPoint_(dict.get<point>("nearPoint")) { - if (dict.readIfPresent("set", setName_)) - { - isZone_ = false; - } - else + // A single "set" or "zone" only + if (!dict.readIfPresent("set", setName_)) { + // Mandatory entry dict.readEntry("zone", setName_); isZone_ = true; } @@ -285,7 +283,7 @@ void Foam::regionToFace::applyToSet } else { - faceSet subSet(mesh_, setName_); + faceSet subSet(mesh_, setName_, IOobject::NO_REGISTER); combine(set, true, subSet.sortedToc()); } } @@ -305,7 +303,7 @@ void Foam::regionToFace::applyToSet } else { - faceSet subSet(mesh_, setName_); + faceSet subSet(mesh_, setName_, IOobject::NO_REGISTER); combine(set, false, subSet.sortedToc()); } } diff --git a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.H b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.H index f0faf5dd79c..b6a21c3ddff 100644 --- a/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.H +++ b/src/meshTools/topoSet/faceSources/regionToFace/regionToFace.H @@ -61,7 +61,7 @@ Usage type | Type name: faceSet | word | yes | - action | Action applied on faces - see below | word | yes | - source | Source name: regionToFace | word | yes | - - set | Name of faceSet restricting search | word | yes | - + set / zone | Name of faceSet / zone restricting search | word | yes | - nearPoint | The point on/near to the region | vector | yes | - \endtable @@ -81,8 +81,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef regionToFace_H -#define regionToFace_H +#ifndef Foam_regionToFace_H +#define Foam_regionToFace_H #include "topoSetFaceSource.H" #include "indirectPrimitivePatch.H" diff --git a/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C index 40e5330c368..27e103d3bdc 100644 --- a/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C @@ -230,7 +230,7 @@ void Foam::cellToFaceZone::applyToSet else { // Load the sets - const cellSet loadedSet(mesh_, setName); + cellSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); whichCells.setMany(loadedSet.begin(), loadedSet.end()); } @@ -276,7 +276,7 @@ void Foam::cellToFaceZone::applyToSet else { // Load the sets - const cellSet loadedSet(mesh_, setName); + cellSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); whichCells.setMany(loadedSet.begin(), loadedSet.end()); } // Select outside faces diff --git a/src/meshTools/topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C index 21e51ff5cc9..7838239678a 100644 --- a/src/meshTools/topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C @@ -128,8 +128,8 @@ void Foam::setAndNormalToFaceZone::applyToSet } // Load the sets - faceSet loadedSet(mesh_, setName_); - labelHashSet& faceIds = loadedSet; + faceSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); + const labelHashSet& faceLabels = loadedSet; // Start off from copy DynamicList<label> newAddressing(zoneSet.addressing()); @@ -138,7 +138,7 @@ void Foam::setAndNormalToFaceZone::applyToSet const faceList& faces = mesh_.faces(); const pointField& points = mesh_.points(); - for (const label facei : faceIds) + for (const label facei : faceLabels) { if (!zoneSet.found(facei)) { @@ -169,7 +169,7 @@ void Foam::setAndNormalToFaceZone::applyToSet } // Load the set - faceSet loadedSet(mesh_, setName_); + faceSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); // Start off empty DynamicList<label> newAddressing(zoneSet.addressing().size()); diff --git a/src/meshTools/topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C index 7e47c0598e1..02e7c507633 100644 --- a/src/meshTools/topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C @@ -122,7 +122,7 @@ void Foam::setToFaceZone::applyToSet } // Load the sets - faceSet loadedSet(mesh_, setName_); + faceSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); const labelHashSet& faceLabels = loadedSet; // Start off from copy @@ -151,7 +151,7 @@ void Foam::setToFaceZone::applyToSet } // Load the set - faceSet loadedSet(mesh_, setName_); + faceSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); // Start off empty DynamicList<label> newAddressing(zoneSet.addressing().size()); diff --git a/src/meshTools/topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C b/src/meshTools/topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C index ecbbb7f469b..edf9a176782 100644 --- a/src/meshTools/topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C +++ b/src/meshTools/topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C @@ -135,8 +135,8 @@ void Foam::setsToFaceZone::applyToSet } // Load the sets - faceSet fSet(mesh_, faceSetName_); - cellSet cSet(mesh_, cellSetName_); + faceSet fSet(mesh_, faceSetName_, IOobject::NO_REGISTER); + cellSet cSet(mesh_, cellSetName_, IOobject::NO_REGISTER); // Start off from copy DynamicList<label> newAddressing(zoneSet.addressing()); diff --git a/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C b/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C index e2be28d26c2..4a3c58a8450 100644 --- a/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C +++ b/src/meshTools/topoSet/pointSources/cellToPoint/cellToPoint.C @@ -70,7 +70,7 @@ void Foam::cellToPoint::combineImpl const Selector& cellLabels ) const { - // Add all point from cells in loadedSet + // Add all points from given cells for (const label celli : cellLabels) { const labelList& cFaces = mesh_.cells()[celli]; @@ -101,8 +101,7 @@ void Foam::cellToPoint::combine else { // Load the set - cellSet loadedSet(mesh_, setName); - + cellSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); const labelHashSet& cellLabels = loadedSet; combineImpl(set, add, cellLabels); diff --git a/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C b/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C index aac6b621614..cd2212dcbe6 100644 --- a/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C +++ b/src/meshTools/topoSet/pointSources/faceToPoint/faceToPoint.C @@ -72,7 +72,7 @@ void Foam::faceToPoint::combine { const auto& faceLabels = mesh_.faceZones()[setName].addressing(); - // Add all points from faces in loadedSet + // Add all points from given faces for (const label facei : faceLabels) { const face& f = mesh_.faces()[facei]; @@ -83,10 +83,10 @@ void Foam::faceToPoint::combine else { // Load the set - faceSet loadedSet(mesh_, setName); + faceSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); const labelHashSet& faceLabels = loadedSet; - // Add all points from faces in loadedSet + // Add all points from given faces for (const label facei : faceLabels) { const face& f = mesh_.faces()[facei]; diff --git a/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C b/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C index 0f428972cc9..12b379a7903 100644 --- a/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C +++ b/src/meshTools/topoSet/pointSources/pointToPoint/pointToPoint.C @@ -114,7 +114,7 @@ void Foam::pointToPoint::applyToSet } else { - pointSet loadedSet(mesh_, setName); + pointSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); set.addSet(loadedSet); } @@ -137,7 +137,7 @@ void Foam::pointToPoint::applyToSet } else { - pointSet loadedSet(mesh_, setName); + pointSet loadedSet(mesh_, setName, IOobject::NO_REGISTER); set.subtractSet(loadedSet); } diff --git a/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C b/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C index 40e50aa54fa..e2cd75d7967 100644 --- a/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C +++ b/src/meshTools/topoSet/pointZoneSources/setToPointZone/setToPointZone.C @@ -114,7 +114,7 @@ void Foam::setToPointZone::applyToSet } // Load the set - pointSet loadedSet(mesh_, setName_); + pointSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); const labelHashSet& pointLabels = loadedSet; // Start off from copy @@ -140,7 +140,7 @@ void Foam::setToPointZone::applyToSet } // Load the set - pointSet loadedSet(mesh_, setName_); + pointSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); // Start off empty DynamicList<label> newAddressing(zoneSet.addressing().size()); diff --git a/src/meshTools/topoSet/topoSets/cellBitSet.C b/src/meshTools/topoSet/topoSets/cellBitSet.C index a830359ea0c..f9fc15988da 100644 --- a/src/meshTools/topoSet/topoSets/cellBitSet.C +++ b/src/meshTools/topoSet/topoSets/cellBitSet.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,18 +34,12 @@ License namespace Foam { - defineTypeNameAndDebug(cellBitSet, 0); + defineTypeName(cellBitSet); } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::cellBitSet::cellBitSet(const polyMesh& mesh) -: - cellBitSet(mesh, false) -{} - - Foam::cellBitSet::cellBitSet(const polyMesh& mesh, const bool val) : topoBitSet(mesh, "cellBitSet", mesh.nCells(), val) diff --git a/src/meshTools/topoSet/topoSets/cellBitSet.H b/src/meshTools/topoSet/topoSets/cellBitSet.H index 98d803e81b7..278370a8d52 100644 --- a/src/meshTools/topoSet/topoSets/cellBitSet.H +++ b/src/meshTools/topoSet/topoSets/cellBitSet.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -96,16 +96,14 @@ class cellBitSet public: //- Runtime type information - TypeName("cellBitSet"); + TypeNameNoDebug("cellBitSet"); // Constructors - //- Construct with nCells elements, all elements unset - explicit cellBitSet(const polyMesh& mesh); - - //- Construct with nCells elements, using initial val - cellBitSet(const polyMesh& mesh, const bool val); + //- Construct with nCells elements, + //- all elements unset or initial value + explicit cellBitSet(const polyMesh& mesh, const bool val = false); //- Copy construct from bitset, resizing to nCells elements as required cellBitSet(const polyMesh& mesh, const bitSet& bits); diff --git a/src/meshTools/topoSet/topoSets/cellSet.C b/src/meshTools/topoSet/topoSets/cellSet.C index 7df945566e3..2cfd0b7dc0b 100644 --- a/src/meshTools/topoSet/topoSets/cellSet.C +++ b/src/meshTools/topoSet/topoSets/cellSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,11 +37,10 @@ License namespace Foam { -defineTypeNameAndDebug(cellSet, 0); - -addToRunTimeSelectionTable(topoSet, cellSet, word); -addToRunTimeSelectionTable(topoSet, cellSet, size); -addToRunTimeSelectionTable(topoSet, cellSet, set); + defineTypeName(cellSet); + addToRunTimeSelectionTable(topoSet, cellSet, word); + addToRunTimeSelectionTable(topoSet, cellSet, size); + addToRunTimeSelectionTable(topoSet, cellSet, set); } @@ -53,18 +52,24 @@ Foam::cellSet::cellSet(const IOobject& io) {} +Foam::cellSet::cellSet(const IOobject& io, const Foam::zero) +: + topoSet(io, Foam::zero{}) +{} + + Foam::cellSet::cellSet ( const polyMesh& mesh, const word& name, IOobjectOption::readOption rOpt, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) : - topoSet(mesh, typeName, name, rOpt, wOpt) + topoSet(mesh, typeName, name, rOpt, wOpt, reg) { - // Make sure set within valid range - check(mesh.nCells()); + check(mesh.nCells()); // Valid range? } @@ -72,11 +77,11 @@ Foam::cellSet::cellSet ( const polyMesh& mesh, const word& name, - const label size, + const label initialCapacity, IOobjectOption::writeOption wOpt ) : - topoSet(mesh, name, size, wOpt) + topoSet(mesh, name, initialCapacity, wOpt) {} @@ -149,14 +154,14 @@ Foam::cellSet::cellSet ( const Time& runTime, const word& name, - const label size, + const label initialCapacity, IOobjectOption::writeOption wOpt ) : topoSet ( findIOobject(runTime, name, IOobject::NO_READ, wOpt), - size + initialCapacity ) {} @@ -177,6 +182,28 @@ Foam::cellSet::cellSet {} +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +Foam::labelHashSet Foam::cellSet::readContents +( + const polyMesh& mesh, + const word& name +) +{ + cellSet reader + ( + topoSet::findIOobject(mesh, name, IOobjectOption::NO_REGISTER), + Foam::zero{} + ); + + labelHashSet labels; + reader.readIOcontents(typeName, labels); + reader.checkLabels(labels, mesh.nCells()); // Valid range? + + return labels; +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::label Foam::cellSet::maxSize(const polyMesh& mesh) const diff --git a/src/meshTools/topoSet/topoSets/cellSet.H b/src/meshTools/topoSet/topoSets/cellSet.H index b678b047b0c..820e2b938c7 100644 --- a/src/meshTools/topoSet/topoSets/cellSet.H +++ b/src/meshTools/topoSet/topoSets/cellSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -62,7 +62,7 @@ class cellSet public: //- Runtime type information - TypeName("cellSet"); + TypeNameNoDebug("cellSet"); // Constructors @@ -70,25 +70,43 @@ public: //- Construct from IOobject. No checking. explicit cellSet(const IOobject& io); - //- Construct from polyMesh and name. Checks for valid cell ids. + //- Construct empty (no-read) with IOobject information + cellSet(const IOobject& io, const Foam::zero); + + //- Construct from polyMesh (registry) and name. + //- Checks for valid cell ids. cellSet ( const polyMesh& mesh, const word& name, IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Construct empty with initial size for labelHashSet + //- Construct from polyMesh (registry), name and registration option + cellSet + ( + const polyMesh& mesh, + const word& name, + IOobjectOption::registerOption reg, + IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + ) + : + cellSet(mesh, name, rOpt, wOpt, reg) + {} + + //- Construct empty (no-read) with initial labelHashSet capacity cellSet ( const polyMesh& mesh, const word& name, - const label size, + const label initialCapacity, IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct from existing set + //- Copy construct (no-read) from existing set cellSet ( const polyMesh& mesh, @@ -97,7 +115,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with copy of labelHashSet + //- Copy construct (no-read) from labelHashSet, + //- with search for IOobject instance. cellSet ( const polyMesh& mesh, @@ -106,7 +125,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with moving labelHashSet + //- Move construct (no-read) from labelHashSet, + //- with search for IOobject instance. cellSet ( const polyMesh& mesh, @@ -115,7 +135,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with copy labels + //- Copy construct (no-read) from labels, + //- with search for IOobject instance. cellSet ( const polyMesh& mesh, @@ -125,34 +146,46 @@ public: ); - // Used for tetMesh cellSet only. - - //- Construct from objectRegistry and name. - cellSet - ( - const Time&, - const word& name, - IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE - ); - - //- Construct empty from objectRegistry. - cellSet - ( - const Time&, - const word& name, - const label size, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE - ); - - //- Construct from labelHashSet - cellSet - ( - const Time&, - const word& name, - const labelHashSet& labels, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE - ); + //- Construct from objectRegistry and name. + //- Used for tetMesh cellSet only. + cellSet + ( + const Time&, + const word& name, + IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + ); + + //- Construct empty (no-read) with initial labelHashSet capacity + //- from objectRegistry. + //- Used for tetMesh cellSet only. + cellSet + ( + const Time&, + const word& name, + const label initialCapacity, + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + ); + + //- Copy construct (no-read) from labelHashSet. + //- Used for tetMesh cellSet only. + cellSet + ( + const Time&, + const word& name, + const labelHashSet& labels, + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + ); + + + // Factory Methods + + //- Read and return contents. Intermediate IOobject is not registered + static labelHashSet readContents + ( + const polyMesh& mesh, + const word& name + ); //- Destructor diff --git a/src/meshTools/topoSet/topoSets/cellZoneSet.C b/src/meshTools/topoSet/topoSets/cellZoneSet.C index fd36af0d2fa..af461fb6a28 100644 --- a/src/meshTools/topoSet/topoSets/cellZoneSet.C +++ b/src/meshTools/topoSet/topoSets/cellZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022,2024 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,18 +36,18 @@ License namespace Foam { - defineTypeNameAndDebug(cellZoneSet, 0); + defineTypeName(cellZoneSet); addToRunTimeSelectionTable(topoSet, cellZoneSet, word); addToRunTimeSelectionTable(topoSet, cellZoneSet, size); addToRunTimeSelectionTable(topoSet, cellZoneSet, set); } + // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // void Foam::cellZoneSet::updateSet() { - labelList order(sortedOrder(addressing_)); - inplaceReorder(order, addressing_); + Foam::sort(addressing_); cellSet::clearStorage(); cellSet::reserve(addressing_.size()); @@ -61,46 +61,46 @@ Foam::cellZoneSet::cellZoneSet ( const polyMesh& mesh, const word& name, - IOobjectOption::readOption rOpt, + const label initialCapacity, IOobjectOption::writeOption wOpt ) : - cellSet(mesh, name, 1024), // do not read cellSet - mesh_(mesh), - addressing_() -{ - const cellZoneMesh& cellZones = mesh.cellZones(); - label zoneID = cellZones.findZoneID(name); - - if - ( - IOobjectOption::isReadRequired(rOpt) - || (IOobjectOption::isReadOptional(rOpt) && zoneID != -1) - ) - { - const cellZone& fz = cellZones[zoneID]; - addressing_ = fz; - } - - updateSet(); - - check(mesh.nCells()); -} + cellSet(mesh, name, initialCapacity, wOpt), // Construct no-read + mesh_(mesh) +{} Foam::cellZoneSet::cellZoneSet ( const polyMesh& mesh, const word& name, - const label size, + IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt ) : - cellSet(mesh, name, size, wOpt), - mesh_(mesh), - addressing_() + cellZoneSet(mesh, name, label(0), wOpt) // Construct no-read { + const auto& zones = mesh.cellZones(); + const auto* zonePtr = zones.cfindZone(name); + + if (!zonePtr) + { + if (IOobjectOption::isReadRequired(rOpt)) + { + FatalErrorInFunction + << "Zone named " << name << " not found. " + << "List of available zone names: " << zones.names() << nl + << exit(FatalError); + } + } + else if (IOobjectOption::isAnyRead(rOpt)) + { + const auto& zn = *zonePtr; + addressing_ = zn; + } + updateSet(); + check(mesh.nCells()); } @@ -112,15 +112,19 @@ Foam::cellZoneSet::cellZoneSet IOobjectOption::writeOption wOpt ) : - cellSet(mesh, name, set.size(), wOpt), - mesh_(mesh), - addressing_ - ( - isA<const cellZoneSet>(set) - ? refCast<const cellZoneSet>(set).addressing() - : set.sortedToc() - ) + cellZoneSet(mesh, name, label(0), wOpt) // Construct no-read { + const auto* zonePtr = isA<cellZoneSet>(set); + + if (zonePtr) + { + addressing_ = zonePtr->addressing(); + } + else + { + addressing_ = set.sortedToc(); + } + updateSet(); } @@ -141,7 +145,7 @@ void Foam::cellZoneSet::invert(const label maxLen) } // Fill - addressing_.setSize(n); + addressing_.resize_nocopy(n); n = 0; for (label celli = 0; celli < maxLen; ++celli) @@ -157,31 +161,15 @@ void Foam::cellZoneSet::invert(const label maxLen) } -void Foam::cellZoneSet::subset(const topoSet& set) +void Foam::cellZoneSet::subset(const labelUList& elems) { DynamicList<label> newAddressing(addressing_.size()); - const auto* setPtr = dynamic_cast<const cellZoneSet*>(&set); - - if (setPtr) + for (const label id : elems) { - for (const label celli : setPtr->addressing()) + if (found(id)) { - if (found(celli)) - { - newAddressing.append(celli); - } - } - } - else - { - // Assume a cellSet - for (const label celli : refCast<const cellSet>(set).sortedToc()) - { - if (found(celli)) - { - newAddressing.append(celli); - } + newAddressing.push_back(id); } } @@ -190,48 +178,32 @@ void Foam::cellZoneSet::subset(const topoSet& set) } -void Foam::cellZoneSet::subset(const labelUList& set) +void Foam::cellZoneSet::subset(const topoSet& set) { - DynamicList<label> newAddressing(addressing_.size()); + const auto* zonePtr = isA<cellZoneSet>(set); - for (const label celli : set) + if (zonePtr) { - if (found(celli)) - { - newAddressing.append(celli); - } + // Is a cellZoneSet + this->subset(zonePtr->addressing()); + } + else + { + // Assume a cellSet + this->subset(refCast<const cellSet>(set).sortedToc()); } - - addressing_.transfer(newAddressing); - updateSet(); } -void Foam::cellZoneSet::addSet(const topoSet& set) +void Foam::cellZoneSet::addSet(const labelUList& elems) { DynamicList<label> newAddressing(addressing_); - const auto* setPtr = dynamic_cast<const cellZoneSet*>(&set); - - if (setPtr) + for (const label id : elems) { - for (const label celli : setPtr->addressing()) - { - if (!found(celli)) - { - newAddressing.append(celli); - } - } - } - else - { - // Assume a cellSet - for (const label celli : refCast<const cellSet>(set).sortedToc()) + if (!found(id)) { - if (!found(celli)) - { - newAddressing.append(celli); - } + newAddressing.push_back(id); } } @@ -240,33 +212,35 @@ void Foam::cellZoneSet::addSet(const topoSet& set) } -void Foam::cellZoneSet::addSet(const labelUList& set) +void Foam::cellZoneSet::addSet(const topoSet& set) { - DynamicList<label> newAddressing(addressing_); + const auto* zonePtr = isA<cellZoneSet>(set); - for (const label celli : set) + if (zonePtr) { - if (!found(celli)) - { - newAddressing.append(celli); - } + // Is a cellZoneSet + this->addSet(zonePtr->addressing()); + } + else + { + // Assume a cellSet + this->addSet(refCast<const cellSet>(set).sortedToc()); } - - addressing_.transfer(newAddressing); - updateSet(); } -void Foam::cellZoneSet::subtractSet(const topoSet& set) +void Foam::cellZoneSet::subtractSet(const labelUList& elems) { DynamicList<label> newAddressing(addressing_.size()); - for (const label celli : addressing_) + const labelHashSet set(elems); + + for (const label id : addressing_) { - if (!set.found(celli)) + if (!set.found(id)) { - // Not found in zoneSet so add - newAddressing.append(celli); + // Retain if not in the topoSet (parameter) + newAddressing.push_back(id); } } @@ -275,18 +249,16 @@ void Foam::cellZoneSet::subtractSet(const topoSet& set) } -void Foam::cellZoneSet::subtractSet(const labelUList& elems) +void Foam::cellZoneSet::subtractSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_.size()); - const labelHashSet zoneSet(elems); - - for (const label celli : addressing_) + for (const label id : addressing_) { - if (!zoneSet.found(celli)) + if (!set.found(id)) { // Not found in zoneSet so add - newAddressing.append(celli); + newAddressing.push_back(id); } } @@ -318,56 +290,49 @@ bool Foam::cellZoneSet::writeObject ) const { // Write shadow cellSet - word oldTypeName = typeName; + const word oldTypeName = typeName; const_cast<word&>(type()) = cellSet::typeName; bool ok = cellSet::writeObject(streamOpt, writeOnProc); const_cast<word&>(type()) = oldTypeName; // Modify cellZone - cellZoneMesh& cellZones = const_cast<polyMesh&>(mesh_).cellZones(); - label zoneID = cellZones.findZoneID(name()); + auto& zones = const_cast<polyMesh&>(mesh_).cellZones(); + auto* zonePtr = zones.findZone(name()); - if (zoneID == -1) + if (zonePtr) { - zoneID = cellZones.size(); - - cellZones.emplace_back + zonePtr->resetAddressing(addressing_); + } + else + { + zones.emplace_back ( name(), addressing_, - zoneID, - cellZones + zones.size(), // zoneID + zones ); } - else - { - cellZones[zoneID] = addressing_; - } - cellZones.clearAddressing(); + zones.clearAddressing(); - return ok && cellZones.write(writeOnProc); + return ok && zones.write(writeOnProc); } void Foam::cellZoneSet::updateMesh(const mapPolyMesh& morphMap) { - // cellZone - labelList newAddressing(addressing_.size()); + DynamicList<label> newAddressing(addressing_.size()); - label n = 0; for (const label celli : addressing_) { label newCelli = morphMap.reverseCellMap()[celli]; if (newCelli >= 0) { - newAddressing[n] = newCelli; - ++n; + newAddressing.push_back(newCelli); } } - newAddressing.resize(n); addressing_.transfer(newAddressing); - updateSet(); } diff --git a/src/meshTools/topoSet/topoSets/cellZoneSet.H b/src/meshTools/topoSet/topoSets/cellZoneSet.H index cb53106b804..015e09b6f25 100644 --- a/src/meshTools/topoSet/topoSets/cellZoneSet.H +++ b/src/meshTools/topoSet/topoSets/cellZoneSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -62,7 +62,7 @@ class cellZoneSet public: //- Runtime type information - TypeName("cellZoneSet"); + TypeNameNoDebug("cellZoneSet"); // Constructors @@ -76,16 +76,16 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct from initial size for labelHashSet + //- Construct empty (no-read) with initial labelHashSet capacity. cellZoneSet ( const polyMesh& mesh, const word& name, - const label size, + const label initialCapacity, IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Copy construct from existing set + //- Copy construct (no-read) from existing set cellZoneSet ( const polyMesh& mesh, @@ -102,16 +102,17 @@ public: // Member functions - const labelList& addressing() const + const labelList& addressing() const noexcept { return addressing_; } - labelList& addressing() + labelList& addressing() noexcept { return addressing_; } + //- Sort addressing and make cellSet part consistent with addressing void updateSet(); @@ -120,24 +121,22 @@ public: virtual void invert(const label maxLen); //- Subset contents. Only elements present in both sets remain. - virtual void subset(const topoSet& set); + virtual void subset(const labelUList& elems); - //- Add elements present in set. - virtual void addSet(const topoSet& set); - - //- Subtract elements present in set. - virtual void subtractSet(const topoSet& set); + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const topoSet& set); - // Variants taking labelUList& + //- Add given elements to the set + virtual void addSet(const labelUList& elems); - //- Subset contents. Only elements present in both sets remain. - virtual void subset(const labelUList& set); + //- Add given elements to the set + virtual void addSet(const topoSet& set); - //- Add elements present in set. - virtual void addSet(const labelUList& set); + //- Subtract given elements from the set + virtual void subtractSet(const labelUList& elems); - //- Subtract elements present in set. - virtual void subtractSet(const labelUList& set); + //- Subtract given elements from the set + virtual void subtractSet(const topoSet& set); //- Sync cellSet across coupled patches; update cellZone from cellSet virtual void sync(const polyMesh& mesh); diff --git a/src/meshTools/topoSet/topoSets/faceBitSet.C b/src/meshTools/topoSet/topoSets/faceBitSet.C index cb1fe1e729d..9633fb9955a 100644 --- a/src/meshTools/topoSet/topoSets/faceBitSet.C +++ b/src/meshTools/topoSet/topoSets/faceBitSet.C @@ -35,18 +35,12 @@ License namespace Foam { - defineTypeNameAndDebug(faceBitSet, 0); + defineTypeName(faceBitSet); } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::faceBitSet::faceBitSet(const polyMesh& mesh) -: - faceBitSet(mesh, false) -{} - - Foam::faceBitSet::faceBitSet(const polyMesh& mesh, const bool val) : topoBitSet(mesh, "faceBitSet", mesh.nFaces(), val) diff --git a/src/meshTools/topoSet/topoSets/faceBitSet.H b/src/meshTools/topoSet/topoSets/faceBitSet.H index ca53dca9801..b9185a20737 100644 --- a/src/meshTools/topoSet/topoSets/faceBitSet.H +++ b/src/meshTools/topoSet/topoSets/faceBitSet.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,16 +56,14 @@ class faceBitSet public: //- Runtime type information - TypeName("faceBitSet"); + TypeNameNoDebug("faceBitSet"); // Constructors - //- Construct with nFaces elements, all elements unset - explicit faceBitSet(const polyMesh& mesh); - - //- Construct with nFaces elements, using initial val - faceBitSet(const polyMesh& mesh, const bool val); + //- Construct with nFaces elements, + //- all elements unset or initial value + explicit faceBitSet(const polyMesh& mesh, const bool val = false); //- Copy construct from bitset, resizing to nFaces elements as required faceBitSet(const polyMesh& mesh, const bitSet& bits); diff --git a/src/meshTools/topoSet/topoSets/faceBoolSet.C b/src/meshTools/topoSet/topoSets/faceBoolSet.C index 0f6e1c99a54..ebfc6957607 100644 --- a/src/meshTools/topoSet/topoSets/faceBoolSet.C +++ b/src/meshTools/topoSet/topoSets/faceBoolSet.C @@ -35,7 +35,7 @@ License namespace Foam { - defineTypeNameAndDebug(faceBoolSet, 0); + defineTypeName(faceBoolSet); } diff --git a/src/meshTools/topoSet/topoSets/faceBoolSet.H b/src/meshTools/topoSet/topoSets/faceBoolSet.H index 2745221ca3e..fd2fc89b963 100644 --- a/src/meshTools/topoSet/topoSets/faceBoolSet.H +++ b/src/meshTools/topoSet/topoSets/faceBoolSet.H @@ -56,7 +56,7 @@ class faceBoolSet public: //- Runtime type information - TypeName("faceBoolSet"); + TypeNameNoDebug("faceBoolSet"); // Constructors diff --git a/src/meshTools/topoSet/topoSets/faceSet.C b/src/meshTools/topoSet/topoSets/faceSet.C index 1a87e4f9b78..ad5296b2ef9 100644 --- a/src/meshTools/topoSet/topoSets/faceSet.C +++ b/src/meshTools/topoSet/topoSets/faceSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,7 +37,7 @@ License namespace Foam { - defineTypeNameAndDebug(faceSet, 0); + defineTypeName(faceSet); addToRunTimeSelectionTable(topoSet, faceSet, word); addToRunTimeSelectionTable(topoSet, faceSet, size); addToRunTimeSelectionTable(topoSet, faceSet, set); @@ -51,17 +51,24 @@ Foam::faceSet::faceSet(const IOobject& io) {} +Foam::faceSet::faceSet(const IOobject& io, const Foam::zero) +: + topoSet(io, Foam::zero{}) +{} + + Foam::faceSet::faceSet ( const polyMesh& mesh, const word& name, IOobjectOption::readOption rOpt, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) : - topoSet(mesh, typeName, name, rOpt, wOpt) + topoSet(mesh, typeName, name, rOpt, wOpt, reg) { - check(mesh.nFaces()); + check(mesh.nFaces()); // Valid range? } @@ -69,11 +76,11 @@ Foam::faceSet::faceSet ( const polyMesh& mesh, const word& name, - const label size, + const label initialCapacity, IOobjectOption::writeOption wOpt ) : - topoSet(mesh, name, size, wOpt) + topoSet(mesh, name, initialCapacity, wOpt) {} @@ -125,6 +132,28 @@ Foam::faceSet::faceSet {} +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +Foam::labelHashSet Foam::faceSet::readContents +( + const polyMesh& mesh, + const word& name +) +{ + faceSet reader + ( + topoSet::findIOobject(mesh, name, IOobjectOption::NO_REGISTER), + Foam::zero{} + ); + + labelHashSet labels; + reader.readIOcontents(typeName, labels); + reader.checkLabels(labels, mesh.nFaces()); // Valid range? + + return labels; +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // void Foam::faceSet::sync(const polyMesh& mesh) diff --git a/src/meshTools/topoSet/topoSets/faceSet.H b/src/meshTools/topoSet/topoSets/faceSet.H index 02f6e940e82..13dda382aad 100644 --- a/src/meshTools/topoSet/topoSets/faceSet.H +++ b/src/meshTools/topoSet/topoSets/faceSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,33 +56,50 @@ class faceSet public: //- Runtime type information - TypeName("faceSet"); + TypeNameNoDebug("faceSet"); // Constructors - //- Construct from IOobject + //- Construct from IOobject. No checking. explicit faceSet(const IOobject& io); - //- Construct from objectRegistry and name + //- Construct empty (no-read) with IOobject information + faceSet(const IOobject& io, const Foam::zero); + + //- Construct from polyMesh (registry) and name faceSet ( const polyMesh& mesh, const word& name, IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Construct empty with initial size for labelHashSet + //- Construct from polyMesh (registry), name and registration option faceSet ( const polyMesh& mesh, const word& name, - const label size, + IOobjectOption::registerOption reg, + IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + ) + : + faceSet(mesh, name, rOpt, wOpt, reg) + {} + + //- Construct empty (no-read) with initial labelHashSet capacity. + faceSet + ( + const polyMesh& mesh, + const word& name, + const label initialCapacity, IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct from existing set + //- Copy construct (no-read) from existing set faceSet ( const polyMesh& mesh, @@ -91,7 +108,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with copy of labelHashSet + //- Copy construct (no-read) from labelHashSet, + //- with search for IOobject instance. faceSet ( const polyMesh& mesh, @@ -100,7 +118,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with moving labelHashSet + //- Move construct (no-read) from labelHashSet, + //- with search for IOobject instance. faceSet ( const polyMesh& mesh, @@ -109,7 +128,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with copy of labels + //- Copy construct (no-read) from labels, + //- with search for IOobject instance. faceSet ( const polyMesh& mesh, @@ -119,6 +139,16 @@ public: ); + // Factory Methods + + //- Read and return contents. Intermediate IOobject is not registered + static labelHashSet readContents + ( + const polyMesh& mesh, + const word& name + ); + + //- Destructor virtual ~faceSet() = default; diff --git a/src/meshTools/topoSet/topoSets/faceZoneSet.C b/src/meshTools/topoSet/topoSets/faceZoneSet.C index 73431e3890c..051aa0506bf 100644 --- a/src/meshTools/topoSet/topoSets/faceZoneSet.C +++ b/src/meshTools/topoSet/topoSets/faceZoneSet.C @@ -40,7 +40,7 @@ License namespace Foam { - defineTypeNameAndDebug(faceZoneSet, 0); + defineTypeName(faceZoneSet); addToRunTimeSelectionTable(topoSet, faceZoneSet, word); addToRunTimeSelectionTable(topoSet, faceZoneSet, size); addToRunTimeSelectionTable(topoSet, faceZoneSet, set); @@ -51,9 +51,18 @@ namespace Foam void Foam::faceZoneSet::updateSet() { - labelList order(sortedOrder(addressing_)); - addressing_ = labelUIndList(addressing_, order)(); - flipMap_ = boolUIndList(flipMap_, order)(); + if (flipMap_.size() == addressing_.size()) + { + labelList order(Foam::sortedOrder(addressing_)); + addressing_ = labelUIndList(addressing_, order)(); + flipMap_ = boolUIndList(flipMap_, order)(); + } + else + { + Foam::sort(addressing_); + flipMap_.resize_nocopy(addressing_.size()); + flipMap_ = false; + } faceSet::clearStorage(); faceSet::reserve(addressing_.size()); @@ -67,57 +76,47 @@ Foam::faceZoneSet::faceZoneSet ( const polyMesh& mesh, const word& name, - IOobjectOption::readOption rOpt, + const label initialCapacity, IOobjectOption::writeOption wOpt ) : - faceSet(mesh, name, 1024), // do not read faceSet - mesh_(mesh), - addressing_(), - flipMap_() -{ - const faceZoneMesh& faceZones = mesh.faceZones(); - label zoneID = faceZones.findZoneID(name); - - if (IOobjectOption::isReadRequired(rOpt) && zoneID == -1) - { - FatalErrorInFunction - << "Zone named " << name << " not found. " - << "List of available zone names: " << faceZones.names() - << exit(FatalError); - } - - if - ( - IOobjectOption::isReadRequired(rOpt) - || (IOobjectOption::isReadOptional(rOpt) && zoneID != -1) - ) - { - const faceZone& fz = faceZones[zoneID]; - addressing_ = fz.addressing(); - flipMap_ = fz.flipMap(); - } - - updateSet(); - - check(mesh.nFaces()); -} + faceSet(mesh, name, initialCapacity, wOpt), // Construct no-read + mesh_(mesh) +{} Foam::faceZoneSet::faceZoneSet ( const polyMesh& mesh, const word& name, - const label size, + IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt ) : - faceSet(mesh, name, size, wOpt), - mesh_(mesh), - addressing_(), - flipMap_() + faceZoneSet(mesh, name, label(0), wOpt) // Construct no-read { + const auto& zones = mesh.faceZones(); + const auto* zonePtr = zones.cfindZone(name); + + if (!zonePtr) + { + if (IOobjectOption::isReadRequired(rOpt)) + { + FatalErrorInFunction + << "Zone named " << name << " not found. " + << "List of available zone names: " << zones.names() << nl + << exit(FatalError); + } + } + else if (IOobjectOption::isAnyRead(rOpt)) + { + const auto& zn = *zonePtr; + addressing_ = zn.addressing(); + flipMap_ = zn.flipMap(); + } + updateSet(); + check(mesh.nFaces()); } @@ -129,11 +128,21 @@ Foam::faceZoneSet::faceZoneSet IOobjectOption::writeOption wOpt ) : - faceSet(mesh, name, set.size(), wOpt), - mesh_(mesh), - addressing_(refCast<const faceZoneSet>(set).addressing()), - flipMap_(refCast<const faceZoneSet>(set).flipMap()) + faceZoneSet(mesh, name, label(0), wOpt) // Construct no-read { + const auto* zonePtr = isA<faceZoneSet>(set); + + if (zonePtr) + { + addressing_ = zonePtr->addressing(); + flipMap_ = zonePtr->flipMap(); + } + else + { + // No flipMap for faceSet - handled in updateSet() + addressing_ = set.sortedToc(); + } + updateSet(); } @@ -145,24 +154,24 @@ void Foam::faceZoneSet::invert(const label maxLen) // Count label n = 0; - for (label facei = 0; facei < maxLen; ++facei) + for (label id = 0; id < maxLen; ++id) { - if (!found(facei)) + if (!topoSet::contains(id)) { ++n; } } // Fill - addressing_.setSize(n); - flipMap_.setSize(n); + addressing_.resize_nocopy(n); + flipMap_.resize_nocopy(n); n = 0; - for (label facei = 0; facei < maxLen; ++facei) + for (label id = 0; id < maxLen; ++id) { - if (!found(facei)) + if (!topoSet::contains(id)) { - addressing_[n] = facei; + addressing_[n] = id; flipMap_[n] = false; //? or true? ++n; } @@ -204,7 +213,7 @@ void Foam::faceZoneSet::subset } } - if (nConflict > 0) + if (nConflict) { WarningInFunction << "subset : there are " << nConflict @@ -220,24 +229,28 @@ void Foam::faceZoneSet::subset void Foam::faceZoneSet::subset(const topoSet& set) { - const auto* setPtr = dynamic_cast<const faceZoneSet*>(&set); + const auto* zonePtr = isA<faceZoneSet>(set); - if (setPtr) + if (zonePtr) { - subset(setPtr->name(), setPtr->addressing(), setPtr->flipMap()); + subset(zonePtr->name(), zonePtr->addressing(), zonePtr->flipMap()); } else { // Assume a faceSet. Ignore flipMap - const auto& fSet = refCast<const faceSet>(set); - subset(fSet.name(), fSet.sortedToc(), boolList::null()); + subset + ( + set.name(), + refCast<const faceSet>(set).sortedToc(), + boolList::null() + ); } } -void Foam::faceZoneSet::subset(const labelUList& set) +void Foam::faceZoneSet::subset(const labelUList& elems) { - subset(word::null, set, boolList::null()); + subset(word::null, elems, boolList::null()); } @@ -292,24 +305,28 @@ void Foam::faceZoneSet::addSet void Foam::faceZoneSet::addSet(const topoSet& set) { - const auto* setPtr = dynamic_cast<const faceZoneSet*>(&set); + const auto* zonePtr = isA<faceZoneSet>(set); - if (setPtr) + if (zonePtr) { - addSet(setPtr->name(), setPtr->addressing(), setPtr->flipMap()); + addSet(zonePtr->name(), zonePtr->addressing(), zonePtr->flipMap()); } else { // Assume a faceSet. Ignore flipMap - const auto& fSet = refCast<const faceSet>(set); - addSet(fSet.name(), fSet.sortedToc(), boolList::null()); + addSet + ( + set.name(), + refCast<const faceSet>(set).sortedToc(), + boolList::null() + ); } } -void Foam::faceZoneSet::addSet(const labelUList& set) +void Foam::faceZoneSet::addSet(const labelUList& elems) { - addSet(word::null, set, boolList::null()); + addSet(word::null, elems, boolList::null()); } @@ -366,24 +383,28 @@ void Foam::faceZoneSet::subtractSet void Foam::faceZoneSet::subtractSet(const topoSet& set) { - const auto* setPtr = dynamic_cast<const faceZoneSet*>(&set); + const auto* zonePtr = isA<faceZoneSet>(set); - if (setPtr) + if (zonePtr) { - subtractSet(setPtr->name(), setPtr->addressing(), setPtr->flipMap()); + subtractSet(zonePtr->name(), zonePtr->addressing(), zonePtr->flipMap()); } else { // Assume a faceSet. Ignore flipMap - const auto& fSet = refCast<const faceSet>(set); - subtractSet(fSet.name(), fSet.sortedToc(), boolList::null()); + subtractSet + ( + set.name(), + refCast<const faceSet>(set).sortedToc(), + boolList::null() + ); } } -void Foam::faceZoneSet::subtractSet(const labelUList& set) +void Foam::faceZoneSet::subtractSet(const labelUList& elems) { - subtractSet(word::null, set, boolList::null()); + subtractSet(word::null, elems, boolList::null()); } @@ -517,58 +538,51 @@ bool Foam::faceZoneSet::writeObject ) const { // Write shadow faceSet - word oldTypeName = typeName; + const word oldTypeName = typeName; const_cast<word&>(type()) = faceSet::typeName; bool ok = faceSet::writeObject(streamOpt, writeOnProc); const_cast<word&>(type()) = oldTypeName; // Modify faceZone - faceZoneMesh& faceZones = const_cast<polyMesh&>(mesh_).faceZones(); - label zoneID = faceZones.findZoneID(name()); + auto& zones = const_cast<polyMesh&>(mesh_).faceZones(); + auto* zonePtr = zones.findZone(name()); - if (zoneID == -1) + if (zonePtr) { - zoneID = faceZones.size(); - - faceZones.emplace_back + zonePtr->resetAddressing(addressing_, flipMap_); + } + else + { + zones.emplace_back ( name(), addressing_, flipMap_, - zoneID, - faceZones + zones.size(), // zoneID + zones ); } - else - { - faceZones[zoneID].resetAddressing(addressing_, flipMap_); - } - faceZones.clearAddressing(); + zones.clearAddressing(); - return ok && faceZones.write(writeOnProc); + return ok && zones.write(writeOnProc); } void Foam::faceZoneSet::updateMesh(const mapPolyMesh& morphMap) { - // faceZone - labelList newAddressing(addressing_.size()); - boolList newFlipMap(flipMap_.size(), false); + DynamicList<label> newAddressing(addressing_.size()); + DynamicList<bool> newFlipMap(flipMap_.size()); - label n = 0; forAll(addressing_, i) { label facei = addressing_[i]; label newFacei = morphMap.reverseFaceMap()[facei]; if (newFacei >= 0) { - newAddressing[n] = newFacei; - newFlipMap[n] = flipMap_[i]; - n++; + newAddressing.push_back(newFacei); + newFlipMap.push_back(flipMap_[i]); } } - newAddressing.setSize(n); - newFlipMap.setSize(n); addressing_.transfer(newAddressing); flipMap_.transfer(newFlipMap); diff --git a/src/meshTools/topoSet/topoSets/faceZoneSet.H b/src/meshTools/topoSet/topoSets/faceZoneSet.H index 1f81d5d5d4e..75adbdd7ae7 100644 --- a/src/meshTools/topoSet/topoSets/faceZoneSet.H +++ b/src/meshTools/topoSet/topoSets/faceZoneSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -89,7 +89,7 @@ class faceZoneSet public: //- Runtime type information - TypeName("faceZoneSet"); + TypeNameNoDebug("faceZoneSet"); // Constructors @@ -103,16 +103,16 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct with initial size for labelHashSet + //- Construct empty (no-read) with initial labelHashSet capacity. faceZoneSet ( const polyMesh& mesh, const word& name, - const label size, + const label initialCapacity, IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Copy construct from existing set + //- Copy construct (no-read) from existing set faceZoneSet ( const polyMesh& mesh, @@ -158,25 +158,22 @@ public: virtual void invert(const label maxLen); //- Subset contents. Only elements present in both sets remain. - virtual void subset(const topoSet& set); - - //- Add elements present in set. - virtual void addSet(const topoSet& set); - - //- Subtract elements present in set. - virtual void subtractSet(const topoSet& set); + virtual void subset(const labelUList& elems); - // Variants taking labelUList& + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const topoSet& set); - //- Subset contents. Only elements present in both sets remain. - virtual void subset(const labelUList& set); + //- Add given elements to the set + virtual void addSet(const labelUList& elems); - //- Add elements present in set. - virtual void addSet(const labelUList& set); + //- Add given elements to the set + virtual void addSet(const topoSet& set); - //- Subtract elements present in set. - virtual void subtractSet(const labelUList& set); + //- Subtract given elements from the set + virtual void subtractSet(const labelUList& elems); + //- Subtract given elements from the set + virtual void subtractSet(const topoSet& set); //- Sync faceZoneSet across coupled patches. virtual void sync(const polyMesh& mesh); diff --git a/src/meshTools/topoSet/topoSets/pointBitSet.C b/src/meshTools/topoSet/topoSets/pointBitSet.C index c0cc73297e6..024fb5a08f4 100644 --- a/src/meshTools/topoSet/topoSets/pointBitSet.C +++ b/src/meshTools/topoSet/topoSets/pointBitSet.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,18 +35,12 @@ License namespace Foam { - defineTypeNameAndDebug(pointBitSet, 0); + defineTypeName(pointBitSet); } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::pointBitSet::pointBitSet(const polyMesh& mesh) -: - pointBitSet(mesh, false) -{} - - Foam::pointBitSet::pointBitSet(const polyMesh& mesh, const bool val) : topoBitSet(mesh, "pointBitSet", mesh.nPoints(), val) diff --git a/src/meshTools/topoSet/topoSets/pointBitSet.H b/src/meshTools/topoSet/topoSets/pointBitSet.H index 557df281a55..7093fb6c37e 100644 --- a/src/meshTools/topoSet/topoSets/pointBitSet.H +++ b/src/meshTools/topoSet/topoSets/pointBitSet.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,16 +56,14 @@ class pointBitSet public: //- Runtime type information - TypeName("pointBitSet"); + TypeNameNoDebug("pointBitSet"); // Constructors - //- Construct with nPoints elements, all elements unset - explicit pointBitSet(const polyMesh& mesh); - - //- Construct with nPoints elements, using initial val - pointBitSet(const polyMesh& mesh, const bool val); + //- Construct with nPoints elements, + //- all elements unset or initial value + explicit pointBitSet(const polyMesh& mesh, const bool val); //- Copy construct from bitset, resizing to nPoints elements as required pointBitSet(const polyMesh& mesh, const bitSet& bits); diff --git a/src/meshTools/topoSet/topoSets/pointSet.C b/src/meshTools/topoSet/topoSets/pointSet.C index 6c4bc3a862a..92931c3de3b 100644 --- a/src/meshTools/topoSet/topoSets/pointSet.C +++ b/src/meshTools/topoSet/topoSets/pointSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,13 +37,14 @@ License namespace Foam { - defineTypeNameAndDebug(pointSet, 0); + defineTypeName(pointSet); addToRunTimeSelectionTable(topoSet, pointSet, word); addToRunTimeSelectionTable(topoSet, pointSet, size); addToRunTimeSelectionTable(topoSet, pointSet, set); } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::pointSet::pointSet(const IOobject& io) : @@ -51,17 +52,24 @@ Foam::pointSet::pointSet(const IOobject& io) {} +Foam::pointSet::pointSet(const IOobject& io, const Foam::zero) +: + topoSet(io, Foam::zero{}) +{} + + Foam::pointSet::pointSet ( const polyMesh& mesh, const word& name, IOobjectOption::readOption rOpt, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) : - topoSet(mesh, typeName, name, rOpt, wOpt) + topoSet(mesh, typeName, name, rOpt, wOpt, reg) { - check(mesh.nPoints()); + check(mesh.nPoints()); // Valid range? } @@ -69,11 +77,11 @@ Foam::pointSet::pointSet ( const polyMesh& mesh, const word& name, - const label size, + const label initialCapacity, IOobjectOption::writeOption wOpt ) : - topoSet(mesh, name, size, wOpt) + topoSet(mesh, name, initialCapacity, wOpt) {} @@ -125,6 +133,28 @@ Foam::pointSet::pointSet {} +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +Foam::labelHashSet Foam::pointSet::readContents +( + const polyMesh& mesh, + const word& name +) +{ + pointSet reader + ( + topoSet::findIOobject(mesh, name, IOobjectOption::NO_REGISTER), + Foam::zero{} + ); + + labelHashSet labels; + reader.readIOcontents(typeName, labels); + reader.checkLabels(labels, mesh.nPoints()); // Valid range? + + return labels; +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // void Foam::pointSet::sync(const polyMesh& mesh) diff --git a/src/meshTools/topoSet/topoSets/pointSet.H b/src/meshTools/topoSet/topoSets/pointSet.H index eff97e122ca..46da2cef6af 100644 --- a/src/meshTools/topoSet/topoSets/pointSet.H +++ b/src/meshTools/topoSet/topoSets/pointSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,7 +56,7 @@ class pointSet public: //- Runtime type information - TypeName("pointSet"); + TypeNameNoDebug("pointSet"); // Constructors @@ -64,25 +64,42 @@ public: //- Construct from IOobject explicit pointSet(const IOobject& io); - //- Construct from objectRegistry and name + //- Construct empty (no-read) with IOobject information + pointSet(const IOobject& io, const Foam::zero); + + //- Construct from polyMesh (registry) and name pointSet ( const polyMesh& mesh, const word& name, IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Construct empty with initial size for labelHashSet + //- Construct from polyMesh (registry), name and registration option pointSet ( const polyMesh& mesh, const word& name, - const label size, + IOobjectOption::registerOption reg, + IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + ) + : + pointSet(mesh, name, rOpt, wOpt, reg) + {} + + //- Construct empty (no-read) with initial labelHashSet capacity. + pointSet + ( + const polyMesh& mesh, + const word& name, + const label initialCapacity, IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct from existing set + //- Copy construct (no-read) from existing set pointSet ( const polyMesh& mesh, @@ -91,7 +108,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with copy of labelHashSet + //- Copy construct (no-read) from labelHashSet, + //- with search for IOobject instance. pointSet ( const polyMesh& mesh, @@ -100,7 +118,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with moving labelHashSet + //- Move construct (no-read) from labelHashSet, + //- with search for IOobject instance. pointSet ( const polyMesh& mesh, @@ -109,7 +128,8 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct (no-read) with copy of labels + //- Copy construct (no-read) from labels, + //- with search for IOobject instance. pointSet ( const polyMesh& mesh, @@ -119,11 +139,21 @@ public: ); + // Factory Methods + + //- Read and return contents. Intermediate IOobject is not registered + static labelHashSet readContents + ( + const polyMesh& mesh, + const word& name + ); + + //- Destructor virtual ~pointSet() = default; - // Member functions + // Member Functions //- Sync set across coupled patches. Adds coupled points to set. virtual void sync(const polyMesh& mesh); diff --git a/src/meshTools/topoSet/topoSets/pointZoneSet.C b/src/meshTools/topoSet/topoSets/pointZoneSet.C index 1bcd5b503da..59b612d0f53 100644 --- a/src/meshTools/topoSet/topoSets/pointZoneSet.C +++ b/src/meshTools/topoSet/topoSets/pointZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022,2024 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,18 +37,18 @@ License namespace Foam { - defineTypeNameAndDebug(pointZoneSet, 0); + defineTypeName(pointZoneSet); addToRunTimeSelectionTable(topoSet, pointZoneSet, word); addToRunTimeSelectionTable(topoSet, pointZoneSet, size); addToRunTimeSelectionTable(topoSet, pointZoneSet, set); } + // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // void Foam::pointZoneSet::updateSet() { - labelList order(sortedOrder(addressing_)); - inplaceReorder(order, addressing_); + Foam::sort(addressing_); pointSet::clearStorage(); pointSet::reserve(addressing_.size()); @@ -62,46 +62,46 @@ Foam::pointZoneSet::pointZoneSet ( const polyMesh& mesh, const word& name, - IOobjectOption::readOption rOpt, + const label initialCapacity, IOobjectOption::writeOption wOpt ) : - pointSet(mesh, name, 1024), // do not read pointSet - mesh_(mesh), - addressing_() -{ - const pointZoneMesh& pointZones = mesh.pointZones(); - label zoneID = pointZones.findZoneID(name); - - if - ( - IOobjectOption::isReadRequired(rOpt) - || (IOobjectOption::isReadOptional(rOpt) && zoneID != -1) - ) - { - const pointZone& fz = pointZones[zoneID]; - addressing_ = fz; - } - - updateSet(); - - check(mesh.nPoints()); -} + pointSet(mesh, name, initialCapacity, wOpt), // Construct no-read + mesh_(mesh) +{} Foam::pointZoneSet::pointZoneSet ( const polyMesh& mesh, const word& name, - const label size, + IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt ) : - pointSet(mesh, name, size, wOpt), - mesh_(mesh), - addressing_() + pointZoneSet(mesh, name, label(0), wOpt) // Construct no-read { + const auto& zones = mesh.pointZones(); + const auto* zonePtr = zones.cfindZone(name); + + if (!zonePtr) + { + if (IOobjectOption::isReadRequired(rOpt)) + { + FatalErrorInFunction + << "Zone named " << name << " not found. " + << "List of available zone names: " << zones.names() << nl + << exit(FatalError); + } + } + else if (IOobjectOption::isAnyRead(rOpt)) + { + const auto& zn = *zonePtr; + addressing_ = zn; + } + updateSet(); + check(mesh.nPoints()); } @@ -113,15 +113,19 @@ Foam::pointZoneSet::pointZoneSet IOobjectOption::writeOption wOpt ) : - pointSet(mesh, name, set.size(), wOpt), - mesh_(mesh), - addressing_ - ( - isA<const pointZoneSet>(set) - ? refCast<const pointZoneSet>(set).addressing() - : set.sortedToc() - ) + pointZoneSet(mesh, name, label(0), wOpt) // Construct no-read { + const auto* zonePtr = isA<pointZoneSet>(set); + + if (zonePtr) + { + addressing_ = zonePtr->addressing(); + } + else + { + addressing_ = set.sortedToc(); + } + updateSet(); } @@ -133,23 +137,23 @@ void Foam::pointZoneSet::invert(const label maxLen) // Count label n = 0; - for (label pointi = 0; pointi < maxLen; ++pointi) + for (label id = 0; id < maxLen; ++id) { - if (!found(pointi)) + if (!found(id)) { ++n; } } // Fill - addressing_.setSize(n); + addressing_.resize_nocopy(n); n = 0; - for (label pointi = 0; pointi < maxLen; ++pointi) + for (label id = 0; id < maxLen; ++id) { - if (!found(pointi)) + if (!found(id)) { - addressing_[n] = pointi; + addressing_[n] = id; ++n; } } @@ -157,31 +161,15 @@ void Foam::pointZoneSet::invert(const label maxLen) } -void Foam::pointZoneSet::subset(const topoSet& set) +void Foam::pointZoneSet::subset(const labelUList& elems) { DynamicList<label> newAddressing(addressing_.size()); - const auto* setPtr = dynamic_cast<const pointZoneSet*>(&set); - - if (setPtr) + for (const label id : elems) { - for (const label pointi : setPtr->addressing()) + if (found(id)) { - if (found(pointi)) - { - newAddressing.append(pointi); - } - } - } - else - { - // Assume a pointSet - for (const label pointi : refCast<const pointSet>(set).sortedToc()) - { - if (found(pointi)) - { - newAddressing.append(pointi); - } + newAddressing.push_back(id); } } @@ -190,48 +178,32 @@ void Foam::pointZoneSet::subset(const topoSet& set) } -void Foam::pointZoneSet::subset(const labelUList& set) +void Foam::pointZoneSet::subset(const topoSet& set) { - DynamicList<label> newAddressing(addressing_.size()); + const auto* zonePtr = isA<pointZoneSet>(set); - for (const label pointi : set) + if (zonePtr) { - if (found(pointi)) - { - newAddressing.append(pointi); - } + // Is a pointZoneSet + this->subset(zonePtr->addressing()); + } + else + { + // Assume a pointSet + this->subset(refCast<const pointSet>(set).sortedToc()); } - - addressing_.transfer(newAddressing); - updateSet(); } -void Foam::pointZoneSet::addSet(const topoSet& set) +void Foam::pointZoneSet::addSet(const labelUList& elems) { DynamicList<label> newAddressing(addressing_); - const auto* setPtr = dynamic_cast<const pointZoneSet*>(&set); - - if (setPtr) + for (const label id : elems) { - for (const label pointi : setPtr->addressing()) + if (!found(id)) { - if (!found(pointi)) - { - newAddressing.append(pointi); - } - } - } - else - { - // Assume a pointSet - for (const label pointi : refCast<const pointSet>(set).sortedToc()) - { - if (!found(pointi)) - { - newAddressing.append(pointi); - } + newAddressing.push_back(id); } } @@ -240,33 +212,35 @@ void Foam::pointZoneSet::addSet(const topoSet& set) } -void Foam::pointZoneSet::addSet(const labelUList& set) +void Foam::pointZoneSet::addSet(const topoSet& set) { - DynamicList<label> newAddressing(addressing_); + const auto* zonePtr = isA<pointZoneSet>(set); - for (const label pointi : set) + if (zonePtr) { - if (!found(pointi)) - { - newAddressing.append(pointi); - } + // Is a pointZoneSet + this->addSet(zonePtr->addressing()); + } + else + { + // Assume a pointSet + this->addSet(refCast<const pointSet>(set).sortedToc()); } - - addressing_.transfer(newAddressing); - updateSet(); } -void Foam::pointZoneSet::subtractSet(const topoSet& set) +void Foam::pointZoneSet::subtractSet(const labelUList& elems) { DynamicList<label> newAddressing(addressing_.size()); - for (label pointi : addressing_) + const labelHashSet set(elems); + + for (const label id : addressing_) { - if (!set.found(pointi)) + if (!set.found(id)) { - // Not found in zoneSet so add - newAddressing.append(pointi); + // Retain if not in the topoSet (parameter) + newAddressing.push_back(id); } } @@ -275,18 +249,16 @@ void Foam::pointZoneSet::subtractSet(const topoSet& set) } -void Foam::pointZoneSet::subtractSet(const labelUList& elems) +void Foam::pointZoneSet::subtractSet(const topoSet& set) { DynamicList<label> newAddressing(addressing_.size()); - const labelHashSet zoneSet(elems); - - for (const label pointi : addressing_) + for (const label id : addressing_) { - if (!zoneSet.found(pointi)) + if (!set.found(id)) { - // Not found in zoneSet so add - newAddressing.append(pointi); + // Retain if not in the topoSet (parameter) + newAddressing.push_back(id); } } @@ -318,56 +290,49 @@ bool Foam::pointZoneSet::writeObject ) const { // Write shadow pointSet - word oldTypeName = typeName; + const word oldTypeName = typeName; const_cast<word&>(type()) = pointSet::typeName; bool ok = pointSet::writeObject(streamOpt, writeOnProc); const_cast<word&>(type()) = oldTypeName; // Modify pointZone - pointZoneMesh& pointZones = const_cast<polyMesh&>(mesh_).pointZones(); - label zoneID = pointZones.findZoneID(name()); + auto& zones = const_cast<polyMesh&>(mesh_).pointZones(); + auto* zonePtr = zones.findZone(name()); - if (zoneID == -1) + if (zonePtr) { - zoneID = pointZones.size(); - - pointZones.emplace_back + zonePtr->resetAddressing(addressing_); + } + else + { + zones.emplace_back ( name(), addressing_, - zoneID, - pointZones + zones.size(), // zoneID + zones ); } - else - { - pointZones[zoneID] = addressing_; - } - pointZones.clearAddressing(); + zones.clearAddressing(); - return ok && pointZones.write(writeOnProc); + return ok && zones.write(writeOnProc); } void Foam::pointZoneSet::updateMesh(const mapPolyMesh& morphMap) { - // pointZone - labelList newAddressing(addressing_.size()); + DynamicList<label> newAddressing(addressing_.size()); - label n = 0; for (const label pointi : addressing_) { const label newPointi = morphMap.reversePointMap()[pointi]; if (newPointi >= 0) { - newAddressing[n] = newPointi; - ++n; + newAddressing.push_back(newPointi); } } - newAddressing.resize(n); addressing_.transfer(newAddressing); - updateSet(); } diff --git a/src/meshTools/topoSet/topoSets/pointZoneSet.H b/src/meshTools/topoSet/topoSets/pointZoneSet.H index e1419f51cf9..98aabecd1e4 100644 --- a/src/meshTools/topoSet/topoSets/pointZoneSet.H +++ b/src/meshTools/topoSet/topoSets/pointZoneSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,11 +60,10 @@ class pointZoneSet labelList addressing_; - public: //- Runtime type information - TypeName("pointZoneSet"); + TypeNameNoDebug("pointZoneSet"); // Constructors @@ -78,16 +77,16 @@ public: IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Construct empty with initial size for labelHashSet + //- Construct empty (no-read) with initial labelHashSet capacity. pointZoneSet ( const polyMesh& mesh, const word& name, - const label size, + const label initialCapacity, IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE ); - //- Copy construct from existing set + //- Copy construct (no-read) from existing set pointZoneSet ( const polyMesh& mesh, @@ -101,18 +100,19 @@ public: virtual ~pointZoneSet() = default; - // Member functions + // Member Functions - const labelList& addressing() const + const labelList& addressing() const noexcept { return addressing_; } - labelList& addressing() + labelList& addressing() noexcept { return addressing_; } + //- Sort addressing and make pointSet part consistent with addressing void updateSet(); @@ -121,24 +121,22 @@ public: virtual void invert(const label maxLen); //- Subset contents. Only elements present in both sets remain. - virtual void subset(const topoSet& set); - - //- Add elements present in set. - virtual void addSet(const topoSet& set); + virtual void subset(const labelUList& elems); - //- Subtract elements present in set. - virtual void subtractSet(const topoSet& set); + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const topoSet& set); - // Variants taking labelUList& + //- Add given elements to the set + virtual void addSet(const labelUList& elems); - //- Subset contents. Only elements present in both sets remain. - virtual void subset(const labelUList& set); + //- Add given elements to the set + virtual void addSet(const topoSet& set); - //- Add elements present in set. - virtual void addSet(const labelUList& set); + //- Subtract given elements from the set + virtual void subtractSet(const labelUList& elems); - //- Subtract elements present in set. - virtual void subtractSet(const labelUList& set); + //- Subtract given elements from the set + virtual void subtractSet(const topoSet& set); //- Sync pointZoneSet across coupled patches. diff --git a/src/meshTools/topoSet/topoSets/topoBitSet.C b/src/meshTools/topoSet/topoSets/topoBitSet.C index 6bd7005d5e5..f6d44ca25d1 100644 --- a/src/meshTools/topoSet/topoSets/topoBitSet.C +++ b/src/meshTools/topoSet/topoSets/topoBitSet.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -126,9 +126,8 @@ Foam::topoBitSet::topoBitSet IOobject::NO_WRITE, IOobject::NO_REGISTER ), - label(0) // zero-sized (unallocated) labelHashSet - ), - selected_() + Foam::zero{} // Empty labelHashSet (initialCapacity = 0) + ) {} @@ -178,6 +177,12 @@ Foam::topoBitSet::topoBitSet // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +bool Foam::topoBitSet::contains(const label id) const +{ + return selected_.test(id); +} + + bool Foam::topoBitSet::found(const label id) const { return selected_.test(id); @@ -218,9 +223,12 @@ void Foam::topoBitSet::invert(const label maxLen) void Foam::topoBitSet::subset(const topoSet& set) { // Only retain entries found in both sets - if (isA<topoBitSet>(set)) + + const auto* topoBitsPtr = isA<topoBitSet>(set); + + if (topoBitsPtr) { - selected_ &= refCast<const topoBitSet>(set).selected_; + selected_ &= topoBitsPtr->selected_; } else if (set.empty()) { @@ -242,25 +250,27 @@ void Foam::topoBitSet::subset(const topoSet& set) void Foam::topoBitSet::subset(const labelUList& elems) { // Only retain entries found in both sets - bitSet newSelected(selected_.size()); + bitSet newLabels(selected_.size()); for (const label id : elems) { - if (selected_[id]) + if (selected_.test(id)) { - newSelected.set(id); + newLabels.set(id); } } - selected_ = newSelected; + selected_.transfer(newLabels); } void Foam::topoBitSet::addSet(const topoSet& set) { // Add entries to the set - if (isA<topoBitSet>(set)) + const auto* topoBitsPtr = isA<topoBitSet>(set); + + if (topoBitsPtr) { - selected_ |= refCast<const topoBitSet>(set).selected_; + selected_ |= topoBitsPtr->selected_; } else { @@ -281,9 +291,11 @@ void Foam::topoBitSet::addSet(const labelUList& elems) void Foam::topoBitSet::subtractSet(const topoSet& set) { // Subtract entries from the set - if (isA<topoBitSet>(set)) + const auto* topoBitsPtr = isA<topoBitSet>(set); + + if (topoBitsPtr) { - selected_ -= refCast<const topoBitSet>(set).selected_; + selected_ -= topoBitsPtr->selected_; } else { diff --git a/src/meshTools/topoSet/topoSets/topoBitSet.H b/src/meshTools/topoSet/topoSets/topoBitSet.H index ae702fb71f9..5123a1dcb46 100644 --- a/src/meshTools/topoSet/topoSets/topoBitSet.H +++ b/src/meshTools/topoSet/topoSets/topoBitSet.H @@ -70,10 +70,10 @@ protected: virtual void check(const label maxSize); - //- Construct with empty selection + //- Construct (no-read) with empty selection topoBitSet(const polyMesh& mesh, const word& setName); - //- Construct with size elements + //- Construct (no-read) with \c size elements of initial value topoBitSet ( const polyMesh& mesh, @@ -82,7 +82,7 @@ protected: const bool val ); - //- Copy construct with bitset values, size elements + //- Copy construct from bitset values, size elements topoBitSet ( const polyMesh& mesh, @@ -91,7 +91,7 @@ protected: const bitSet& bits ); - //- Move construct with bitset values, size elements + //- Move construct from bitset values, size elements topoBitSet ( const polyMesh& mesh, @@ -127,6 +127,9 @@ public: selected_.reset(); } + //- Has the given index? + virtual bool contains(const label id) const; + //- Has the given index? virtual bool found(const label id) const; @@ -147,24 +150,22 @@ public: virtual void invert(const label maxLen); //- Subset contents. Only elements present in both sets remain. - virtual void subset(const topoSet& set); - - //- Add elements present in set. - virtual void addSet(const topoSet& set); + virtual void subset(const labelUList& elems); - //- Subtract elements present in set. - virtual void subtractSet(const topoSet& set); + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const topoSet& set); - // Variants taking labelUList& + //- Add given elements to the set + virtual void addSet(const labelUList& elems); - //- Subset contents. Only elements present in both sets remain. - virtual void subset(const labelUList& set); + //- Add given elements to the set + virtual void addSet(const topoSet& set); - //- Add elements present in set. - virtual void addSet(const labelUList& set); + //- Subtract given elements from the set + virtual void subtractSet(const labelUList& elems); - //- Subtract elements present in set. - virtual void subtractSet(const labelUList& set); + //- Subtract given elements from the set + virtual void subtractSet(const topoSet& set); }; diff --git a/src/meshTools/topoSet/topoSets/topoBoolSet.C b/src/meshTools/topoSet/topoSets/topoBoolSet.C index 0045c159f32..4f2ae71a9db 100644 --- a/src/meshTools/topoSet/topoSets/topoBoolSet.C +++ b/src/meshTools/topoSet/topoSets/topoBoolSet.C @@ -135,9 +135,8 @@ Foam::topoBoolSet::topoBoolSet IOobject::NO_WRITE, IOobject::NO_REGISTER ), - label(0) // zero-sized (unallocated) labelHashSet - ), - selected_() + Foam::zero{} // Empty labelHashSet (initialCapacity = 0) + ) {} @@ -187,6 +186,12 @@ Foam::topoBoolSet::topoBoolSet // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +bool Foam::topoBoolSet::contains(const label id) const +{ + return selected_.test(id); +} + + bool Foam::topoBoolSet::found(const label id) const { return selected_.test(id); diff --git a/src/meshTools/topoSet/topoSets/topoBoolSet.H b/src/meshTools/topoSet/topoSets/topoBoolSet.H index 273e3297f9e..a28557d3bec 100644 --- a/src/meshTools/topoSet/topoSets/topoBoolSet.H +++ b/src/meshTools/topoSet/topoSets/topoBoolSet.H @@ -70,10 +70,10 @@ protected: virtual void check(const label maxSize); - //- Construct with empty selection + //- Construct (no-read) with empty selection topoBoolSet(const polyMesh& mesh, const word& setName); - //- Construct with size elements + //- Construct (no-read) with \c size elements of initial value topoBoolSet ( const polyMesh& mesh, @@ -100,7 +100,6 @@ protected: boolList&& bools ); - public: //- Destructor @@ -127,6 +126,9 @@ public: selected_ = false; } + //- Has the given index? + virtual bool contains(const label id) const; + //- Has the given index? virtual bool found(const label id) const; @@ -147,24 +149,22 @@ public: virtual void invert(const label maxLen); //- Subset contents. Only elements present in both sets remain. - virtual void subset(const topoSet& set); - - //- Add elements present in set. - virtual void addSet(const topoSet& set); + virtual void subset(const labelUList& elems); - //- Subtract elements present in set. - virtual void subtractSet(const topoSet& set); + //- Subset contents. Only elements present in both sets remain. + virtual void subset(const topoSet& set); - // Variants taking labelUList& + //- Add given elements to the set + virtual void addSet(const labelUList& elems); - //- Subset contents. Only elements present in both sets remain. - virtual void subset(const labelUList& set); + //- Add given elements to the set + virtual void addSet(const topoSet& set); - //- Add elements present in set. - virtual void addSet(const labelUList& set); + //- Subtract given elements from the set. + virtual void subtractSet(const labelUList& elems); - //- Subtract elements present in set. - virtual void subtractSet(const labelUList& set); + //- Subtract given elements from the set. + virtual void subtractSet(const topoSet& set); }; diff --git a/src/meshTools/topoSet/topoSets/topoSet.C b/src/meshTools/topoSet/topoSets/topoSet.C index 29d2a8cb1ce..0d8c64cbbe1 100644 --- a/src/meshTools/topoSet/topoSets/topoSet.C +++ b/src/meshTools/topoSet/topoSets/topoSet.C @@ -140,6 +140,30 @@ Foam::fileName Foam::topoSet::localPath } +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +bool Foam::topoSet::readIOcontents +( + const word& wantedType, + labelHashSet& contents +) +{ + if (isReadRequired() || (isReadOptional() && headerOk())) + { + Istream& is = readStream(wantedType); + + if (is.good()) + { + is >> contents; + close(); + } + return true; + } + + return false; +} + + // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // // Update stored cell numbers using map. @@ -200,10 +224,24 @@ void Foam::topoSet::updateLabels(const labelUList& map) } -void Foam::topoSet::check(const label maxSize) +void Foam::topoSet::checkLabels(const labelUList& labels, const label maxSize) { - const labelHashSet& labels = *this; + for (const label oldId : labels) + { + if (oldId < 0 || oldId >= maxSize) + { + FatalErrorInFunction + << "Illegal content " << oldId << " of set:" << name() + << " of type " << type() << nl + << "Value should be between [0," << maxSize << ')' << nl + << abort(FatalError); + } + } +} + +void Foam::topoSet::checkLabels(const labelHashSet& labels, const label maxSize) +{ for (const label oldId : labels) { if (oldId < 0 || oldId >= maxSize) @@ -211,21 +249,25 @@ void Foam::topoSet::check(const label maxSize) FatalErrorInFunction << "Illegal content " << oldId << " of set:" << name() << " of type " << type() << nl - << "Value should be between [0," << maxSize << ')' - << endl + << "Value should be between [0," << maxSize << ')' << nl << abort(FatalError); } } } -// Write maxElem elements, starting at iter. Updates iter and elemI. -void Foam::topoSet::writeDebug +void Foam::topoSet::check(const label maxSize) +{ + checkLabels(*this, maxSize); +} + + +// Write maxElem elements, starting at iter. Updates iter +Foam::label Foam::topoSet::writeDebug ( Ostream& os, const label maxElem, - topoSet::const_iterator& iter, - label& elemI + labelHashSet::const_iterator& iter ) const { label n = 0; @@ -239,19 +281,19 @@ void Foam::topoSet::writeDebug os << iter.key() << ' '; ++n; - ++elemI; } + + return n; } -// Write maxElem elements, starting at iter. Updates iter and elemI. -void Foam::topoSet::writeDebug +// Write maxElem elements, starting at iter. Updates iter +Foam::label Foam::topoSet::writeDebug ( Ostream& os, const pointField& coords, const label maxElem, - topoSet::const_iterator& iter, - label& elemI + labelHashSet::const_iterator& iter ) const { label n = 0; @@ -265,8 +307,9 @@ void Foam::topoSet::writeDebug os << iter.key() << coords[iter.key()] << ' '; ++n; - ++elemI; } + + return n; } @@ -283,22 +326,20 @@ void Foam::topoSet::writeDebug os << "Set bounding box: min = " << bb.min() << " max = " << bb.max() << " metres." << nl << endl; - label n = 0; - - topoSet::const_iterator iter = this->cbegin(); + labelHashSet::const_iterator iter = labelHashSet::cbegin(); if (size() <= maxLen) { - writeDebug(os, coords, maxLen, iter, n); + writeDebug(os, coords, maxLen, iter); } else { - label halfLen = maxLen/2; + const label halfLen = maxLen/2; os << "Size larger than " << maxLen << ". Printing first and last " << halfLen << " elements:" << nl << endl; - writeDebug(os, coords, halfLen, iter, n); + label n = writeDebug(os, coords, halfLen, iter); os << nl << " .." << nl << endl; @@ -307,7 +348,7 @@ void Foam::topoSet::writeDebug ++iter; } - writeDebug(os, coords, halfLen, iter, n); + writeDebug(os, coords, halfLen, iter); } } @@ -319,7 +360,8 @@ Foam::IOobject Foam::topoSet::findIOobject const polyMesh& mesh, const word& name, IOobjectOption::readOption rOpt, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) { IOobject io @@ -329,13 +371,14 @@ Foam::IOobject Foam::topoSet::findIOobject ( mesh.meshDir()/"sets", word::null, - IOobject::READ_IF_PRESENT, + IOobjectOption::READ_IF_PRESENT, mesh.facesInstance() ), polyMesh::meshSubDir/"sets", mesh, rOpt, - wOpt + wOpt, + reg ); if (!io.typeHeaderOk<topoSet>(false) && disallowGenericSets != 0) @@ -353,7 +396,8 @@ Foam::IOobject Foam::topoSet::findIOobject const Time& runTime, const word& name, IOobjectOption::readOption rOpt, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) { return IOobject @@ -364,6 +408,8 @@ Foam::IOobject Foam::topoSet::findIOobject polyMesh::meshSubDir/"sets", word::null, IOobject::MUST_READ, + + // The stop instance with "polyMesh/faces" runTime.findInstance ( polyMesh::meshSubDir, @@ -374,7 +420,8 @@ Foam::IOobject Foam::topoSet::findIOobject polyMesh::meshSubDir/"sets", runTime, rOpt, - wOpt + wOpt, + reg ); } @@ -385,38 +432,50 @@ Foam::topoSet::topoSet(const IOobject& io, const word& wantedType) : regIOobject(io) { - if (isReadRequired() || (isReadOptional() && headerOk())) - { - if (readStream(wantedType).good()) - { - readStream(wantedType) >> static_cast<labelHashSet&>(*this); - - close(); - } - } + readIOcontents(wantedType, static_cast<labelHashSet&>(*this)); } +Foam::topoSet::topoSet(const IOobject& io, const Foam::zero) +: + regIOobject(io) +{} + + +Foam::topoSet::topoSet(const IOobject& io, const label initialCapacity) +: + regIOobject(io), + labelHashSet(initialCapacity) +{} + + +Foam::topoSet::topoSet(const IOobject& io, const labelHashSet& labels) +: + regIOobject(io), + labelHashSet(labels) +{} + + +Foam::topoSet::topoSet(const IOobject& io, labelHashSet&& labels) +: + regIOobject(io), + labelHashSet(std::move(labels)) +{} + + Foam::topoSet::topoSet ( const polyMesh& mesh, const word& wantedType, const word& name, IOobjectOption::readOption rOpt, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) : - regIOobject(findIOobject(mesh, name, rOpt, wOpt)) + regIOobject(findIOobject(mesh, name, rOpt, wOpt, reg)) { - if (isReadRequired() || (isReadOptional() && headerOk())) - { - if (readStream(wantedType).good()) - { - readStream(wantedType) >> static_cast<labelHashSet&>(*this); - - close(); - } - } + readIOcontents(wantedType, static_cast<labelHashSet&>(*this)); } @@ -424,12 +483,13 @@ Foam::topoSet::topoSet ( const polyMesh& mesh, const word& name, - const label size, - IOobjectOption::writeOption wOpt + const label initialCapacity, + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) : - regIOobject(findIOobject(mesh, name, IOobject::NO_READ, wOpt)), - labelHashSet(size) + regIOobject(findIOobject(mesh, name, IOobject::NO_READ, wOpt, reg)), + labelHashSet(initialCapacity) {} @@ -438,10 +498,11 @@ Foam::topoSet::topoSet const polyMesh& mesh, const word& name, const labelHashSet& labels, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) : - regIOobject(findIOobject(mesh, name, IOobject::NO_READ, wOpt)), + regIOobject(findIOobject(mesh, name, IOobject::NO_READ, wOpt, reg)), labelHashSet(labels) {} @@ -451,10 +512,11 @@ Foam::topoSet::topoSet const polyMesh& mesh, const word& name, labelHashSet&& labels, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) : - regIOobject(findIOobject(mesh, name, IOobject::NO_READ, wOpt)), + regIOobject(findIOobject(mesh, name, IOobject::NO_READ, wOpt, reg)), labelHashSet(std::move(labels)) {} @@ -464,40 +526,26 @@ Foam::topoSet::topoSet const polyMesh& mesh, const word& name, const labelUList& labels, - IOobjectOption::writeOption wOpt + IOobjectOption::writeOption wOpt, + IOobjectOption::registerOption reg ) : - regIOobject(findIOobject(mesh, name, IOobject::NO_READ, wOpt)), - labelHashSet(labels) -{} - - -Foam::topoSet::topoSet(const IOobject& io, const label size) -: - regIOobject(io), - labelHashSet(size) -{} - - -Foam::topoSet::topoSet(const IOobject& io, const labelHashSet& labels) -: - regIOobject(io), + regIOobject(findIOobject(mesh, name, IOobject::NO_READ, wOpt, reg)), labelHashSet(labels) {} -Foam::topoSet::topoSet(const IOobject& io, labelHashSet&& labels) -: - regIOobject(io), - labelHashSet(std::move(labels)) -{} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +bool Foam::topoSet::contains(const label id) const +{ + return static_cast<const labelHashSet&>(*this).contains(id); +} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // bool Foam::topoSet::found(const label id) const { - return static_cast<const labelHashSet&>(*this).found(id); + return static_cast<const labelHashSet&>(*this).contains(id); } @@ -534,13 +582,13 @@ void Foam::topoSet::invert(const label maxLen) ); clear(); // Maybe don't trust the previous move operation - reserve(max(64, (maxLen - original.size()))); + reserve(Foam::max(64, (maxLen - original.size()))); - for (label id=0; id < maxLen; ++id) + for (label id = 0; id < maxLen; ++id) { - if (!original.found(id)) + if (!original.contains(id)) { - this->set(id); + labelHashSet::set(id); } } } @@ -558,10 +606,11 @@ void Foam::topoSet::subset(const labelUList& elems) // Only retain entries found in both sets auto& currentSet = static_cast<labelHashSet&>(*this); - DynamicList<label> newElems(elems.size()+currentSet.size()); + DynamicList<label> newElems(Foam::min(elems.size(), currentSet.size())); + for (const label elem : elems) { - if (currentSet.found(elem)) + if (currentSet.contains(elem)) { newElems.push_back(elem); } @@ -609,22 +658,20 @@ void Foam::topoSet::sync(const polyMesh&) void Foam::topoSet::writeDebug(Ostream& os, const label maxLen) const { - label n = 0; - - topoSet::const_iterator iter = this->cbegin(); + labelHashSet::const_iterator iter = labelHashSet::cbegin(); if (size() <= maxLen) { - writeDebug(os, maxLen, iter, n); + writeDebug(os, maxLen, iter); } else { - label halfLen = maxLen/2; + const label halfLen = maxLen/2; os << "Size larger than " << maxLen << ". Printing first and last " << halfLen << " elements:" << nl << endl; - writeDebug(os, halfLen, iter, n); + label n = writeDebug(os, halfLen, iter); os << nl << " .." << nl << endl; @@ -633,7 +680,7 @@ void Foam::topoSet::writeDebug(Ostream& os, const label maxLen) const ++iter; } - writeDebug(os, halfLen, iter, n); + writeDebug(os, halfLen, iter); } } diff --git a/src/meshTools/topoSet/topoSets/topoSet.H b/src/meshTools/topoSet/topoSets/topoSet.H index d8437149669..5f424112b49 100644 --- a/src/meshTools/topoSet/topoSets/topoSet.H +++ b/src/meshTools/topoSet/topoSets/topoSet.H @@ -70,6 +70,15 @@ protected: // Protected Member Functions + //- Read into labelHashSet if IOobject flags set. Return true if read. + bool readIOcontents(const word& wantedType, labelHashSet& contents); + + //- Check limits on addressable range. + void checkLabels(const labelUList& labels, const label maxSize); + + //- Check limits on addressable range. + void checkLabels(const labelHashSet& labels, const label maxSize); + //- Update map from map. // Used to update cell/face labels after morphing virtual void updateLabels(const labelUList& map); @@ -77,24 +86,25 @@ protected: //- Check limits on addressable range. virtual void check(const label maxSize); - //- Write part of contents nicely formatted. Prints labels only. - void writeDebug + //- Write part of contents nicely formatted. + // Prints labels only. + // \returns number of labels written + label writeDebug ( Ostream& os, const label maxElem, - topoSet::const_iterator& iter, - label& elemI + labelHashSet::const_iterator& iter ) const; - //- Write part of contents nicely formatted. Prints label - // and corresponding coordinate. - void writeDebug + //- Write part of contents nicely formatted. + // Prints label and corresponding coordinate. + // \returns number of labels written + label writeDebug ( Ostream& os, const pointField& coords, const label maxElem, - topoSet::const_iterator& iter, - label& elemI + labelHashSet::const_iterator& iter ) const; //- Write labels and coordinates columnwise to os. Truncate to maxLen. @@ -123,22 +133,37 @@ public: //- Name of file set will use. static fileName localPath(const polyMesh& mesh, const word& name); - //- Find IOobject in the polyMesh/sets (used as constructor helper) + //- Find IOobject in the polyMesh/sets/ (used as constructor helper) static IOobject findIOobject ( const polyMesh& mesh, const word& name, IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Find IOobject in the polyMesh/sets (used as constructor helper) + //- Find IOobject in the polyMesh/sets/ (used as constructor helper) static IOobject findIOobject ( - const Time& runTime, + const polyMesh& mesh, const word& name, + IOobjectOption::registerOption reg, IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + ) + { + return findIOobject(mesh, name, rOpt, wOpt, reg); + } + + //- Find IOobject in the polyMesh/sets/ (used as constructor helper) + static IOobject findIOobject + ( + const Time& runTime, + const word& name, + IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); @@ -196,6 +221,21 @@ public: // Can't use typeName info here since subclasses not yet instantiated topoSet(const IOobject& io, const word& wantedType); + //- Construct empty (no-read) with IOobject information + topoSet(const IOobject& io, const Foam::zero); + + //- Construct empty (no-read) with initial labelHashSet capacity, + //- with IOobject information + topoSet(const IOobject& io, const label initialCapacity); + + //- Copy construct (no-read) from labelHashSet, + //- with IOobject information. + topoSet(const IOobject& io, const labelHashSet& labels); + + //- Move construct (no-read) from labelHashSet, + //- with IOobject information. + topoSet(const IOobject& io, labelHashSet&& labels); + //- Construct from polyMesh and name. // Searches for a polyMesh/sets directory but not beyond the // mesh.facesInstance(). @@ -205,21 +245,23 @@ public: const word& wantedType, const word& name, IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Construct empty from additional size of labelHashSet. + //- Construct empty (no-read) with initial labelHashSet capacity. // Searches for a polyMesh/sets directory but not beyond the // mesh.facesInstance(). topoSet ( const polyMesh& mesh, const word& name, - const label size, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + const label initialCapacity, + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Construct (no-read) with copy of labelHashSet + //- Copy construct (no-read) from labelHashSet. // Searches for a polyMesh/sets directory but not beyond the // mesh.facesInstance(). topoSet @@ -227,10 +269,11 @@ public: const polyMesh& mesh, const word& name, const labelHashSet& labels, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Construct (no-read) with moving labelHashSet + //- Move construct (no-read) from labelHashSet. // Searches for a polyMesh/sets directory but not beyond the // mesh.facesInstance(). topoSet @@ -238,10 +281,11 @@ public: const polyMesh& mesh, const word& name, labelHashSet&& labels, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Construct (no-read) with copy of labels + //- Copy construct (no-read) from list of labels. // Searches for a polyMesh/sets directory but not beyond the // mesh.facesInstance(). topoSet @@ -249,18 +293,10 @@ public: const polyMesh& mesh, const word& name, const labelUList& labels, - IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE + IOobjectOption::writeOption wOpt = IOobjectOption::NO_WRITE, + IOobjectOption::registerOption reg = IOobjectOption::LEGACY_REGISTER ); - //- Construct empty from IOobject and HashSet size. - topoSet(const IOobject& io, const label size); - - //- Construct from IOobject and copy of labelHashSet. - topoSet(const IOobject& io, const labelHashSet& labels); - - //- Construct from IOobject and move labelHashSet. - topoSet(const IOobject& io, labelHashSet&& labels); - //- Clone autoPtr<topoSet> clone() const @@ -309,6 +345,9 @@ public: // Member Functions + //- Has the given index? + virtual bool contains(const label id) const; + //- Has the given index? virtual bool found(const label id) const; @@ -329,23 +368,23 @@ public: virtual void invert(const label maxLen); //- Subset contents. Only elements present in both sets remain. - virtual void subset(const topoSet& set); + virtual void subset(const labelUList& elems); //- Subset contents. Only elements present in both sets remain. - virtual void subset(const labelUList& set); + virtual void subset(const topoSet& set); - //- Add elements + //- Add given elements to the set + virtual void addSet(const labelUList& elems); + + //- Add given elements to the set virtual void addSet(const topoSet& set); - //- Add elements - virtual void addSet(const labelUList& set); + //- Subtract given elements from the set + virtual void subtractSet(const labelUList& elems); - //- Subtract elements + //- Subtract given elements from the set virtual void subtractSet(const topoSet& set); - //- Subtract elements - virtual void subtractSet(const labelUList& set); - //- Sync set across coupled patches. virtual void sync(const polyMesh& mesh); @@ -374,19 +413,23 @@ public: //- Return max allowable index (+1). Not implemented. virtual label maxSize(const polyMesh& mesh) const = 0; - //- Helper: call updateMesh on all sets in container (and - // updates instance) + //- Helper: call updateMesh on all items in container + //- (and updates instance) template<class Container> static void updateMesh ( const fileName& instance, const mapPolyMesh&, - Container& + Container& items ); - //- Helper: set instance on all sets in container + //- Helper: set instance on all items in container template<class Container> - static void setInstance(const fileName& instance, Container&); + static void setInstance + ( + const fileName& instance, + Container& items + ); //- Helper: remove all sets files from mesh instance static void removeFiles(const polyMesh&); diff --git a/src/meshTools/topoSet/topoSets/topoSetTemplates.C b/src/meshTools/topoSet/topoSets/topoSetTemplates.C index d163d2e1a33..02e501f5d09 100644 --- a/src/meshTools/topoSet/topoSets/topoSetTemplates.C +++ b/src/meshTools/topoSet/topoSets/topoSetTemplates.C @@ -25,19 +25,18 @@ License \*---------------------------------------------------------------------------*/ - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Container> void Foam::topoSet::setInstance ( const fileName& instance, - Container& lst + Container& items ) { - forAll(lst, i) + for (auto& item : items) { - lst[i].instance() = instance; + item.instance() = instance; } } @@ -47,13 +46,13 @@ void Foam::topoSet::updateMesh ( const fileName& instance, const mapPolyMesh& map, - Container& lst + Container& items ) { - forAll(lst, i) + for (auto& item : items) { - lst[i].instance() = instance; - lst[i].updateMesh(map); + item.instance() = instance; + item.updateMesh(map); } } diff --git a/src/overset/regionsToCell/regionsToCell.C b/src/overset/regionsToCell/regionsToCell.C index 996743d394a..af36c7fe3eb 100644 --- a/src/overset/regionsToCell/regionsToCell.C +++ b/src/overset/regionsToCell/regionsToCell.C @@ -377,14 +377,16 @@ void Foam::regionsToCell::combine(topoSet& set, const bool add) const // Note: wip. Select cells first boolList selectedCell(mesh_.nCells(), true); - if (setName_.size() && setName_ != "none") + if (!setName_.empty() && setName_ != "none") { - Info<< " Loading subset " << setName_ << " to delimit search region." - << endl; - cellSet subSet(mesh_, setName_); + Info<< " Loading subset " << setName_ + << " to delimit search region." << nl; + + cellSet loadedSet(mesh_, setName_, IOobject::NO_REGISTER); + const labelHashSet& cellLabels = loadedSet; selectedCell = false; - for (const label celli : static_cast<const labelHashSet&>(subSet)) + for (const label celli : cellLabels) { selectedCell[celli] = true; } -- GitLab From d578d48a4f8c0124cc2868404acb46b79c1ae39f Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 8 Apr 2024 15:19:58 +0200 Subject: [PATCH 124/231] ENH: improve findInstance handling for optional files - previously would always return "constant" as the instance for an optional dir/file that wasn't found. However, this meant retesting to screen out false positives. Now support an additional parameter 'bool constant_fallback = ...' to return "constant" or an empty word. The method signature changes slightly with a new optional bool parameter: //! Return \c "constant" instead of \c "" if the search failed const bool constant_fallback = true ENH: code consolidation for findInstancePath - relocate from Time to TimePaths and provide an additional static version that is reused in fileOperations BUG: distributedTriSurfaceMesh:::findLocalInstance broken (#3135) - was not checking the parent at all. COMP: remove unused findInstancePath(const fileName&, ..) method --- .../Test-boundaryMeshEntries.C | 45 +++++------ .../reconstructParMesh/reconstructParMesh.C | 14 +--- src/OpenFOAM/db/Time/Time.C | 47 ++--------- src/OpenFOAM/db/Time/Time.H | 44 +++++------ src/OpenFOAM/db/Time/TimePaths.C | 55 ++++++++++++- src/OpenFOAM/db/Time/TimePaths.H | 15 +++- .../fileOperation/fileOperation.C | 24 ++++-- .../fileOperation/fileOperation.H | 21 +++-- .../masterUncollatedFileOperation.C | 77 +++++++------------ .../masterUncollatedFileOperation.H | 26 ++++--- .../uncollatedFileOperation.C | 3 +- .../distributedTriSurfaceMesh.C | 4 +- 12 files changed, 196 insertions(+), 179 deletions(-) diff --git a/applications/test/boundaryMeshEntries/Test-boundaryMeshEntries.C b/applications/test/boundaryMeshEntries/Test-boundaryMeshEntries.C index 35b4248010f..61fda465e1e 100644 --- a/applications/test/boundaryMeshEntries/Test-boundaryMeshEntries.C +++ b/applications/test/boundaryMeshEntries/Test-boundaryMeshEntries.C @@ -53,46 +53,37 @@ int main(int argc, char *argv[]) #include "setRootCase.H" #include "createTime.H" - fileName coherentInst; + word coherentInst; coherentInst = ( runTime.findInstance ( polyMesh::meshSubDir, "coherent", - IOobject::READ_IF_PRESENT + IOobject::READ_IF_PRESENT, + word::null, // No stop instance + false // No "constant" fallback (word::null instead) ) ); - // Unfortunately with READ_IF_PRESENT, cannot tell if the file - // was actually found or not - - Info<< "check: " << (coherentInst/polyMesh::meshSubDir/"coherent") << nl; - - if (!Foam::isFile(coherentInst/polyMesh::meshSubDir/"coherent")) - { - coherentInst.clear(); - } - - Info<< "found coherent: " << coherentInst << nl; + Info<< "Found coherent \"" << coherentInst << '"' << nl; PtrList<entry> entries; if (!coherentInst.empty()) { - IOdictionary coherent - ( - IOobject + dictionary coherent = + IOdictionary::readContents ( - "coherent", - coherentInst, - polyMesh::meshSubDir, - runTime, - IOobject::MUST_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ) - ); + IOobject + ( + "coherent", + coherentInst, + polyMesh::meshSubDir, + runTime, + IOobject::MUST_READ + ) + ); ITstream& is = coherent.lookup("boundary"); is >> entries; @@ -105,7 +96,7 @@ int main(int argc, char *argv[]) Info<< "size: " << polyBoundaryMeshEntries::patchSizes(entries) << nl; Info<< nl; - fileName boundaryInst; + word boundaryInst; boundaryInst = ( runTime.findInstance @@ -116,7 +107,7 @@ int main(int argc, char *argv[]) ) ); - Info<< "found boundary: " << boundaryInst << nl; + Info<< "Found boundary: \"" << boundaryInst << '"' << nl; polyBoundaryMeshEntries pbm ( diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C index bd7cfdd056f..c77a2742a22 100644 --- a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C +++ b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -314,11 +314,7 @@ boundBox procBounds { fileName pointsInstance ( - procDb.findInstance - ( - polyMesh::meshDir(regionName), - "points" - ) + procDb.findInstance(polyMesh::meshDir(regionName), "points") ); if (pointsInstance != procDb.timeName()) @@ -343,11 +339,7 @@ boundBox procBounds IOobject ( "points", - procDb.findInstance - ( - polyMesh::meshDir(regionName), - "points" - ), + pointsInstance, polyMesh::meshDir(regionName), procDb, IOobject::MUST_READ, diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C index f384919c50d..2d9ce11816d 100644 --- a/src/OpenFOAM/db/Time/Time.C +++ b/src/OpenFOAM/db/Time/Time.C @@ -730,14 +730,15 @@ Foam::word Foam::Time::timeName(const scalar t, const int precision) Foam::word Foam::Time::findInstance ( - const fileName& dir, + const fileName& directory, const word& name, IOobjectOption::readOption rOpt, - const word& stopInstance + const word& stopInstance, + const bool constant_fallback ) const { - // Note: name might be empty! - IOobject startIO(name, timeName(), dir, *this, rOpt); + // Note: name can empty (ie, search for directory only) + IOobject startIO(name, timeName(), directory, *this, rOpt); IOobject io ( @@ -745,48 +746,14 @@ Foam::word Foam::Time::findInstance ( startIO, timeOutputValue(), - stopInstance + stopInstance, + constant_fallback ) ); return io.instance(); } -Foam::word Foam::Time::findInstancePath -( - const fileName& directory, - const instant& t -) const -{ - // Simplified version: use findTimes (readDir + sort). The expensive - // bit is the readDir, not the sorting. Tbd: avoid calling findInstancePath - // from filePath. - - instantList timeDirs = findTimes(path(), constant()); - // Note: - // - times will include constant (with value 0) as first element. - // For backwards compatibility make sure to find 0 in preference - // to constant. - // - list is sorted so could use binary search - - forAllReverse(timeDirs, i) - { - if (t.equal(timeDirs[i].value())) - { - return timeDirs[i].name(); - } - } - - return word::null; -} - - -Foam::word Foam::Time::findInstancePath(const instant& t) const -{ - return findInstancePath(path(), t); -} - - Foam::label Foam::Time::startTimeIndex() const { return startTimeIndex_; diff --git a/src/OpenFOAM/db/Time/Time.H b/src/OpenFOAM/db/Time/Time.H index 8d50aa1b468..673694b9b96 100644 --- a/src/OpenFOAM/db/Time/Time.H +++ b/src/OpenFOAM/db/Time/Time.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2019 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,7 +34,7 @@ Description SourceFiles Time.C TimeIO.C - findInstance.C + TimeNew.C \*---------------------------------------------------------------------------*/ @@ -482,35 +482,31 @@ public: // Searching - //- Return time instance (location) of \em dir that contains - //- the file \em name (eg, used in reading mesh data). - // When \em is empty, searches for directory \em dir only. - // Does not search beyond stopInstance (if set) or \em constant. + //- Return time instance (location) of \c directory containing + //- the file \c name (eg, used in reading mesh data). + //- When \c name is empty, searches for \c directory only. + //- Does not search beyond \c stopInstance (if set) or \c constant. // - // \note If the instance cannot be found, returns the - // stopInstance (if set and reached) or \em constant. - // FatalError if it cannot be found and readOpt is - // (MUST_READ or READ_MODIFIED). + // If the instance cannot be found: + // - FatalError when readOpt is MUST_READ or READ_MODIFIED + // - return \c stopInstance (if set and reached) + // - return \c constant if constant_fallback is true + // - return an empty word if constant_fallback is false + // . word findInstance ( - const fileName& dir, + //! The subdirectory (local) for the search + const fileName& directory, + //! The filename for the search. If empty, only search for directory const word& name = word::null, + //! The search type : generally MUST_READ or READ_IF_PRESENT IOobjectOption::readOption rOpt = IOobjectOption::MUST_READ, - const word& stopInstance = word::null - ) const; - - //- Search the case for the time directory path - //- corresponding to the given instance - word findInstancePath - ( - const fileName& directory, - const instant& t + //! The search stop instance + const word& stopInstance = word::null, + //! Return \c "constant" instead of \c "" if the search failed + const bool constant_fallback = true ) const; - //- Search the case for the time directory path - //- corresponding to the given instance - word findInstancePath(const instant& t) const; - // Member Functions diff --git a/src/OpenFOAM/db/Time/TimePaths.C b/src/OpenFOAM/db/Time/TimePaths.C index 5133ed6731f..e764e6457d0 100644 --- a/src/OpenFOAM/db/Time/TimePaths.C +++ b/src/OpenFOAM/db/Time/TimePaths.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -128,9 +128,60 @@ Foam::instantList Foam::TimePaths::times() const } +Foam::word Foam::TimePaths::findInstancePath +( + const UList<instant>& timeDirs, + const instant& t +) +{ + // Note: + // - timeDirs will include constant (with value 0) as first element. + // For backwards compatibility make sure to find 0 in preference + // to constant. + // - list is sorted so could use binary search + + forAllReverse(timeDirs, i) + { + if (t.equal(timeDirs[i].value())) + { + return timeDirs[i].name(); + } + } + + return word(); +} + + +// Foam::word Foam::Time::findInstancePath +// ( +// const fileName& directory, +// const instant& t +// ) const +// { +// // Simplified version: use findTimes (readDir + sort). +// // The expensive bit is the readDir, not the sorting. +// // TBD: avoid calling findInstancePath from filePath. +// +// instantList timeDirs = findTimes(directory, constant()); +// +// return findInstancePath(timeDirs, i); +// } + + +Foam::word Foam::TimePaths::findInstancePath(const instant& t) const +{ + // Simplified version: use findTimes (readDir + sort). + // The expensive bit is the readDir, not the sorting. + // TBD: avoid calling findInstancePath from filePath. + + instantList timeDirs = findTimes(path(), constant()); + return findInstancePath(timeDirs, t); +} + + Foam::label Foam::TimePaths::findClosestTimeIndex ( - const instantList& timeDirs, + const UList<instant>& timeDirs, const scalar t, const word& constantDirName ) diff --git a/src/OpenFOAM/db/Time/TimePaths.H b/src/OpenFOAM/db/Time/TimePaths.H index e6b46ab5690..ab0d2e29cf4 100644 --- a/src/OpenFOAM/db/Time/TimePaths.H +++ b/src/OpenFOAM/db/Time/TimePaths.H @@ -53,7 +53,6 @@ class argList; Class TimePaths Declaration \*---------------------------------------------------------------------------*/ - class TimePaths { // Private Data @@ -187,16 +186,28 @@ public: //- Search instantList for the time index closest to the specified time static label findClosestTimeIndex ( - const instantList& timeDirs, + const UList<instant>& timeDirs, const scalar t, const word& constantDirName = "constant" ); + //- Search instantList for matching time value, + //- return the instance name or word::null if nothing is equal. + static word findInstancePath + ( + const UList<instant>& timeDirs, + const instant& t + ); + //- Search the case for valid time directories instantList times() const; //- Search the case for the time closest to the given time instant findClosestTime(const scalar t) const; + + //- Search the case for the time directory path + //- corresponding to the given instance + word findInstancePath(const instant& t) const; }; diff --git a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C index 54f6ea82034..8193f845adb 100644 --- a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C +++ b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017-2018 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1078,7 +1078,8 @@ Foam::IOobject Foam::fileOperation::findInstance ( const IOobject& startIO, const scalar startValue, - const word& stopInstance + const word& stopInstance, + const bool constant_fallback ) const { const Time& time = startIO.time(); @@ -1158,6 +1159,7 @@ Foam::IOobject Foam::fileOperation::findInstance } else { + // At the stopInstance return io; } break; @@ -1198,11 +1200,23 @@ Foam::IOobject Foam::fileOperation::findInstance } - if (!failed && exitIfMissing) + if (!failed) { - failed = failureCodes::FAILED_CONSTINST; + if (exitIfMissing) + { + failed = failureCodes::FAILED_CONSTINST; + } + else if (constant_fallback) + { + io.instance() = time.constant(); + } + else + { + io.instance().clear(); + } } + // Handle failures // ~~~~~~~~~~~~~~~ @@ -1225,7 +1239,7 @@ Foam::IOobject Foam::fileOperation::findInstance { FatalError << stopInstance; } - else + else // FAILED_CONSTINST { FatalError << "constant"; } diff --git a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.H b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.H index 8053d6dfa8e..852e0b02d6f 100644 --- a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.H +++ b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -870,15 +870,24 @@ public: //- Get sorted list of times virtual instantList findTimes(const fileName&, const word&) const; - //- Find instance where IOobject is. - // FatalError if it cannot be found and readOpt is - // (MUST_READ or MUST_READ_IF_MODIFIED). - // Otherwise it returns the stopInstance. + //- Find time instance where IOobject is located. + //- The name of the IOobject can be empty, in which case only the + //- IOobject::local() is checked. + //- Does not search beyond \c stopInstance (if set) or \c constant. + // If the instance cannot be found: + // - FatalError when readOpt is (MUST_READ or READ_MODIFIED) + // - returns the \c stopInstance (if set and reached) + // - return \c constant if constant_fallback is true. + // - return an empty word if constant_fallback is false. + // . virtual IOobject findInstance ( const IOobject& io, const scalar startValue, - const word& stopInstance + //! The search stop instance + const word& stopInstance, + //! Return \c "constant" instead of \c "" if the search failed + const bool constant_fallback = true ) const; //- Callback for time change diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index 89c6674f9ff..5299af8ab4b 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -85,31 +85,6 @@ namespace fileOperations // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -Foam::word -Foam::fileOperations::masterUncollatedFileOperation::findInstancePath -( - const instantList& timeDirs, - const instant& t -) -{ - // Note: - // - times will include constant (with value 0) as first element. - // For backwards compatibility make sure to find 0 in preference - // to constant. - // - list is sorted so could use binary search - - forAllReverse(timeDirs, i) - { - if (t.equal(timeDirs[i].value())) - { - return timeDirs[i].name(); - } - } - - return word(); -} - - Foam::fileName Foam::fileOperations::masterUncollatedFileOperation::filePathInfo ( @@ -216,11 +191,12 @@ Foam::fileOperations::masterUncollatedFileOperation::filePathInfo if (search && pathFnd.good()) { - newInstancePath = findInstancePath - ( - *pathFnd(), - instant(io.instance()) - ); + newInstancePath = + Time::findInstancePath + ( + *pathFnd(), + instant(io.instance()) + ); if (newInstancePath.size() && newInstancePath != io.instance()) { @@ -1423,7 +1399,8 @@ Foam::fileOperations::masterUncollatedFileOperation::findInstance ( const IOobject& startIO, const scalar startValue, - const word& stopInstance + const word& stopInstance, + const bool constant_fallback ) const { if (debug) @@ -1549,6 +1526,7 @@ Foam::fileOperations::masterUncollatedFileOperation::findInstance } else { + // At the stopInstance foundInstance = io.instance(); } break; @@ -1600,10 +1578,14 @@ Foam::fileOperations::masterUncollatedFileOperation::findInstance { failed = failureCodes::FAILED_CONSTINST; } - else + else if (constant_fallback) { foundInstance = time.constant(); } + else + { + foundInstance.clear(); + } } const_cast<masterUncollatedFileOperation&>(*this).nProcs(oldNProcs); @@ -1637,7 +1619,7 @@ Foam::fileOperations::masterUncollatedFileOperation::findInstance { FatalError << stopInstance; } - else + else // FAILED_CONSTINST { FatalError << "constant"; } @@ -1698,8 +1680,7 @@ Foam::fileOperations::masterUncollatedFileOperation::readObjects // Find similar time // Copy of Time::findInstancePath. We want to avoid the - // parallel call to findTimes. Alternative is to have - // version of findInstancePath that takes instantList ... + // parallel call to findTimes. const instantList timeDirs ( fileOperation::findTimes @@ -1709,20 +1690,20 @@ Foam::fileOperations::masterUncollatedFileOperation::readObjects ) ); - const instant t(instance); - forAllReverse(timeDirs, i) + fileName foundInst + ( + Time::findInstancePath(timeDirs, instant(instance)) + ); + + if (!foundInst.empty()) { - if (t.equal(timeDirs[i].value())) - { - objectNames = fileOperation::readObjects - ( - db, - timeDirs[i].name(), // newly found time - local, - newInstance - ); - break; - } + objectNames = fileOperation::readObjects + ( + db, + foundInst, // newly found time + local, + newInstance + ); } } diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H index c2fff0d611d..e3a8886394f 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H @@ -409,13 +409,6 @@ protected: const label comm ) const; - //- Equivalent of Time::findInstance - static word findInstancePath - ( - const instantList& timeDirs, - const instant& t - ); - //- Search (locally!) for object; return info on how it was found. // Does not do any parallel communication. // checkGlobal : also check undecomposed case @@ -754,15 +747,24 @@ public: //- Get sorted list of times virtual instantList findTimes(const fileName&, const word&) const; - //- Find instance where IOobject is. - // FatalError if it cannot be found and readOpt is - // (MUST_READ or MUST_READ_IF_MODIFIED). - // Otherwise it returns the stopInstance. + //- Find time instance where IOobject is located. + //- The name of the IOobject can be empty, in which case only the + //- IOobject::local() is checked. + //- Does not search beyond \c stopInstance (if set) or \c constant. + // If the instance cannot be found: + // - FatalError when readOpt is (MUST_READ or READ_MODIFIED) + // - returns the \c stopInstance (if set and reached) + // - return \c constant if constant_fallback is true. + // - return an empty word if constant_fallback is false. + // . virtual IOobject findInstance ( const IOobject& io, const scalar startValue, - const word& stopInstance + //! The search stop instance + const word& stopInstance, + //! Return \c "constant" instead of \c "" if the search failed + const bool constant_fallback = true ) const; //- Callback for time change diff --git a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C index 6278d087029..180783d578c 100644 --- a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C @@ -537,7 +537,8 @@ Foam::fileNameList Foam::fileOperations::uncollatedFileOperation::readObjects if (newInstance.empty()) { // Find similar time - fileName newInst = db.time().findInstancePath(instant(instance)); + word newInst = db.time().findInstancePath(instant(instance)); + if (!newInst.empty() && newInst != instance) { // Try with new time diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C index 13828bfa9aa..d982b7a8634 100644 --- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C +++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C @@ -236,7 +236,9 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance ( io.local(), word::null, - IOobject::READ_IF_PRESENT + IOobject::READ_IF_PRESENT, + word::null, // No stop instance + false // No "constant" fallback (word::null instead) ) ); -- GitLab From 752ab418c96412ee0fae9cea7f6518ce4a32240b Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Thu, 11 Apr 2024 09:31:27 +0100 Subject: [PATCH 125/231] COMP: avoid ambiguous type conversion in Clang (fixes #3138) --- src/OpenFOAM/primitives/traits/oneI.H | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/OpenFOAM/primitives/traits/oneI.H b/src/OpenFOAM/primitives/traits/oneI.H index 8d1d08b6290..4ff522c9d36 100644 --- a/src/OpenFOAM/primitives/traits/oneI.H +++ b/src/OpenFOAM/primitives/traits/oneI.H @@ -94,7 +94,7 @@ inline constexpr const one& operator/(const one& o, const one&) noexcept template<class Type> inline Type operator/(const one&, const Type& val) { - return scalar(1)/val; + return Type(scalar(1)/val); } template<class Type> @@ -111,13 +111,13 @@ inline constexpr const one& min(const one& o, const one&) noexcept template<class Type> inline Type min(const one&, const Type& t) noexcept { - return min(scalar(1), t); + return Type(min(scalar(1), t)); } template<class Type> inline Type min(const Type& t, const one&) noexcept { - return min(t, scalar(1)); + return Type(min(t, scalar(1))); } inline constexpr const one& max(const one& o, const one&) noexcept @@ -128,13 +128,13 @@ inline constexpr const one& max(const one& o, const one&) noexcept template<class Type> inline Type max(const one&, const Type& t) noexcept { - return max(scalar(1), t); + return Type(max(scalar(1), t)); } template<class Type> inline Type max(const Type& t, const one&) noexcept { - return max(t, scalar(1)); + return Type(max(t, scalar(1))); } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -- GitLab From 6546dd3f5b02a0db8d3537862cdc49af2d99e829 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 15 Apr 2024 16:49:45 +0100 Subject: [PATCH 126/231] BUG: redistributePar: bypassing reading remote file. See #3137. - NewIFstream would read complete remote file to decide if was collated. - This limits files to 31bit size - Instead now have master-only opening of file. - Still has problem with refinement history/cellLevel etc. --- .../redistributePar/loadOrCreateMesh.C | 100 +++++++++++++++--- 1 file changed, 88 insertions(+), 12 deletions(-) diff --git a/applications/utilities/parallelProcessing/redistributePar/loadOrCreateMesh.C b/applications/utilities/parallelProcessing/redistributePar/loadOrCreateMesh.C index 4b173340d36..3e94d450da8 100644 --- a/applications/utilities/parallelProcessing/redistributePar/loadOrCreateMesh.C +++ b/applications/utilities/parallelProcessing/redistributePar/loadOrCreateMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,6 +31,7 @@ License #include "Pstream.H" #include "OSspecific.H" #include "decomposedBlockData.H" +#include "IFstream.H" // * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * // @@ -161,19 +162,54 @@ Foam::boolList Foam::haveMeshFile ( handler.filePath(runTime.path()/meshPath/meshFile) ); - bool found = handler.isFile(fName); if (returnReduceAnd(found)) // worldComm { - autoPtr<ISstream> isPtr(fileHandler().NewIFstream(fName)); - if (isPtr && isPtr->good()) + // Bit tricky: avoid having all slaves open file since this involves + // reading it on master and broadcasting it. This fails if file > 2G. + // So instead only read on master + + bool isCollated = false; + + // Note: can test only world-master. Since even host-collated will have + // same file format type for all processors + if (UPstream::master(UPstream::worldComm)) { - auto& is = *isPtr; + const bool oldParRun = UPstream::parRun(false); - IOobject io(meshFile, meshPath, runTime); - io.readHeader(is); + IFstream is(fName); + if (is.good()) + { + IOobject io(meshFile, meshPath, runTime); + io.readHeader(is); + + isCollated = decomposedBlockData::isCollatedType(io); + } + UPstream::parRun(oldParRun); + } + Pstream::broadcast(isCollated); //UPstream::worldComm + + + // Collect block-number in individual filenames (might differ + // on different processors) + if (isCollated) + { + const label nProcs = UPstream::nProcs(fileHandler().comm()); + const label myProcNo = UPstream::myProcNo(fileHandler().comm()); + + // Collect file names on master of local communicator + const fileNameList fNames + ( + Pstream::listGatherValues + ( + fName, + fileHandler().comm(), + UPstream::msgType() + ) + ); - if (decomposedBlockData::isCollatedType(io)) + // Collect local block number + label myBlockNumber = -1; { fileName path, pDir, local; procRangeType group; @@ -188,7 +224,6 @@ Foam::boolList Foam::haveMeshFile numProcs ); - label myBlockNumber = 0; if (proci == -1 && group.empty()) { // 'processorsXXX' format so contains all ranks @@ -199,12 +234,53 @@ Foam::boolList Foam::haveMeshFile { // 'processorsXXX_n-m' format so check for the // relative rank - myBlockNumber = UPstream::myProcNo(fileHandler().comm()); + myBlockNumber = myProcNo; } + } + const labelList myBlockNumbers + ( + Pstream::listGatherValues + ( + myBlockNumber, + fileHandler().comm(), + UPstream::msgType() + ) + ); + + + + // Determine for all whether the filename exists in the collated + // file. + boolList allFound(nProcs, false); + + if (UPstream::master(fileHandler().comm())) + { + // Store nBlocks and index of file that was used for nBlocks + label nBlocks = -1; + label blockRanki = -1; + forAll(fNames, ranki) + { + if + ( + blockRanki == -1 + || (fNames[ranki] != fNames[blockRanki]) + ) + { + blockRanki = ranki; + IFstream is(fNames[ranki]); + nBlocks = decomposedBlockData::getNumBlocks(is); + } - // Check if block for the local rank is inside file - found = decomposedBlockData::hasBlock(is, myBlockNumber); + allFound[ranki] = (myBlockNumbers[ranki] < nBlocks); + } } + + found = Pstream::listScatterValues + ( + allFound, + fileHandler().comm(), + UPstream::msgType() + ); } } #endif -- GitLab From 92c329a8a9daedb4ea619a82993a85eb23596053 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 12 Apr 2024 11:32:55 +0200 Subject: [PATCH 127/231] ENH: add const_cast variants for isA<> and refCast<> - an example of the new, more succinct refConstCast version: auto& abc = refConstCast<adjointVectorBoundaryCondition>(Uab); older: adjointVectorBoundaryCondition& abc = refCast<adjointVectorBoundaryCondition> ( const_cast<fvPatchVectorField&>(Uab) ); or: adjointVectorBoundaryCondition& abc = const_cast<adjointVectorBoundaryCondition&> ( refCast<const adjointVectorBoundaryCondition>(Uab) ); - an example of the new, more succinct isA_constCast version: auto* acapPtr = isA_constCast<fieldType>(abf[patchi]); if (acapPtr) { auto& acap = *acapPtr; ... } older: if (isA<fieldType>(abf[patchi])) { fieldType& acap = const_cast<fieldType&> ( refCast<const fieldType>(abf[patchi]) ); ... } STYLE: remove spurious 'const' qualifier from isA<> use --- src/OpenFOAM/db/typeInfo/typeInfo.H | 71 ++++++++++++++----- .../writeFreeSurface/writeFreeSurface.C | 12 ++-- .../freeSurfacePressureFvPatchScalarField.C | 14 ++-- .../distributedDILUPreconditioner.C | 14 ++-- .../processorColour.C | 2 +- .../surface/cutting/cuttingPlaneCuts.C | 31 ++++---- 6 files changed, 84 insertions(+), 60 deletions(-) diff --git a/src/OpenFOAM/db/typeInfo/typeInfo.H b/src/OpenFOAM/db/typeInfo/typeInfo.H index c6897a20644..5d9157d7b00 100644 --- a/src/OpenFOAM/db/typeInfo/typeInfo.H +++ b/src/OpenFOAM/db/typeInfo/typeInfo.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -24,9 +24,6 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. -Typedef - Foam::typeInfo - Description Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to cover I/O. @@ -36,18 +33,20 @@ Description type() \endcode - The reference type cast template function: + The isA functions: \code - refCast<Type>(r) + isA<Type>(obj) + isA_constCast<Type>(obj) \endcode - wraps dynamic_cast to handle failed casts and generate a FatalError. + which return const or non-const pointers to the cast object, + nullptr if cast is not possible (can be tested as a bool). - The isA function: + The reference type cast template function: \code - isA<Type>(obj) + refCast<Type>(obj) + refConstCast<Type>(obj) \endcode - returns const pointer to the cast object, nullptr if cast is not possible - (can be tested as a bool). + wraps dynamic_cast to handle failed casts and generate a FatalError. \*---------------------------------------------------------------------------*/ @@ -80,9 +79,9 @@ namespace Foam // * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * // -//- Check if dynamic_cast to \c Type is possible. -// The template types should \em not include any \c const qualifier. -// \returns const pointer to cast object, nullptr if cast is not possible +//- Attempt dynamic_cast to \c Type. +// \note The template types should \em not include any \c const qualifier. +// \return const pointer to cast object, nullptr if cast is not possible template<class Type, class U> inline const Type* isA(const U& obj) { @@ -91,6 +90,17 @@ inline const Type* isA(const U& obj) } +//- Attempt dynamic_cast to \c Type followed by a const_cast of the result. +// \note The template types should \em not include any \c const qualifier. +// \return non-const pointer to cast object, nullptr if cast is not possible +template<class Type, class U> +inline Type* isA_constCast(const U& obj) +{ + const U* p = &obj; + return const_cast<Type*>(dynamic_cast<const Type*>(p)); +} + + //- Check if typeid of the object and \c Type are identical template<class Type, class U> inline bool isType(const U& obj) @@ -139,10 +149,10 @@ inline Type& dynamicCast(U& obj, const dictionary& dict) } -//- A dynamic_cast (for references). -//- Generates a FatalError on failed casts and uses the virtual type() -//- method for error messages. -// Respects the constness of the template types. +//- A dynamic_cast (for references) to \c Type reference. +// \note Respects the constness of the template types. +// \return reference to cast object, or FatalError on failed casts +// and use the virtual type() method for error messages. template<class Type, class U> inline Type& refCast(U& obj) { @@ -161,6 +171,29 @@ inline Type& refCast(U& obj) } +//- A dynamic_cast (for const references) to \c Type reference, +//- followed by a const_cast of the result. +// \note The template types should \em not include any \c const qualifier. +// \return non-const reference to cast object, or FatalError on failed casts +// and use the virtual type() method for error messages. +template<class Type, class U> +inline Type& refConstCast(const U& obj) +{ + const U* p = &obj; + const Type* casted = dynamic_cast<const Type*>(p); + + if (!casted) + { + FatalErrorInFunction + << "Attempt to cast type " << obj.type() + << " to type " << Type::typeName + << abort(FatalError); + } + + return const_cast<Type&>(*casted); +} + + //- A dynamic_cast (for references) that generates FatalIOError on failed casts, //- uses the virtual type() method for error messages. // Respects the constness of the template types. @@ -205,6 +238,8 @@ inline Type& refCast(U& obj, const label index) } +// * * * * * * * * * * * * * * * * Functors * * * * * * * * * * * * * * * * // + //- Test if dynamic_cast to Type is possible, as a functor template<class Type> struct isAOp diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/functionObjects/writeFreeSurface/writeFreeSurface.C b/src/dynamicFaMesh/interfaceTrackingFvMesh/functionObjects/writeFreeSurface/writeFreeSurface.C index 93277dbaa33..900c223b8aa 100644 --- a/src/dynamicFaMesh/interfaceTrackingFvMesh/functionObjects/writeFreeSurface/writeFreeSurface.C +++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/functionObjects/writeFreeSurface/writeFreeSurface.C @@ -51,19 +51,15 @@ namespace functionObjects void Foam::functionObjects::writeFreeSurface::writeData() { // refCast<interfaceTrackingFvMesh> - auto* itm = - const_cast<interfaceTrackingFvMesh*> - ( - isA<interfaceTrackingFvMesh>(mesh_) - ); + auto* itm = isA_constCast<interfaceTrackingFvMesh>(mesh_); - if (!itm) + if (itm) { - // FatalError + itm->writeVTKControlPoints(); } else { - itm->writeVTKControlPoints(); + // FatalError } } diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.C b/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.C index a659bcf4c9c..0039200efd2 100644 --- a/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.C +++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.C @@ -139,22 +139,22 @@ void Foam::freeSurfacePressureFvPatchScalarField::updateCoeffs() // refCast<interfaceTrackingFvMesh> auto* itm = - const_cast<interfaceTrackingFvMesh*> + isA_constCast<interfaceTrackingFvMesh> ( - isA<interfaceTrackingFvMesh>(patch().boundaryMesh().mesh()) + patch().boundaryMesh().mesh() ); - if (!itm) - { - // FatalError - } - else + if (itm) { operator== ( pa_ + itm->freeSurfacePressureJump() ); } + else + { + // FatalError + } fixedValueFvPatchScalarField::updateCoeffs(); } diff --git a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/distributedDILUPreconditioner.C b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/distributedDILUPreconditioner.C index 0128fa3c6ae..2759e5dafa9 100644 --- a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/distributedDILUPreconditioner.C +++ b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/distributedDILUPreconditioner.C @@ -189,7 +189,7 @@ void Foam::distributedDILUPreconditioner::receive for (const label inti : selectedInterfaces) { const auto& intf = interfaces[inti].interface(); - const auto* ppp = isA<const processorLduInterface>(intf); + const auto* ppp = isA<processorLduInterface>(intf); auto& recvBuf = recvBufs_[inti]; recvBuf.resize_nocopy(interfaceBouCoeffs[inti].size()); @@ -221,7 +221,7 @@ void Foam::distributedDILUPreconditioner::send for (const label inti : selectedInterfaces) { const auto& intf = interfaces[inti].interface(); - const auto* ppp = isA<const processorLduInterface>(intf); + const auto* ppp = isA<processorLduInterface>(intf); const auto& faceCells = intf.faceCells(); auto& sendBuf = sendBufs_[inti]; @@ -581,7 +581,7 @@ Foam::distributedDILUPreconditioner::distributedDILUPreconditioner if (interfaces.set(inti)) { const auto& intf = interfaces[inti].interface(); - const auto* ppp = isA<const processorLduInterface>(intf); + const auto* ppp = isA<processorLduInterface>(intf); if (ppp) { const label nbrColour = procColours[ppp->neighbProcNo()]; @@ -603,11 +603,11 @@ Foam::distributedDILUPreconditioner::distributedDILUPreconditioner << endl; } } - else //if (isA<const cyclicAMILduInterface>(intf)) + else //if (isA<cyclicAMILduInterface>(intf)) { haveGlobalCoupled = true; - const auto* AMIpp = isA<const cyclicAMILduInterface>(intf); + const auto* AMIpp = isA<cyclicAMILduInterface>(intf); if (AMIpp) { //const auto& AMI = @@ -681,12 +681,12 @@ Foam::distributedDILUPreconditioner::distributedDILUPreconditioner const auto& intf = interfaces[inti].interface(); label nbrInti = -1; - const auto* AMIpp = isA<const cyclicAMILduInterface>(intf); + const auto* AMIpp = isA<cyclicAMILduInterface>(intf); if (AMIpp) { nbrInti = AMIpp->neighbPatchID(); } - const auto* cycpp = isA<const cyclicLduInterface>(intf); + const auto* cycpp = isA<cyclicLduInterface>(intf); if (cycpp) { nbrInti = cycpp->neighbPatchID(); diff --git a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C index b655785b1d4..c1a3888b2b7 100644 --- a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C +++ b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C @@ -279,7 +279,7 @@ Foam::label Foam::processorColour::cellColour if ( patches.set(inti) - && !isA<const processorLduInterface>(patches[inti]) + && !isA<processorLduInterface>(patches[inti]) ) { // 'global' interface. Seed faceCells with patch index diff --git a/src/sampling/surface/cutting/cuttingPlaneCuts.C b/src/sampling/surface/cutting/cuttingPlaneCuts.C index 5f5d119e681..7511c499494 100644 --- a/src/sampling/surface/cutting/cuttingPlaneCuts.C +++ b/src/sampling/surface/cutting/cuttingPlaneCuts.C @@ -160,34 +160,27 @@ Foam::label Foam::cuttingPlane::calcCellCuts } - if (debug && isA<fvMesh>(mesh)) + const fvMesh* fvMeshPtr = nullptr; + if (debug && (fvMeshPtr = isA<fvMesh>(mesh)) != nullptr) { - const auto& fvmesh = dynamicCast<const fvMesh>(mesh); - - volScalarField cCuts + auto tcellCutsDebug = volScalarField::New ( - IOobject - ( - "cuttingPlane.cellCuts", - fvmesh.time().timeName(), - fvmesh.time(), - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - fvmesh, - dimensionedScalar(dimless, Zero) + "cuttingPlane.cellCuts", + IOobjectOption::NO_REGISTER, + *fvMeshPtr, + dimensionedScalar(dimless, Foam::zero{}) ); + auto& cellCutsDebug = tcellCutsDebug.ref(); - auto& cCutsFld = cCuts.primitiveFieldRef(); + auto& fld = cellCutsDebug.primitiveFieldRef(); for (const label celli : cellCuts) { - cCutsFld[celli] = 1; + fld[celli] = 1; } - Pout<< "Writing cut types:" << cCuts.objectPath() << endl; - cCuts.write(); + Pout<< "Writing cut types:" << cellCutsDebug.objectPath() << endl; + cellCutsDebug.write(); } -- GitLab From 16dd92b38ecf6dc2c01a6209e7d4beeef4e9f8a7 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 12 Apr 2024 21:03:27 +0200 Subject: [PATCH 128/231] ENH: reduce reliance on stringListOps functions - findStrings, findMatchingStrings now mostly covered by matching intrinsics in wordRe and wordRes. Add static wordRes match() and matching() variants COMP: remove stringListOps include from objectRegistry.H - was already noted for removal (NOV-2018) --- .../finiteArea/makeFaMesh/decomposeFaFields.H | 2 +- .../foamToEnsight/checkFieldAvailability.H | 2 +- .../dataConversion/foamToVTK/foamToVTK.C | 4 +- .../changeDictionary/changeDictionary.C | 11 +- .../surfaceMeshExtract/surfaceMeshExtract.C | 1 + .../searchableSurfaceModifier/cut.C | 4 +- .../surface/surfacePatch/surfacePatch.C | 12 +- .../surfaceSplitByPatch/surfaceSplitByPatch.C | 2 +- .../functionEntries/removeEntry/removeEntry.C | 6 +- .../functionObjectList/functionObjectList.C | 2 +- .../db/objectRegistry/objectRegistry.H | 5 - .../exprDriver/exprDriverFunctions.C | 4 +- src/OpenFOAM/global/argList/argList.C | 4 +- .../primitives/strings/stringOps/stringOps.H | 8 +- .../primitives/strings/wordRes/wordRes.H | 96 +++++++++----- .../primitives/strings/wordRes/wordResI.H | 117 ++++++++++++++---- src/fileFormats/ensight/mesh/ensightMesh.C | 1 + .../fieldSelection/fieldSelection.C | 2 +- src/functionObjects/field/ddt2/ddt2.C | 9 +- .../field/externalCoupled/externalCoupled.C | 5 +- .../field/wallHeatFlux/wallHeatFlux.C | 2 +- .../field/wallShearStress/wallShearStress.C | 2 +- .../field/zeroGradient/zeroGradient.C | 9 +- .../utilities/ensightWrite/ensightWrite.C | 2 +- .../utilities/vtkWrite/vtkWrite.C | 4 +- .../ParticleErosion/ParticleErosion.C | 9 +- .../ParticleHistogram/ParticleHistogram.C | 1 - .../ParticlePostProcessing.C | 1 - .../PatchCollisionDensity.C | 1 - .../triSurfaceLoader/triSurfaceLoader.C | 10 +- .../curvatureSeparation/curvatureSeparation.C | 1 - .../sampledSet/sampledSets/sampledSets.C | 2 +- .../sampledMeshedSurface.C | 1 + .../sampledSurfaces/sampledSurfaces.C | 2 +- .../surfaceFormats/surfaceFormatsCore.C | 4 +- src/surfMesh/triSurface/triSurface.C | 3 +- 36 files changed, 233 insertions(+), 118 deletions(-) diff --git a/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H b/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H index fd5840f30ea..1e60c422d73 100644 --- a/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H +++ b/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H @@ -55,7 +55,7 @@ do bitSet haveMeshOnProc; std::unique_ptr<faMeshSubset> subsetter; - IOobjectList objects(0); + IOobjectList objects; refPtr<fileOperation> newHandler(fileOperation::NewUncollated()); diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H index 2cb2c78530d..a51456de2d8 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H @@ -26,7 +26,7 @@ forAll(meshes, regioni) { const auto& mesh = meshes[regioni]; - IOobjectList objects(0); + IOobjectList objects; if (doConvertFields && !timeDirs.empty()) { diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C index 3d69fd3595b..b831277343c 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C @@ -141,7 +141,7 @@ Note #include "pointSet.H" #include "HashOps.H" #include "regionProperties.H" -#include "stringListOps.H" +#include "stringListOps.H" // For stringListOps::findMatching() #include "Cloud.H" #include "readFields.H" @@ -780,7 +780,7 @@ int main(int argc, char *argv[]) } } - IOobjectList objects(0); + IOobjectList objects; if (doConvertFields) { diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C index 6d46b060971..b72a1c41c47 100644 --- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C +++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C @@ -80,7 +80,6 @@ Usage #include "IOobjectList.H" #include "IOPtrList.H" #include "volFields.H" -#include "stringListOps.H" #include "timeSelector.H" using namespace Foam; @@ -189,7 +188,7 @@ labelList findMatches const HashTable<wordList>& shortcuts, const wordList& shortcutNames, const wordList& thisKeys, - const keyType& key + const wordRe& key ) { labelList matches; @@ -197,20 +196,20 @@ labelList findMatches if (key.isPattern()) { // Wildcard match - matches = findStrings(key, thisKeys); + matches = wordRes::matching(key, thisKeys); } else if (shortcuts.size()) { // See if patchGroups expand to valid thisKeys - labelList indices = findStrings(key, shortcutNames); + labelList indices = wordRes::matching(key, shortcutNames); for (const label idx : indices) { const word& name = shortcutNames[idx]; const wordList& keys = shortcuts[name]; - forAll(keys, j) + for (const word& k : keys) { - const label index = thisKeys.find(keys[j]); + const label index = thisKeys.find(k); if (index != -1) { matches.append(index); diff --git a/applications/utilities/surface/surfaceMeshExtract/surfaceMeshExtract.C b/applications/utilities/surface/surfaceMeshExtract/surfaceMeshExtract.C index 21a9a20fc7d..3387ad26411 100644 --- a/applications/utilities/surface/surfaceMeshExtract/surfaceMeshExtract.C +++ b/applications/utilities/surface/surfaceMeshExtract/surfaceMeshExtract.C @@ -51,6 +51,7 @@ Description #include "emptyPolyPatch.H" #include "processorPolyPatch.H" #include "ListListOps.H" +#include "stringListOps.H" // For stringListOps::findMatching() #include "indirectPrimitivePatch.H" #include "globalMeshData.H" #include "globalIndex.H" diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C index 247b33116a8..465da8e412a 100644 --- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C +++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2014 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -294,7 +294,7 @@ bool Foam::searchableSurfaceModifiers::cut::modify // Find the surfaces to cut with for (const wordRe& cutterName : cutterNames_) { - labelList geomIDs = findStrings(cutterName, geometry_.names()); + labelList geomIDs = wordRes::matching(cutterName, geometry_.names()); for (const label geomI : geomIDs) { diff --git a/applications/utilities/surface/surfacePatch/surfacePatch.C b/applications/utilities/surface/surfacePatch/surfacePatch.C index 0a2ea07db3a..c07d22603a0 100644 --- a/applications/utilities/surface/surfacePatch/surfacePatch.C +++ b/applications/utilities/surface/surfacePatch/surfacePatch.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -130,9 +130,14 @@ int main(int argc, char *argv[]) for (const entry& e : regionsDict) { - const keyType& regionName = e.keyword(); + const wordRe regionName(e.keyword()); const dictionary& regionDict = e.dict(); + labelList regionIDs + ( + wordRes::matching(regionName, surf.regions()) + ); + autoPtr<searchableSurfaceModifier> modifier ( searchableSurfaceModifier::New @@ -143,9 +148,6 @@ int main(int argc, char *argv[]) ) ); - labelList regionIDs = - findStrings(regionName, surf.regions()); - if (modifier().modify(regionIDs, surf)) { changed = true; diff --git a/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C b/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C index e4674a5b639..6bcd3b20ea4 100644 --- a/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C +++ b/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C @@ -56,7 +56,7 @@ Usage #include "argList.H" #include "MeshedSurfaces.H" -#include "stringListOps.H" +#include "stringListOps.H" // For stringListOps::findMatching() #include "geometricSurfacePatch.H" using namespace Foam; diff --git a/src/OpenFOAM/db/dictionary/functionEntries/removeEntry/removeEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/removeEntry/removeEntry.C index 2126d797e3f..3a3846080b9 100644 --- a/src/OpenFOAM/db/dictionary/functionEntries/removeEntry/removeEntry.C +++ b/src/OpenFOAM/db/dictionary/functionEntries/removeEntry/removeEntry.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,7 @@ License #include "removeEntry.H" #include "dictionary.H" -#include "stringListOps.H" +#include "wordRes.H" #include "addToMemberFunctionSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -75,7 +75,7 @@ bool Foam::functionEntries::removeEntry::execute { // Remove by pattern const wordList dictKeys = parentDict.toc(); - const labelList indices = findStrings(key, dictKeys); + const labelList indices = wordRes::matching(key, dictKeys); for (const auto idx : indices) { diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C index c9b108be34f..806e9659b46 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C +++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C @@ -822,7 +822,7 @@ bool Foam::functionObjectList::execute { for (functionObject& funcObj : functions()) { - if (stringOps::match(functionNames, funcObj.name())) + if (wordRes::match(functionNames, funcObj.name())) { // Probably do not need try/catch... diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.H b/src/OpenFOAM/db/objectRegistry/objectRegistry.H index 957eb5fb1ed..9fed2b2c2c9 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.H +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.H @@ -46,11 +46,6 @@ SourceFiles #include "wordRes.H" #include "Pair.H" -// Historically included by objectRegistryTemplates (until NOV-2018), -// but not used by objectRegistry directly. -// Leave here for now to avoid a missing include in other bits of code. -#include "stringListOps.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam diff --git a/src/OpenFOAM/expressions/exprDriver/exprDriverFunctions.C b/src/OpenFOAM/expressions/exprDriver/exprDriverFunctions.C index f1d0096a15e..9618e51bcdd 100644 --- a/src/OpenFOAM/expressions/exprDriver/exprDriverFunctions.C +++ b/src/OpenFOAM/expressions/exprDriver/exprDriverFunctions.C @@ -42,8 +42,8 @@ static wordHashSet getAcceptableFunctionKeys const bool report = false ) { - wordHashSet acceptKeys(0); - wordHashSet rejectKeys(0); + wordHashSet acceptKeys; + wordHashSet rejectKeys; if (!dictPtr) { diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index 021abff1575..7f6966855a7 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1476,7 +1476,7 @@ void Foam::argList::parse { labelList matched ( - findMatchingStrings(hostRoot.first(), hostMachine) + wordRes::matching(hostRoot.first(), hostMachine) ); for (const label matchi : matched) { diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOps.H b/src/OpenFOAM/primitives/strings/stringOps/stringOps.H index 11807754ba3..8f8a7a110cf 100644 --- a/src/OpenFOAM/primitives/strings/stringOps/stringOps.H +++ b/src/OpenFOAM/primitives/strings/stringOps/stringOps.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2012 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -70,10 +70,10 @@ namespace stringOps //- Count the number of occurrences of the specified character std::string::size_type count(const std::string& s, const char c); - //- Return true if text matches one of the regular expressions. - inline bool match(const UList<wordRe>& patterns, const std::string& text) + //- True if text matches one of the selector expressions + inline bool match(const UList<wordRe>& selectors, const std::string& text) { - return wordRes::matcher(patterns)(text); + return wordRes::match(selectors, text); } //- Quote any meta-characters in given string diff --git a/src/OpenFOAM/primitives/strings/wordRes/wordRes.H b/src/OpenFOAM/primitives/strings/wordRes/wordRes.H index e665f4d52dc..f106b2c5981 100644 --- a/src/OpenFOAM/primitives/strings/wordRes/wordRes.H +++ b/src/OpenFOAM/primitives/strings/wordRes/wordRes.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -67,24 +67,13 @@ class wordRes ( const UList<wordRe>& selectors, const std::string& text, - const bool literal=false - ); - - //- Smart match across entire list, returning the best match type. - // Stops on the first literal match, or continues to examine - // if a regex match occurs. - // \return wordRe::LITERAL, wordRe::REGEX on match and - // wordRe::UNKNOWN otherwise. - inline static wordRe::compOption found_matched - ( - const UList<wordRe>& selectors, - const std::string& text + const bool literal = false ); public: - // Static Data / Methods + // Static Methods //- Return a null wordRes (reference to a nullObject). //- Behaves like a empty wordRes. @@ -93,10 +82,6 @@ public: return NullObjectRef<wordRes>(); } - //- Return a wordRes with duplicate entries filtered out. - // No distinction made between literals and regular expressions. - static wordRes uniq(const UList<wordRe>& input); - // Constructors @@ -108,6 +93,60 @@ public: ~wordRes() = default; + // Static Functions + + //- Return a wordRes with duplicate entries filtered out. + // No distinction made between literals and regular expressions. + static wordRes uniq(const UList<wordRe>& input); + + //- Test for a match + inline static bool match + ( + const UList<wordRe>& selectors, + const std::string& text, + bool literal = false + ); + + //- Smart match across entire list, returning the best match type. + // Stops on the first literal match, or continues to examine + // if a regex match occurs. + // \return wordRe::LITERAL, wordRe::REGEX on match and + // wordRe::UNKNOWN otherwise. + inline static wordRe::compOption matched + ( + const UList<wordRe>& selectors, + const std::string& text + ); + + //- Determine the list indices for all matches. + // + // \return indices of the matches in the input list + template<class StringType> + inline static labelList matching + ( + //! A single literal or pattern matcher + const wordRe& select, + //! List of string inputs to match against + const UList<StringType>& input, + //! Invert the matching logic + const bool invert = false + ); + + //- Determine the list indices for all matches. + // + // \return indices of the matches in the input list + template<class StringType> + inline static labelList matching + ( + //! The list of matchers + const UList<wordRe>& selectors, + //! List of string inputs to match against + const UList<StringType>& input, + //! Invert the matching logic + const bool invert = false + ); + + // Member Functions //- Filter out duplicate entries (inplace). @@ -128,16 +167,16 @@ public: // UNKNOWN otherwise. inline wordRe::compOption matched(const std::string& text) const; - //- Return list indices for all matches. + //- Determine the list indices for all matches. // - // \param input A list of string inputs to match against - // \param invert invert the matching logic // \return indices of the matches in the input list template<class StringType> inline labelList matching ( + //! List of string inputs to match against const UList<StringType>& input, - const bool invert=false + //! Invert the matching logic + const bool invert = false ) const; @@ -152,18 +191,19 @@ public: //- Functor wrapper of a list of wordRe for matching struct matcher { - //- Construct with 'allow' matcher - inline matcher(const UList<wordRe>& allow); + //- Construct with \em select matcher(s) + inline explicit matcher(const UList<wordRe>& selectors) noexcept; - //- Nothing defined + //- No selectors defined inline bool empty() const noexcept; - //- True if text matches ANY of the entries. + //- True if text matches ANY of the selectors. + //- Always false if entries are empty. // Allows use as a predicate. inline bool operator()(const std::string& text) const; private: - const UList<wordRe>& allow_; + const UList<wordRe>& select_; }; @@ -188,7 +228,7 @@ public: ( const UList<wordRe>& allow, const UList<wordRe>& deny - ); + ) noexcept; //- Nothing defined inline bool empty() const noexcept; diff --git a/src/OpenFOAM/primitives/strings/wordRes/wordResI.H b/src/OpenFOAM/primitives/strings/wordRes/wordResI.H index 2b72076d961..d8a4a1d4343 100644 --- a/src/OpenFOAM/primitives/strings/wordRes/wordResI.H +++ b/src/OpenFOAM/primitives/strings/wordRes/wordResI.H @@ -48,7 +48,27 @@ inline Foam::label Foam::wordRes::first_match } -inline Foam::wordRe::compOption Foam::wordRes::found_matched +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +inline bool Foam::wordRes::match +( + const UList<wordRe>& selectors, + const std::string& text, + bool literal +) +{ + for (const wordRe& select : selectors) + { + if (select.match(text, literal)) + { + return true; + } + } + return false; +} + + +inline Foam::wordRe::compOption Foam::wordRes::matched ( const UList<wordRe>& selectors, const std::string& text @@ -80,36 +100,59 @@ inline Foam::wordRe::compOption Foam::wordRes::found_matched } -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -inline bool Foam::wordRes::match(const std::string& text, bool literal) const +template<class StringType> +inline Foam::labelList Foam::wordRes::matching +( + const wordRe& select, + const UList<StringType>& input, + const bool invert +) { - return (first_match(*this, text, literal) >= 0); -} + if (select.empty() && !invert) + { + return labelList(); + } + const label len = input.size(); -inline Foam::wordRe::compOption -Foam::wordRes::matched(const std::string& text) const -{ - return found_matched(*this, text); + labelList indices(len); + + label count = 0; + for (label i = 0; i < len; ++i) + { + if (select.match(input[i]) ? !invert : invert) + { + indices[count] = i; + ++count; + } + } + indices.resize(count); + + return indices; } template<class StringType> inline Foam::labelList Foam::wordRes::matching ( + const UList<wordRe>& selectors, const UList<StringType>& input, const bool invert -) const +) { + if (selectors.empty() && !invert) + { + return labelList(); + } + const label len = input.size(); labelList indices(len); label count = 0; - for (label i=0; i < len; ++i) + for (label i = 0; i < len; ++i) { - if (match(input[i]) ? !invert : invert) + if (wordRes::match(selectors, input[i]) ? !invert : invert) { indices[count] = i; ++count; @@ -121,11 +164,37 @@ inline Foam::labelList Foam::wordRes::matching } +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +inline bool Foam::wordRes::match(const std::string& text, bool literal) const +{ + return wordRes::match(*this, text, literal); +} + + +inline Foam::wordRe::compOption +Foam::wordRes::matched(const std::string& text) const +{ + return wordRes::matched(*this, text); +} + + +template<class StringType> +inline Foam::labelList Foam::wordRes::matching +( + const UList<StringType>& input, + const bool invert +) const +{ + return wordRes::matching(*this, input, invert); +} + + // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // inline bool Foam::wordRes::operator()(const std::string& text) const { - return (wordRes::first_match(*this, text) >= 0); + return wordRes::match(*this, text); } @@ -133,10 +202,10 @@ inline bool Foam::wordRes::operator()(const std::string& text) const inline Foam::wordRes::matcher::matcher ( - const UList<wordRe>& allow -) + const UList<wordRe>& selectors +) noexcept : - allow_(allow) + select_(selectors) {} @@ -144,7 +213,7 @@ inline Foam::wordRes::filter::filter ( const UList<wordRe>& allow, const UList<wordRe>& deny -) +) noexcept : allow_(allow), deny_(deny) @@ -153,7 +222,7 @@ inline Foam::wordRes::filter::filter inline bool Foam::wordRes::matcher::empty() const noexcept { - return allow_.empty(); + return select_.empty(); } inline bool Foam::wordRes::filter::empty() const noexcept @@ -164,7 +233,7 @@ inline bool Foam::wordRes::filter::empty() const noexcept inline bool Foam::wordRes::matcher::operator()(const std::string& text) const { - return (wordRes::first_match(allow_, text) >= 0); + return wordRes::match(select_, text); } @@ -173,17 +242,17 @@ inline bool Foam::wordRes::filter::operator()(const std::string& text) const if (allow_.empty()) { // No allow specified, so accept everything that is NOT blocked - return (deny_.empty() || (wordRes::first_match(deny_, text) < 0)); + return (deny_.empty() || !wordRes::match(deny_, text)); } else if (deny_.empty()) { // Nothing blocked, apply accept filter - return (wordRes::first_match(allow_, text) >= 0); + return wordRes::match(allow_, text); } else { // Both accept and deny filters, need to search more carefully - const auto result = wordRes::found_matched(allow_, text); + const auto result = wordRes::matched(allow_, text); return ( @@ -192,7 +261,7 @@ inline bool Foam::wordRes::filter::operator()(const std::string& text) const : ( result == wordRe::REGEX - && (wordRes::first_match(deny_, text) < 0) + && !wordRes::match(deny_, text) ) ); } diff --git a/src/fileFormats/ensight/mesh/ensightMesh.C b/src/fileFormats/ensight/mesh/ensightMesh.C index d57478fa2d8..233bb449d64 100644 --- a/src/fileFormats/ensight/mesh/ensightMesh.C +++ b/src/fileFormats/ensight/mesh/ensightMesh.C @@ -31,6 +31,7 @@ License #include "polyMesh.H" #include "emptyPolyPatch.H" #include "processorPolyPatch.H" +#include "stringListOps.H" // For stringListOps::findMatching() // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/finiteVolume/functionObjects/fieldSelections/fieldSelection/fieldSelection.C b/src/finiteVolume/functionObjects/fieldSelections/fieldSelection/fieldSelection.C index a570ebdebd0..f07e1afc6d0 100644 --- a/src/finiteVolume/functionObjects/fieldSelections/fieldSelection/fieldSelection.C +++ b/src/finiteVolume/functionObjects/fieldSelections/fieldSelection/fieldSelection.C @@ -136,7 +136,7 @@ bool Foam::functionObjects::fieldSelection::resetFieldFilters bool Foam::functionObjects::fieldSelection::read(const dictionary& dict) { - HashSet<wordRe> fields(0); + HashSet<wordRe> fields; dict.readEntry("fields", fields); return resetFieldFilters(fields); diff --git a/src/functionObjects/field/ddt2/ddt2.C b/src/functionObjects/field/ddt2/ddt2.C index 0cdc3252977..c4f8f83dc26 100644 --- a/src/functionObjects/field/ddt2/ddt2.C +++ b/src/functionObjects/field/ddt2/ddt2.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,7 +27,6 @@ License #include "ddt2.H" #include "stringOps.H" -#include "stringListOps.H" #include "volFields.H" #include "dictionary.H" #include "wordRes.H" @@ -173,7 +172,11 @@ bool Foam::functionObjects::ddt2::execute() { results_.clear(); - wordHashSet candidates(subsetStrings(selectFields_, mesh_.names())); + wordHashSet candidates + ( + mesh_.names(selectFields_) + ); + DynamicList<word> missing(selectFields_.size()); DynamicList<word> ignored(selectFields_.size()); diff --git a/src/functionObjects/field/externalCoupled/externalCoupled.C b/src/functionObjects/field/externalCoupled/externalCoupled.C index fb91a1c315b..5b69105194e 100644 --- a/src/functionObjects/field/externalCoupled/externalCoupled.C +++ b/src/functionObjects/field/externalCoupled/externalCoupled.C @@ -581,7 +581,10 @@ bool Foam::functionObjects::externalCoupled::read(const dictionary& dict) const wordRe regionGroupName(dEntry.keyword()); const dictionary& regionDict = dEntry.dict(); - labelList regionIDs = findStrings(regionGroupName, allRegionNames); + labelList regionIDs + ( + wordRes::matching(regionGroupName, allRegionNames) + ); const wordList regionNames(allRegionNames, regionIDs); diff --git a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C index 3235b4cbc55..70618231d07 100644 --- a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C +++ b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C @@ -146,7 +146,7 @@ bool Foam::functionObjects::wallHeatFlux::read(const dictionary& dict) dict.readIfPresent("qr", qrName_); wordRes patchNames; - labelHashSet patchSet(0); + labelHashSet patchSet; if (dict.readIfPresent("patches", patchNames) && !patchNames.empty()) { patchSet = pbm.patchSet(patchNames); diff --git a/src/functionObjects/field/wallShearStress/wallShearStress.C b/src/functionObjects/field/wallShearStress/wallShearStress.C index 6fd8853dcc5..1a7325e03f9 100644 --- a/src/functionObjects/field/wallShearStress/wallShearStress.C +++ b/src/functionObjects/field/wallShearStress/wallShearStress.C @@ -131,7 +131,7 @@ bool Foam::functionObjects::wallShearStress::read(const dictionary& dict) const polyBoundaryMesh& pbm = mesh_.boundaryMesh(); wordRes patchNames; - labelHashSet patchSet(0); + labelHashSet patchSet; if (dict.readIfPresent("patches", patchNames) && !patchNames.empty()) { patchSet = pbm.patchSet(patchNames); diff --git a/src/functionObjects/field/zeroGradient/zeroGradient.C b/src/functionObjects/field/zeroGradient/zeroGradient.C index d0b953252e0..ba0977f6582 100644 --- a/src/functionObjects/field/zeroGradient/zeroGradient.C +++ b/src/functionObjects/field/zeroGradient/zeroGradient.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "zeroGradient.H" -#include "stringListOps.H" #include "volFields.H" #include "dictionary.H" #include "wordRes.H" @@ -135,7 +134,11 @@ bool Foam::functionObjects::zeroGradient::execute() { results_.clear(); - wordHashSet candidates(subsetStrings(selectFields_, mesh_.names())); + wordHashSet candidates + ( + mesh_.names(selectFields_) + ); + DynamicList<word> missing(selectFields_.size()); DynamicList<word> ignored(selectFields_.size()); diff --git a/src/functionObjects/utilities/ensightWrite/ensightWrite.C b/src/functionObjects/utilities/ensightWrite/ensightWrite.C index 7b203564170..fcbca27eeb9 100644 --- a/src/functionObjects/utilities/ensightWrite/ensightWrite.C +++ b/src/functionObjects/utilities/ensightWrite/ensightWrite.C @@ -244,7 +244,7 @@ bool Foam::functionObjects::ensightWrite::write() // Output fields MUST be specified to avoid accidentally // writing everything. Can still use ".*" for everything - wordHashSet candidateNames(0); + wordHashSet candidateNames; if (!selectFields_.empty()) { diff --git a/src/functionObjects/utilities/vtkWrite/vtkWrite.C b/src/functionObjects/utilities/vtkWrite/vtkWrite.C index ed322d5180c..6d808a1e903 100644 --- a/src/functionObjects/utilities/vtkWrite/vtkWrite.C +++ b/src/functionObjects/utilities/vtkWrite/vtkWrite.C @@ -29,7 +29,7 @@ License #include "dictionary.H" #include "Time.H" #include "areaFields.H" -#include "stringListOps.H" +#include "stringListOps.H" // For stringListOps::foundOp() #include "foamVtkInternalWriter.H" #include "foamVtkPatchWriter.H" #include "foamVtkSeriesWriter.H" @@ -304,7 +304,7 @@ bool Foam::functionObjects::vtkWrite::write() // Output fields MUST be specified to avoid accidentally // writing everything. Can still use ".*" for everything - wordHashSet candidateNames(0); + wordHashSet candidateNames; if (!selectFields_.empty()) { diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C index df282484581..9eba501588b 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C @@ -27,6 +27,7 @@ License \*---------------------------------------------------------------------------*/ #include "ParticleErosion.H" +#include "wordRes.H" // * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // @@ -110,15 +111,15 @@ Foam::ParticleErosion<CloudType>::ParticleErosion ); labelHashSet uniqIds; - for (const wordRe& re : patchNames) + for (const wordRe& select : patchNames) { - labelList ids = findMatchingStrings(re, allPatchNames); + labelList ids = wordRes::matching(select, allPatchNames); if (ids.empty()) { WarningInFunction - << "Cannot find any patch names matching " << re - << endl; + << "Cannot find any patch names matching " + << select << nl; } uniqIds.insert(ids); diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleHistogram/ParticleHistogram.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleHistogram/ParticleHistogram.C index 437db3429c6..9fff625561a 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleHistogram/ParticleHistogram.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleHistogram/ParticleHistogram.C @@ -27,7 +27,6 @@ License #include "ParticleHistogram.H" #include "Pstream.H" -#include "stringListOps.H" #include "ListOps.H" #include "ListListOps.H" diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticlePostProcessing/ParticlePostProcessing.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticlePostProcessing/ParticlePostProcessing.C index 77e03bf659c..9703067440b 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticlePostProcessing/ParticlePostProcessing.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticlePostProcessing/ParticlePostProcessing.C @@ -28,7 +28,6 @@ License #include "ParticlePostProcessing.H" #include "Pstream.H" -#include "stringListOps.H" #include "ListOps.H" #include "ListListOps.H" diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchCollisionDensity/PatchCollisionDensity.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchCollisionDensity/PatchCollisionDensity.C index 170fd968c2d..68c3e804bba 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchCollisionDensity/PatchCollisionDensity.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchCollisionDensity/PatchCollisionDensity.C @@ -28,7 +28,6 @@ License #include "PatchCollisionDensity.H" #include "Pstream.H" -#include "stringListOps.H" #include "ListOps.H" #include "ListListOps.H" diff --git a/src/meshTools/triSurface/triSurfaceLoader/triSurfaceLoader.C b/src/meshTools/triSurface/triSurfaceLoader/triSurfaceLoader.C index 41fd1f783e6..e552d61cece 100644 --- a/src/meshTools/triSurface/triSurfaceLoader/triSurfaceLoader.C +++ b/src/meshTools/triSurface/triSurfaceLoader/triSurfaceLoader.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -106,7 +106,7 @@ Foam::label Foam::triSurfaceLoader::select(const word& name) if (available_.found(name)) { selected_.resize(1); - selected_.first() = name; + selected_.front() = name; } else { @@ -121,14 +121,14 @@ Foam::label Foam::triSurfaceLoader::select(const wordRe& mat) { if (mat.isPattern()) { - labelList foundIds = findStrings(mat, available_); + labelList foundIds = wordRes::matching(mat, available_); Foam::sort(foundIds); selected_ = wordList(available_, foundIds); } else if (available_.found(static_cast<const word&>(mat))) { selected_.resize(1); - selected_.first() = mat; + selected_.front() = mat; } else { @@ -162,7 +162,7 @@ Foam::label Foam::triSurfaceLoader::select(const UList<wordRe>& matcher) { if (mat.isPattern()) { - labelList indices = findStrings(mat, available_); + labelList indices = wordRes::matching(mat, available_); Foam::sort(indices); for (const label idx : indices) diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C index 6cf20ab7bc0..da3827b43a5 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C @@ -35,7 +35,6 @@ License #include "surfaceInterpolate.H" #include "fvcDiv.H" #include "fvcGrad.H" -#include "stringListOps.H" #include "cyclicPolyPatch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/sampling/sampledSet/sampledSets/sampledSets.C b/src/sampling/sampledSet/sampledSets/sampledSets.C index f8b8ea35b04..16b9b69479b 100644 --- a/src/sampling/sampledSet/sampledSets/sampledSets.C +++ b/src/sampling/sampledSet/sampledSets/sampledSets.C @@ -174,7 +174,7 @@ Foam::IOobjectList Foam::sampledSets::preCheckFields(unsigned request) wordList allFields; // Just needed for warnings HashTable<wordHashSet> selected; - IOobjectList objects(0); + IOobjectList objects; if (loadFromFiles_) { diff --git a/src/sampling/sampledSurface/sampledMeshedSurface/sampledMeshedSurface.C b/src/sampling/sampledSurface/sampledMeshedSurface/sampledMeshedSurface.C index 2cce5342e29..d095b5081d5 100644 --- a/src/sampling/sampledSurface/sampledMeshedSurface/sampledMeshedSurface.C +++ b/src/sampling/sampledSurface/sampledMeshedSurface/sampledMeshedSurface.C @@ -34,6 +34,7 @@ License #include "treeDataFace.H" #include "meshTools.H" #include "addToRunTimeSelectionTable.H" +#include "stringListOps.H" // For stringListOps::findMatching() // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C index e6e912f6b07..b46ab90e475 100644 --- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C +++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C @@ -75,7 +75,7 @@ Foam::IOobjectList Foam::sampledSurfaces::preCheckFields() wordList allFields; // Just needed for warnings HashTable<wordHashSet> selected; - IOobjectList objects(0); + IOobjectList objects; if (loadFromFiles_) { diff --git a/src/surfMesh/surfaceFormats/surfaceFormatsCore.C b/src/surfMesh/surfaceFormats/surfaceFormatsCore.C index 7b852cb3c16..f95129a18ee 100644 --- a/src/surfMesh/surfaceFormats/surfaceFormatsCore.C +++ b/src/surfMesh/surfaceFormats/surfaceFormatsCore.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2012 OpenFOAM Foundation - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,7 +30,7 @@ License #include "Time.H" #include "ListOps.H" #include "surfMesh.H" -#include "stringListOps.H" +#include "stringListOps.H" // For stringListOps::findMatching() // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/surfMesh/triSurface/triSurface.C b/src/surfMesh/triSurface/triSurface.C index 984b995a7e9..efb0c92a8ec 100644 --- a/src/surfMesh/triSurface/triSurface.C +++ b/src/surfMesh/triSurface/triSurface.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,6 +31,7 @@ License #include "surfZoneList.H" #include "MeshedSurface.H" #include "ListOps.H" +#include "stringListOps.H" // For stringListOps::findMatching() // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -- GitLab From 75e19c31160d557685be4c53e897c6c217881641 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 15 Apr 2024 12:44:56 +0200 Subject: [PATCH 129/231] REGRESSION: distributedTriSurfaceMesh:::findLocalInstance failure (#3135) - after the modification of d578d48a4f8c, the parent was now actually searched. However, should be returning "constant" and not trigger a FatalError if the file/directory is not found. --- .../distributedTriSurfaceMesh.C | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C index d982b7a8634..647b5ce1126 100644 --- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C +++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C @@ -230,6 +230,7 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance ) { // Modified findInstance which also looks in parent directory + word instance ( io.time().findInstance @@ -237,8 +238,8 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance io.local(), word::null, IOobject::READ_IF_PRESENT, - word::null, // No stop instance - false // No "constant" fallback (word::null instead) + word::null, // No stop instance + !UPstream::parRun() // Fallback to "constant" for non-parallel ) ); @@ -248,6 +249,8 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance } + // The rest of this code is only when parRun == true ... + // Replicate findInstance operation but now on parent directory // Search in parent directory @@ -262,24 +265,27 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance return io.instance(); } - instantList ts = io.time().times(); - label instanceI; const scalar startValue = io.time().timeOutputValue(); - for (instanceI = ts.size()-1; instanceI >= 0; --instanceI) + instantList ts = io.time().times(); + + label instIndex = ts.size()-1; + + // Backward search for first time that is <= startValue + for (; instIndex >= 0; --instIndex) { - if (ts[instanceI].value() <= startValue) + if (ts[instIndex].value() <= startValue) { break; } } - // continue searching from here - for (; instanceI >= 0; --instanceI) + // Continue searching from here + for (; instIndex >= 0; --instIndex) { // Shortcut: if actual directory is the timeName we've already tested it - if (ts[instanceI].name() == io.instance()) + if (ts[instIndex].name() == io.instance()) { continue; } @@ -287,12 +293,12 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance parentDir = ( io.rootPath()/io.globalCaseName() - /ts[instanceI].name()/io.db().dbDir()/io.local()/io.name() + /ts[instIndex].name()/io.db().dbDir()/io.local()/io.name() ); if (fileHandler().isDir(parentDir)) { - return ts[instanceI].name(); + return ts[instIndex].name(); } } @@ -319,11 +325,15 @@ Foam::word Foam::distributedTriSurfaceMesh::findLocalInstance } } - FatalErrorInFunction - << "Cannot find directory " << io.local() << " in times " << ts - << exit(FatalError); + // FatalErrorInFunction + // << "Cannot find directory " << io.local() << " in times " << ts + // << exit(FatalError); + // + // return word::null; - return word::null; + // Nothing found in parent? + // - treat like regular findInstance with "constant" fallback + return io.time().constant(); } -- GitLab From 688fd5f3f124a288b4e39e3103579dd2c61dcec4 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 10 Apr 2024 16:58:58 +0200 Subject: [PATCH 130/231] ENH: add separate handling for clearing mesh phi STYLE: update code style for phi modification (engine motion) ENH: pass isMeshUpdate param in fvMesh/polyMesh clearOut() methods - top-level use of isMeshUpdate parameter to clearOut and clearAddressing was being inadvertently filtered out --- src/OpenFOAM/meshes/polyMesh/polyMesh.C | 10 ++--- src/OpenFOAM/meshes/polyMesh/polyMesh.H | 6 +-- src/OpenFOAM/meshes/polyMesh/polyMeshClear.C | 28 ++++++------- src/OpenFOAM/meshes/polyMesh/polyMeshUpdate.C | 8 ++-- .../fvMeshDistribute/fvMeshDistribute.C | 7 ++++ .../fvMotionSolverEngineMesh.C | 22 +++++----- .../layeredEngineMesh/layeredEngineMesh.C | 22 +++++----- src/finiteVolume/fvMesh/fvMesh.C | 41 ++++++++++++------- src/finiteVolume/fvMesh/fvMesh.H | 17 ++++---- src/finiteVolume/fvMesh/fvMeshGeometry.C | 21 ++++------ 10 files changed, 98 insertions(+), 84 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C index 5aba0e0d2f4..ea17e4c706f 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C @@ -1202,12 +1202,12 @@ void Foam::polyMesh::movePoints(const pointField& newPoints) if (storeOldCellCentres_) { - oldCellCentresPtr_.clear(); + oldCellCentresPtr_.reset(nullptr); oldCellCentresPtr_.reset(new pointField(cellCentres())); } // Mesh motion in the new time step - oldPointsPtr_.clear(); + oldPointsPtr_.reset(nullptr); oldPointsPtr_.reset(new pointField(points_)); curMotionTimeIndex_ = time().timeIndex(); } @@ -1276,7 +1276,7 @@ void Foam::polyMesh::movePoints(const pointField& newPoints) // have to clear any geometry. However your critical path still stays the // same so no time would be gained (unless the decomposition gets weighted). // Small benefit for lots of scope for problems so not done. - cellTreePtr_.clear(); + cellTreePtr_.reset(nullptr); // Reset valid directions (could change with rotation) geometricD_ = Zero; @@ -1304,8 +1304,8 @@ void Foam::polyMesh::movePoints(const pointField& newPoints) void Foam::polyMesh::resetMotion() const { curMotionTimeIndex_ = 0; - oldPointsPtr_.clear(); - oldCellCentresPtr_.clear(); + oldPointsPtr_.reset(nullptr); + oldCellCentresPtr_.reset(nullptr); } diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.H b/src/OpenFOAM/meshes/polyMesh/polyMesh.H index f1331d9734d..534c4c5786c 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017, 2020 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -696,8 +696,8 @@ public: //- Clear addressing void clearAddressing(const bool isMeshUpdate = false); - //- Clear all geometry and addressing unnecessary for CFD - void clearOut(); + //- Clear all geometry and addressing + void clearOut(const bool isMeshUpdate = false); //- Clear primitive data (points, faces and cells) void clearPrimitives(); diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshClear.C b/src/OpenFOAM/meshes/polyMesh/polyMeshClear.C index a7d76831b7e..abf8ddea740 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMeshClear.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMeshClear.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -65,7 +65,7 @@ void Foam::polyMesh::clearGeom() solutionD_ = Zero; // Remove the cell tree - cellTreePtr_.clear(); + cellTreePtr_.reset(nullptr); } @@ -119,7 +119,7 @@ void Foam::polyMesh::updateGeomPoints solutionD_ = Zero; // Remove the cell tree - cellTreePtr_.clear(); + cellTreePtr_.reset(nullptr); // Update local data points_.instance() = newPoints.instance(); @@ -150,12 +150,12 @@ void Foam::polyMesh::updateGeomPoints void Foam::polyMesh::clearAddressing(const bool isMeshUpdate) { DebugInFunction - << "Clearing topology isMeshUpdate:" << isMeshUpdate << endl; + << "isMeshUpdate:" << isMeshUpdate << endl; if (isMeshUpdate) { - // Part of a mesh update. Keep meshObjects that have an updateMesh - // callback + // Part of a mesh update. + // Keep meshObjects that have an updateMesh callback meshObject::clearUpto < pointMesh, @@ -197,10 +197,10 @@ void Foam::polyMesh::clearAddressing(const bool isMeshUpdate) cellZones_.clearAddressing(); // Remove the stored tet base points - tetBasePtIsPtr_.clear(); + tetBasePtIsPtr_.reset(nullptr); // Remove the cell tree - cellTreePtr_.clear(); + cellTreePtr_.reset(nullptr); } @@ -217,10 +217,10 @@ void Foam::polyMesh::clearPrimitives() } -void Foam::polyMesh::clearOut() +void Foam::polyMesh::clearOut(const bool isMeshUpdate) { - clearGeom(); - clearAddressing(); + clearGeom(); // not implementable? isMeshUpdate + clearAddressing(isMeshUpdate); } @@ -228,15 +228,15 @@ void Foam::polyMesh::clearTetBasePtIs() { DebugInFunction << "Clearing tet base points" << endl; - tetBasePtIsPtr_.clear(); + tetBasePtIsPtr_.reset(nullptr); } void Foam::polyMesh::clearCellTree() { - DebugInFunction << "Clearing cell tree" << endl; + DebugInFunction << endl; - cellTreePtr_.clear(); + cellTreePtr_.reset(nullptr); } diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshUpdate.C b/src/OpenFOAM/meshes/polyMesh/polyMeshUpdate.C index 2d89a7ef049..f75b83302a3 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMeshUpdate.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMeshUpdate.C @@ -24,9 +24,6 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. -Description - Update the polyMesh corresponding to the given map. - \*---------------------------------------------------------------------------*/ #include "polyMesh.H" @@ -54,9 +51,10 @@ void Foam::polyMesh::updateMesh(const mapPolyMesh& mpm) cellZones_.clearAddressing(); // Remove the stored tet base points - tetBasePtIsPtr_.clear(); + tetBasePtIsPtr_.reset(nullptr); + // Remove the cell tree - cellTreePtr_.clear(); + cellTreePtr_.reset(nullptr); // Update parallel data if (globalMeshDataPtr_) diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C index ffd40037f0d..a3b18318a15 100644 --- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C +++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C @@ -2017,7 +2017,14 @@ Foam::autoPtr<Foam::mapDistributePolyMesh> Foam::fvMeshDistribute::distribute // Remove meshPhi. Since this would otherwise disappear anyway // during topo changes and we have to guarantee that all the fields // can be sent. + + // NOTE: could/should use (isMeshUpdate = true) for mesh_.clearOut() + // but the bottom level will do a clearGeom() and that doesn't seem + // to work particularly well with isMeshUpdate at all. + // re-visit if needed... + mesh_.clearOut(); + mesh_.resetMotion(); // Get data to send. Make sure is synchronised diff --git a/src/engine/engineMesh/fvMotionSolverEngineMesh/fvMotionSolverEngineMesh.C b/src/engine/engineMesh/fvMotionSolverEngineMesh/fvMotionSolverEngineMesh.C index a5b63a7ca90..2d6bedee3ae 100644 --- a/src/engine/engineMesh/fvMotionSolverEngineMesh/fvMotionSolverEngineMesh.C +++ b/src/engine/engineMesh/fvMotionSolverEngineMesh/fvMotionSolverEngineMesh.C @@ -90,28 +90,28 @@ void Foam::fvMotionSolverEngineMesh::move() motionSolver_.solve(); - if (engineDB_.foundObject<surfaceScalarField>("phi")) - { - surfaceScalarField& phi = - engineDB_.lookupObjectRef<surfaceScalarField>("phi"); - const volScalarField& rho = - engineDB_.lookupObject<volScalarField>("rho"); + auto* phiPtr = engineDB_.getObjectPtr<surfaceScalarField>("phi"); + + if (phiPtr) + { + auto& phi = *phiPtr; - const volVectorField& U = - engineDB_.lookupObject<volVectorField>("U"); + const auto& rho = engineDB_.lookupObject<volScalarField>("rho"); + const auto& U = engineDB_.lookupObject<volVectorField>("U"); - bool absolutePhi = false; - if (moving()) + const bool absolutePhi = moving(); + if (absolutePhi) { + // cf. fvc::makeAbsolute phi += fvc::interpolate(rho)*fvc::meshPhi(rho, U); - absolutePhi = true; } movePoints(motionSolver_.curPoints()); if (absolutePhi) { + // cf. fvc::makeRelative phi -= fvc::interpolate(rho)*fvc::meshPhi(rho, U); } } diff --git a/src/engine/engineMesh/layeredEngineMesh/layeredEngineMesh.C b/src/engine/engineMesh/layeredEngineMesh/layeredEngineMesh.C index 753285b438f..31575e631b3 100644 --- a/src/engine/engineMesh/layeredEngineMesh/layeredEngineMesh.C +++ b/src/engine/engineMesh/layeredEngineMesh/layeredEngineMesh.C @@ -85,28 +85,28 @@ void Foam::layeredEngineMesh::move() } } - if (engineDB_.foundObject<surfaceScalarField>("phi")) - { - surfaceScalarField& phi = - engineDB_.lookupObjectRef<surfaceScalarField>("phi"); - const volScalarField& rho = - engineDB_.lookupObject<volScalarField>("rho"); + auto* phiPtr = engineDB_.getObjectPtr<surfaceScalarField>("phi"); + + if (phiPtr) + { + auto& phi = *phiPtr; - const volVectorField& U = - engineDB_.lookupObject<volVectorField>("U"); + const auto& rho = engineDB_.lookupObject<volScalarField>("rho"); + const auto& U = engineDB_.lookupObject<volVectorField>("U"); - bool absolutePhi = false; - if (moving()) + const bool absolutePhi = moving(); + if (absolutePhi) { + // cf. fvc::makeAbsolute phi += fvc::interpolate(rho)*fvc::meshPhi(rho, U); - absolutePhi = true; } movePoints(newPoints); if (absolutePhi) { + // cf. fvc::makeRelative phi -= fvc::interpolate(rho)*fvc::meshPhi(rho, U); } } diff --git a/src/finiteVolume/fvMesh/fvMesh.C b/src/finiteVolume/fvMesh/fvMesh.C index 3b8de62d6a7..b55557f6be0 100644 --- a/src/finiteVolume/fvMesh/fvMesh.C +++ b/src/finiteVolume/fvMesh/fvMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017,2022 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -219,22 +219,30 @@ void Foam::fvMesh::storeOldVol(const scalarField& V) } -void Foam::fvMesh::clearOutLocal() +void Foam::fvMesh::clearOutLocal(const bool isMeshUpdate) { clearGeom(); surfaceInterpolation::clearOut(); - clearAddressing(); + clearAddressing(isMeshUpdate); // Clear mesh motion flux - deleteDemandDrivenData(phiPtr_); + phiPtr_.reset(nullptr); } -void Foam::fvMesh::clearOut() +void Foam::fvMesh::clearOut(const bool isMeshUpdate) { - clearOutLocal(); - polyMesh::clearOut(); + clearOutLocal(isMeshUpdate); + + polyMesh::clearOut(isMeshUpdate); +} + + +void Foam::fvMesh::clearMeshPhi() +{ + // Clear mesh motion flux + phiPtr_.reset(nullptr); } @@ -306,7 +314,7 @@ bool Foam::fvMesh::init(const bool doInit) ( rio, *this, - dimensionedScalar(dimVol, Zero) + dimensionedScalar(dimVol, Foam::zero{}) ); // Set the moving flag early in case demand-driven geometry @@ -324,11 +332,14 @@ bool Foam::fvMesh::init(const bool doInit) DebugInFunction << "Detected meshPhi: " << rio.objectRelPath() << nl; - phiPtr_ = new surfaceScalarField + // Clear mesh motion flux + phiPtr_.reset(nullptr); + + phiPtr_ = std::make_unique<surfaceScalarField> ( rio, *this, - dimensionedScalar(dimVol/dimTime, Zero) + dimensionedScalar(dimVol/dimTime, Foam::zero{}) ); // Set the moving flag early in case demand-driven geometry @@ -942,7 +953,7 @@ void Foam::fvMesh::movePoints(const pointField& p) DebugInFunction<< "Creating initial meshPhi field" << endl; // Create mesh motion flux - phiPtr_ = new surfaceScalarField + phiPtr_ = std::make_unique<surfaceScalarField> ( IOobject ( @@ -954,7 +965,7 @@ void Foam::fvMesh::movePoints(const pointField& p) IOobject::NO_REGISTER ), *this, - dimensionedScalar(dimVolume/dimTime, Zero) + dimensionedScalar(dimVolume/dimTime, Foam::zero{}) ); } else @@ -1046,10 +1057,10 @@ void Foam::fvMesh::updateMesh(const mapPolyMesh& mpm) if (phiPtr_) { // Mesh moving and topology change. Recreate meshPhi - deleteDemandDrivenData(phiPtr_); + phiPtr_.reset(nullptr); // Create mesh motion flux - phiPtr_ = new surfaceScalarField + phiPtr_ = std::make_unique<surfaceScalarField> ( IOobject ( @@ -1061,7 +1072,7 @@ void Foam::fvMesh::updateMesh(const mapPolyMesh& mpm) IOobject::NO_REGISTER ), *this, - dimensionedScalar(dimVolume/dimTime, Zero) + dimensionedScalar(dimVolume/dimTime, Foam::zero{}) ); } diff --git a/src/finiteVolume/fvMesh/fvMesh.H b/src/finiteVolume/fvMesh/fvMesh.H index 869016e6a5d..a53d90899bc 100644 --- a/src/finiteVolume/fvMesh/fvMesh.H +++ b/src/finiteVolume/fvMesh/fvMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017,2022 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -90,13 +90,13 @@ class fvMesh { protected: - // Private data + // Private Data //- Boundary mesh fvBoundaryMesh boundary_; - // Demand-driven data + // Demand-Driven Data mutable fvMeshLduAddressing* lduPtr_; @@ -128,7 +128,7 @@ protected: mutable slicedSurfaceVectorField* CfPtr_; //- Face motion fluxes - mutable surfaceScalarField* phiPtr_; + mutable std::unique_ptr<surfaceScalarField> phiPtr_; // Private Member Functions @@ -149,7 +149,7 @@ protected: void clearAddressing(const bool isMeshUpdate = false); //- Clear local-only storage (geometry, addressing etc) - void clearOutLocal(); + void clearOutLocal(const bool isMeshUpdate = false); //- Preserve old volume(s) void storeOldVol(const scalarField&); @@ -495,7 +495,7 @@ public: // Edit //- Clear all geometry and addressing - void clearOut(); + void clearOut(const bool isMeshUpdate = false); //- Update mesh corresponding to the given map virtual void updateMesh(const mapPolyMesh& mpm); @@ -517,7 +517,10 @@ public: //- these fvPatches. void removeFvBoundary(); - //- Return cell face motion fluxes (or null) + //- Clear cell face motion fluxes + void clearMeshPhi(); + + //- Return cell face motion fluxes, if any (can be nullptr) refPtr<surfaceScalarField> setPhi(); //- Return old-time cell volumes diff --git a/src/finiteVolume/fvMesh/fvMeshGeometry.C b/src/finiteVolume/fvMesh/fvMeshGeometry.C index 4b34dc5e275..57e83225127 100644 --- a/src/finiteVolume/fvMesh/fvMeshGeometry.C +++ b/src/finiteVolume/fvMesh/fvMeshGeometry.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017,2022 OpenFOAM Foundation - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -427,7 +427,7 @@ const Foam::surfaceScalarField& Foam::fvMesh::phi() const // mesh motion fluxes if the time has been incremented if (!time().subCycling() && phiPtr_->timeIndex() != time().timeIndex()) { - (*phiPtr_) = dimensionedScalar(dimVolume/dimTime, Zero); + (*phiPtr_) = dimensionedScalar(dimVolume/dimTime, Foam::zero{}); } phiPtr_->setOriented(); @@ -438,17 +438,12 @@ const Foam::surfaceScalarField& Foam::fvMesh::phi() const Foam::refPtr<Foam::surfaceScalarField> Foam::fvMesh::setPhi() { - if (!phiPtr_) - { - return nullptr; - } - else - { - // Return non-const reference - refPtr<surfaceScalarField> p; - p.ref(*phiPtr_); - return p; - } + refPtr<surfaceScalarField> phiref; + + // Return non-const reference, or nullptr if not available + phiref.ref(phiPtr_.get()); + + return phiref; } -- GitLab From 1b212789e5df3fb00c4d5162a5704fc50f36876e Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 8 Apr 2024 09:45:31 +0200 Subject: [PATCH 131/231] ENH: add MeshObject Release() static method - Delete() will perform a 'checkOut()' which does the following: * remove the object from the registry * delete the pointer (if owned by the registry) - Release() does the following: * transfer ownership of the pointer (if owned by the registry) - Store() does the following: * transfer ownership of the pointer to the registry ENH: use UPtrList of sorted objects for MeshObject updates - few allocations and lower overhead than using a HashTable, ensures the same walk order over the objects (in parallel) STYLE: adjust meshObject debug statements --- .../Test-gravityMeshObject.C | 82 +++++++- src/OpenFOAM/db/regIOobject/regIOobject.H | 4 +- src/OpenFOAM/meshes/MeshObject/MeshObject.C | 178 +++++++++++++----- src/OpenFOAM/meshes/MeshObject/MeshObject.H | 156 +++++++++------ 4 files changed, 304 insertions(+), 116 deletions(-) diff --git a/applications/test/gravityMeshObject/Test-gravityMeshObject.C b/applications/test/gravityMeshObject/Test-gravityMeshObject.C index f95a39fe49a..c6d93c7bc9d 100644 --- a/applications/test/gravityMeshObject/Test-gravityMeshObject.C +++ b/applications/test/gravityMeshObject/Test-gravityMeshObject.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -50,6 +50,9 @@ void printInfo(const meshObjects::gravity& g) int main(int argc, char *argv[]) { + argList::addBoolOption("checkout", "Test checkout with release"); + argList::addBoolOption("release", "Test release instead of delete"); + #include "setRootCase.H" #include "createTime.H" @@ -70,14 +73,81 @@ int main(int argc, char *argv[]) printInfo(g); } - Pout<< "registered:" << flatOutput(runTime.sortedToc()) << nl << endl; + Pout<< "registered:" + << flatOutput(runTime.sortedToc()) << nl << endl; + } + + std::unique_ptr<meshObjects::gravity> release1; + std::unique_ptr<meshObjects::gravity> release2; + + if (args.found("release")) + { + // Ugly! + typedef + MeshObject<Time, TopologicalMeshObject, meshObjects::gravity> + parent_type; + + release1 = meshObjects::gravity::Release("g", runTime); + release2 = meshObjects::gravity::Release("#none#", runTime); + + Info<< "release: " << Switch::name(bool(release1)) + << ", " << Switch::name(bool(release2)) << nl; + + Info<< "after Release: " + << flatOutput(runTime.sortedToc()) << endl; + + // Do checkout by hand (ugly) + if (args.found("checkout")) + { + if (release1) + { + release1->parent_type::checkOut(); + } + + if (release2) + { + release2->parent_type::checkOut(); + } + + Info<< "after checkout: " + << flatOutput(runTime.sortedToc()) << endl; + } + } + else if (args.found("checkout")) + { + // Do checkout as part of release + release1 = meshObjects::gravity::Release("g", runTime, true); + release2 = meshObjects::gravity::Release("#none#", runTime, true); + + Info<< "release: " << Switch::name(bool(release1)) + << ", " << Switch::name(bool(release2)) << nl; + + Info<< "after Release/Checkout(true) : " + << flatOutput(runTime.sortedToc()) << endl; + } + else + { + meshObjects::gravity::Delete("g", runTime); + meshObjects::gravity::Delete("#none#", runTime); + + Info<< "after Delete: " + << flatOutput(runTime.sortedToc()) << endl; } - meshObjects::gravity::Delete("g", runTime); - meshObjects::gravity::Delete("something-not-in-registry", runTime); - Info<< "after Delete" << nl; - Pout<< "registered:" << flatOutput(runTime.sortedToc()) << endl; + if (meshObjects::gravity::Store(std::move(release1))) + { + Info<< "Store pointer" << endl; + } + + if (release2) + { + release2.reset(); + Info<< "Clear pointer" << endl; + } + + Info<< "Before exit: " + << flatOutput(runTime.sortedToc()) << endl; Info<< "\nEnd\n" << endl; diff --git a/src/OpenFOAM/db/regIOobject/regIOobject.H b/src/OpenFOAM/db/regIOobject/regIOobject.H index 6dad7249ca7..76fbd3ea2ec 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobject.H +++ b/src/OpenFOAM/db/regIOobject/regIOobject.H @@ -33,8 +33,10 @@ Description SourceFiles regIOobject.C + regIOobjectI.H regIOobjectRead.C regIOobjectWrite.C + regIOobjectMetaData.C \*---------------------------------------------------------------------------*/ @@ -170,7 +172,7 @@ public: // or was newly registered bool checkIn(); - //- Remove all file watches and remove object from registry + //- Remove object from registry, and remove all file watches // \return true if object was registered and was removed bool checkOut(); diff --git a/src/OpenFOAM/meshes/MeshObject/MeshObject.C b/src/OpenFOAM/meshes/MeshObject/MeshObject.C index 26bbf42e81a..0551457350e 100644 --- a/src/OpenFOAM/meshes/MeshObject/MeshObject.C +++ b/src/OpenFOAM/meshes/MeshObject/MeshObject.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -74,8 +74,8 @@ const Type& Foam::MeshObject<Mesh, MeshObjectType, Type>::New if (meshObject::debug) { Pout<< "MeshObject::New(const " << Mesh::typeName - << "&, ...) : constructing " << Type::typeName - << " for region " << mesh.name() << endl; + << "&, ...) : constructing <" << Type::typeName + << ">, region=" << mesh.name() << endl; } ptr = new Type(mesh, std::forward<Args>(args)...); @@ -108,9 +108,8 @@ const Type& Foam::MeshObject<Mesh, MeshObjectType, Type>::New { Pout<< "MeshObject::New('" << objName << "', const " << Mesh::typeName - << "&, ...) : constructing " << objName - << " of type " << Type::typeName - << " for region " << mesh.name() << endl; + << "&, ...) : constructing <" << Type::typeName + << ">, region=" << mesh.name() << endl; } ptr = new Type(objName, mesh, std::forward<Args>(args)...); @@ -138,8 +137,8 @@ bool Foam::MeshObject<Mesh, MeshObjectType, Type>::Delete { if (meshObject::debug) { - Pout<< "MeshObject::Delete(const Mesh&) : deleting " - << objName << endl; + Pout<< "MeshObject::Delete() : deleting <" << Type::typeName + << "> " << objName << endl; } return mesh.thisDb().checkOut(static_cast<MeshObjectType<Mesh>*>(ptr)); @@ -149,31 +148,114 @@ bool Foam::MeshObject<Mesh, MeshObjectType, Type>::Delete } +template<class Mesh, template<class> class MeshObjectType, class Type> +std::unique_ptr<Type> Foam::MeshObject<Mesh, MeshObjectType, Type>::Release +( + const word& objName, + const Mesh& mesh, + const bool checkout +) +{ + Type* ptr = + mesh.thisDb().objectRegistry::template + getObjectPtr<Type>(objName); + + std::unique_ptr<Type> released; + + if (ptr) + { + auto* casted = static_cast<MeshObjectType<Mesh>*>(ptr); + + if (casted->regIOobject::ownedByRegistry()) + { + // Release ownership from registry and transfer to unique_ptr + casted->regIOobject::release(); + released.reset(ptr); + + // Allow removal from the registry (ie, checkOut) but leave its + // 'registered' status untouched since this is equivalent to + // IOobject::registerObject(). + // + // Do not use regIOobject::release(unregister) since this + // will prevent later re-storing + + if (checkout) + { + casted->regIOobject::checkOut(); + } + } + + if (meshObject::debug) + { + Pout<< "MeshObject::Release() : release <" << Type::typeName + << "> " << objName << ", owned=" << bool(released) << endl; + } + } + + return released; +} + + +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +template<class Mesh, template<class> class MeshObjectType, class Type> +bool Foam::MeshObject<Mesh, MeshObjectType, Type>::Store +( + std::unique_ptr<Type>&& ptr +) +{ + bool ok = false; + + if (ptr) + { + auto* casted = static_cast<MeshObjectType<Mesh>*>(ptr.get()); + + ok = casted->regIOobject::store(); + + if (ok) + { + // Took ownership + (void) ptr.release(); + } + + if (meshObject::debug) + { + Pout<< "MeshObject::Store() : store <" << Type::typeName + << ">, owned=" << ok << endl; + } + } + + return ok; +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + template<class Mesh> void Foam::meshObject::movePoints(objectRegistry& obr) { - HashTable<GeometricMeshObject<Mesh>*> meshObjects + UPtrList<GeometricMeshObject<Mesh>> meshObjects ( - obr.lookupClass<GeometricMeshObject<Mesh>>() + obr.sorted<GeometricMeshObject<Mesh>>() ); if (meshObject::debug) { - Pout<< "meshObject::movePoints(objectRegistry&) :" - << " moving " << Mesh::typeName - << " meshObjects for region " << obr.name() << endl; + Pout<< "meshObject::movePoints() : moving " + << meshObjects.size() << " <" << Mesh::typeName + << "> meshObjects, region=" << obr.name() << endl; } - forAllIters(meshObjects, iter) + for (auto& item : meshObjects) { - // isA<MoveableMeshObject<Mesh>> - auto* objectPtr = dynamic_cast<MoveableMeshObject<Mesh>*>(*iter); + // isA_constCast<MoveableMeshObject<Mesh>> + auto* objectPtr = dynamic_cast<MoveableMeshObject<Mesh>*>(&item); if (objectPtr) { if (meshObject::debug) { - Pout<< " Moving " << (*iter)->name() << endl; + Pout<< " Moving " << item.name() << endl; } objectPtr->movePoints(); } @@ -181,9 +263,9 @@ void Foam::meshObject::movePoints(objectRegistry& obr) { if (meshObject::debug) { - Pout<< " Destroying " << (*iter)->name() << endl; + Pout<< " Destroying " << item.name() << endl; } - obr.checkOut(*iter); + obr.checkOut(item); } } } @@ -192,28 +274,28 @@ void Foam::meshObject::movePoints(objectRegistry& obr) template<class Mesh> void Foam::meshObject::updateMesh(objectRegistry& obr, const mapPolyMesh& mpm) { - HashTable<GeometricMeshObject<Mesh>*> meshObjects + UPtrList<GeometricMeshObject<Mesh>> meshObjects ( - obr.lookupClass<GeometricMeshObject<Mesh>>() + obr.sorted<GeometricMeshObject<Mesh>>() ); if (meshObject::debug) { - Pout<< "meshObject::updateMesh(objectRegistry&, " - "const mapPolyMesh& mpm) : updating " << Mesh::typeName - << " meshObjects for region " << obr.name() << endl; + Pout<< "meshObject::updateMesh() : updating " + << meshObjects.size() << " <" << Mesh::typeName + << "> meshObjects, region=" << obr.name() << endl; } - forAllIters(meshObjects, iter) + for (auto& item : meshObjects) { - // isA<UpdateableMeshObject<Mesh>> - auto* objectPtr = dynamic_cast<UpdateableMeshObject<Mesh>*>(*iter); + // isA_constCast<UpdateableMeshObject<Mesh>> + auto* objectPtr = dynamic_cast<UpdateableMeshObject<Mesh>*>(&item); if (objectPtr) { if (meshObject::debug) { - Pout<< " Updating " << (*iter)->name() << endl; + Pout<< " Updating " << item.name() << endl; } objectPtr->updateMesh(mpm); } @@ -221,9 +303,9 @@ void Foam::meshObject::updateMesh(objectRegistry& obr, const mapPolyMesh& mpm) { if (meshObject::debug) { - Pout<< " Destroying " << (*iter)->name() << endl; + Pout<< " Destroying " << item.name() << endl; } - obr.checkOut(*iter); + obr.checkOut(item); } } } @@ -232,25 +314,25 @@ void Foam::meshObject::updateMesh(objectRegistry& obr, const mapPolyMesh& mpm) template<class Mesh, template<class> class MeshObjectType> void Foam::meshObject::clear(objectRegistry& obr) { - HashTable<MeshObjectType<Mesh>*> meshObjects + UPtrList<MeshObjectType<Mesh>> meshObjects ( - obr.lookupClass<MeshObjectType<Mesh>>() + obr.sorted<MeshObjectType<Mesh>>() ); if (meshObject::debug) { - Pout<< "meshObject::clear(objectRegistry&) :" - << " clearing " << Mesh::typeName - << " meshObjects for region " << obr.name() << endl; + Pout<< "meshObject::clear() : clearing " + << meshObjects.size() << " <" << Mesh::typeName + << "> meshObjects, region=" << obr.name() << endl; } - forAllIters(meshObjects, iter) + for (auto& item : meshObjects) { if (meshObject::debug) { - Pout<< " Destroying " << (*iter)->name() << endl; + Pout<< " Destroying " << item.name() << endl; } - obr.checkOut(*iter); + obr.checkOut(item); } } @@ -263,30 +345,30 @@ template > void Foam::meshObject::clearUpto(objectRegistry& obr) { - HashTable<FromType<Mesh>*> meshObjects + UPtrList<FromType<Mesh>> meshObjects ( - obr.lookupClass<FromType<Mesh>>() + obr.sorted<FromType<Mesh>>() ); if (meshObject::debug) { - Pout<< "meshObject::clearUpto(objectRegistry&) :" - << " clearing " << Mesh::typeName - << " meshObjects for region " << obr.name() << endl; + Pout<< "meshObject::clearUpto() : clearing " + << meshObjects.size() << " <" << Mesh::typeName + << "> meshObjects, region=" << obr.name() << endl; } - forAllIters(meshObjects, iter) + for (auto& item : meshObjects) { - // isA<ToType<Mesh>> - auto* objectPtr = dynamic_cast<ToType<Mesh>*>(*iter); + // isA_constCast<ToType<Mesh>> + auto* objectPtr = dynamic_cast<ToType<Mesh>*>(&item); if (!objectPtr) { if (meshObject::debug) { - Pout<< " Destroying " << (*iter)->name() << endl; + Pout<< " Destroying " << item.name() << endl; } - obr.checkOut(*iter); + obr.checkOut(item); } } } diff --git a/src/OpenFOAM/meshes/MeshObject/MeshObject.H b/src/OpenFOAM/meshes/MeshObject/MeshObject.H index 11554ee3dac..a5d0577ade9 100644 --- a/src/OpenFOAM/meshes/MeshObject/MeshObject.H +++ b/src/OpenFOAM/meshes/MeshObject/MeshObject.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,8 +34,9 @@ Description MeshObject is templated on the type of mesh it is allocated to, the type of the mesh object (TopologicalMeshObject, GeometricMeshObject, MoveableMeshObject, UpdateableMeshObject) and the type of the actual object - it is created for example: + it is created for. + Example usage, \verbatim class leastSquaresVectors : @@ -49,13 +50,15 @@ Description }; \endverbatim - MeshObject types: - - - TopologicalMeshObject: mesh object to be deleted on topology change - - GeometricMeshObject: mesh object to be deleted on geometry change - - MoveableMeshObject: mesh object to be updated in movePoints - - UpdateableMeshObject: mesh object to be updated in updateMesh or - movePoints + The MeshObject types: + - TopologicalMeshObject: + mesh object to be deleted on topology change + - GeometricMeshObject: + mesh object to be deleted on geometry change + - MoveableMeshObject: + mesh object to be updated in movePoints + - UpdateableMeshObject: + mesh object to be updated in movePoints or updateMesh Note movePoints must be provided for MeshObjects of type MoveableMeshObject @@ -82,6 +85,55 @@ namespace Foam // Forward Declarations class mapPolyMesh; +/*---------------------------------------------------------------------------*\ + Class meshObject Declaration +\*---------------------------------------------------------------------------*/ + +//- The meshObject is a concrete regIOobject to register MeshObject items +class meshObject +: + public regIOobject +{ +public: + + //- Runtime declaration and debug switch + ClassName("meshObject"); + + + // Constructors + + //- Construct with given object name on a registry + meshObject(const word& objName, const objectRegistry& obr); + + + // Static Member Functions + + //- Update for mesh motion + template<class Mesh> + static void movePoints(objectRegistry& obr); + + //- Update topology using the given map + template<class Mesh> + static void updateMesh(objectRegistry& obr, const mapPolyMesh& mpm); + + //- Clear/remove all meshObject of MeshObjectType + //- via objectRegistry::checkOut() + template<class Mesh, template<class> class MeshObjectType> + static void clear(objectRegistry& obr); + + //- Clear all meshObject derived from FromType up to + //- (but not including) ToType. + // Used to clear e.g. all non-updateable meshObjects + template + < + class Mesh, + template<class> class FromType, + template<class> class ToType + > + static void clearUpto(objectRegistry& obr); +}; + + /*---------------------------------------------------------------------------*\ Class MeshObject Declaration \*---------------------------------------------------------------------------*/ @@ -108,14 +160,17 @@ public: MeshObject(const word& objName, const Mesh& mesh); + //- Destructor + virtual ~MeshObject() = default; + + // Factory Methods - //- Get existing or create a new MeshObject. Registered with typeName + //- Get existing or create MeshObject registered with typeName template<class... Args> static const Type& New(const Mesh& mesh, Args&&... args); - //- Get existing or create a new MeshObject using supplied - //- registration name + //- Get existing or create MeshObject with given registration name template<class... Args> static const Type& New ( @@ -124,11 +179,10 @@ public: Args&&... args ); + //- Transfer ownership of meshObject to registry. + static bool Store(std::unique_ptr<Type>&& ptr); - //- Destructor - virtual ~MeshObject() = default; - - //- Static destructor using supplied registration name + //- Static destructor using given registration name static bool Delete(const word& objName, const Mesh& mesh); //- Static destructor using Type::typeName @@ -137,6 +191,29 @@ public: return Delete(Type::typeName, mesh); } + //- Release ownership of meshObject (with given registration name) + //- from registry. Returns nullptr if not found or not owned. + static std::unique_ptr<Type> Release + ( + const word& objName, + const Mesh& mesh, + //! optionally perform checkOut() from the registry + const bool checkout = false + ); + + + //- Release ownership of meshObject (with Type::typeName name) + //- from registry. + static std::unique_ptr<Type> Release + ( + const Mesh& mesh, + //! optionally perform checkOut() from the registry + const bool checkout = false + ) + { + return Release(Type::typeName, mesh, checkout); + } + // Member Functions @@ -154,51 +231,6 @@ public: }; -/*---------------------------------------------------------------------------*\ - Class meshObject Declaration -\*---------------------------------------------------------------------------*/ - -//- The meshObject is a concrete regIOobject -class meshObject -: - public regIOobject -{ -public: - - //- Runtime declaration and debug switch - ClassName("meshObject"); - - - // Constructors - - //- Construct with given object name on a registry - meshObject(const word& objName, const objectRegistry& obr); - - - // Static Member Functions - - template<class Mesh> - static void movePoints(objectRegistry& obr); - - template<class Mesh> - static void updateMesh(objectRegistry& obr, const mapPolyMesh& mpm); - - template<class Mesh, template<class> class MeshObjectType> - static void clear(objectRegistry& obr); - - //- Clear all meshObject derived from FromType up to - //- (but not including) ToType. - // Used to clear e.g. all non-updateable meshObjects - template - < - class Mesh, - template<class> class FromType, - template<class> class ToType - > - static void clearUpto(objectRegistry& obr); -}; - - /*---------------------------------------------------------------------------*\ Class TopologicalMeshObject Declaration \*---------------------------------------------------------------------------*/ @@ -254,6 +286,7 @@ public: GeometricMeshObject<Mesh>(objName, obr) {} + //- Update for mesh motion virtual bool movePoints() = 0; }; @@ -275,6 +308,7 @@ public: MoveableMeshObject<Mesh>(objName, obr) {} + //- Update topology using the given map virtual void updateMesh(const mapPolyMesh& mpm) = 0; }; -- GitLab From a803516b16608fb262b7db686dbd4ba7b7633cde Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 11 Apr 2024 13:02:15 +0200 Subject: [PATCH 132/231] ENH: use typedef for MeshObject within derived classes - use an internal 'typedef MeshObject<...> MeshObject_type' within derived classes. Reduces clutter and eases any updates. --- .../GAMGAgglomeration/GAMGAgglomeration.C | 2 +- .../GAMGAgglomeration/GAMGAgglomeration.H | 12 ++++++- src/OpenFOAM/meshes/pointMesh/pointMesh.C | 5 +-- src/OpenFOAM/meshes/pointMesh/pointMesh.H | 10 ++++++ .../common/manifoldCellsMeshObject.C | 2 +- .../common/manifoldCellsMeshObject.H | 12 ++++++- .../leastSquaresFaVectors.C | 3 +- .../leastSquaresFaVectors.H | 12 ++++++- .../meshObjects/gravity/gravityMeshObject.C | 4 +-- .../meshObjects/gravity/gravityMeshObject.H | 28 +++++++-------- .../LeastSquaresGrad/LeastSquaresVectors.C | 2 +- .../LeastSquaresGrad/LeastSquaresVectors.H | 17 ++++++--- .../invDistLeastSquaresVectors.C | 2 +- .../leastSquaresGrad/leastSquaresVectors.C | 2 +- .../leastSquaresGrad/leastSquaresVectors.H | 10 ++++++ .../unweightedLeastSquaresVectors.C | 2 +- .../centredCECCellToCellStencilObject.H | 15 ++++---- .../centredCFCCellToCellStencilObject.H | 15 ++++---- .../centredCPCCellToCellStencilObject.H | 16 +++++---- .../centredCECCellToFaceStencilObject.H | 16 +++++---- .../centredCFCCellToFaceStencilObject.H | 16 +++++---- .../centredCPCCellToFaceStencilObject.H | 16 +++++---- .../centredFECCellToFaceStencilObject.H | 16 +++++---- .../pureUpwindCFCCellToFaceStencilObject.H | 16 +++++---- .../upwindCECCellToFaceStencilObject.H | 16 +++++---- .../upwindCFCCellToFaceStencilObject.H | 17 +++++---- .../upwindCPCCellToFaceStencilObject.H | 16 +++++---- .../upwindFECCellToFaceStencilObject.H | 15 ++++---- .../centredCFCFaceToCellStencilObject.H | 16 +++++---- .../highAspectRatio/cellAspectRatio.C | 2 +- .../highAspectRatio/cellAspectRatio.H | 10 ++++++ .../fvMesh/wallDist/wallDist/wallDist.C | 18 +++++++++- .../fvMesh/wallDist/wallDist/wallDist.H | 19 +++++++++- .../wallDistAddressing/wallDistAddressing.C | 8 ++--- .../wallDistAddressing/wallDistAddressing.H | 13 ++++++- .../fvMesh/zoneDistribute/zoneDistribute.C | 2 +- .../fvMesh/zoneDistribute/zoneDistribute.H | 10 ++++++ .../zoneStencils/zoneCPCStencil.C | 2 +- .../zoneStencils/zoneCPCStencil.H | 11 ++++++ .../schemes/FitData/FitData.C | 2 +- .../schemes/FitData/FitData.H | 12 ++++++- .../skewCorrected/skewCorrectionVectors.C | 2 +- .../skewCorrected/skewCorrectionVectors.H | 16 +++++++-- .../volPointInterpolation/pointConstraints.C | 2 +- .../volPointInterpolation/pointConstraints.H | 13 ++++++- .../volPointInterpolation.C | 2 +- .../volPointInterpolation.H | 15 ++++++-- .../processorColour.C | 2 +- .../processorColour.H | 31 ++++++++++------ .../meshSearchFACE_CENTRE_TRISMeshObject.C | 17 --------- .../meshSearchFACE_CENTRE_TRISMeshObject.H | 17 +++++++-- .../meshSearch/meshSearchMeshObject.C | 9 ----- .../meshSearch/meshSearchMeshObject.H | 17 +++++++-- .../multiWorld/multiWorldConnectionsObject.C | 10 ++---- .../multiWorld/multiWorldConnectionsObject.H | 4 +-- src/meshTools/regionSplit/regionSplit.C | 4 +-- src/meshTools/regionSplit/regionSplit.H | 11 +++++- .../twoDPointCorrector/twoDPointCorrector.C | 3 +- .../twoDPointCorrector/twoDPointCorrector.H | 14 ++++++-- .../pointVolInterpolation.H | 10 +++--- .../volPointInterpolationAdjoint.C | 5 +-- .../volPointInterpolationAdjoint.H | 20 +++++++++-- .../levelSet/levelSetDesignVariables.C | 7 ++-- .../topODesignVariables/topODesignVariables.C | 10 +++--- .../volBSplinesBase/volBSplinesBase.C | 4 +-- .../volBSplinesBase/volBSplinesBase.H | 32 ++++++++++------- .../cellCellStencil/cellCellStencilObject.H | 36 ++++++++++--------- .../decompose/decompose/decompositionModel.C | 16 ++------- .../decompose/decompose/decompositionModel.H | 10 ++++++ .../boundaryRadiationProperties.C | 8 ++--- .../boundaryRadiationProperties.H | 19 +++++++--- 71 files changed, 538 insertions(+), 268 deletions(-) diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C index 1ced04106f4..304e524ecd8 100644 --- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C +++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C @@ -243,7 +243,7 @@ Foam::GAMGAgglomeration::GAMGAgglomeration const dictionary& controlDict ) : - MeshObject<lduMesh, Foam::GeometricMeshObject, GAMGAgglomeration>(mesh), + MeshObject_type(mesh), maxLevels_(50), diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.H b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.H index 65112a50d99..8fdd75235f3 100644 --- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.H +++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.H @@ -67,9 +67,19 @@ class GAMGAgglomeration : public MeshObject<lduMesh, GeometricMeshObject, GAMGAgglomeration> { + // Private Typedefs + + typedef MeshObject + < + lduMesh, + GeometricMeshObject, + GAMGAgglomeration + > MeshObject_type; + + protected: - // Protected data + // Protected Data //- Max number of levels const label maxLevels_; diff --git a/src/OpenFOAM/meshes/pointMesh/pointMesh.C b/src/OpenFOAM/meshes/pointMesh/pointMesh.C index fec7502d4bd..3f36c56332a 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMesh.C +++ b/src/OpenFOAM/meshes/pointMesh/pointMesh.C @@ -37,9 +37,10 @@ License namespace Foam { -defineTypeNameAndDebug(pointMesh, 0); + defineTypeNameAndDebug(pointMesh, 0); } + // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // void Foam::pointMesh::mapFields(const mapPolyMesh& mpm) @@ -72,7 +73,7 @@ void Foam::pointMesh::mapFields(const mapPolyMesh& mpm) Foam::pointMesh::pointMesh(const polyMesh& pMesh) : - MeshObject<polyMesh, Foam::UpdateableMeshObject, pointMesh>(pMesh), + MeshObject_type(pMesh), GeoMesh<polyMesh>(pMesh), boundary_(*this, pMesh.boundaryMesh()) { diff --git a/src/OpenFOAM/meshes/pointMesh/pointMesh.H b/src/OpenFOAM/meshes/pointMesh/pointMesh.H index e28905ea80e..58462132078 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMesh.H +++ b/src/OpenFOAM/meshes/pointMesh/pointMesh.H @@ -54,6 +54,16 @@ class pointMesh public MeshObject<polyMesh, UpdateableMeshObject, pointMesh>, public GeoMesh<polyMesh> { + // Private Typedefs + + typedef MeshObject + < + polyMesh, + UpdateableMeshObject, + pointMesh + > MeshObject_type; + + // Permanent Data //- Boundary mesh diff --git a/src/fileFormats/common/manifoldCellsMeshObject.C b/src/fileFormats/common/manifoldCellsMeshObject.C index 38103341299..8bc6714bffa 100644 --- a/src/fileFormats/common/manifoldCellsMeshObject.C +++ b/src/fileFormats/common/manifoldCellsMeshObject.C @@ -166,7 +166,7 @@ Foam::refPtr<Foam::cellList> Foam::manifoldCellsMeshObject::filter Foam::manifoldCellsMeshObject::manifoldCellsMeshObject(const polyMesh& mesh) : - MeshObject<polyMesh, UpdateableMeshObject, manifoldCellsMeshObject>(mesh), + MeshObject_type(mesh), cellsPtr_(nullptr), nCorrected_(-1) {} diff --git a/src/fileFormats/common/manifoldCellsMeshObject.H b/src/fileFormats/common/manifoldCellsMeshObject.H index b063576102d..57aebd52b24 100644 --- a/src/fileFormats/common/manifoldCellsMeshObject.H +++ b/src/fileFormats/common/manifoldCellsMeshObject.H @@ -55,6 +55,16 @@ class manifoldCellsMeshObject : public MeshObject<polyMesh, UpdateableMeshObject, manifoldCellsMeshObject> { + // Private Typedefs + + typedef MeshObject + < + polyMesh, + UpdateableMeshObject, + manifoldCellsMeshObject + > MeshObject_type; + + // Private Data //- The adjusted cells list @@ -90,7 +100,7 @@ public: // Constructors //- Construct from mesh - manifoldCellsMeshObject(const polyMesh& mesh); + explicit manifoldCellsMeshObject(const polyMesh& mesh); //- Destructor diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C index f0718e17e18..44288ccf84b 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C @@ -29,7 +29,6 @@ License #include "leastSquaresFaVectors.H" #include "edgeFields.H" #include "areaFields.H" -#include "demandDrivenData.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -43,7 +42,7 @@ namespace Foam Foam::leastSquaresFaVectors::leastSquaresFaVectors(const faMesh& mesh) : - MeshObject<faMesh, Foam::MoveableMeshObject, leastSquaresFaVectors>(mesh) + MeshObject_type(mesh) {} diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H index 701dcf29aea..2e24f7d6aa6 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.H @@ -55,8 +55,18 @@ namespace Foam class leastSquaresFaVectors : - public MeshObject<faMesh, Foam::MoveableMeshObject, leastSquaresFaVectors> + public MeshObject<faMesh, MoveableMeshObject, leastSquaresFaVectors> { + // Private Typedefs + + typedef MeshObject + < + faMesh, + MoveableMeshObject, + leastSquaresFaVectors + > MeshObject_type; + + // Private Data //- Least-squares gradient vectors diff --git a/src/finiteVolume/cfdTools/general/meshObjects/gravity/gravityMeshObject.C b/src/finiteVolume/cfdTools/general/meshObjects/gravity/gravityMeshObject.C index d0de1e97ec2..e33603a1d36 100644 --- a/src/finiteVolume/cfdTools/general/meshObjects/gravity/gravityMeshObject.C +++ b/src/finiteVolume/cfdTools/general/meshObjects/gravity/gravityMeshObject.C @@ -42,7 +42,7 @@ namespace meshObjects Foam::meshObjects::gravity::gravity(const word& name, const Time& runTime) : - MeshObject<Time, TopologicalMeshObject, gravity>(name, runTime), + MeshObject_type(name, runTime), uniformDimensionedVectorField ( IOobject @@ -50,7 +50,7 @@ Foam::meshObjects::gravity::gravity(const word& name, const Time& runTime) name, runTime.constant(), runTime, - IOobject::MUST_READ_IF_MODIFIED, + IOobject::READ_MODIFIED, IOobject::NO_WRITE, IOobject::NO_REGISTER // Already registered by MeshObject ) diff --git a/src/finiteVolume/cfdTools/general/meshObjects/gravity/gravityMeshObject.H b/src/finiteVolume/cfdTools/general/meshObjects/gravity/gravityMeshObject.H index fc84e49a628..87784ab73b3 100644 --- a/src/finiteVolume/cfdTools/general/meshObjects/gravity/gravityMeshObject.H +++ b/src/finiteVolume/cfdTools/general/meshObjects/gravity/gravityMeshObject.H @@ -60,10 +60,19 @@ class gravity < Time, TopologicalMeshObject, - gravity + meshObjects::gravity >, public uniformDimensionedVectorField { + // Private Typedefs + + typedef MeshObject + < + Time, + TopologicalMeshObject, + meshObjects::gravity + > MeshObject_type; + public: //- Run-time type information @@ -72,12 +81,10 @@ public: // Constructors - //- Construct with given name on Time from \c constant - //- (MUST_READ_IF_MODIFIED) + //- Construct with given name on Time from \c constant (READ_MODIFIED) gravity(const word& name, const Time& runTime); - //- Construct "g" field on Time from \c constant - //- (MUST_READ_IF_MODIFIED) + //- Construct "g" field on Time from \c constant (READ_MODIFIED) explicit gravity(const Time& runTime) : gravity("g", runTime) @@ -86,20 +93,13 @@ public: //- Return named gravity field cached or construct on Time static const gravity& New(const word& name, const Time& runTime) { - return MeshObject<Time, TopologicalMeshObject, gravity>::New - ( - name, - runTime - ); + return MeshObject_type::New(name, runTime); } //- Return gravity "g" field cached or construct on Time static const gravity& New(const Time& runTime) { - return MeshObject<Time, TopologicalMeshObject, gravity>::New - ( - runTime - ); + return MeshObject_type::New(runTime); } diff --git a/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.C b/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.C index f050487a2ce..ca6edf267e5 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.C +++ b/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.C @@ -36,7 +36,7 @@ Foam::fv::LeastSquaresVectors<Stencil>::LeastSquaresVectors const fvMesh& mesh ) : - MeshObject<fvMesh, Foam::MoveableMeshObject, LeastSquaresVectors>(mesh), + MeshObject_type(mesh), vectors_(mesh.nCells()) { calcLeastSquaresVectors(); diff --git a/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.H b/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.H index 50127f2919a..c6d9309c0a4 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.H +++ b/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.H @@ -63,6 +63,16 @@ class LeastSquaresVectors : public MeshObject<fvMesh, MoveableMeshObject, LeastSquaresVectors<Stencil>> { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + MoveableMeshObject, + LeastSquaresVectors<Stencil> + > MeshObject_type; + + // Private Data //- Least-squares gradient vectors @@ -84,17 +94,14 @@ public: // Constructors //- Construct given an fvMesh and the minimum determinant criterion - LeastSquaresVectors - ( - const fvMesh& - ); + explicit LeastSquaresVectors(const fvMesh& mesh); //- Destructor virtual ~LeastSquaresVectors(); - // Member functions + // Member Functions //- Return const reference to the stencil const extendedCentredCellToCellStencil& stencil() const diff --git a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/invDistLeastSquaresVectors.C b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/invDistLeastSquaresVectors.C index 584968db7d3..a86dfe7d728 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/invDistLeastSquaresVectors.C +++ b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/invDistLeastSquaresVectors.C @@ -41,7 +41,7 @@ namespace Foam Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh) : - MeshObject<fvMesh, Foam::MoveableMeshObject, leastSquaresVectors>(mesh), + MeshObject_type(mesh), pVectors_ ( IOobject diff --git a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C index c8f5b010511..5085e0c5431 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C +++ b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C @@ -41,7 +41,7 @@ namespace Foam Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh) : - MeshObject<fvMesh, Foam::MoveableMeshObject, leastSquaresVectors>(mesh), + MeshObject_type(mesh), pVectors_ ( IOobject diff --git a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.H b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.H index 858d6f337e3..bc394099c59 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.H +++ b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.H @@ -55,6 +55,16 @@ class leastSquaresVectors : public MeshObject<fvMesh, MoveableMeshObject, leastSquaresVectors> { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + MoveableMeshObject, + leastSquaresVectors + > MeshObject_type; + + // Private Data //- Owner least-squares gradient vectors diff --git a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/unweightedLeastSquaresVectors.C b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/unweightedLeastSquaresVectors.C index c19c1ba86b2..3ff39ce10c8 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/unweightedLeastSquaresVectors.C +++ b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/unweightedLeastSquaresVectors.C @@ -41,7 +41,7 @@ namespace Foam Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh) : - MeshObject<fvMesh, Foam::MoveableMeshObject, leastSquaresVectors>(mesh), + MeshObject_type(mesh), pVectors_ ( IOobject diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCECCellToCellStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCECCellToCellStencilObject.H index fa7ca9300ac..a2d3e95c364 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCECCellToCellStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCECCellToCellStencilObject.H @@ -59,6 +59,14 @@ class centredCECCellToCellStencilObject >, public extendedCentredCellToCellStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + centredCECCellToCellStencilObject + > MeshObject_type; public: @@ -72,12 +80,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - centredCECCellToCellStencilObject - >(mesh), + MeshObject_type(mesh), extendedCentredCellToCellStencil(CECCellToCellStencil(mesh)) {} diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCFCCellToCellStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCFCCellToCellStencilObject.H index 2f40ed966c2..714aa57ad1b 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCFCCellToCellStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCFCCellToCellStencilObject.H @@ -59,6 +59,14 @@ class centredCFCCellToCellStencilObject >, public extendedCentredCellToCellStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + centredCFCCellToCellStencilObject + > MeshObject_type; public: @@ -72,12 +80,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - centredCFCCellToCellStencilObject - >(mesh), + MeshObject_type(mesh), extendedCentredCellToCellStencil(CFCCellToCellStencil(mesh)) {} diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCPCCellToCellStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCPCCellToCellStencilObject.H index 4ce941cd889..3bb38e4b566 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCPCCellToCellStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/MeshObjects/centredCPCCellToCellStencilObject.H @@ -59,11 +59,20 @@ class centredCPCCellToCellStencilObject >, public extendedCentredCellToCellStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + centredCPCCellToCellStencilObject + > MeshObject_type; public: TypeName("centredCPCCellToCellStencil"); + // Constructors //- Construct from uncompacted cell stencil @@ -72,12 +81,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - centredCPCCellToCellStencilObject - >(mesh), + MeshObject_type(mesh), extendedCentredCellToCellStencil(CPCCellToCellStencil(mesh)) {} diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCECCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCECCellToFaceStencilObject.H index ab7190817d2..b3d89d29d93 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCECCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCECCellToFaceStencilObject.H @@ -59,11 +59,20 @@ class centredCECCellToFaceStencilObject >, public extendedCentredCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + centredCECCellToFaceStencilObject + > MeshObject_type; public: TypeName("centredCECCellToFaceStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -72,12 +81,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - centredCECCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedCentredCellToFaceStencil(CECCellToFaceStencil(mesh)) { if (extendedCellToFaceStencil::debug) diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCFCCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCFCCellToFaceStencilObject.H index d370746fb17..121f618aaf8 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCFCCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCFCCellToFaceStencilObject.H @@ -59,11 +59,20 @@ class centredCFCCellToFaceStencilObject >, public extendedCentredCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + centredCFCCellToFaceStencilObject + > MeshObject_type; public: TypeName("centredCFCCellToFaceStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -72,12 +81,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - centredCFCCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedCentredCellToFaceStencil(CFCCellToFaceStencil(mesh)) { if (extendedCellToFaceStencil::debug) diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCPCCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCPCCellToFaceStencilObject.H index 97dc251d17b..2c5b869bedc 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCPCCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredCPCCellToFaceStencilObject.H @@ -59,11 +59,20 @@ class centredCPCCellToFaceStencilObject >, public extendedCentredCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + centredCPCCellToFaceStencilObject + > MeshObject_type; public: TypeName("centredCPCCellToFaceStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -72,12 +81,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - centredCPCCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedCentredCellToFaceStencil(CPCCellToFaceStencil(mesh)) { if (extendedCellToFaceStencil::debug) diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredFECCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredFECCellToFaceStencilObject.H index 417c38026ca..05e68c6b3e2 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredFECCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/centredFECCellToFaceStencilObject.H @@ -59,11 +59,20 @@ class centredFECCellToFaceStencilObject >, public extendedCentredCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + centredFECCellToFaceStencilObject + > MeshObject_type; public: TypeName("centredFECCellToFaceStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -72,12 +81,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - centredFECCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedCentredCellToFaceStencil(FECCellToFaceStencil(mesh)) { if (extendedCellToFaceStencil::debug) diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/pureUpwindCFCCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/pureUpwindCFCCellToFaceStencilObject.H index 878c77b476b..0cc9542fb58 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/pureUpwindCFCCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/pureUpwindCFCCellToFaceStencilObject.H @@ -59,11 +59,20 @@ class pureUpwindCFCCellToFaceStencilObject >, public extendedUpwindCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + pureUpwindCFCCellToFaceStencilObject + > MeshObject_type; public: TypeName("pureUpwindCFCCellToFaceStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -72,12 +81,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - pureUpwindCFCCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedUpwindCellToFaceStencil(CFCCellToFaceStencil(mesh)) { if (extendedCellToFaceStencil::debug) diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCECCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCECCellToFaceStencilObject.H index 0eb9db494ba..701d1698f69 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCECCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCECCellToFaceStencilObject.H @@ -59,11 +59,20 @@ class upwindCECCellToFaceStencilObject >, public extendedUpwindCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + upwindCECCellToFaceStencilObject + > MeshObject_type; public: TypeName("upwindCECCellToFaceStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -74,12 +83,7 @@ public: const scalar minOpposedness ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - upwindCECCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedUpwindCellToFaceStencil ( CECCellToFaceStencil(mesh), diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCFCCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCFCCellToFaceStencilObject.H index c3505df95ae..a3cea19277c 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCFCCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCFCCellToFaceStencilObject.H @@ -59,11 +59,21 @@ class upwindCFCCellToFaceStencilObject >, public extendedUpwindCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + upwindCFCCellToFaceStencilObject + > MeshObject_type; + public: TypeName("upwindCFCCellToFaceStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -74,12 +84,7 @@ public: const scalar minOpposedness ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - upwindCFCCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedUpwindCellToFaceStencil ( CFCCellToFaceStencil(mesh), diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCPCCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCPCCellToFaceStencilObject.H index f2757a76627..985ae899561 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCPCCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCPCCellToFaceStencilObject.H @@ -59,11 +59,20 @@ class upwindCPCCellToFaceStencilObject >, public extendedUpwindCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + upwindCPCCellToFaceStencilObject + > MeshObject_type; public: TypeName("upwindCPCCellToFaceStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -74,12 +83,7 @@ public: const scalar minOpposedness ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - upwindCPCCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedUpwindCellToFaceStencil ( CPCCellToFaceStencil(mesh), diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindFECCellToFaceStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindFECCellToFaceStencilObject.H index 8468e763080..97f69a18126 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindFECCellToFaceStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/MeshObjects/upwindFECCellToFaceStencilObject.H @@ -59,6 +59,14 @@ class upwindFECCellToFaceStencilObject >, public extendedUpwindCellToFaceStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + upwindFECCellToFaceStencilObject + > MeshObject_type; public: @@ -74,12 +82,7 @@ public: const scalar minOpposedness ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - upwindFECCellToFaceStencilObject - >(mesh), + MeshObject_type(mesh), extendedUpwindCellToFaceStencil ( FECCellToFaceStencil(mesh), diff --git a/src/finiteVolume/fvMesh/extendedStencil/faceToCell/MeshObjects/centredCFCFaceToCellStencilObject.H b/src/finiteVolume/fvMesh/extendedStencil/faceToCell/MeshObjects/centredCFCFaceToCellStencilObject.H index 4250e2e73e2..8b04035ed11 100644 --- a/src/finiteVolume/fvMesh/extendedStencil/faceToCell/MeshObjects/centredCFCFaceToCellStencilObject.H +++ b/src/finiteVolume/fvMesh/extendedStencil/faceToCell/MeshObjects/centredCFCFaceToCellStencilObject.H @@ -59,11 +59,20 @@ class centredCFCFaceToCellStencilObject >, public extendedCentredFaceToCellStencil { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + centredCFCFaceToCellStencilObject + > MeshObject_type; public: TypeName("centredCFCFaceToCellStencil"); + // Constructors //- Construct from uncompacted face stencil @@ -72,12 +81,7 @@ public: const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::TopologicalMeshObject, - centredCFCFaceToCellStencilObject - >(mesh), + MeshObject_type(mesh), extendedCentredFaceToCellStencil(CFCFaceToCellStencil(mesh)) {} diff --git a/src/finiteVolume/fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.C b/src/finiteVolume/fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.C index bfb3ebe215d..efa5a01fd9e 100644 --- a/src/finiteVolume/fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.C +++ b/src/finiteVolume/fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.C @@ -39,7 +39,7 @@ namespace Foam Foam::cellAspectRatio::cellAspectRatio(const polyMesh& mesh) : - MeshObject<polyMesh, Foam::MoveableMeshObject, cellAspectRatio>(mesh) + MeshObject_type(mesh) { calcAspectRatio(); } diff --git a/src/finiteVolume/fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.H b/src/finiteVolume/fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.H index ed0dd9ab3e5..071ac186cf8 100644 --- a/src/finiteVolume/fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.H +++ b/src/finiteVolume/fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.H @@ -54,6 +54,16 @@ class cellAspectRatio public MeshObject<polyMesh, MoveableMeshObject, cellAspectRatio>, public scalarField { + // Private Typedefs + + typedef MeshObject + < + polyMesh, + MoveableMeshObject, + cellAspectRatio + > MeshObject_type; + + // Private Member Functions //- Construct aspect ratio diff --git a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C index 458efc2e2df..5e960a8489f 100644 --- a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C +++ b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C @@ -90,7 +90,7 @@ Foam::wallDist::wallDist const word& patchTypeName ) : - MeshObject<fvMesh, Foam::UpdateableMeshObject, wallDist>(mesh), + MeshObject_type(mesh), patchIDs_(patchIDs), patchTypeName_(patchTypeName), dict_ @@ -154,6 +154,22 @@ Foam::wallDist::~wallDist() {} +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +bool Foam::wallDist::try_movePoints(const fvMesh& mesh) +{ + auto* ptr = + mesh.getObjectPtr<UpdateableMeshObject<fvMesh>>("wallDist"); + + if (ptr) + { + return ptr->movePoints(); + } + + return false; +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // const Foam::volVectorField& Foam::wallDist::n() const diff --git a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.H b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.H index d2dfa391b60..b1938be2bcf 100644 --- a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.H +++ b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.H @@ -77,7 +77,17 @@ class wallDist : public MeshObject<fvMesh, UpdateableMeshObject, wallDist> { - // Private data + // Private Typedefs + + typedef MeshObject + < + fvMesh, + UpdateableMeshObject, + wallDist + > MeshObject_type; + + + // Private Data //- Set of patch IDs const labelHashSet patchIDs_; @@ -157,6 +167,13 @@ public: virtual ~wallDist(); + // Static Member Functions + + //- Trigger update of y-field for the "wallDist" MeshObject on the + //- given mesh. A no-op if the wallDist is not found. + static bool try_movePoints(const fvMesh& mesh); + + // Member Functions //- Return the patchIDs diff --git a/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C b/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C index e7f21e66b2c..653079e98e3 100644 --- a/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C +++ b/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C @@ -387,7 +387,7 @@ Foam::wallDistAddressing::wallDistAddressing ) : // Register as "wallDistAddressing" - MeshObject<fvMesh, Foam::UpdateableMeshObject, wallDistAddressing>(mesh), + MeshObject_type(mesh), cellDistFuncs(mesh), patchIDs_(mesh.boundaryMesh().findPatchIDs<wallPolyPatch>().sortedToc()), patchTypeName_("wall"), @@ -420,11 +420,7 @@ Foam::wallDistAddressing::wallDistAddressing const label updateInterval ) : - MeshObject<fvMesh, Foam::UpdateableMeshObject, wallDistAddressing> - ( - patchTypeName, - mesh - ), + MeshObject_type(patchTypeName, mesh), cellDistFuncs(mesh), patchIDs_(patchIDs), patchTypeName_(patchTypeName), diff --git a/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.H b/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.H index 4bc5855b19b..a1e20342971 100644 --- a/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.H +++ b/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.H @@ -114,8 +114,19 @@ class wallDistAddressing public MeshObject<fvMesh, UpdateableMeshObject, wallDistAddressing>, public cellDistFuncs { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + UpdateableMeshObject, + wallDistAddressing + > MeshObject_type; + + //- Use fvMesh& instead of cellDistFuncs polyMesh& - using MeshObject<fvMesh, UpdateableMeshObject, wallDistAddressing>::mesh_; + using MeshObject_type::mesh_; + protected: diff --git a/src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.C b/src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.C index aae092a6d0d..0aa301237de 100644 --- a/src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.C +++ b/src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.C @@ -40,7 +40,7 @@ namespace Foam Foam::zoneDistribute::zoneDistribute(const fvMesh& mesh) : - MeshObject<fvMesh, Foam::TopologicalMeshObject, zoneDistribute>(mesh), + MeshObject_type(mesh), stencil_(zoneCPCStencil::New(mesh)), globalNumbering_(stencil_.globalNumbering()), send_(UPstream::nProcs()), diff --git a/src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.H b/src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.H index 3b0e182a582..dce29d9f868 100644 --- a/src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.H +++ b/src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.H @@ -82,6 +82,16 @@ class zoneDistribute : public MeshObject<fvMesh, TopologicalMeshObject, zoneDistribute> { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + zoneDistribute + > MeshObject_type; + + // Private Data //- Reference to the zone stencil diff --git a/src/finiteVolume/fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.C b/src/finiteVolume/fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.C index 8f6ae13f098..1fb210d0b32 100644 --- a/src/finiteVolume/fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.C +++ b/src/finiteVolume/fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.C @@ -123,7 +123,7 @@ void Foam::zoneCPCStencil::calcPointBoundaryData Foam::zoneCPCStencil::zoneCPCStencil(const fvMesh& mesh) : - MeshObject<fvMesh, Foam::TopologicalMeshObject, zoneCPCStencil>(mesh), + MeshObject_type(mesh), zoneCellStencils(mesh), nonEmptyBoundaryPoints_(nonEmptyFacesPatch()().meshPoints()), uptodate_(mesh.nCells(), false) diff --git a/src/finiteVolume/fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.H b/src/finiteVolume/fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.H index 23fcb624c4a..37437a00694 100644 --- a/src/finiteVolume/fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.H +++ b/src/finiteVolume/fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.H @@ -66,6 +66,16 @@ class zoneCPCStencil >, public zoneCellStencils { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + TopologicalMeshObject, + zoneCPCStencil + > MeshObject_type; + + // Private Data labelList nonEmptyBoundaryPoints_; @@ -120,6 +130,7 @@ public: //- Construct from all cells and boundary faces explicit zoneCPCStencil(const fvMesh&); + // Selectors static zoneCPCStencil& New(const fvMesh&); diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C index 5c7b100d839..ac471eddce0 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C @@ -42,7 +42,7 @@ Foam::FitData<Form, ExtendedStencil, Polynomial>::FitData const scalar centralWeight ) : - MeshObject<fvMesh, Foam::MoveableMeshObject, Form>(mesh), + MeshObject_type(mesh), stencil_(stencil), linearCorrection_(linearCorrection), linearLimitFactor_(linearLimitFactor), diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.H index d30ff69179c..05bfed4f6e1 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.H @@ -59,7 +59,17 @@ class FitData : public MeshObject<fvMesh, MoveableMeshObject, FitDataType> { - // Private data + // Private Typedefs + + typedef MeshObject + < + fvMesh, + MoveableMeshObject, + FitDataType + > MeshObject_type; + + + // Private Data //- The stencil the fit is based on const ExtendedStencil& stencil_; diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.C b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.C index 673f7d9e972..83719a79315 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.C +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.C @@ -41,7 +41,7 @@ namespace Foam Foam::skewCorrectionVectors::skewCorrectionVectors(const fvMesh& mesh) : - MeshObject<fvMesh, Foam::MoveableMeshObject, skewCorrectionVectors>(mesh), + MeshObject_type(mesh), skew_(false), skewCorrectionVectors_ ( diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.H index 0c621b10dcf..aebf0ddfd48 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.H @@ -46,6 +46,7 @@ SourceFiles namespace Foam { +// Forward Declarations class fvMesh; /*---------------------------------------------------------------------------*\ @@ -56,7 +57,17 @@ class skewCorrectionVectors : public MeshObject<fvMesh, MoveableMeshObject, skewCorrectionVectors> { - // Private data + // Private Typedefs + + typedef MeshObject + < + fvMesh, + MoveableMeshObject, + skewCorrectionVectors + > MeshObject_type; + + + // Private Data //- Is mesh skew bool skew_; @@ -75,6 +86,7 @@ public: // Constructors + //- Construct given fvMesh explicit skewCorrectionVectors(const fvMesh& mesh); @@ -82,7 +94,7 @@ public: virtual ~skewCorrectionVectors(); - // Member functions + // Member Functions //- Return whether mesh is skew or not bool skew() const diff --git a/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.C b/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.C index efbbaa7140f..f5bcdc8abdc 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.C @@ -354,7 +354,7 @@ void Foam::pointConstraints::makePatchPatchAddressing() Foam::pointConstraints::pointConstraints(const pointMesh& pm) : - MeshObject<pointMesh, Foam::UpdateableMeshObject, pointConstraints>(pm) + MeshObject_type(pm) { if (debug) { diff --git a/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.H b/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.H index 1bf5005fac3..bcd904598e9 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.H +++ b/src/finiteVolume/interpolation/volPointInterpolation/pointConstraints.H @@ -55,6 +55,7 @@ SourceFiles namespace Foam { +// Forward Declarations class pointMesh; class polyMesh; @@ -66,7 +67,17 @@ class pointConstraints : public MeshObject<pointMesh, UpdateableMeshObject, pointConstraints> { - // Private data + // Private Typedefs + + typedef MeshObject + < + pointMesh, + UpdateableMeshObject, + pointConstraints + > MeshObject_type; + + + // Private Data // Patch-patch constraints diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.C b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.C index 9b2dd90aadf..31f4f9f0a47 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.C @@ -473,7 +473,7 @@ void Foam::volPointInterpolation::makeWeights() Foam::volPointInterpolation::volPointInterpolation(const fvMesh& vm) : - MeshObject<fvMesh, Foam::UpdateableMeshObject, volPointInterpolation>(vm), + MeshObject_type(vm), hasSeparated_(hasSeparated(pointMesh::New(vm))) { makeWeights(); diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.H b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.H index 724a838673e..a51725b3829 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.H +++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.H @@ -50,6 +50,7 @@ SourceFiles namespace Foam { +// Forward Declarations class fvMesh; class pointMesh; @@ -61,7 +62,17 @@ class volPointInterpolation : public MeshObject<fvMesh, UpdateableMeshObject, volPointInterpolation> { - // Private data + // Private Typedefs + + typedef MeshObject + < + fvMesh, + UpdateableMeshObject, + volPointInterpolation + > MeshObject_type; + + + // Private Data //- Interpolation scheme weighting factor array. scalarListList pointWeights_; @@ -150,7 +161,7 @@ public: // Constructors - //- Constructor given fvMesh and pointMesh. + //- Construct given fvMesh explicit volPointInterpolation(const fvMesh&); diff --git a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C index c1a3888b2b7..9406b83b0f7 100644 --- a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C +++ b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.C @@ -330,7 +330,7 @@ Foam::label Foam::processorColour::cellColour Foam::processorColour::processorColour(const lduMesh& mesh) : - MeshObject<lduMesh, Foam::MoveableMeshObject, processorColour>(mesh) + MeshObject_type(mesh) { nColours_ = colour(mesh, *this); } diff --git a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.H b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.H index e4fe4857cae..b7b85d70af1 100644 --- a/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.H +++ b/src/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/processorColour.H @@ -58,6 +58,25 @@ class processorColour public MeshObject<lduMesh, MoveableMeshObject, processorColour>, public labelList { + // Private Typedefs + + typedef MeshObject + < + lduMesh, + MoveableMeshObject, + processorColour + > MeshObject_type; + + + // Private Member Functions + + //- No copy construct + processorColour(const processorColour&) = delete; + + //- No copy assignment + void operator=(const processorColour&) = delete; + + protected: // Protected data @@ -75,16 +94,6 @@ protected: labelList& cellColour ); - -private: - - //- No copy construct - processorColour(const processorColour&) = delete; - - //- No copy assignment - void operator=(const processorColour&) = delete; - - public: //- Runtime type information @@ -94,7 +103,7 @@ public: // Constructors //- Construct given mesh - processorColour(const lduMesh& mesh); + explicit processorColour(const lduMesh& mesh); // Selectors diff --git a/src/meshTools/meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.C b/src/meshTools/meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.C index fe6fe7502ed..22b1bffc6b6 100644 --- a/src/meshTools/meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.C +++ b/src/meshTools/meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.C @@ -35,21 +35,4 @@ namespace Foam } -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::meshSearchFACE_CENTRE_TRISMeshObject::meshSearchFACE_CENTRE_TRISMeshObject -( - const polyMesh& mesh -) -: - MeshObject - < - polyMesh, - Foam::GeometricMeshObject, - meshSearchFACE_CENTRE_TRISMeshObject - >(mesh), - meshSearch(mesh, polyMesh::FACE_CENTRE_TRIS) -{} - - // ************************************************************************* // diff --git a/src/meshTools/meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.H b/src/meshTools/meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.H index 1b80305ba8f..bdeb3e46374 100644 --- a/src/meshTools/meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.H +++ b/src/meshTools/meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.H @@ -59,6 +59,14 @@ class meshSearchFACE_CENTRE_TRISMeshObject >, public meshSearch { + // Private Typedefs + + typedef MeshObject + < + polyMesh, + GeometricMeshObject, + meshSearchFACE_CENTRE_TRISMeshObject + > MeshObject_type; public: @@ -68,8 +76,13 @@ public: // Constructors - //- Constructor given polyMesh - explicit meshSearchFACE_CENTRE_TRISMeshObject(const polyMesh& mesh); + //- Construct given polyMesh + explicit meshSearchFACE_CENTRE_TRISMeshObject(const polyMesh& mesh) + : + MeshObject_type(mesh), + meshSearch(mesh, polyMesh::FACE_CENTRE_TRIS) + {} + //- Destructor virtual ~meshSearchFACE_CENTRE_TRISMeshObject() = default; diff --git a/src/meshTools/meshSearch/meshSearchMeshObject.C b/src/meshTools/meshSearch/meshSearchMeshObject.C index 0782d9aaa0b..e979ffc1426 100644 --- a/src/meshTools/meshSearch/meshSearchMeshObject.C +++ b/src/meshTools/meshSearch/meshSearchMeshObject.C @@ -35,13 +35,4 @@ namespace Foam } -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::meshSearchMeshObject::meshSearchMeshObject(const polyMesh& mesh) -: - MeshObject<polyMesh, Foam::GeometricMeshObject, meshSearchMeshObject>(mesh), - meshSearch(mesh) -{} - - // ************************************************************************* // diff --git a/src/meshTools/meshSearch/meshSearchMeshObject.H b/src/meshTools/meshSearch/meshSearchMeshObject.H index 81e3359ea95..65b31a4ce24 100644 --- a/src/meshTools/meshSearch/meshSearchMeshObject.H +++ b/src/meshTools/meshSearch/meshSearchMeshObject.H @@ -54,6 +54,14 @@ class meshSearchMeshObject public MeshObject<polyMesh, GeometricMeshObject, meshSearchMeshObject>, public meshSearch { + // Private Typedefs + + typedef MeshObject + < + polyMesh, + GeometricMeshObject, + meshSearchMeshObject + > MeshObject_type; public: @@ -63,8 +71,13 @@ public: // Constructors - //- Constructor given polyMesh - explicit meshSearchMeshObject(const polyMesh& mesh); + //- Construct given polyMesh + explicit meshSearchMeshObject(const polyMesh& mesh) + : + MeshObject_type(mesh), + meshSearch(mesh) + {} + //- Destructor virtual ~meshSearchMeshObject() = default; diff --git a/src/meshTools/multiWorld/multiWorldConnectionsObject.C b/src/meshTools/multiWorld/multiWorldConnectionsObject.C index 0e5c9e14b3d..caa05034311 100644 --- a/src/meshTools/multiWorld/multiWorldConnectionsObject.C +++ b/src/meshTools/multiWorld/multiWorldConnectionsObject.C @@ -181,7 +181,7 @@ Foam::label Foam::multiWorldConnections::createCommunicator(const edge& worlds) Foam::multiWorldConnections::multiWorldConnections(const Time& runTime) : - MeshObjectType(runTime) + MeshObject_type(runTime) {} @@ -190,16 +190,10 @@ Foam::multiWorldConnections::multiWorldConnections(const Time& runTime) const Foam::multiWorldConnections& Foam::multiWorldConnections::New(const Time& runTime) { - return MeshObjectType::New(runTime); + return MeshObject_type::New(runTime); } -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::multiWorldConnections::~multiWorldConnections() -{} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // bool Foam::multiWorldConnections::empty() const noexcept diff --git a/src/meshTools/multiWorld/multiWorldConnectionsObject.H b/src/meshTools/multiWorld/multiWorldConnectionsObject.H index d0c0bb7616c..5f69f2398e2 100644 --- a/src/meshTools/multiWorld/multiWorldConnectionsObject.H +++ b/src/meshTools/multiWorld/multiWorldConnectionsObject.H @@ -69,7 +69,7 @@ class multiWorldConnections Time, TopologicalMeshObject, multiWorldConnections - > MeshObjectType; + > MeshObject_type; // Private Data @@ -111,7 +111,7 @@ public: //- Destructor - ~multiWorldConnections(); + ~multiWorldConnections() = default; // Member Functions diff --git a/src/meshTools/regionSplit/regionSplit.C b/src/meshTools/regionSplit/regionSplit.C index 9e02486ed53..7c0005a5820 100644 --- a/src/meshTools/regionSplit/regionSplit.C +++ b/src/meshTools/regionSplit/regionSplit.C @@ -385,7 +385,7 @@ Foam::regionSplit::regionSplit const bool doGlobalRegions ) : - MeshObject<polyMesh, Foam::TopologicalMeshObject, regionSplit>(mesh), + MeshObject_type(mesh), labelList(mesh.nCells(), UNASSIGNED), globalNumbering_() { @@ -432,7 +432,7 @@ Foam::regionSplit::regionSplit const bool doGlobalRegions ) : - MeshObject<polyMesh, Foam::TopologicalMeshObject, regionSplit>(mesh), + MeshObject_type(mesh), labelList(mesh.nCells(), UNASSIGNED), globalNumbering_() { diff --git a/src/meshTools/regionSplit/regionSplit.H b/src/meshTools/regionSplit/regionSplit.H index 8e0d28e348d..9ad158fc356 100644 --- a/src/meshTools/regionSplit/regionSplit.H +++ b/src/meshTools/regionSplit/regionSplit.H @@ -143,6 +143,16 @@ class regionSplit public MeshObject<polyMesh, TopologicalMeshObject, regionSplit>, public labelList { + // Private Typedefs + + typedef MeshObject + < + polyMesh, + TopologicalMeshObject, + regionSplit + > MeshObject_type; + + // Private Data //- Indexing into the regions @@ -157,7 +167,6 @@ class regionSplit // Private Class - //- Simple wrapper for handling test() on bitSet or boolList //- without a templating layer or lambda expresssion. class bitSetOrBoolList diff --git a/src/meshTools/twoDPointCorrector/twoDPointCorrector.C b/src/meshTools/twoDPointCorrector/twoDPointCorrector.C index 29fcae294fa..827faa279cb 100644 --- a/src/meshTools/twoDPointCorrector/twoDPointCorrector.C +++ b/src/meshTools/twoDPointCorrector/twoDPointCorrector.C @@ -199,7 +199,7 @@ void Foam::twoDPointCorrector::snapToWedge Foam::twoDPointCorrector::twoDPointCorrector(const polyMesh& mesh) : - MeshObject<polyMesh, Foam::UpdateableMeshObject, twoDPointCorrector>(mesh), + MeshObject_type(mesh), required_(mesh_.nGeometricD() == 2), planeNormalPtr_(nullptr), normalEdgeIndicesPtr_(nullptr), @@ -209,7 +209,6 @@ Foam::twoDPointCorrector::twoDPointCorrector(const polyMesh& mesh) {} - // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::twoDPointCorrector::~twoDPointCorrector() diff --git a/src/meshTools/twoDPointCorrector/twoDPointCorrector.H b/src/meshTools/twoDPointCorrector/twoDPointCorrector.H index b7c7d831ffb..ff9c6195f05 100644 --- a/src/meshTools/twoDPointCorrector/twoDPointCorrector.H +++ b/src/meshTools/twoDPointCorrector/twoDPointCorrector.H @@ -54,7 +54,7 @@ SourceFiles namespace Foam { -// Forward class declarations +// Forward Declarations class polyMesh; /*---------------------------------------------------------------------------*\ @@ -65,7 +65,17 @@ class twoDPointCorrector : public MeshObject<polyMesh, UpdateableMeshObject, twoDPointCorrector> { - // Private data + // Private Typedefs + + typedef MeshObject + < + polyMesh, + UpdateableMeshObject, + twoDPointCorrector + > MeshObject_type; + + + // Private Data //- Is 2D correction required, i.e. is the mesh bool required_; diff --git a/src/optimisation/adjointOptimisation/adjoint/interpolation/pointVolInterpolation/pointVolInterpolation.H b/src/optimisation/adjointOptimisation/adjoint/interpolation/pointVolInterpolation/pointVolInterpolation.H index 642b3062e10..b3372d82baa 100644 --- a/src/optimisation/adjointOptimisation/adjoint/interpolation/pointVolInterpolation/pointVolInterpolation.H +++ b/src/optimisation/adjointOptimisation/adjoint/interpolation/pointVolInterpolation/pointVolInterpolation.H @@ -53,6 +53,7 @@ SourceFiles namespace Foam { +// Forward Declarations class fvMesh; class pointMesh; @@ -62,7 +63,7 @@ class pointMesh; class pointVolInterpolation { - // Private data + // Private Data const pointMesh& pointMesh_; const fvMesh& fvMesh_; @@ -110,13 +111,12 @@ public: // Constructors - //- Constructor given pointMesh and fvMesh. + //- Construct given pointMesh and fvMesh. pointVolInterpolation(const pointMesh&, const fvMesh&); - // Destructor - - ~pointVolInterpolation(); + //- Destructor + ~pointVolInterpolation(); // Member functions diff --git a/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolationAdjoint.C b/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolationAdjoint.C index 63e07ae5266..0d63d8cff34 100644 --- a/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolationAdjoint.C +++ b/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolationAdjoint.C @@ -297,10 +297,7 @@ void Foam::volPointInterpolationAdjoint::makeWeights() Foam::volPointInterpolationAdjoint::volPointInterpolationAdjoint(const fvMesh& vm) : - MeshObject<fvMesh, Foam::UpdateableMeshObject, volPointInterpolationAdjoint> - ( - vm - ) + MeshObject_type(vm) { makeWeights(); } diff --git a/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolationAdjoint.H b/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolationAdjoint.H index 78225457b8b..7d6c7339790 100644 --- a/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolationAdjoint.H +++ b/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolationAdjoint.H @@ -50,6 +50,7 @@ SourceFiles namespace Foam { +// Forward Declarations class fvMesh; class pointMesh; @@ -59,8 +60,23 @@ class pointMesh; class volPointInterpolationAdjoint : - public MeshObject<fvMesh, UpdateableMeshObject, volPointInterpolationAdjoint> + public MeshObject + < + fvMesh, + UpdateableMeshObject, + volPointInterpolationAdjoint + > { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + UpdateableMeshObject, + volPointInterpolationAdjoint + > MeshObject_type; + + protected: // Protected data @@ -128,7 +144,7 @@ public: // Constructors - //- Constructor given fvMesh and pointMesh. + //- Construct given fvMesh explicit volPointInterpolationAdjoint(const fvMesh&); diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/levelSet/levelSetDesignVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/levelSet/levelSetDesignVariables.C index 3d9d41c561f..ea00083fed9 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/levelSet/levelSetDesignVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/levelSet/levelSetDesignVariables.C @@ -417,11 +417,8 @@ void levelSetDesignVariables::update(scalarField& correction) // Though the mesh is kept constant, the distance from wall may change // due to fvOptions depending on beta. Trick wallDist into updating it - if (mesh_.foundObject<UpdateableMeshObject<fvMesh>>("wallDist")) - { - mesh_.lookupObjectRef<UpdateableMeshObject<fvMesh>>("wallDist"). - movePoints(); - } + + wallDist::try_movePoints(mesh_); } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/topODesignVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/topODesignVariables.C index 9b7b1416289..5aa934df68d 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/topODesignVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/topODesignVariables.C @@ -28,7 +28,7 @@ License #include "localIOdictionary.H" #include "topODesignVariables.H" -#include "MeshObject.H" +#include "wallDist.H" #include "wallFvPatch.H" #include "cutFaceIso.H" #include "cutCellIso.H" @@ -452,11 +452,9 @@ void Foam::topODesignVariables::update(scalarField& correction) // if the method computing it includes fvOptions that depend on the // indicator field. // Trick wallDist into updating it - if (mesh_.foundObject<UpdateableMeshObject<fvMesh>>("wallDist")) - { - mesh_.lookupObjectRef<UpdateableMeshObject<fvMesh>>("wallDist"). - movePoints(); - } + + wallDist::try_movePoints(mesh_); + // Write the 0.5 beta iso-line to files, as an indication of the // fluid-solid interface diff --git a/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.C b/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.C index 4ff3278479b..2e38bb25a91 100644 --- a/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.C +++ b/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.C @@ -45,7 +45,7 @@ volBSplinesBase::volBSplinesBase const fvMesh& mesh ) : - MeshObject<fvMesh, UpdateableMeshObject, volBSplinesBase>(mesh), + MeshObject_type(mesh), volume_(0), activeDesignVariables_(0) { @@ -58,7 +58,7 @@ volBSplinesBase::volBSplinesBase "dynamicMeshDict", mesh.time().constant(), mesh, - IOobject::MUST_READ_IF_MODIFIED, + IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER ) diff --git a/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.H b/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.H index 93e03929f00..01a0244b11c 100644 --- a/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.H +++ b/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.H @@ -61,20 +61,16 @@ class volBSplinesBase : public MeshObject<fvMesh, UpdateableMeshObject, volBSplinesBase> { -protected: - - // Protected data - - //- List with volumetric B-splines boxes. - // No overlapping is supported - PtrList<NURBS3DVolume> volume_; + // Private Typedefs - //- Active design variables numbering for all boxes - labelList activeDesignVariables_; + typedef MeshObject + < + fvMesh, + UpdateableMeshObject, + volBSplinesBase + > MeshObject_type; -private: - // Private Member Functions //- No copy construct @@ -84,6 +80,18 @@ private: void operator=(const volBSplinesBase&) = delete; +protected: + + // Protected Data + + //- List with volumetric B-splines boxes. + // No overlapping is supported + PtrList<NURBS3DVolume> volume_; + + //- Active design variables numbering for all boxes + labelList activeDesignVariables_; + + public: //- Runtime type information @@ -93,7 +101,7 @@ public: // Constructors //- Construct from components - volBSplinesBase(const fvMesh& mesh); + explicit volBSplinesBase(const fvMesh& mesh); //- Destructor diff --git a/src/overset/cellCellStencil/cellCellStencil/cellCellStencilObject.H b/src/overset/cellCellStencil/cellCellStencil/cellCellStencilObject.H index 4ecd06006f3..911cb661021 100644 --- a/src/overset/cellCellStencil/cellCellStencil/cellCellStencilObject.H +++ b/src/overset/cellCellStencil/cellCellStencil/cellCellStencilObject.H @@ -32,8 +32,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cellCellStencilObject_H -#define cellCellStencilObject_H +#ifndef Foam_cellCellStencilObject_H +#define Foam_cellCellStencilObject_H #include "cellCellStencil.H" #include "MeshObject.H" @@ -43,13 +43,10 @@ SourceFiles namespace Foam { +// Typedefs class cellCellStencilObject; -typedef MeshObject -< - fvMesh, - Foam::MoveableMeshObject, - cellCellStencilObject -> Stencil; +typedef MeshObject<fvMesh, MoveableMeshObject, cellCellStencilObject> Stencil; + /*---------------------------------------------------------------------------*\ Class cellCellStencilObject Declaration @@ -57,10 +54,20 @@ typedef MeshObject class cellCellStencilObject : - public Stencil, + public MeshObject<fvMesh, MoveableMeshObject, cellCellStencilObject>, public cellCellStencil { - // Private data + // Private Typedefs + + typedef MeshObject + < + fvMesh, + MoveableMeshObject, + cellCellStencilObject + > MeshObject_type; + + + // Private Data autoPtr<cellCellStencil> stencilPtr_; @@ -69,6 +76,7 @@ public: TypeName("cellCellStencilObject"); + // Constructors //- Construct with mesh @@ -78,12 +86,8 @@ public: const bool update = true ) : - MeshObject - < - fvMesh, - Foam::MoveableMeshObject, - cellCellStencilObject - >(mesh), + MeshObject_type(mesh), + cellCellStencil(mesh), stencilPtr_ ( diff --git a/src/parallel/decompose/decompose/decompositionModel.C b/src/parallel/decompose/decompose/decompositionModel.C index 074e83c6f2e..63d7d0902d7 100644 --- a/src/parallel/decompose/decompose/decompositionModel.C +++ b/src/parallel/decompose/decompose/decompositionModel.C @@ -49,12 +49,8 @@ Foam::decompositionModel::decompositionModel const dictionary* fallback ) : - MeshObject - < - polyMesh, - Foam::UpdateableMeshObject, - decompositionModel - >(mesh), + MeshObject_type(mesh), + IOdictionary ( IOobject::selectIO @@ -86,13 +82,7 @@ const Foam::decompositionModel& Foam::decompositionModel::New const dictionary* content ) { - return - MeshObject - < - polyMesh, - Foam::UpdateableMeshObject, - decompositionModel - >::New(mesh, decompDictFile, content); + return MeshObject_type::New(mesh, decompDictFile, content); } diff --git a/src/parallel/decompose/decompose/decompositionModel.H b/src/parallel/decompose/decompose/decompositionModel.H index 2624219caf1..2068bcd978e 100644 --- a/src/parallel/decompose/decompose/decompositionModel.H +++ b/src/parallel/decompose/decompose/decompositionModel.H @@ -65,6 +65,16 @@ class decompositionModel >, public IOdictionary { + // Private Typedefs + + typedef MeshObject + < + polyMesh, + UpdateableMeshObject, + decompositionModel + > MeshObject_type; + + // Private Data mutable autoPtr<decompositionMethod> decomposerPtr_; diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C index 7092f15b49f..5b0b68f18a1 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C @@ -46,12 +46,8 @@ Foam::radiation::boundaryRadiationProperties::boundaryRadiationProperties const fvMesh& mesh ) : - MeshObject - < - fvMesh, - Foam::GeometricMeshObject, - boundaryRadiationProperties - >(mesh), + MeshObject_type(mesh), + radBoundaryPropertiesPtrList_(mesh.boundary().size()), radZonePropertiesPtrList_(mesh.faceZones().size()) { diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H index 69dd3973d5b..ef88f79d6fe 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H @@ -34,8 +34,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef boundaryRadiationProperties_H -#define boundaryRadiationProperties_H +#ifndef Foam_boundaryRadiationProperties_H +#define Foam_boundaryRadiationProperties_H #include "MeshObject.H" #include "boundaryRadiationPropertiesPatch.H" @@ -45,6 +45,7 @@ SourceFiles namespace Foam { +// Forward Declarations class fvMesh; namespace radiation @@ -59,10 +60,20 @@ class boundaryRadiationProperties public MeshObject < fvMesh, - Foam::GeometricMeshObject, + GeometricMeshObject, boundaryRadiationProperties > { + // Private Typedefs + + typedef MeshObject + < + fvMesh, + GeometricMeshObject, + boundaryRadiationProperties + > MeshObject_type; + + // Private Data //- Per patch the boundaryRadiationProperties @@ -83,7 +94,7 @@ public: // Constructors //- Construct given fvMesh - explicit boundaryRadiationProperties(const fvMesh&); + explicit boundaryRadiationProperties(const fvMesh& mesh); // Member Functions -- GitLab From 31aadc5c4d6f4d4d2c7ee39be8469a282546ec82 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 15 Apr 2024 15:32:57 +0200 Subject: [PATCH 133/231] ENH: prefer objectRegistry sorted to lookupClass - lower memory overhead, consistent access pattern --- .../fieldsDistributorTemplates.C | 26 ++++++++----------- .../polyMeshFilter/polyMeshFilterTemplates.C | 4 +++ .../setUpdater/setUpdaterTemplates.C | 4 +++ .../utilities/caseInfo/caseInfo.C | 25 +++++++++--------- 4 files changed, 32 insertions(+), 27 deletions(-) diff --git a/src/OpenFOAM/parallel/fieldsDistributor/fieldsDistributorTemplates.C b/src/OpenFOAM/parallel/fieldsDistributor/fieldsDistributorTemplates.C index 01c0195b81c..1bd35abd3b8 100644 --- a/src/OpenFOAM/parallel/fieldsDistributor/fieldsDistributorTemplates.C +++ b/src/OpenFOAM/parallel/fieldsDistributor/fieldsDistributorTemplates.C @@ -167,16 +167,15 @@ void Foam::fieldsDistributor::readFieldsImpl if (deregister) { // Extra safety - remove all such types - const UPtrList<const GeoField> other + for ( - mesh.thisDb().objectRegistry::template cobjects<GeoField>() - ); - - for (const GeoField& field : other) + const GeoField& fld + : mesh.thisDb().objectRegistry::template csorted<GeoField>() + ) { - if (!field.ownedByRegistry()) + if (!fld.ownedByRegistry()) { - const_cast<GeoField&>(field).checkOut(); + const_cast<GeoField&>(fld).checkOut(); } } } @@ -348,18 +347,15 @@ void Foam::fieldsDistributor::readFieldsImpl /// Info<< nl; // Extra safety - remove all such types - HashTable<const GeoField*> other + for ( - mesh.thisDb().objectRegistry::template lookupClass<GeoField>() - ); - - forAllConstIters(other, iter) + const GeoField& fld + : mesh.thisDb().objectRegistry::template csorted<GeoField>() + ) { - GeoField& fld = const_cast<GeoField&>(*iter.val()); - if (!fld.ownedByRegistry()) { - fld.checkOut(); + const_cast<GeoField&>(fld).checkOut(); } } } diff --git a/src/dynamicMesh/polyMeshFilter/polyMeshFilterTemplates.C b/src/dynamicMesh/polyMeshFilter/polyMeshFilterTemplates.C index e7cd13a9741..ff5dbc9b372 100644 --- a/src/dynamicMesh/polyMeshFilter/polyMeshFilterTemplates.C +++ b/src/dynamicMesh/polyMeshFilter/polyMeshFilterTemplates.C @@ -40,6 +40,10 @@ void Foam::polyMeshFilter::updateSets(const mapPolyMesh& map) // Update all sets in memory // + // Note: objectRegistry::lookupClass() instead of + // objectRegistry::csorted() since it is also used to check + // contains() in the next bit of code + const HashTable<const SetType*> sets ( map.mesh().objectRegistry::lookupClass<const SetType>() diff --git a/src/dynamicMesh/setUpdater/setUpdaterTemplates.C b/src/dynamicMesh/setUpdater/setUpdaterTemplates.C index d1f7ade2b2c..f01feda9ad2 100644 --- a/src/dynamicMesh/setUpdater/setUpdaterTemplates.C +++ b/src/dynamicMesh/setUpdater/setUpdaterTemplates.C @@ -41,6 +41,10 @@ void Foam::setUpdater::updateSets(const mapPolyMesh& map) // Update all sets in memory // + // Note: objectRegistry::lookupClass() instead of + // objectRegistry::csorted() since it is also used to check + // contains() in the next bit of code + const HashTable<const SetType*> sets ( map.mesh().objectRegistry::lookupClass<const SetType>() diff --git a/src/functionObjects/utilities/caseInfo/caseInfo.C b/src/functionObjects/utilities/caseInfo/caseInfo.C index b64f328cee1..caec64d9355 100644 --- a/src/functionObjects/utilities/caseInfo/caseInfo.C +++ b/src/functionObjects/utilities/caseInfo/caseInfo.C @@ -5,20 +5,24 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. + OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + \*---------------------------------------------------------------------------*/ #include "caseInfo.H" @@ -333,16 +337,15 @@ void Foam::functionObjects::caseInfo::writeMeshStats namespace Foam { - template<class Type> + template<class GeoFieldType> void addPatchTypeDetails(const fvMesh& mesh, dictionary& dict) { - auto objects = mesh.lookupClass<Type>(); - for (const auto* objPtr : objects) + for (const GeoFieldType& obj : mesh.csorted<GeoFieldType>()) { - if (objPtr->readOpt() == IOobject::MUST_READ) + if (obj.readOpt() == IOobject::MUST_READ) { - const auto& bf = objPtr->boundaryField(); - dictionary& objDict = dict.subDictOrAdd(objPtr->name()); + const auto& bf = obj.boundaryField(); + dictionary& objDict = dict.subDictOrAdd(obj.name()); for (const auto& pf : bf) { @@ -459,14 +462,12 @@ bool Foam::functionObjects::caseInfo::write() writeFileDicts(dataDicts, dicts); // Per-region information - const auto meshes = time_.lookupClass<fvMesh>(); dictionary& regionDict = data.subDictOrAdd("regions"); - for (const auto& iter : meshes.csorted()) + + for (const fvMesh& mesh : time_.csorted<fvMesh>()) { dictionary meshDicts(dicts); - const fvMesh& mesh = *iter.val(); - const word& name = mesh.name(); dictionary& out = regionDict.subDictOrAdd(name); @@ -526,4 +527,4 @@ bool Foam::functionObjects::caseInfo::write() } -// ************************************************************************* // \ No newline at end of file +// ************************************************************************* // -- GitLab From 1d5b95b5febe356a2040eabb99261c401f92a328 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 18 Apr 2024 11:50:52 +0100 Subject: [PATCH 134/231] BUG: redistributePar: Distributing refinement data. Fixes #3137. - was using blocking (=buffered) comms - was running out of MPI_COMM_SIZE buffer space - now using PstreamBuffers to have non-blocing comms --- .../polyTopoChange/hexRef8/refinementHistory.C | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C index 18ac3e6dc2e..7919d228e18 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C @@ -1271,6 +1271,9 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map) // Create subsetted refinement tree consisting of all parents that // move in their whole to other processor. + + PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + for (const int proci : Pstream::allProcs()) { //Pout<< "-- Subetting for processor " << proci << endl; @@ -1364,11 +1367,15 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map) // Send to neighbours - OPstream toNbr(Pstream::commsTypes::blocking, proci); + UOPstream toNbr(proci, pBufs); toNbr << newSplitCells << newVisibleCells; } + // Wait for finish + pBufs.finishedSends(); + + // Receive from neighbours and merge // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1382,7 +1389,7 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map) for (const int proci : Pstream::allProcs()) { - IPstream fromNbr(Pstream::commsTypes::blocking, proci); + UIPstream fromNbr(proci, pBufs); List<splitCell8> newSplitCells(fromNbr); labelList newVisibleCells(fromNbr); -- GitLab From b5435cc83e9c219219743bcc51b3d8a4aefbc89a Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 17 Apr 2024 14:27:25 +0200 Subject: [PATCH 135/231] ENH: separate registry and revised file locations for finite-area - The internal storage location of finite-area changes from being piggybacked on the polyMesh registry to a having its own dedicated registry: * allows a clearer separation of field types without name clashes. * prerequisite for supporting multiple finite-area regions (future) Old Locations: ``` 0/Us constant/faMesh system/faMeshDefinition system/faSchemes system/faSolution ``` New Locations: ``` 0/finite-area/Us constant/finite-area/faMesh system/finite-area/faMeshDefinition (or system/faMeshDefinition) system/finite-area/faSchemes system/finite-area/faSolution ``` NOTES: The new locations represent a hard change (breaking change) that is normally to be avoided, but seamless compatibility handling within the code was found to be unworkable. The `foamUpgradeFiniteArea` script provides assistance with migration. As a convenience, the system/faMeshDefinition location continues to be supported (may be deprecated in the future). --- applications/test/faMesh-try/Make/files | 3 + applications/test/faMesh-try/Make/options | 7 + .../test/faMesh-try/Test-faMesh-try.cxx | 63 +++ applications/test/faMeshesRegistry/Make/files | 3 + .../test/faMeshesRegistry/Make/options | 7 + .../Test-faMeshesRegistry.cxx | 68 +++ .../finiteArea/checkFaMesh/checkFaMesh.C | 6 +- .../finiteArea/makeFaMesh/decomposeFaFields.H | 8 +- .../makeFaMesh/findMeshDefinitionDict.H | 42 +- .../finiteArea/makeFaMesh/makeFaMesh.C | 12 +- .../decomposePar/decomposePar.C | 36 +- .../reconstructPar/reconstructPar.C | 32 +- .../redistributePar/redistributePar.C | 21 +- .../foamToEnsight/checkFieldAvailability.H | 51 ++- .../foamToEnsight/convertAreaFields.H | 6 +- .../foamToEnsight/foamToEnsight.C | 14 + .../foamToEnsight/getTimeIndex.H | 2 +- .../dataConversion/foamToEnsight/readFields.C | 13 +- .../dataConversion/foamToEnsight/readFields.H | 5 +- .../foamToVTK/convertAreaFields.H | 6 +- .../dataConversion/foamToVTK/foamToVTK.C | 17 +- bin/foamUpgradeFiniteArea | 322 ++++++++++++++ .../interfaceTrackingFvMesh.C | 2 +- src/finiteArea/Make/files | 2 + src/finiteArea/faMesh/faMesh.C | 403 +++++++++++++++--- src/finiteArea/faMesh/faMesh.H | 226 ++++++++-- src/finiteArea/faMesh/faMeshI.H | 9 +- src/finiteArea/faMesh/faMeshNew.C | 115 +++-- src/finiteArea/faMesh/faMeshRegistry.C | 76 ++++ .../faMesh/faMeshTools/faMeshTools.C | 26 +- .../faMesh/faMeshTools/faMeshTools.H | 5 +- src/finiteArea/faMesh/faMeshesRegistry.C | 100 +++++ src/finiteArea/faMesh/faMeshesRegistry.H | 194 +++++++++ .../shape/surface/sensitivitySurface.C | 124 +++--- .../curvatureSeparation/curvatureSeparation.C | 120 +++--- 35 files changed, 1804 insertions(+), 342 deletions(-) create mode 100644 applications/test/faMesh-try/Make/files create mode 100644 applications/test/faMesh-try/Make/options create mode 100644 applications/test/faMesh-try/Test-faMesh-try.cxx create mode 100644 applications/test/faMeshesRegistry/Make/files create mode 100644 applications/test/faMeshesRegistry/Make/options create mode 100644 applications/test/faMeshesRegistry/Test-faMeshesRegistry.cxx create mode 100755 bin/foamUpgradeFiniteArea create mode 100644 src/finiteArea/faMesh/faMeshRegistry.C create mode 100644 src/finiteArea/faMesh/faMeshesRegistry.C create mode 100644 src/finiteArea/faMesh/faMeshesRegistry.H diff --git a/applications/test/faMesh-try/Make/files b/applications/test/faMesh-try/Make/files new file mode 100644 index 00000000000..30a5d9b42eb --- /dev/null +++ b/applications/test/faMesh-try/Make/files @@ -0,0 +1,3 @@ +Test-faMesh-try.cxx + +EXE = $(FOAM_USER_APPBIN)/Test-faMesh-try diff --git a/applications/test/faMesh-try/Make/options b/applications/test/faMesh-try/Make/options new file mode 100644 index 00000000000..b5b735e54b7 --- /dev/null +++ b/applications/test/faMesh-try/Make/options @@ -0,0 +1,7 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteArea/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude + +EXE_LIBS = \ + -lfiniteArea \ + -lmeshTools diff --git a/applications/test/faMesh-try/Test-faMesh-try.cxx b/applications/test/faMesh-try/Test-faMesh-try.cxx new file mode 100644 index 00000000000..783870b06ec --- /dev/null +++ b/applications/test/faMesh-try/Test-faMesh-try.cxx @@ -0,0 +1,63 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Application + Test-faMesh-try + +Description + Test for loading of faMesh + +\*---------------------------------------------------------------------------*/ + +#include "argList.H" +#include "faMesh.H" +#include "polyMesh.H" + +using namespace Foam; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + #include "addRegionOption.H" + #include "addFaRegionOption.H" + #include "setRootCase.H" + + #include "createTime.H" + #include "createNamedPolyMesh.H" + + #include "getFaRegionOption.H" + + autoPtr<faMesh> aMeshPtr = faMesh::TryNew(areaRegionName, mesh); + + Info<< "area-mesh: " << Switch::name(aMeshPtr) << nl; + + Info<< "\nEnd\n" << nl; + + return 0; +} + + +// ************************************************************************* // diff --git a/applications/test/faMeshesRegistry/Make/files b/applications/test/faMeshesRegistry/Make/files new file mode 100644 index 00000000000..c393033c0b7 --- /dev/null +++ b/applications/test/faMeshesRegistry/Make/files @@ -0,0 +1,3 @@ +Test-faMeshesRegistry.cxx + +EXE = $(FOAM_USER_APPBIN)/Test-faMeshesRegistry diff --git a/applications/test/faMeshesRegistry/Make/options b/applications/test/faMeshesRegistry/Make/options new file mode 100644 index 00000000000..b5b735e54b7 --- /dev/null +++ b/applications/test/faMeshesRegistry/Make/options @@ -0,0 +1,7 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteArea/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude + +EXE_LIBS = \ + -lfiniteArea \ + -lmeshTools diff --git a/applications/test/faMeshesRegistry/Test-faMeshesRegistry.cxx b/applications/test/faMeshesRegistry/Test-faMeshesRegistry.cxx new file mode 100644 index 00000000000..d58ffdad325 --- /dev/null +++ b/applications/test/faMeshesRegistry/Test-faMeshesRegistry.cxx @@ -0,0 +1,68 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Application + Test-faMeshesRegistry + +Description + Basic tests for faMeshesRegistry + +\*---------------------------------------------------------------------------*/ + +#include "argList.H" +#include "faMesh.H" +#include "faMeshesRegistry.H" +#include "polyMesh.H" + +using namespace Foam; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + #include "setRootCase.H" + + #include "createTime.H" + #include "createPolyMesh.H" + + Info<< "mesh 0: " << mesh.sortedNames() << nl; + + faMeshesRegistry& reg = + const_cast<faMeshesRegistry&>(faMeshesRegistry::New(mesh)); + + // faMeshesRegistry faReg = faMeshesRegistry(mesh); + + faMesh mesh1(mesh, Foam::zero{}); + faMesh mesh2("mesh2", mesh, Foam::zero{}); + + reg.write(); + + Info<< "\nEnd\n" << nl; + + return 0; +} + + +// ************************************************************************* // diff --git a/applications/utilities/finiteArea/checkFaMesh/checkFaMesh.C b/applications/utilities/finiteArea/checkFaMesh/checkFaMesh.C index a31468da21f..e335c087b7c 100644 --- a/applications/utilities/finiteArea/checkFaMesh/checkFaMesh.C +++ b/applications/utilities/finiteArea/checkFaMesh/checkFaMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -77,6 +77,7 @@ int main(int argc, char *argv[]) ); #include "addRegionOption.H" + #include "addFaRegionOption.H" #include "setRootCase.H" #include "createTime.H" #include "createNamedPolyMesh.H" @@ -90,8 +91,7 @@ int main(int argc, char *argv[]) faMesh::geometryOrder(geometryOrder); } - // Create - faMesh aMesh(mesh); + #include "createNamedFaMesh.H" Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H b/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H index 1e60c422d73..e7110f47fb0 100644 --- a/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H +++ b/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H @@ -70,7 +70,13 @@ do const bool oldParRun = UPstream::parRun(false); - objects = IOobjectList(serialMesh.time(), runTime.timeName()); + objects = IOobjectList + ( + serialMesh.time(), + runTime.timeName(), + serialMesh.dbDir(), + IOobjectOption::NO_REGISTER + ); UPstream::parRun(oldParRun); } diff --git a/applications/utilities/finiteArea/makeFaMesh/findMeshDefinitionDict.H b/applications/utilities/finiteArea/makeFaMesh/findMeshDefinitionDict.H index e1638a77ee8..80b2b657701 100644 --- a/applications/utilities/finiteArea/makeFaMesh/findMeshDefinitionDict.H +++ b/applications/utilities/finiteArea/makeFaMesh/findMeshDefinitionDict.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -18,7 +18,8 @@ Required Classes - Foam::IOdictionary Required Variables - - regionName [word] + - regionName [word] (the polyMesh region) + - areaRegionName [word] (the areaMesh region) - args [argList] - runTime [Time] @@ -35,6 +36,7 @@ autoPtr<IOdictionary> meshDictPtr; { fileName dictPath; const word& regionDir = Foam::polyMesh::regionName(regionName); + const word& areaRegionDir = Foam::polyMesh::regionName(areaRegionName); if (args.readIfPresent("dict", dictPath)) { @@ -47,38 +49,30 @@ autoPtr<IOdictionary> meshDictPtr; } else if ( - // Check global location - exists + // Dictionary under system/faMeshDefinition ? + // (v2312 and earlier) + + areaRegionDir.empty() + && exists ( - runTime.path()/runTime.caseConstant() + runTime.path()/runTime.caseSystem() / regionDir/faMesh::meshSubDir/dictName ) ) { - // Dictionary present in constant faMesh directory (old-style) - - dictPath = - ( - runTime.constant() - / regionDir/faMesh::meshSubDir/dictName - ); + // Dictionary present directly in system/ (v2312 and earlier) - // Warn that constant/faMesh/faMeshDefinition was used - // instead of system/faMeshDefinition - #if 0 - WarningIn(args.executable()) - << "Using the old faMeshDefinition location: " - << dictPath << nl - << " instead of default location: " - << runTime.system()/regionDir/dictName << nl - << endl; - #endif + dictPath = runTime.system()/regionDir/dictName; } else { - // Assume dictionary is in the system directory + // Use system/finite-area/ directory, with region qualifications - dictPath = runTime.system()/regionDir/dictName; + dictPath = + ( + runTime.system()/regionDir + / faMesh::prefix()/areaRegionDir/dictName + ); } IOobject meshDictIO diff --git a/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C b/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C index 21be51ee46d..91d74391e05 100644 --- a/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C +++ b/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C @@ -104,10 +104,13 @@ int main(int argc, char *argv[]) ); #include "addRegionOption.H" + #include "addFaRegionOption.H" #include "setRootCase.H" #include "createTime.H" #include "createNamedPolyMesh.H" + #include "getFaRegionOption.H" + const bool doDecompose = !args.found("no-decompose"); const bool doDecompFields = !args.found("no-fields"); @@ -133,8 +136,15 @@ int main(int argc, char *argv[]) // Preliminary checks #include "checkPatchTopology.H" + Info << "Create areaMesh"; + if (!Foam::polyMesh::regionName(areaRegionName).empty()) + { + Foam::Info << ' ' << areaRegionName; + } + Info << " for polyMesh at time = " << runTime.timeName() << nl; + // Create - faMesh aMesh(mesh, meshDefDict); + faMesh aMesh(areaRegionName, mesh, meshDefDict); // Mesh information (less verbose) faMeshTools::printMeshChecks(aMesh, 0); diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index 7676ec50d16..1309cac153b 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -173,7 +173,7 @@ namespace Foam // Uses polyMesh/fvMesh meshSubDir by default autoPtr<labelIOList> procAddressing ( - const fvMesh& procMesh, + const objectRegistry& procRegistry, const word& name, const word& instance, const word& local = fvMesh::meshSubDir @@ -186,7 +186,7 @@ autoPtr<labelIOList> procAddressing name, instance, local, - procMesh, + procRegistry, IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -199,13 +199,13 @@ autoPtr<labelIOList> procAddressing // Uses the finiteArea meshSubDir autoPtr<labelIOList> faProcAddressing ( - const fvMesh& procMesh, + const objectRegistry& procRegistry, const word& name, const word& instance, const word& local = faMesh::meshSubDir ) { - return procAddressing(procMesh, name, instance, local); + return procAddressing(procRegistry, name, instance, local); } @@ -797,11 +797,22 @@ int main(int argc, char *argv[]) // Field objects at this time IOobjectList objects; + IOobjectList faObjects; if (doDecompFields) { + // List of volume mesh objects for this instance objects = IOobjectList(mesh, runTime.timeName()); + // List of area mesh objects (assuming single region) + faObjects = IOobjectList + ( + mesh.time(), + runTime.timeName(), + faMesh::dbDir(mesh, word::null), + IOobjectOption::NO_REGISTER + ); + // Ignore generated fields: (cellDist) objects.remove("cellDist"); } @@ -810,12 +821,15 @@ int main(int argc, char *argv[]) autoPtr<faMeshDecomposition> faMeshDecompPtr; if (doFiniteArea) { + const word boundaryInst = + mesh.time().findInstance(mesh.meshDir(), "boundary"); + IOobject io ( "faBoundary", - mesh.time().findInstance(mesh.meshDir(), "boundary"), - faMesh::meshSubDir, - mesh, + boundaryInst, + faMesh::meshDir(mesh, word::null), + mesh.time(), IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -1225,7 +1239,7 @@ int main(int argc, char *argv[]) if (doDecompFields) { - areaFieldCache.readAllFields(aMesh, objects); + areaFieldCache.readAllFields(aMesh, faObjects); } const label nAreaFields = areaFieldCache.size(); @@ -1293,7 +1307,7 @@ int main(int argc, char *argv[]) autoPtr<labelIOList> tfaceProcAddr = faProcAddressing ( - procFvMesh, + procMesh, "faceProcAddressing", runTime.constant() ); @@ -1302,7 +1316,7 @@ int main(int argc, char *argv[]) autoPtr<labelIOList> tboundaryProcAddr = faProcAddressing ( - procFvMesh, + procMesh, "boundaryProcAddressing", runTime.constant() ); @@ -1311,7 +1325,7 @@ int main(int argc, char *argv[]) autoPtr<labelIOList> tedgeProcAddr = faProcAddressing ( - procFvMesh, + procMesh, "edgeProcAddressing", runTime.constant() ); diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C index 0dd1078dd0a..4d2910373d9 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C +++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C @@ -382,9 +382,25 @@ int main(int argc, char *argv[]) IOobjectList objects ( procMeshes.meshes()[0], - databases[0].timeName() + databases[0].timeName(), + IOobjectOption::NO_REGISTER ); + IOobjectList faObjects; + + if (doFiniteArea && doFields) + { + // List of area mesh objects (assuming single region) + // - scan on processor0 + faObjects = IOobjectList + ( + procMeshes.meshes()[0], + databases[0].timeName(), + faMesh::dbDir(word::null), // local relative to mesh + IOobjectOption::NO_REGISTER + ); + } + if (doFields) { // If there are any FV fields, reconstruct them @@ -545,12 +561,12 @@ int main(int argc, char *argv[]) } else if ( - objects.count<areaScalarField>() - || objects.count<areaVectorField>() - || objects.count<areaSphericalTensorField>() - || objects.count<areaSymmTensorField>() - || objects.count<areaTensorField>() - || objects.count<edgeScalarField>() + faObjects.count<areaScalarField>() + || faObjects.count<areaVectorField>() + || faObjects.count<areaSphericalTensorField>() + || faObjects.count<areaSymmTensorField>() + || faObjects.count<areaTensorField>() + || faObjects.count<edgeScalarField>() ) { Info << "Reconstructing FA fields" << nl << endl; @@ -568,7 +584,7 @@ int main(int argc, char *argv[]) procFaMeshes.boundaryProcAddressing() ); - reconstructor.reconstructAllFields(objects); + reconstructor.reconstructAllFields(faObjects); } else { diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C index 23d62c26520..305ec95aca6 100644 --- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C +++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C @@ -102,6 +102,7 @@ Usage #include "faMeshSubset.H" #include "faMeshTools.H" #include "faMeshDistributor.H" +#include "faMeshesRegistry.H" #include "parFaFieldDistributorCache.H" #include "redistributeLagrangian.H" @@ -906,12 +907,26 @@ autoPtr<mapDistributePolyMesh> redistributeAndWrite } + // If faMeshesRegistry exists, it is also owned by the polyMesh and will + // be destroyed by clearGeom() in fvMeshDistribute::distribute() + // + // Rescue faMeshesRegistry from destruction by temporarily moving + // it to be locally owned. + std::unique_ptr<faMeshesRegistry> faMeshesRegistry_saved + ( + faMeshesRegistry::Release(mesh) + ); + // Mesh distribution engine fvMeshDistribute distributor(mesh); // Do all the distribution of mesh and fields autoPtr<mapDistributePolyMesh> distMap = distributor.distribute(decomp); + // Restore ownership onto the polyMesh + faMeshesRegistry::Store(std::move(faMeshesRegistry_saved)); + + // Print some statistics InfoOrPout<< "After distribution:" << endl; printMeshData(mesh); @@ -1598,7 +1613,8 @@ int main(int argc, char *argv[]) ); const fileName areaMeshSubDir ( - polyMesh::regionName(regionName) / faMesh::meshSubDir + // Assume single-region area mesh + faMesh::meshDir(regionName, word::null) ); InfoOrPout @@ -2501,7 +2517,8 @@ int main(int argc, char *argv[]) ); const fileName areaMeshSubDir ( - polyMesh::regionName(regionName) / faMesh::meshSubDir + // Assume single-region area mesh + faMesh::meshDir(regionName, word::null) ); InfoOrPout diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H index a51456de2d8..b9adb4990a9 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkFieldAvailability.H @@ -21,29 +21,38 @@ Requires // Initially all possible objects that are available at the final time List<wordHashSet> availableRegionObjectNames(meshes.size()); +List<wordHashSet> availableFaRegionObjectNames(meshes.size()); forAll(meshes, regioni) { const auto& mesh = meshes[regioni]; IOobjectList objects; + IOobjectList faObjects; if (doConvertFields && !timeDirs.empty()) { + // List of volume mesh objects for this instance objects = IOobjectList(mesh, timeDirs.back().name()); - if (fieldSelector && !fieldSelector().empty()) - { - objects.filterObjects(fieldSelector()); - } + // List of area mesh objects (assuming single region) + faObjects = IOobjectList + ( + mesh.time(), + timeDirs.back().name(), + faMesh::dbDir(mesh, word::null), + IOobjectOption::NO_REGISTER + ); if (fieldSelector && !fieldSelector().empty()) { objects.filterObjects(fieldSelector()); + faObjects.filterObjects(fieldSelector()); } // Remove "*_0" restart fields objects.prune_0(); + faObjects.prune_0(); if (!doPointValues) { @@ -59,12 +68,38 @@ forAll(meshes, regioni) } } - wordList objectNames(objects.sortedNames()); + // Volume fields + if (!objects.empty()) + { + wordList objectNames(objects.sortedNames()); - // Check availability for all times... - checkData(mesh, timeDirs, objectNames); + // Check availability for all times... + checkData + ( + mesh.thisDb(), + timeDirs, + objectNames + ); - availableRegionObjectNames[regioni] = objectNames; + availableRegionObjectNames[regioni] = objectNames; + } + + // Area fields + if (!faObjects.empty()) + { + wordList objectNames(faObjects.sortedNames()); + + // Check availability for all times... (assuming single region) + checkData + ( + mesh.time(), + timeDirs, + objectNames, + faMesh::dbDir(mesh, word::null) + ); + + availableFaRegionObjectNames[regioni] = objectNames; + } } diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/convertAreaFields.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/convertAreaFields.H index 5f2ef2455f5..ad2cc771877 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/convertAreaFields.H +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/convertAreaFields.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -14,6 +14,8 @@ Description Code chunk for converting area fields included by foamToEnsight. + Possible objects to convert are given in faObjects + \*---------------------------------------------------------------------------*/ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -23,7 +25,7 @@ if (doFiniteArea && ensFaCasePtr && ensFaMeshPtr) { Info<< " area field ("; - writeAllAreaFields(*ensFaCasePtr, *ensFaMeshPtr, objects); + writeAllAreaFields(*ensFaCasePtr, *ensFaMeshPtr, faObjects); Info<< " )" << nl; } diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C index d47e941ee09..c9b6456ba1d 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C @@ -577,6 +577,20 @@ int main(int argc, char *argv[]) // Volume, internal, point fields #include "convertVolumeFields.H" + // The finite-area objects at this time + IOobjectList faObjects; + + if (ensFaMeshPtr) + { + faObjects = + IOobjectList(ensFaMeshPtr->mesh(), runTime.timeName()); + + faObjects.filterObjects + ( + availableFaRegionObjectNames[regioni] + ); + } + // The finiteArea fields #include "convertAreaFields.H" diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/getTimeIndex.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/getTimeIndex.H index 5fa3c329c18..224ef692aa4 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/getTimeIndex.H +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/getTimeIndex.H @@ -55,7 +55,7 @@ label timeIndex = 0; else { goodTimeIndex = false; - Info<< "skip ... missing entry " << io.objectPath() << endl; + Info<< "skip ... missing file: " << io.objectRelPath() << endl; } } diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/readFields.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/readFields.C index a9e92f80ad0..0d895f9e8a0 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/readFields.C +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/readFields.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,9 +32,10 @@ License Foam::label Foam::checkData ( - const fvMesh& mesh, + const objectRegistry& obr, const instantList& timeDirs, - wordList& objectNames + wordList& objectNames, + const fileName& local ) { // Assume prune_0() was used prior to calling this @@ -43,6 +44,9 @@ Foam::label Foam::checkData for (const word& fieldName : objectNames) { + // // If prune_0() not previously used... + // if (objectNames.ends_with("_0")) continue; + bool good = false; for (const instant& inst : timeDirs) @@ -52,7 +56,8 @@ Foam::label Foam::checkData ( fieldName, inst.name(), - mesh, + local, + obr, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/readFields.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/readFields.H index eee09efd9ec..716e5134f62 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/readFields.H +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/readFields.H @@ -164,9 +164,10 @@ tmp<VolumeField<Type>> makeZeroGradientField // ignore fields that are not available for all time-steps label checkData ( - const fvMesh& mesh, + const objectRegistry& obr, const instantList& timeDirs, - wordList& objectNames + wordList& objectNames, + const fileName& local = fileName::null ); diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertAreaFields.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertAreaFields.H index 7d8f467ab7a..766ffb7f6c5 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/convertAreaFields.H +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/convertAreaFields.H @@ -29,7 +29,7 @@ if (doFiniteArea) autoPtr<faMesh> faMeshPtr; const label nAreaFields = - objects.count(stringListOps::foundOp<word>(fieldTypes::area)); + faObjects.count(stringListOps::foundOp<word>(fieldTypes::area)); if (nAreaFields || withMeshIds) { @@ -40,7 +40,7 @@ if (doFiniteArea) { const faMesh& areaMesh = faMeshPtr(); - reportFields::area(Info, objects); + reportFields::area(Info, faObjects); const auto& pp = faMeshPtr->patch(); @@ -97,7 +97,7 @@ if (doFiniteArea) ( writer, areaMesh, - objects, + faObjects, true // syncPar ); diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C index b831277343c..ca7782f713e 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -781,20 +781,33 @@ int main(int argc, char *argv[]) } IOobjectList objects; + IOobjectList faObjects; if (doConvertFields) { - // List of objects for this time + // List of volume mesh objects for this instance objects = IOobjectList(meshProxy.baseMesh(), runTime.timeName()); + // List of area mesh objects (assuming single region) + faObjects = + IOobjectList + ( + runTime, + runTime.timeName(), + faMesh::dbDir(meshProxy.baseMesh(), word::null), + IOobjectOption::NO_REGISTER + ); + if (fieldSelector && !fieldSelector().empty()) { objects.filterObjects(fieldSelector()); + faObjects.filterObjects(fieldSelector()); } // Remove "*_0" restart fields objects.prune_0(); + faObjects.prune_0(); if (!doPointValues) { diff --git a/bin/foamUpgradeFiniteArea b/bin/foamUpgradeFiniteArea new file mode 100755 index 00000000000..f481f47b5f0 --- /dev/null +++ b/bin/foamUpgradeFiniteArea @@ -0,0 +1,322 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | www.openfoam.com +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# Copyright (C) 2023-2024 OpenCFD Ltd. +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. +# +# Script +# foamUpgradeFiniteArea +# +# Description +# Relocate finite-area files to new sub-directory locations +# +#------------------------------------------------------------------------------ +printHelp() { + cat <<USAGE + +Usage: ${0##*/} [OPTION] +options: + -case=DIR Specify starting directory, default is cwd + -dry-run | -n Test without performing actions + -verbose | -v Additional verbosity + -force (currently ignored) + -link-back Link back from new finite-area/ to old locations + -no-mesh Do not move system/faMeshDefinition + -git Use 'git mv' when making changes + -help Print help and exit + +Relocate finite-area files to new sub-directory locations + +Equivalent options: + | -case=DIR | -case DIR | + +USAGE + exit 0 # A clean exit +} + +# Report error and exit +die() +{ + exec 1>&2 + echo + echo "Error encountered:" + while [ "$#" -ge 1 ]; do echo " $1"; shift; done + echo + echo "See '${0##*/} -help' for usage" + echo + exit 1 +} + +#------------------------------------------------------------------------------ + +# Parse options +unset caseDir optDryRun optGit optVerbose optLink optMeshDef hadError + +while [ "$#" -gt 0 ] +do + case "$1" in + (- | --) + shift + break # Stop option parsing + ;; + (-h | -help*) printHelp ;; + + (-n | -dry-run) optDryRun="(dry-run) " ;; + (-v | -verbose) optVerbose=true ;; + (-f | -force) echo "Ignored option: ${1%%=*}" 1>&2 ;; + (-link-back) optLink=back ;; +# (-link-only) optLink=forward ;; + (-no-mesh) optMeshDef=false ;; + (-git) optGit=true ;; + + (-case=*) + caseDir="${1#*=}" + ;; + (-case) + caseDir="$2" + [ "$#" -ge 2 ] || die "'$1' option requires an argument" + shift + ;; + + (-*) die "unknown option: $1" ;; + (*) die "unknown argument: $1" ;; + + esac + shift +done + +if [ -n "$caseDir" ] +then + cd "$caseDir" 2>/dev/null || { + echo "${0##*/}: No such directory $caseDir" 1>&2 + exit 2 + } +fi + +#------------------------------------------------------------------------------ + +# Proper umask +umask 022 + +# The commands +copy_cmd="cp -a${optVerbose:+ -v}" +move_cmd="mv${optVerbose:+ -v}" +link_cmd="ln -sf${optVerbose:+ -v}" +mkdir_cmd="mkdir -p" + +if [ -n "$optDryRun" ] +then + if [ -n "$optVerbose" ] + then + copy_cmd="echo cp -a" + move_cmd="echo mv" + link_cmd="echo ln -sf" + mkdir_cmd="echo mkdir -p" + else + copy_cmd=true + move_cmd=true + link_cmd=true + mkdir_cmd=true + fi +elif [ -n "$optGit" ] +then + move_cmd="git mv" + link_cmd="echo no symlink for git:" +fi + +regionDir="finite-area" + +#------------------------------------------------------------------------------ +# Various script parts +# +# awk : scan file for FoamFile { ... class NAME; } + +read -d '' getClass_awk << 'AWK_CONTENT' +BEGIN { state = 0 } # 0=begin, 1=header, 2=done + +/FoamFile/ { if (!state) { state = 1; next; } exit; } + +# FoamFile begin contents +/\{/ { if (state == 1) state = 2; next; } + +# FoamFile end contents +/\}/ { if (state == 2) exit; next; } + +/^[ ]*class[ ]/ { + if (state == 2) + { + sub("^[ ]*class[ ]+", "") + sub("[ ;]*$", "") + print + exit + } + next +} +AWK_CONTENT + + +# Check for FoamFile and return extracted 'class' +getFoamFile_class() +{ + local file="$1" + local class + + if grep -q FoamFile "$file" 2>/dev/null + then + # class="$(foamDictionary -disableFunctionEntries -entry FoamFile/class -value "$file" 2> stderr)" + class="$(awk -- "$getClass_awk" "$file")" + fi + echo "$class" +} + + +# Check if class corresponds to an finite-area field +# eg, areaScalarField, ... edgeVectorField +isAreaFieldClass() +{ + case "$1" in + (area*Field | edge*Field) return 0 ;; + esac + + return 1 +} + + +#------------------------------------------------------------------------------ + +#Debug# getFoamFile_class "system/faSchemes" + +#------------------------------------------------------------------------------ + +# Link back from the local finite-area/ directory to the current directory +# variables +# - regionDir = "finite-area" +# +performLinkBack() +{ + local file + + if [ -d "$regionDir" ] + then + find "$regionDir" -maxdepth 1 -type f 2>/dev/null | while read file + do + file="${file#*/}" + + if [ -f "$regionDir/$file" ] && [ ! -f "$file" ] + then + echo "${optDryRun} ln -s $regionDir/$file $file" 1>&2 + $link_cmd "$regionDir/$file" "$file" + fi + done + fi +} + + +# Move from current directory to local finite-area/ directory +# variables +# - regionDir = "finite-area" +# +performMove() +{ + local file="$1" + + if [ -f "$regionDir/$file" ] + then + echo "${optDryRun} already: $regionDir/$file" 1>&2 + elif [ -f "$file" ] + then + $mkdir_cmd "$regionDir" + echo "${optDryRun} mv $file -> $regionDir/" 1>&2 + $move_cmd "$file" "$regionDir/$file" + elif [ -n "$file" ] + then + echo "${optDryRun} no $file" 1>&2 + fi +} + + +#------------------------------------------------------------------------------ + +# system +# ---- +if [ -d system ] +then +( + cd system || exit + currDir="system" + + echo "${optDryRun}Examining files in $currDir/" 1>&2 + + performMove faSchemes + performMove faSolution + + if [ "$optMeshDef" = false ] + then + echo "${optDryRun} ignore: faMeshDefinition" 1>&2 + else + performMove faMeshDefinition + fi + + if [ -d "$regionDir" ] && [ "$optLink" = back ] + then + performLinkBack + fi +) +else + echo "${optDryRun}No system/ directory..." 1>&2 +fi + + +#------------------------------------------------------------------------------ + +# time dirs (initial conditions) +# ---- + +for timeDir in 0 0.orig +do + if [ -d "$timeDir" ] + then + ( + cd "$timeDir" || exit + currDir="$timeDir" + + echo "${optDryRun}Examining $currDir/" 1>&2 + + find . -maxdepth 1 -type f | while read file + do + file="${file#*/}" + + case "$file" in + (*.gz) + echo "${optDryRun} ignoring compressed file: $file" 1>&2 + continue + ;; + esac + + className="$(getFoamFile_class "$file")" + + if isAreaFieldClass "$className" + then + performMove "$file" + fi + done + + if [ -d "$regionDir" ] && [ "$optLink" = back ] + then + performLinkBack + fi + ) + else + echo "${optDryRun}No $timeDir/ directory..." 1>&2 + fi +done + + +#------------------------------------------------------------------------------ diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C b/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C index bc97ae9c80f..015aa575711 100644 --- a/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C +++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/interfaceTrackingFvMesh.C @@ -512,7 +512,7 @@ void Foam::interfaceTrackingFvMesh::makeBulkSurfactConc() const mesh().time().startTime().value() ), // mesh().time().timeName(), - aMesh().thisDb(), + mesh(), IOobject::MUST_READ, IOobject::AUTO_WRITE ), diff --git a/src/finiteArea/Make/files b/src/finiteArea/Make/files index 803c8df34f9..c318012d210 100644 --- a/src/finiteArea/Make/files +++ b/src/finiteArea/Make/files @@ -1,4 +1,6 @@ faMesh/faGlobalMeshData/faGlobalMeshData.C +faMesh/faMeshesRegistry.C +faMesh/faMeshRegistry.C faMesh/faMesh.C faMesh/faMeshNew.C faMesh/faMeshDemandDrivenData.C diff --git a/src/finiteArea/faMesh/faMesh.C b/src/finiteArea/faMesh/faMesh.C index 49c518363d5..1770da3b1e4 100644 --- a/src/finiteArea/faMesh/faMesh.C +++ b/src/finiteArea/faMesh/faMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,29 +61,135 @@ namespace Foam } -const Foam::word Foam::faMesh::prefix("finite-area"); +const Foam::word Foam::faMesh::prefix_("finite-area"); -Foam::word Foam::faMesh::meshSubDir = "faMesh"; +Foam::word Foam::faMesh::meshSubDir("faMesh"); const int Foam::faMesh::quadricsFit_ = 0; // Tuning (experimental) // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // +const Foam::word& Foam::faMesh::prefix() noexcept +{ + return prefix_; +} + + +Foam::fileName Foam::faMesh::dbDir(const word& areaRegion) +{ + if (areaRegion.empty() || areaRegion == polyMesh::defaultRegion) + { + return faMesh::prefix(); + } + + return (faMesh::prefix() / areaRegion); +} + + +Foam::fileName Foam::faMesh::dbDir +( + const word& volRegion, + const word& areaRegion +) +{ + return + ( + polyMesh::regionName(volRegion) + / faMesh::prefix() + / polyMesh::regionName(areaRegion) + ); +} + + +Foam::fileName Foam::faMesh::dbDir +( + const polyMesh& pMesh, + const word& areaRegion +) +{ + return faMesh::dbDir(pMesh.regionName(), areaRegion); +} + + +Foam::fileName Foam::faMesh::meshDir(const word& areaRegion) +{ + if (areaRegion.empty() || areaRegion == polyMesh::defaultRegion) + { + return faMesh::meshSubDir; + } + + return (areaRegion / faMesh::meshSubDir); +} + + +Foam::fileName Foam::faMesh::meshDir +( + const word& volRegion, + const word& areaRegion +) +{ + return + ( + polyMesh::regionName(volRegion) + / faMesh::prefix() + / polyMesh::regionName(areaRegion) + / faMesh::meshSubDir + ); +} + + +Foam::fileName Foam::faMesh::meshDir +( + const polyMesh& pMesh, + const word& areaRegion +) +{ + return faMesh::meshDir(pMesh.regionName(), areaRegion); +} + + const Foam::objectRegistry* Foam::faMesh::registry(const polyMesh& pMesh) { - // This will change in the near future - return &static_cast<const objectRegistry&>(pMesh); + return pMesh.cfindObject<objectRegistry>(faMesh::prefix()); } +// const Foam::objectRegistry* Foam::faMesh::registry(const objectRegistry& obr) +// { +// return obr.cfindObject<objectRegistry>(faMesh::prefix()); +// } + + const Foam::faMesh& Foam::faMesh::mesh ( const polyMesh& pMesh ) { - // This will change in the near future - return pMesh.lookupObject<faMesh>("faMesh"); + return faMesh::mesh(pMesh, polyMesh::defaultRegion); +} + + +const Foam::faMesh& Foam::faMesh::mesh +( + const polyMesh& pMesh, + const word& areaRegion +) +{ + const objectRegistry* obr = faMesh::registry(pMesh); + + if (!obr) + { + // Fallback - not really valid, but will fail at the next stage + obr = &(pMesh.thisDb()); + } + + if (areaRegion.empty()) + { + return obr->lookupObject<faMesh>(polyMesh::defaultRegion); + } + + return obr->lookupObject<faMesh>(areaRegion); } @@ -340,19 +446,85 @@ bool Foam::faMesh::init(const bool doInit) } -Foam::faMesh::faMesh(const polyMesh& pMesh, const Foam::zero) +// * * * * * * * * * * * * * Forwarding Constructors * * * * * * * * * * * * // + +Foam::faMesh::faMesh +( + const word& meshName, + const polyMesh& pMesh, + Foam::zero +) +: + faMesh(meshName, pMesh, labelList()) +{} + + +Foam::faMesh::faMesh +( + const polyMesh& pMesh, + Foam::zero +) +: + faMesh(polyMesh::defaultRegion, pMesh, labelList()) +{} + + +Foam::faMesh::faMesh(const polyMesh& pMesh, const bool doInit) +: + faMesh(polyMesh::defaultRegion, pMesh, doInit) +{} + + +Foam::faMesh::faMesh +( + const word& meshName, + const faMesh& baseMesh, + Foam::zero +) : - faMesh(pMesh, labelList(), static_cast<IOobjectOption>(pMesh)) + faMesh(meshName, baseMesh, labelList()) {} -Foam::faMesh::faMesh(const faMesh& baseMesh, const Foam::zero) +Foam::faMesh::faMesh +( + const faMesh& baseMesh, + Foam::zero +) +: + faMesh(polyMesh::defaultRegion, baseMesh, labelList()) +{} + + +Foam::faMesh::faMesh +( + const word& meshName, + const faMesh& baseMesh, + labelList&& faceLabels +) : faMesh ( + meshName, baseMesh, - labelList(), - IOobjectOption(IOobjectOption::NO_READ, IOobjectOption::NO_WRITE) + std::move(faceLabels), + static_cast<IOobjectOption>(baseMesh.thisDb()) + ) +{} + + +Foam::faMesh::faMesh +( + const faMesh& baseMesh, + labelList&& faceLabels +) +: + faMesh + ( + polyMesh::defaultRegion, + baseMesh, + std::move(faceLabels), + static_cast<IOobjectOption>(baseMesh.thisDb()) ) {} @@ -360,13 +532,78 @@ Foam::faMesh::faMesh(const faMesh& baseMesh, const Foam::zero) Foam::faMesh::faMesh ( const polyMesh& pMesh, + labelList&& faceLabels, + IOobjectOption ioOpt +) +: + faMesh + ( + polyMesh::defaultRegion, + pMesh, + std::move(faceLabels), + ioOpt + ) +{} + + +Foam::faMesh::faMesh +( + const polyMesh& pMesh, + labelList&& faceLabels +) +: + faMesh(polyMesh::defaultRegion, pMesh, std::move(faceLabels)) +{} + + +Foam::faMesh::faMesh +( + const polyPatch& pp, + const bool doInit +) +: + faMesh(polyMesh::defaultRegion, pp, doInit) +{} + + +Foam::faMesh::faMesh +( + const polyMesh& pMesh, + const dictionary& faMeshDefinition, const bool doInit ) : - MeshObject<polyMesh, Foam::UpdateableMeshObject, faMesh>(pMesh), - faSchemes(mesh()), + faMesh + ( + polyMesh::defaultRegion, + pMesh, + faMeshDefinition, + doInit + ) +{} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::faMesh::faMesh +( + const word& meshName, + const polyMesh& pMesh, + const bool doInit +) +: + faMeshRegistry(meshName, pMesh), + faSchemes + ( + faMesh::thisDb(), + IOobjectOption::MUST_READ + ), + faSolution + ( + faMesh::thisDb(), + IOobjectOption::MUST_READ + ), edgeInterpolation(*this), - faSolution(mesh()), faceLabels_ ( IOobject @@ -418,7 +655,7 @@ Foam::faMesh::faMesh IOobject rio ( - "name", + "any-name", time().timeName(), faMesh::meshSubDir, faMesh::thisDb(), @@ -444,36 +681,89 @@ Foam::faMesh::faMesh Foam::faMesh::faMesh ( + const word& meshName, const polyMesh& pMesh, labelList&& faceLabels ) : - faMesh + faMeshRegistry(meshName, pMesh), + faSchemes ( - pMesh, - std::move(faceLabels), - static_cast<IOobjectOption>(pMesh) - ) -{} + faMesh::thisDb(), + IOobjectOption::MUST_READ + ), + faSolution + ( + faMesh::thisDb(), + IOobjectOption::MUST_READ + ), + edgeInterpolation(*this), + faceLabels_ + ( + IOobject + ( + "faceLabels", + pMesh.facesInstance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + std::move(faceLabels) + ), + boundary_ + ( + IOobject + ( + "faBoundary", + faceLabels_.instance(), + faMesh::meshSubDir, + faMesh::thisDb(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + *this, + Foam::zero{} + ), + comm_(UPstream::worldComm), + curTimeIndex_(time().timeIndex()) +{ + // Not yet much for primitive mesh data possible... + nPoints_ = 0; + nEdges_ = 0; + nInternalEdges_ = 0; + nFaces_ = faceLabels_.size(); + // TDB: can we make a NO_READ readOption persistent for + // faSchemes/faSolution? Or not needed anymore? +} Foam::faMesh::faMesh ( + const word& meshName, const polyMesh& pMesh, labelList&& faceLabels, IOobjectOption ioOpt ) : - MeshObject<polyMesh, Foam::UpdateableMeshObject, faMesh>(pMesh), - faSchemes(mesh(), ioOpt.readOpt()), + faMeshRegistry(meshName, pMesh), + faSchemes + ( + faMesh::thisDb(), + ioOpt.readOpt() + ), + faSolution + ( + faMesh::thisDb(), + ioOpt.readOpt() + ), edgeInterpolation(*this), - faSolution(mesh(), ioOpt.readOpt()), faceLabels_ ( IOobject ( "faceLabels", - mesh().facesInstance(), + pMesh.facesInstance(), faMesh::meshSubDir, faMesh::thisDb(), IOobject::NO_READ, @@ -486,14 +776,14 @@ Foam::faMesh::faMesh IOobject ( "faBoundary", - mesh().facesInstance(), + faceLabels_.instance(), faMesh::meshSubDir, faMesh::thisDb(), IOobject::NO_READ, IOobject::NO_WRITE ), *this, - label(0) + Foam::zero{} ), comm_(UPstream::worldComm), curTimeIndex_(time().timeIndex()) @@ -503,36 +793,43 @@ Foam::faMesh::faMesh nEdges_ = 0; nInternalEdges_ = 0; nFaces_ = faceLabels_.size(); + + // TDB: can we make a NO_READ readOption persistent for + // faSchemes/faSolution? Or not needed anymore? } +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + Foam::faMesh::faMesh ( + const word& meshName, const faMesh& baseMesh, labelList&& faceLabels, IOobjectOption ioOpt ) : - MeshObject<polyMesh, Foam::UpdateableMeshObject, faMesh>(baseMesh.mesh()), + faMeshRegistry(meshName, baseMesh.mesh()), faSchemes ( faMesh::thisDb(), ioOpt.readOpt(), static_cast<const dictionary*>(baseMesh.hasSchemes()) ), - edgeInterpolation(*this), faSolution ( faMesh::thisDb(), ioOpt.readOpt(), static_cast<const dictionary*>(baseMesh.hasSolution()) ), + edgeInterpolation(*this), faceLabels_ ( IOobject ( "faceLabels", - mesh().facesInstance(), + // Topological instance from polyMesh + baseMesh.mesh().facesInstance(), faMesh::meshSubDir, faMesh::thisDb(), IOobject::NO_READ, @@ -545,14 +842,14 @@ Foam::faMesh::faMesh IOobject ( "faBoundary", - mesh().facesInstance(), + faceLabels_.instance(), faMesh::meshSubDir, faMesh::thisDb(), IOobject::NO_READ, IOobject::NO_WRITE ), *this, - label(0) + Foam::zero{} ), comm_(UPstream::worldComm), curTimeIndex_(time().timeIndex()) @@ -565,10 +862,16 @@ Foam::faMesh::faMesh } -Foam::faMesh::faMesh(const polyPatch& pp, const bool doInit) +Foam::faMesh::faMesh +( + const word& meshName, + const polyPatch& pp, + const bool doInit +) : faMesh ( + meshName, pp.boundaryMesh().mesh(), identity(pp.range()) ) @@ -594,6 +897,7 @@ Foam::faMesh::faMesh(const polyPatch& pp, const bool doInit) Foam::faMesh::faMesh ( + const word& meshName, const polyMesh& pMesh, const dictionary& faMeshDefinition, const bool doInit @@ -601,6 +905,7 @@ Foam::faMesh::faMesh : faMesh ( + meshName, pMesh, selectPatchFaces ( @@ -639,7 +944,7 @@ Foam::faMesh::faMesh IOobject rio ( - "name", + "any-name", time().timeName(), faMesh::meshSubDir, faMesh::thisDb(), @@ -709,15 +1014,21 @@ Foam::faSolution& Foam::faMesh::solution() } +const Foam::polyMesh& Foam::faMesh::mesh() const +{ + return refCast<const polyMesh>(faMeshRegistry::parent().parent()); +} + + Foam::fileName Foam::faMesh::meshDir() const { - return mesh().dbDir()/faMesh::meshSubDir; + return dbDir()/faMesh::meshSubDir; } const Foam::Time& Foam::faMesh::time() const { - return mesh().time(); + return faMeshRegistry::time(); } @@ -733,21 +1044,9 @@ const Foam::fileName& Foam::faMesh::facesInstance() const } -bool Foam::faMesh::hasDb() const -{ - return true; -} - - -const Foam::objectRegistry& Foam::faMesh::thisDb() const -{ - return mesh().thisDb(); -} - - const Foam::word& Foam::faMesh::regionName() const { - return polyMesh::regionName(thisDb().name()); + return polyMesh::regionName(objectRegistry::name()); } @@ -874,7 +1173,7 @@ Foam::faMesh::S00() const ( "S00", time().timeName(), - faMesh::thisDb(), + *this, IOobject::NO_READ, IOobject::NO_WRITE ), @@ -1008,7 +1307,7 @@ bool Foam::faMesh::movePoints() ( "S0", time().timeName(), - faMesh::thisDb(), + *this, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER diff --git a/src/finiteArea/faMesh/faMesh.H b/src/finiteArea/faMesh/faMesh.H index 34e1352250f..95d564df4c1 100644 --- a/src/finiteArea/faMesh/faMesh.H +++ b/src/finiteArea/faMesh/faMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,7 +56,6 @@ Author #ifndef Foam_faMesh_H #define Foam_faMesh_H -#include "MeshObject.H" #include "polyMesh.H" #include "lduMesh.H" #include "faBoundaryMesh.H" @@ -85,17 +84,52 @@ class faMeshLduAddressing; class faMeshMapper; class faPatchData; +/*---------------------------------------------------------------------------*\ + Class faMeshRegistry Declaration +\*---------------------------------------------------------------------------*/ + +//- The objectRegistry for faMesh. +// This is a separate class to ensure it will be fully constructed before +// other data members use it, which ensures that its virtual methods are +// callable during construction (gcc). +class faMeshRegistry +: + public objectRegistry +{ +public: + + // Constructors + + //- Construct an objectRegistry for given area region name. + // Uses faMeshesRegistry internally + faMeshRegistry(const word& areaRegion, const polyMesh& mesh); + + + // Member Functions + + //- True - thisDb() is a valid registry + virtual bool hasDb() const { return true; } + + //- Reference to the mesh database + virtual const objectRegistry& thisDb() const { return *this; } + + //- Local directory path of the objectRegistry relative to Time + //- with override for the single-region case + virtual const fileName& dbDir() const; +}; + + /*---------------------------------------------------------------------------*\ Class faMesh Declaration \*---------------------------------------------------------------------------*/ class faMesh : - public MeshObject<polyMesh, Foam::UpdateableMeshObject, faMesh>, + public faMeshRegistry, public lduMesh, public faSchemes, - public edgeInterpolation, // may need input from faSchemes - public faSolution + public faSolution, + public edgeInterpolation // may need input from faSchemes { // Private (internal) classes/structures @@ -327,6 +361,9 @@ class faMesh // Static Private Data + //- The prefix to local: %finite-area + static const word prefix_; + //- Quadrics fit for pointAreaNormals (experimental) static const int quadricsFit_; @@ -356,7 +393,7 @@ class faMesh ) const; - // Private member functions to calculate demand driven data + // Private Member Functions to calculate demand driven data //- Calculate ldu addressing void calcLduAddressing() const; @@ -486,11 +523,18 @@ class faMesh // Static Functions //- Test if faSchemes/faSolution files are available - static bool hasSystemFiles(const polyMesh& pMesh); - - //- Test if all files needed for read construction are available - static bool hasFiles(const polyMesh& pMesh); + static bool hasSystemFiles + ( + const word& meshName, + const polyMesh& pMesh + ); + //- Test if mesh files needed for read construction are available + static bool hasMeshFiles + ( + const word& meshName, + const polyMesh& pMesh + ); public: @@ -512,8 +556,8 @@ public: //- Runtime type information TypeName("faMesh"); - //- The prefix to local: %finite-area - static const word prefix; + //- The prefix to the parent registry name: %finite-area + static const word& prefix() noexcept; //- The mesh sub-directory name (usually "faMesh") static word meshSubDir; @@ -530,29 +574,27 @@ public: // Constructors - //- Read construct from polyMesh, using its IOobject properties - explicit faMesh(const polyMesh& pMesh, const bool doInit = true); - //- Construct zero-sized from polyMesh // Boundary is added using addFaPatches() member function - faMesh(const polyMesh& pMesh, const Foam::zero); + faMesh(const word& meshName, const polyMesh&, Foam::zero); - //- Construct as copy (for dictionaries) and zero-sized - //- without boundary. + //- Construct zero-sized from polyMesh // Boundary is added using addFaPatches() member function - faMesh(const faMesh& baseMesh, const Foam::zero); + faMesh(const polyMesh&, Foam::zero); - //- Construct as copy (for dictionaries) and faceLabels - //- without boundary, using read properties from baseMesh. - // Boundary is added using addFaPatches() member function - faMesh(const faMesh& baseMesh, labelList&& faceLabels); + //- Read construct from polyMesh, using its IOobject properties + faMesh(const word& meshName, const polyMesh&, const bool doInit = true); - //- Construct as copy (for dictionaries) and faceLabels - //- without boundary, using specified read properties. + //- Read construct from polyMesh, using its IOobject properties + explicit faMesh(const polyMesh&, const bool doInit = true); + + //- Construct from components (face labels) without boundary, + //- using specified read properties. // Boundary is added using addFaPatches() member function. faMesh ( - const faMesh& baseMesh, + const word& meshName, + const polyMesh& pMesh, labelList&& faceLabels, IOobjectOption ioOpt ); @@ -560,21 +602,84 @@ public: //- Construct from components (face labels) without boundary, //- using IOobject properties from polyMesh. // Boundary is added using addFaPatches() member function. - faMesh(const polyMesh& pMesh, labelList&& faceLabels); + faMesh(const word& meshName, const polyMesh&, labelList&& faceLabels); //- Construct from components (face labels) without boundary, //- using specified read properties. // Boundary is added using addFaPatches() member function. + faMesh(const polyMesh&, labelList&& faceLabels, IOobjectOption ioOpt); + + //- Construct from components (face labels) without boundary, + //- using IOobject properties from polyMesh. + // Boundary is added using addFaPatches() member function. + faMesh(const polyMesh&, labelList&& faceLabels); + + //- Construct as copy (for dictionaries) and zero-sized + //- without boundary. + // Boundary is added using addFaPatches() member function + faMesh(const word& meshName, const faMesh& baseMesh, Foam::zero); + + //- Construct as copy (for dictionaries) and zero-sized + //- without boundary, using IOobject properties from polyMesh. + // Boundary is added using addFaPatches() member function + faMesh(const faMesh& baseMesh, Foam::zero); + + //- Construct as copy (for dictionaries) and faceLabels + //- without boundary, using specified read properties. + // Boundary is added using addFaPatches() member function faMesh ( - const polyMesh& pMesh, + const word& meshName, + const faMesh& baseMesh, labelList&& faceLabels, IOobjectOption ioOpt ); + //- Construct as copy (for dictionaries) and faceLabels + //- without boundary, using specified read properties. + // Boundary is added using addFaPatches() member function + faMesh + ( + const faMesh& baseMesh, + labelList&& faceLabels, + IOobjectOption ioOpt + ); + + //- Construct as copy (for dictionaries) and faceLabels + //- without boundary, using IOobject properties from polyMesh. + // Boundary is added using addFaPatches() member function + faMesh + ( + const word& meshName, + const faMesh& baseMesh, + labelList&& faceLabels + ); + + //- Construct as copy (for dictionaries) and faceLabels + //- without boundary, using read properties from baseMesh. + // Boundary is added using addFaPatches() member function + faMesh(const faMesh& baseMesh, labelList&& faceLabels); + + //- Construct from single polyPatch + faMesh + ( + const word& meshName, + const polyPatch& pp, + const bool doInit = true + ); + //- Construct from single polyPatch explicit faMesh(const polyPatch& pp, const bool doInit = true); + //- Construct from definition + faMesh + ( + const word& meshName, + const polyMesh& pMesh, + const dictionary& faMeshDefinition, + const bool doInit = true + ); + //- Construct from definition faMesh ( @@ -606,6 +711,13 @@ public: return old; } + //- Read construction from polyMesh if all files are available + static autoPtr<faMesh> TryNew + ( + const word& meshName, + const polyMesh& pMesh + ); + //- Read construction from polyMesh if all files are available static autoPtr<faMesh> TryNew(const polyMesh& pMesh); @@ -646,8 +758,12 @@ public: //- Uses lookupObject semantics - Fatal if non-existent static const faMesh& mesh(const polyMesh& pMesh); + //- The single-region or specified finite-area region on the polyMesh. + //- Uses lookupObject semantics - Fatal if non-existent + static const faMesh& mesh(const polyMesh&, const word& areaRegion); + //- Return access to polyMesh - inline const polyMesh& mesh() const; + const polyMesh& mesh() const; //- Return the local mesh directory (dbDir()/meshSubDir) fileName meshDir() const; @@ -751,22 +867,64 @@ public: // Database - //- Return true if thisDb() is a valid DB - virtual bool hasDb() const; + //- True - thisDb() is a valid registry + virtual bool hasDb() const { return true; } + + //- Reference to the mesh database + virtual const objectRegistry& thisDb() const + { + return faMeshRegistry::thisDb(); + } - //- Return reference to the mesh database - virtual const objectRegistry& thisDb() const; + //- Local directory path of the objectRegistry relative to Time + //- with override for the single-region case + virtual const fileName& dbDir() const + { + return faMeshRegistry::dbDir(); + } //- Name function is needed to disambiguate those inherited //- from base classes const word& name() const { - return thisDb().name(); + return faMeshRegistry::thisDb().name(); } // Regions + //- Local registry directory path (relative to Time) for specified + //- area mesh (of a single-region volume mesh) + static fileName dbDir(const word& areaRegion); + + //- Local registry directory path (relative to Time) for specified + //- volume mesh and area mesh combination + static fileName dbDir(const word& volRegion, const word& areaRegion); + + //- Local registry directory path (relative to Time) for specified + //- volume mesh and area mesh combination + static fileName dbDir + ( + const polyMesh& pMesh, + const word& areaRegion = word::null + ); + + //- The local mesh directory name (eg, "faMesh") for specified + //- area mesh (of a single-region volume mesh) + static fileName meshDir(const word& areaRegion); + + //- The local mesh directory name (eg, "faMesh") for specified + //- volume mesh and area mesh combination + static fileName meshDir(const word& volRegion, const word& areaRegion); + + //- The local mesh directory name (eg, "faMesh") for specified + //- volume mesh and area mesh combination + static fileName meshDir + ( + const polyMesh& pMesh, + const word& areaRegion = word::null + ); + //- The mesh region name or word::null if polyMesh::defaultRegion const word& regionName() const; diff --git a/src/finiteArea/faMesh/faMeshI.H b/src/finiteArea/faMesh/faMeshI.H index c04646d04ca..bfa5614d1dc 100644 --- a/src/finiteArea/faMesh/faMeshI.H +++ b/src/finiteArea/faMesh/faMeshI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,13 +28,6 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -inline const Foam::polyMesh& Foam::faMesh::mesh() const -{ - return - MeshObject<polyMesh, Foam::UpdateableMeshObject, faMesh>::mesh(); -} - - inline const Foam::faBoundaryMesh& Foam::faMesh::boundary() const noexcept { return boundary_; diff --git a/src/finiteArea/faMesh/faMeshNew.C b/src/finiteArea/faMesh/faMeshNew.C index dcc6c2afec5..bbbf40b4719 100644 --- a/src/finiteArea/faMesh/faMeshNew.C +++ b/src/finiteArea/faMesh/faMeshNew.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,11 +31,34 @@ License // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // -bool Foam::faMesh::hasSystemFiles(const polyMesh& pMesh) +bool Foam::faMesh::hasSystemFiles +( + const word& meshName, + const polyMesh& pMesh +) { // Expect - // - system/faSchemes - // - system/faSolution + // - system/finite-area/<region>/faSchemes + // - system/finite-area/<region>/faSolution + + // The directory relative to polyMesh (not Time) + const fileName relativeDir + ( + faMesh::prefix() / polyMesh::regionName(meshName) + ); + + DebugInfo<< "check system files: " << relativeDir << nl; + + IOobject systemIOobject + ( + "any-name", + pMesh.time().system(), + relativeDir, + pMesh, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ); const fileOperation& fp = Foam::fileHandler(); @@ -52,20 +75,14 @@ bool Foam::faMesh::hasSystemFiles(const polyMesh& pMesh) }) ) { + systemIOobject.resetHeader(expect); + fileName found ( fp.filePath ( true, // global - IOobject - ( - expect, - pMesh.time().system(), - pMesh, - IOobject::MUST_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + systemIOobject, expect // typeName (ununsed?) ) ); @@ -83,18 +100,34 @@ bool Foam::faMesh::hasSystemFiles(const polyMesh& pMesh) } -bool Foam::faMesh::hasFiles(const polyMesh& pMesh) +bool Foam::faMesh::hasMeshFiles +( + const word& meshName, + const polyMesh& pMesh +) { - // As well as system/{faSchemes,faSolution} + // As well as system/finite-area/{faSchemes,faSolution} // // expect these: - // - instance/faMesh/faceLabels - // - instance/faMesh/faBoundary + // - instance/finite-area/<region>/faMesh/faceLabels + // - instance/finite-area/<region>/faMesh/faBoundary + - bool looksValid = hasSystemFiles(pMesh); + // Not required... + // bool looksValid = hasSystemFiles(meshName, pMesh); + + bool looksValid = true; + + // The mesh directory relative to polyMesh (not Time) + const fileName relativeDir + ( + faMesh::meshDir(word::null, meshName) + ); if (looksValid) { + DebugInfo<< "check mesh files: " << relativeDir << nl; + const fileOperation& fp = Foam::fileHandler(); // The geometry instance for faMesh/faceLabels @@ -102,11 +135,23 @@ bool Foam::faMesh::hasFiles(const polyMesh& pMesh) const word instance = pMesh.time().findInstance ( - pMesh.dbDir()/faMesh::meshSubDir, + // Searching from Time, so need polyMesh region too + pMesh.regionName()/relativeDir, "faceLabels", IOobject::READ_IF_PRESENT ); + IOobject meshIOobject + ( + "any-name", + instance, + relativeDir, + pMesh, + IOobject::READ_IF_PRESENT, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ); + for ( const wordPair& expect @@ -120,21 +165,14 @@ bool Foam::faMesh::hasFiles(const polyMesh& pMesh) const word& dataFile = expect.first(); const word& dataClass = expect.second(); + meshIOobject.resetHeader(dataFile); + fileName found ( fp.filePath ( false, // non-global - IOobject - ( - dataFile, - instance, - faMesh::meshSubDir, - pMesh, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), + meshIOobject, dataClass // typeName (ununsed?) ) ); @@ -153,15 +191,28 @@ bool Foam::faMesh::hasFiles(const polyMesh& pMesh) } -Foam::autoPtr<Foam::faMesh> Foam::faMesh::TryNew(const polyMesh& pMesh) +Foam::autoPtr<Foam::faMesh> Foam::faMesh::TryNew +( + const word& meshName, + const polyMesh& pMesh +) { - if (faMesh::hasFiles(pMesh)) + if (faMesh::hasMeshFiles(meshName, pMesh)) { - return autoPtr<faMesh>::New(pMesh); + return autoPtr<faMesh>::New(meshName, pMesh); } return nullptr; } +Foam::autoPtr<Foam::faMesh> Foam::faMesh::TryNew +( + const polyMesh& pMesh +) +{ + return TryNew(polyMesh::defaultRegion, pMesh); +} + + // ************************************************************************* // diff --git a/src/finiteArea/faMesh/faMeshRegistry.C b/src/finiteArea/faMesh/faMeshRegistry.C new file mode 100644 index 00000000000..892156f19ff --- /dev/null +++ b/src/finiteArea/faMesh/faMeshRegistry.C @@ -0,0 +1,76 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "faMesh.H" +#include "faMeshesRegistry.H" +#include "Time.H" +#include "polyMesh.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::faMeshRegistry::faMeshRegistry +( + const word& areaRegion, + const polyMesh& mesh +) +: + objectRegistry + ( + IOobject + ( + areaRegion, + faMeshesRegistry::New(mesh).thisDb(), + IOobjectOption::NO_READ, + IOobjectOption::AUTO_WRITE, + IOobjectOption::REGISTER + ) + ) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +const Foam::fileName& Foam::faMeshRegistry::dbDir() const +{ + // In the usual case, the objectRegistry::dbDir() will be something + // like finite-area/{region0,film} etc with the "finite-area/" + // prefix coming from the enclosing registry of registries. + // + // So always check the name() portion, not the dbDir() itself + // - either, objectRegistry::dbDir().name() + // - or (same), objectRegistry::name() + + if (objectRegistry::name() == polyMesh::defaultRegion) + { + return objectRegistry::parent().dbDir(); + } + + return objectRegistry::dbDir(); +} + + +// ************************************************************************* // diff --git a/src/finiteArea/faMesh/faMeshTools/faMeshTools.C b/src/finiteArea/faMesh/faMeshTools/faMeshTools.C index 0154e992980..439d24fc31e 100644 --- a/src/finiteArea/faMesh/faMeshTools/faMeshTools.C +++ b/src/finiteArea/faMesh/faMeshTools/faMeshTools.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2016 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -77,12 +77,10 @@ Foam::faMeshTools::newMesh const bool verbose ) { - // Region name - // ~~~~~~~~~~~ - + // The mesh directory (assuming single area region), relative to Time const fileName meshSubDir ( - pMesh.regionName() / faMesh::meshSubDir + faMesh::meshDir(pMesh, word::null) ); @@ -111,7 +109,7 @@ Foam::faMeshTools::newMesh "faBoundary", facesInstance, meshSubDir, - io.db(), + io.time(), IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -133,15 +131,15 @@ Foam::faMeshTools::newMesh // Dummy meshes // ~~~~~~~~~~~~ - // Set up to read-if-present. Note: does not search for mesh so set - // instance explicitly + // Fake read-if-present behaviour to obtain the faceLabels IOobject meshIO(io); meshIO.instance() = facesInstance; meshIO.readOpt(IOobject::READ_IF_PRESENT); // For mesh components (faceLabels, ...) - IOobject cmptIO(meshIO, "faceLabels", meshSubDir); + IOobject cmptIO(io.time(), "faceLabels", meshSubDir); + cmptIO.instance() = facesInstance; cmptIO.readOpt(IOobject::MUST_READ); cmptIO.writeOpt(IOobject::NO_WRITE); cmptIO.registerObject(IOobject::NO_REGISTER); @@ -261,12 +259,10 @@ Foam::faMeshTools::loadOrCreateMeshImpl const bool verbose ) { - // Region name - // ~~~~~~~~~~~ - + // The mesh directory (assuming single area region), relative to Time const fileName meshSubDir ( - pMesh.regionName() / faMesh::meshSubDir + faMesh::meshDir(pMesh, word::null) ); @@ -288,7 +284,7 @@ Foam::faMeshTools::loadOrCreateMeshImpl "faBoundary", io.instance(), meshSubDir, - io.db(), + io.time(), IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -359,7 +355,7 @@ Foam::faMeshTools::loadOrCreateMeshImpl new faMesh ( pMesh, - labelList(), + labelList(), // Similar to Foam::zero{} IOobject(io, IOobject::NO_READ, IOobject::AUTO_WRITE) ) ); diff --git a/src/finiteArea/faMesh/faMeshTools/faMeshTools.H b/src/finiteArea/faMesh/faMeshTools/faMeshTools.H index ee63b1b3053..148494d2a00 100644 --- a/src/finiteArea/faMesh/faMeshTools/faMeshTools.H +++ b/src/finiteArea/faMesh/faMeshTools/faMeshTools.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -99,6 +99,7 @@ public: // if not present static autoPtr<faMesh> newMesh ( + //! The IOobject describes the base polyMesh const IOobject& io, const polyMesh& pMesh, const bool masterOnlyReading, @@ -111,6 +112,7 @@ public: // - io.instance() set to facesInstance static autoPtr<faMesh> loadOrCreateMesh ( + //! The IOobject describes the base polyMesh const IOobject& io, const polyMesh& pMesh, const bool decompose, @@ -123,6 +125,7 @@ public: // - io.instance() set to facesInstance static autoPtr<faMesh> loadOrCreateMesh ( + //! The IOobject describes the base polyMesh const IOobject& io, const polyMesh& pMesh, //! Non-null reference if a mesh exists on given processor diff --git a/src/finiteArea/faMesh/faMeshesRegistry.C b/src/finiteArea/faMesh/faMeshesRegistry.C new file mode 100644 index 00000000000..cfdf7128fd5 --- /dev/null +++ b/src/finiteArea/faMesh/faMeshesRegistry.C @@ -0,0 +1,100 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "faMeshesRegistry.H" +#include "faMesh.H" +#include "polyMesh.H" +#include "mapPolyMesh.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(faMeshesRegistry, 0); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::faMeshesRegistry::faMeshesRegistry(const polyMesh& mesh) +: + MeshObject_type(mesh), + objects_ + ( + IOobject + ( + faMesh::prefix(), + mesh.time().timeName(), + mesh.thisDb(), + IOobjectOption::NO_READ, + IOobjectOption::AUTO_WRITE, + IOobjectOption::REGISTER + ) + ) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::faMeshesRegistry::movePoints() +{ + for (faMesh& m : objects_.sorted<faMesh>()) + { + m.movePoints(); + } + + return true; +} + + +void Foam::faMeshesRegistry::updateMesh(const mapPolyMesh& mpm) +{ + for (faMesh& m : objects_.sorted<faMesh>()) + { + m.updateMesh(mpm); + } +} + + +bool Foam::faMeshesRegistry::writeObject +( + IOstreamOption streamOpt, + const bool writeOnProc +) const +{ + // for (const faMesh& m : objects_.csorted<faMesh>()) + // { + // m.write(writeOnProc); + // } + // + // return true; + + return objects_.writeObject(streamOpt, writeOnProc); +} + + +// ************************************************************************* // diff --git a/src/finiteArea/faMesh/faMeshesRegistry.H b/src/finiteArea/faMesh/faMeshesRegistry.H new file mode 100644 index 00000000000..e3b78e7b8c1 --- /dev/null +++ b/src/finiteArea/faMesh/faMeshesRegistry.H @@ -0,0 +1,194 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::faMeshesRegistry + +Description + A MeshObject registry on top of a polyMesh that provides + an objectRegistry for holding multiple faMesh objects. + + Directory structure for fields/meshes (default region): + \verbatim + . + |-- constant + | `-- finite-area + | `-- faMesh + | |-- faceLabels + | |-- ... + | `-- faBoundary + |-- system + | `-- finite-area + | |-- faMeshDefiniton + | |-- faSchemes + | `-- faSolution + `-- instance + `-- finite-area + |-- U + |-- p + `-- ... + \endverbatim + + Directory structure for fields/meshes (multi-regions): + \verbatim + . + |-- constant + | `-- finite-area + | |-- regionName1 + | | `-- faMesh + | | `-- ... + | `-- regionNameN + | `-- faMesh + | `-- ... + |-- system + | `-- finite-area + | |-- regionName1 + | | |-- faMeshDefiniton + | | |-- faSchemes + | | `-- faSolution + | `-- regionNameN + | `-- ... + | + `-- instance + `-- finite-area + |-- regionName1 + | `-- ... + `-- regionNameN + `-- ... + \endverbatim + +SourceFiles + faMeshesRegistry.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_faMeshesRegistry_H +#define Foam_faMeshesRegistry_H + +#include "MeshObject.H" +#include "polyMesh.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward Declarations +class faMesh; + +/*---------------------------------------------------------------------------*\ + Class faMeshesRegistry Declaration +\*---------------------------------------------------------------------------*/ + +class faMeshesRegistry +: + public MeshObject<polyMesh, UpdateableMeshObject, faMeshesRegistry> +{ + // Data Types + + //- The MeshObject type + typedef MeshObject + < + polyMesh, + UpdateableMeshObject, + faMeshesRegistry + > MeshObject_type; + + + // Private Member Data + + //- The sub-registry of finite-area objects (meshes), + //- anchored on the polyMesh parent. Name: "finite-area", + objectRegistry objects_; + + +public: + + //- Runtime type information. + TypeName("faMeshesRegistry"); + + // Generated Methods + + //- No copy construct + faMeshesRegistry(const faMeshesRegistry&) = delete; + + //- No copy assignment + void operator=(const faMeshesRegistry&) = delete; + + + // Constructors + + //- Construct as singleton on the polyMesh registry + explicit faMeshesRegistry(const polyMesh& mesh); + + + // Database + + //- Return the object registry + const objectRegistry& thisDb() const noexcept + { + return objects_; + } + + //- The polyMesh reference + const polyMesh& mesh() const noexcept + { + return MeshObject_type::mesh(); + } + + + // Topological Change + + //- Is mesh moving - ie, is polyMesh moving + bool moving() const { return MeshObject_type::mesh().moving(); } + + //- Update after mesh motion + virtual bool movePoints(); + + //- Update after topo change + virtual void updateMesh(const mapPolyMesh& mpm); + + + // Write + + //- Write items (eg, faMesh) held in the registry + virtual bool writeObject + ( + IOstreamOption streamOpt, + const bool writeOnProc = true + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/shape/surface/sensitivitySurface.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/shape/surface/sensitivitySurface.C index 3d1b1dfd898..94c7b26562b 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/shape/surface/sensitivitySurface.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/shape/surface/sensitivitySurface.C @@ -74,55 +74,70 @@ void sensitivitySurface::smoothSensitivities() // Read in parameters const label iters(dict().getOrDefault<label>("iters", 500)); const scalar tolerance(dict().getOrDefault<scalar>("tolerance", 1.e-06)); - autoPtr<faMesh> aMeshPtr(nullptr); - IOobject faceLabels - ( - "faceLabels", - mesh_.time().findInstance - ( - mesh_.dbDir()/faMesh::meshSubDir, - "faceLabels", - IOobject::READ_IF_PRESENT - ), - faMesh::meshSubDir, - mesh_, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE - ); + autoPtr<faMesh> aMeshPtr = faMesh::TryNew(mesh_); - // If the faMesh already exists, read it - if (faceLabels.typeHeaderOk<labelIOList>(false)) + if (aMeshPtr) { - Info<< "Reading the already constructed faMesh" << endl; - aMeshPtr.reset(new faMesh(mesh_)); + Info<< "Loaded the existing faMesh" << nl; } else { // Dictionary used to construct the faMesh dictionary faMeshDefinition; - IOobject faMeshDefinitionDict - ( - "faMeshDefinition", - mesh_.time().caseSystem(), - mesh_, - IOobject::MUST_READ, - IOobject::NO_WRITE - ); + // Check and read system/faMeshDefinition + { + IOobject io + ( + "faMeshDefinition", + mesh_.time().caseSystem(), + mesh_, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ); + + if (io.typeHeaderOk<IOdictionary>(false)) + { + Info<< "Using system/faMeshDefinition" << nl; + faMeshDefinition = IOdictionary(io); + } + else if (debug) + { + Info<< "No " << io.name() << " in " << io.path() << nl; + } + } - // If the faMeshDefinitionDict exists, use it to construct the mesh - if (faMeshDefinitionDict.typeHeaderOk<IOdictionary>(false)) + // Check and read system/finite-area/faMeshDefinition + if (faMeshDefinition.empty()) { - Info<< "Reading faMeshDefinition from system " << endl; - faMeshDefinition = IOdictionary(faMeshDefinitionDict); + IOobject io + ( + "faMeshDefinition", + mesh_.time().caseSystem()/faMesh::prefix(), + mesh_, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ); + + if (io.typeHeaderOk<IOdictionary>(false)) + { + Info<< "Using system/finite-area/faMeshDefinition" << nl; + faMeshDefinition = IOdictionary(io); + } + else if (debug) + { + Info<< "No " << io.name() << " in " << io.path() << nl; + } } - // Otherwise, faMesh is generated from all patches on which we compute - // sensitivities - else + + // No specified faMeshDefinition? + // - generate faMesh from all patches on which we compute sensitivities + + if (faMeshDefinition.empty()) { - Info<< "Constructing faMeshDefinition from sensitivity patches" - << endl; wordList polyMeshPatches(sensitivityPatchIDs_.size()); label i(0); for (const label patchID : sensitivityPatchIDs_) @@ -131,13 +146,22 @@ void sensitivitySurface::smoothSensitivities() } faMeshDefinition.add<wordList>("polyMeshPatches", polyMeshPatches); (void)faMeshDefinition.subDictOrAdd("boundary"); - Info<< faMeshDefinition << endl; + + // TBD: Place all edges into the "defaultPatch" ? + // faMeshDefinition.subDictOrAdd("defaultPatch") + // .add("name", "undefined"); + + Info<< "Create faMeshDefinition from sensitivity patches" + << nl << nl; + + faMeshDefinition.writeEntry("faMeshDefinition", Info); } - // Construct faMesh + // Construct faMesh from faMeshDefinition aMeshPtr.reset(new faMesh(mesh_, faMeshDefinition)); } - faMesh& aMesh = aMeshPtr.ref(); + faMesh& aMesh = *aMeshPtr; + // Physical radius of the smoothing, provided either directly or computed // based on the average 'length' of boundary faces @@ -154,7 +178,7 @@ void sensitivitySurface::smoothSensitivities() "RpdeSqr", dimArea, sqr(Rphysical/(2.*::sqrt(3.))) ); - dimensionedScalar one("1", dimless, 1.); + dimensionedScalar one(dimless, Foam::one{}); // Mapping engine volSurfaceMapping vsm(aMesh); @@ -162,16 +186,9 @@ void sensitivitySurface::smoothSensitivities() // Source term in faMatrix needs to be an areaField areaVectorField sens ( - IOobject - ( - "sens", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + aMesh.newIOobject("sens"), aMesh, - dimensionedVector(dimless, Zero), + dimensionedVector(dimless, Foam::zero{}), faPatchFieldBase::zeroGradientType() ); @@ -220,14 +237,7 @@ void sensitivitySurface::smoothSensitivities() // Write normal, regularised sensitivities to file volScalarField volSmoothedSens ( - IOobject - ( - "smoothedSurfaceSens" + suffix_, - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + mesh_.newIOobject("smoothedSurfaceSens" + suffix_), mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C index de6effd2c94..dd3f931c23a 100644 --- a/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C +++ b/src/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -130,21 +130,17 @@ tmp<scalarField> curvatureSeparation::calcCosAngle // checks if (debug && mesh.time().writeTime()) { - areaScalarField volCosAngle - ( - IOobject + { + areaScalarField volCosAngle ( - "cosAngle", - mesh.time().timeName(), - mesh.thisDb(), - IOobject::NO_READ - ), - mesh, - dimensionedScalar(dimless, Zero) - ); - volCosAngle.primitiveFieldRef() = cosAngle; - volCosAngle.correctBoundaryConditions(); - volCosAngle.write(); + mesh.newIOobject("cosAngle"), + mesh, + dimensionedScalar(dimless, Zero) + ); + volCosAngle.primitiveFieldRef() = cosAngle; + volCosAngle.correctBoundaryConditions(); + volCosAngle.write(); + } } return clamp(cosAngle, scalarMinMax(-1, 1)); @@ -249,65 +245,49 @@ void curvatureSeparation::correct if (debug && mesh.time().writeTime()) { - areaScalarField volFnet - ( - IOobject + { + areaScalarField volFnet ( - "Fnet", - mesh.time().timeName(), - mesh.thisDb(), - IOobject::NO_READ - ), - mesh, - dimensionedScalar(dimForce, Zero) - ); - volFnet.primitiveFieldRef() = Fnet; - volFnet.write(); - - areaScalarField areaSeparated - ( - IOobject + mesh.newIOobject("Fnet"), + mesh, + dimensionedScalar(dimForce, Zero) + ); + volFnet.primitiveFieldRef() = Fnet; + volFnet.write(); + } + + { + areaScalarField areaSeparated ( - "separated", - mesh.time().timeName(), - mesh.thisDb(), - IOobject::NO_READ - ), - mesh, - dimensionedScalar(dimMass, Zero) - ); - areaSeparated.primitiveFieldRef() = separated; - areaSeparated.write(); - - areaScalarField areaMassToInject - ( - IOobject + mesh.newIOobject("separated"), + mesh, + dimensionedScalar(dimMass, Zero) + ); + areaSeparated.primitiveFieldRef() = separated; + areaSeparated.write(); + } + + { + areaScalarField areaMassToInject ( - "massToInject", - mesh.time().timeName(), - mesh.thisDb(), - IOobject::NO_READ - ), - mesh, - dimensionedScalar(dimMass, Zero) - ); - areaMassToInject.primitiveFieldRef() = massToInject; - areaMassToInject.write(); - - areaScalarField areaInvR1 - ( - IOobject + mesh.newIOobject("massToInject"), + mesh, + dimensionedScalar(dimMass, Zero) + ); + areaMassToInject.primitiveFieldRef() = massToInject; + areaMassToInject.write(); + } + + { + areaScalarField areaInvR1 ( - "InvR1", - mesh.time().timeName(), - mesh.thisDb(), - IOobject::NO_READ - ), - mesh, - dimensionedScalar(inv(dimLength), Zero) - ); - areaInvR1.primitiveFieldRef() = invR1; - areaInvR1.write(); + mesh.newIOobject("InvR1"), + mesh, + dimensionedScalar(inv(dimLength), Zero) + ); + areaInvR1.primitiveFieldRef() = invR1; + areaInvR1.write(); + } } injectionModel::correct(); -- GitLab From 4cfa2ea304b7cf384b3fad4e77b9bb0a4bc5a239 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 17 Apr 2024 14:27:32 +0200 Subject: [PATCH 136/231] TUT: update for new finite-area location (with foamUpgradeFiniteArea) --- .../obliqueAirJet/main/0.orig/{ => finite-area}/h_vibrationShell | 0 .../obliqueAirJet/main/0.orig/{ => finite-area}/ps_vibrationShell | 0 .../obliqueAirJet/main/0.orig/{ => finite-area}/ws_vibrationShell | 0 .../obliqueAirJet/main/system/{ => finite-area}/faMeshDefinition | 0 .../obliqueAirJet/main/system/{ => finite-area}/faSchemes | 0 .../obliqueAirJet/main/system/{ => finite-area}/faSolution | 0 .../liquidFilmFoam/cylinder/0.orig/{ => finite-area}/Us | 0 .../finiteArea/liquidFilmFoam/cylinder/0.orig/{ => finite-area}/h | 0 .../liquidFilmFoam/cylinder/0.orig/{ => finite-area}/manningField | 0 .../cylinder/system/{ => finite-area}/faMeshDefinition | 0 .../liquidFilmFoam/cylinder/system/{ => finite-area}/faSchemes | 0 .../liquidFilmFoam/cylinder/system/{ => finite-area}/faSolution | 0 .../sphereTransport/0.orig/{ => finite-area}/Cs | 0 .../sphereTransport/system/{ => finite-area}/faMeshDefinition | 0 .../sphereTransport/system/{ => finite-area}/faSchemes | 0 .../sphereTransport/system/{ => finite-area}/faSolution | 0 .../surfactantFoam/planeTransport/0.orig/{ => finite-area}/Cs | 0 .../surfactantFoam/planeTransport/0.orig/{ => finite-area}/Us | 0 .../planeTransport/system/{ => finite-area}/faMeshDefinition | 0 .../planeTransport/system/{ => finite-area}/faSchemes | 0 .../planeTransport/system/{ => finite-area}/faSolution | 0 .../hotRoomWithThermalShell/0/{ => finite-area}/Ts_ceilingShell | 0 .../hotRoomWithThermalShell/0/{ => finite-area}/h_ceilingShell | 0 .../system/{ => finite-area}/faMeshDefinition | 0 .../hotRoomWithThermalShell/system/{ => finite-area}/faSchemes | 0 .../hotRoomWithThermalShell/system/{ => finite-area}/faSolution | 0 .../sensitivityMaps/motorBike/system/{ => finite-area}/faSchemes | 0 .../sensitivityMaps/motorBike/system/{ => finite-area}/faSolution | 0 .../contactAngleCavity/0.orig/{ => finite-area}/contactAngle | 0 .../contactAngleCavity/system/{ => finite-area}/faMeshDefinition | 0 .../laminar/contactAngleCavity/system/{ => finite-area}/faSchemes | 0 .../contactAngleCavity/system/{ => finite-area}/faSolution | 0 .../laminar/contaminatedDroplet2D/0.orig/{ => finite-area}/Cs | 0 .../system/{ => finite-area}/faMeshDefinition | 0 .../contaminatedDroplet2D/system/{ => finite-area}/faSchemes | 0 .../contaminatedDroplet2D/system/{ => finite-area}/faSolution | 0 .../laminar/filmPanel0/0.orig/{ => finite-area}/Uf_film | 0 .../laminar/filmPanel0/0.orig/{ => finite-area}/hf_film | 0 .../laminar/filmPanel0/system/{ => finite-area}/faMeshDefinition | 0 .../laminar/filmPanel0/system/{ => finite-area}/faSchemes | 0 .../laminar/filmPanel0/system/{ => finite-area}/faSolution | 0 .../laminar/inclinedPlaneFilm/0/{ => finite-area}/Uf_film | 0 .../laminar/inclinedPlaneFilm/0/{ => finite-area}/hf_film | 0 .../inclinedPlaneFilm/system/{ => finite-area}/faMeshDefinition | 0 .../laminar/inclinedPlaneFilm/system/{ => finite-area}/faSchemes | 0 .../laminar/inclinedPlaneFilm/system/{ => finite-area}/faSolution | 0 .../laminar/sloshing2D/system/{ => finite-area}/faMeshDefinition | 0 .../laminar/sloshing2D/system/{ => finite-area}/faSchemes | 0 .../laminar/sloshing2D/system/{ => finite-area}/faSolution | 0 .../motorBike/system/{ => finite-area}/faMeshDefinition | 0 .../simpleFoam/motorBike/system/{ => finite-area}/faSchemes | 0 .../simpleFoam/motorBike/system/{ => finite-area}/faSolution | 0 .../kinematicParcelFoam/drippingChair/0/{ => finite-area}/Uf_film | 0 .../kinematicParcelFoam/drippingChair/0/{ => finite-area}/hf_film | 0 .../drippingChair/system/{ => finite-area}/faMeshDefinition | 0 .../drippingChair/system/{ => finite-area}/faSchemes | 0 .../drippingChair/system/{ => finite-area}/faSolution | 0 .../pitzDailyWithSprinklers/0/{ => finite-area}/Uf_film | 0 .../pitzDailyWithSprinklers/0/{ => finite-area}/hf_film | 0 .../system/{ => finite-area}/faMeshDefinition | 0 .../pitzDailyWithSprinklers/system/{ => finite-area}/faSchemes | 0 .../pitzDailyWithSprinklers/system/{ => finite-area}/faSolution | 0 .../liquidFilmStepWithSprinklers/0/{ => finite-area}/Uf_film | 0 .../liquidFilmStepWithSprinklers/0/{ => finite-area}/hf_film | 0 .../system/{ => finite-area}/faMeshDefinition | 0 .../system/{ => finite-area}/faSchemes | 0 .../system/{ => finite-area}/faSolution | 0 .../splashPanelFilm/0.orig/{ => finite-area}/Tf_film | 0 .../splashPanelFilm/0.orig/{ => finite-area}/Uf_film | 0 .../splashPanelFilm/0.orig/{ => finite-area}/hf_film | 0 .../splashPanelFilm/system/{ => finite-area}/faMeshDefinition | 0 .../splashPanelFilm/system/{ => finite-area}/faSchemes | 0 .../splashPanelFilm/system/{ => finite-area}/faSolution | 0 73 files changed, 0 insertions(+), 0 deletions(-) rename tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/{ => finite-area}/h_vibrationShell (100%) rename tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/{ => finite-area}/ps_vibrationShell (100%) rename tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/{ => finite-area}/ws_vibrationShell (100%) rename tutorials/compressible/acousticFoam/obliqueAirJet/main/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/compressible/acousticFoam/obliqueAirJet/main/system/{ => finite-area}/faSchemes (100%) rename tutorials/compressible/acousticFoam/obliqueAirJet/main/system/{ => finite-area}/faSolution (100%) rename tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/{ => finite-area}/Us (100%) rename tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/{ => finite-area}/h (100%) rename tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/{ => finite-area}/manningField (100%) rename tutorials/finiteArea/liquidFilmFoam/cylinder/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/finiteArea/liquidFilmFoam/cylinder/system/{ => finite-area}/faSchemes (100%) rename tutorials/finiteArea/liquidFilmFoam/cylinder/system/{ => finite-area}/faSolution (100%) rename tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/{ => finite-area}/Cs (100%) rename tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/{ => finite-area}/faSchemes (100%) rename tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/{ => finite-area}/faSolution (100%) rename tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/{ => finite-area}/Cs (100%) rename tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/{ => finite-area}/Us (100%) rename tutorials/finiteArea/surfactantFoam/planeTransport/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/finiteArea/surfactantFoam/planeTransport/system/{ => finite-area}/faSchemes (100%) rename tutorials/finiteArea/surfactantFoam/planeTransport/system/{ => finite-area}/faSolution (100%) rename tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/{ => finite-area}/Ts_ceilingShell (100%) rename tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/{ => finite-area}/h_ceilingShell (100%) rename tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/{ => finite-area}/faSchemes (100%) rename tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/{ => finite-area}/faSolution (100%) rename tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/{ => finite-area}/faSchemes (100%) rename tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/{ => finite-area}/faSolution (100%) rename tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/0.orig/{ => finite-area}/contactAngle (100%) rename tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/{ => finite-area}/faSchemes (100%) rename tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/{ => finite-area}/faSolution (100%) rename tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/0.orig/{ => finite-area}/Cs (100%) rename tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/{ => finite-area}/faSchemes (100%) rename tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/{ => finite-area}/faSolution (100%) rename tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/{ => finite-area}/Uf_film (100%) rename tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/{ => finite-area}/hf_film (100%) rename tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/{ => finite-area}/faSchemes (100%) rename tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/{ => finite-area}/faSolution (100%) rename tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/{ => finite-area}/Uf_film (100%) rename tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/{ => finite-area}/hf_film (100%) rename tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/{ => finite-area}/faSchemes (100%) rename tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/{ => finite-area}/faSolution (100%) rename tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/{ => finite-area}/faSchemes (100%) rename tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/{ => finite-area}/faSolution (100%) rename tutorials/incompressible/simpleFoam/motorBike/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/incompressible/simpleFoam/motorBike/system/{ => finite-area}/faSchemes (100%) rename tutorials/incompressible/simpleFoam/motorBike/system/{ => finite-area}/faSolution (100%) rename tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/{ => finite-area}/Uf_film (100%) rename tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/{ => finite-area}/hf_film (100%) rename tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/{ => finite-area}/faSchemes (100%) rename tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/{ => finite-area}/faSolution (100%) rename tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/{ => finite-area}/Uf_film (100%) rename tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/{ => finite-area}/hf_film (100%) rename tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/{ => finite-area}/faSchemes (100%) rename tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/{ => finite-area}/faSolution (100%) rename tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/{ => finite-area}/Uf_film (100%) rename tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/{ => finite-area}/hf_film (100%) rename tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/{ => finite-area}/faSchemes (100%) rename tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/{ => finite-area}/faSolution (100%) rename tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/{ => finite-area}/Tf_film (100%) rename tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/{ => finite-area}/Uf_film (100%) rename tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/{ => finite-area}/hf_film (100%) rename tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/{ => finite-area}/faMeshDefinition (100%) rename tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/{ => finite-area}/faSchemes (100%) rename tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/{ => finite-area}/faSolution (100%) diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/h_vibrationShell b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/h_vibrationShell similarity index 100% rename from tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/h_vibrationShell rename to tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/h_vibrationShell diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/ps_vibrationShell b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ps_vibrationShell similarity index 100% rename from tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/ps_vibrationShell rename to tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ps_vibrationShell diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/ws_vibrationShell b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ws_vibrationShell similarity index 100% rename from tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/ws_vibrationShell rename to tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ws_vibrationShell diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faMeshDefinition b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faMeshDefinition rename to tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faMeshDefinition diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faSchemes b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSchemes similarity index 100% rename from tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faSchemes rename to tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSchemes diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faSolution b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSolution similarity index 100% rename from tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faSolution rename to tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSolution diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/Us b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/Us similarity index 100% rename from tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/Us rename to tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/Us diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/h b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/h similarity index 100% rename from tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/h rename to tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/h diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/manningField b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/manningField similarity index 100% rename from tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/manningField rename to tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/manningField diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/faMeshDefinition b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/finiteArea/liquidFilmFoam/cylinder/system/faMeshDefinition rename to tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faMeshDefinition diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/faSchemes b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSchemes similarity index 100% rename from tutorials/finiteArea/liquidFilmFoam/cylinder/system/faSchemes rename to tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSchemes diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/faSolution b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSolution similarity index 100% rename from tutorials/finiteArea/liquidFilmFoam/cylinder/system/faSolution rename to tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSolution diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/Cs b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/finite-area/Cs similarity index 100% rename from tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/Cs rename to tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/finite-area/Cs diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/faMeshDefinition b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/faMeshDefinition rename to tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faMeshDefinition diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/faSchemes b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSchemes similarity index 100% rename from tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/faSchemes rename to tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSchemes diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/faSolution b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSolution similarity index 100% rename from tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/faSolution rename to tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSolution diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/Cs b/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Cs similarity index 100% rename from tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/Cs rename to tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Cs diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/Us b/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Us similarity index 100% rename from tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/Us rename to tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Us diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/faMeshDefinition b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/finiteArea/surfactantFoam/planeTransport/system/faMeshDefinition rename to tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faMeshDefinition diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/faSchemes b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSchemes similarity index 100% rename from tutorials/finiteArea/surfactantFoam/planeTransport/system/faSchemes rename to tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSchemes diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/faSolution b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSolution similarity index 100% rename from tutorials/finiteArea/surfactantFoam/planeTransport/system/faSolution rename to tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSolution diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/Ts_ceilingShell b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/Ts_ceilingShell similarity index 100% rename from tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/Ts_ceilingShell rename to tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/Ts_ceilingShell diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/h_ceilingShell b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/h_ceilingShell similarity index 100% rename from tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/h_ceilingShell rename to tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/h_ceilingShell diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faMeshDefinition b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faMeshDefinition rename to tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faMeshDefinition diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faSchemes b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSchemes similarity index 100% rename from tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faSchemes rename to tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSchemes diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faSolution b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSolution similarity index 100% rename from tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faSolution rename to tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSolution diff --git a/tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/faSchemes b/tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/finite-area/faSchemes similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/faSchemes rename to tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/finite-area/faSchemes diff --git a/tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/faSolution b/tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/finite-area/faSolution similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/faSolution rename to tutorials/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike/system/finite-area/faSolution diff --git a/tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/0.orig/contactAngle b/tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/0.orig/finite-area/contactAngle similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/0.orig/contactAngle rename to tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/0.orig/finite-area/contactAngle diff --git a/tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/faMeshDefinition b/tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/faMeshDefinition rename to tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/finite-area/faMeshDefinition diff --git a/tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/faSchemes b/tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/finite-area/faSchemes similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/faSchemes rename to tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/finite-area/faSchemes diff --git a/tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/faSolution b/tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/finite-area/faSolution similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/faSolution rename to tutorials/incompressible/pimpleFoam/laminar/contactAngleCavity/system/finite-area/faSolution diff --git a/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/0.orig/Cs b/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/0.orig/finite-area/Cs similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/0.orig/Cs rename to tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/0.orig/finite-area/Cs diff --git a/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/faMeshDefinition b/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/faMeshDefinition rename to tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/finite-area/faMeshDefinition diff --git a/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/faSchemes b/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/finite-area/faSchemes similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/faSchemes rename to tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/finite-area/faSchemes diff --git a/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/faSolution b/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/finite-area/faSolution similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/faSolution rename to tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/system/finite-area/faSolution diff --git a/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/Uf_film b/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/finite-area/Uf_film similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/Uf_film rename to tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/finite-area/Uf_film diff --git a/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/hf_film b/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/finite-area/hf_film similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/hf_film rename to tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/finite-area/hf_film diff --git a/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/faMeshDefinition b/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/faMeshDefinition rename to tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/finite-area/faMeshDefinition diff --git a/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/faSchemes b/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/finite-area/faSchemes similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/faSchemes rename to tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/finite-area/faSchemes diff --git a/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/faSolution b/tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/finite-area/faSolution similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/faSolution rename to tutorials/incompressible/pimpleFoam/laminar/filmPanel0/system/finite-area/faSolution diff --git a/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/Uf_film b/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/finite-area/Uf_film similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/Uf_film rename to tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/finite-area/Uf_film diff --git a/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/hf_film b/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/finite-area/hf_film similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/hf_film rename to tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/finite-area/hf_film diff --git a/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/faMeshDefinition b/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/faMeshDefinition rename to tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/finite-area/faMeshDefinition diff --git a/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/faSchemes b/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/finite-area/faSchemes similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/faSchemes rename to tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/finite-area/faSchemes diff --git a/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/faSolution b/tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/finite-area/faSolution similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/faSolution rename to tutorials/incompressible/pimpleFoam/laminar/inclinedPlaneFilm/system/finite-area/faSolution diff --git a/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/faMeshDefinition b/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/faMeshDefinition rename to tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/finite-area/faMeshDefinition diff --git a/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/faSchemes b/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/finite-area/faSchemes similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/faSchemes rename to tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/finite-area/faSchemes diff --git a/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/faSolution b/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/finite-area/faSolution similarity index 100% rename from tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/faSolution rename to tutorials/incompressible/pimpleFoam/laminar/sloshing2D/system/finite-area/faSolution diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/faMeshDefinition b/tutorials/incompressible/simpleFoam/motorBike/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/incompressible/simpleFoam/motorBike/system/faMeshDefinition rename to tutorials/incompressible/simpleFoam/motorBike/system/finite-area/faMeshDefinition diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/faSchemes b/tutorials/incompressible/simpleFoam/motorBike/system/finite-area/faSchemes similarity index 100% rename from tutorials/incompressible/simpleFoam/motorBike/system/faSchemes rename to tutorials/incompressible/simpleFoam/motorBike/system/finite-area/faSchemes diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/faSolution b/tutorials/incompressible/simpleFoam/motorBike/system/finite-area/faSolution similarity index 100% rename from tutorials/incompressible/simpleFoam/motorBike/system/faSolution rename to tutorials/incompressible/simpleFoam/motorBike/system/finite-area/faSolution diff --git a/tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/Uf_film b/tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/finite-area/Uf_film similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/Uf_film rename to tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/finite-area/Uf_film diff --git a/tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/hf_film b/tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/finite-area/hf_film similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/hf_film rename to tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/finite-area/hf_film diff --git a/tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/faMeshDefinition b/tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/faMeshDefinition rename to tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/finite-area/faMeshDefinition diff --git a/tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/faSchemes b/tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/finite-area/faSchemes similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/faSchemes rename to tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/finite-area/faSchemes diff --git a/tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/faSolution b/tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/finite-area/faSolution similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/faSolution rename to tutorials/lagrangian/kinematicParcelFoam/drippingChair/system/finite-area/faSolution diff --git a/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/Uf_film b/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/finite-area/Uf_film similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/Uf_film rename to tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/finite-area/Uf_film diff --git a/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/hf_film b/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/finite-area/hf_film similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/hf_film rename to tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/finite-area/hf_film diff --git a/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/faMeshDefinition b/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/faMeshDefinition rename to tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/finite-area/faMeshDefinition diff --git a/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/faSchemes b/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/finite-area/faSchemes similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/faSchemes rename to tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/finite-area/faSchemes diff --git a/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/faSolution b/tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/finite-area/faSolution similarity index 100% rename from tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/faSolution rename to tutorials/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/system/finite-area/faSolution diff --git a/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/Uf_film b/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/finite-area/Uf_film similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/Uf_film rename to tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/finite-area/Uf_film diff --git a/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/hf_film b/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/finite-area/hf_film similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/hf_film rename to tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/0/finite-area/hf_film diff --git a/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/faMeshDefinition b/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/faMeshDefinition rename to tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/finite-area/faMeshDefinition diff --git a/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/faSchemes b/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/finite-area/faSchemes similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/faSchemes rename to tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/finite-area/faSchemes diff --git a/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/faSolution b/tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/finite-area/faSolution similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/faSolution rename to tutorials/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers/system/finite-area/faSolution diff --git a/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/Tf_film b/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/finite-area/Tf_film similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/Tf_film rename to tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/finite-area/Tf_film diff --git a/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/Uf_film b/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/finite-area/Uf_film similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/Uf_film rename to tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/finite-area/Uf_film diff --git a/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/hf_film b/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/finite-area/hf_film similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/hf_film rename to tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/finite-area/hf_film diff --git a/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/faMeshDefinition b/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/finite-area/faMeshDefinition similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/faMeshDefinition rename to tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/finite-area/faMeshDefinition diff --git a/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/faSchemes b/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/finite-area/faSchemes similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/faSchemes rename to tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/finite-area/faSchemes diff --git a/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/faSolution b/tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/finite-area/faSolution similarity index 100% rename from tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/faSolution rename to tutorials/lagrangian/reactingParcelFoam/splashPanelFilm/system/finite-area/faSolution -- GitLab From d1c4a225a27a94884dd1e80b07b7f3151c5c0910 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 17 Apr 2024 14:27:38 +0200 Subject: [PATCH 137/231] CONFIG: increment API level to 2402 (finite-area API changes) --- META-INFO/api-info | 2 +- wmake/rules/General/general | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/META-INFO/api-info b/META-INFO/api-info index 73127b748e7..1c8dcb8c5e5 100644 --- a/META-INFO/api-info +++ b/META-INFO/api-info @@ -1,2 +1,2 @@ -api=2401 +api=2402 patch=240220 diff --git a/wmake/rules/General/general b/wmake/rules/General/general index eb0547fa53c..7d7ff8d3da4 100644 --- a/wmake/rules/General/general +++ b/wmake/rules/General/general @@ -1,5 +1,5 @@ #-------------------------------*- makefile -*--------------------------------- -WM_VERSION = OPENFOAM=2401 +WM_VERSION = OPENFOAM=2402 AR = ar ARFLAGS = cr -- GitLab From b6203a7de569cda71256f43e1e6fc9c727a901de Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Fri, 19 Apr 2024 20:19:45 +0100 Subject: [PATCH 138/231] BUG: overlapping zones: incorrect sizing --- src/meshTools/polyTopoChange/polyTopoChange.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/meshTools/polyTopoChange/polyTopoChange.C b/src/meshTools/polyTopoChange/polyTopoChange.C index 3c3e20284d3..88b6e0359ef 100644 --- a/src/meshTools/polyTopoChange/polyTopoChange.C +++ b/src/meshTools/polyTopoChange/polyTopoChange.C @@ -930,7 +930,7 @@ void Foam::polyTopoChange::reorderCompactFaces if (faceAdditionalZones_.size()) { // Extend to number of faces so oldToNew can be used - faceAdditionalZones_.setSize(faceZone_.size()); + faceAdditionalZones_.setSize(faceZoneFlip_.size()); inplaceReorder(oldToNew, faceAdditionalZones_); faceAdditionalZones_.setCapacity(newSize); } -- GitLab From 6cce1cdc8b6830927ea1c09fc0778816f1b63c2a Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 16 Apr 2024 17:23:53 +0200 Subject: [PATCH 139/231] STYLE: add push_back() method to dlLibraryTable, cellTable, boundaryRegion - same as append() did, but with more consistent names STYLE: replace special purpose append() with container method STYLE: update code style --- .../decomposePar/domainDecomposition.H | 3 - .../decomposePar/domainDecompositionMesh.C | 11 +- .../domainDecompositionTemplates.C | 4 +- .../dlLibraryTable/dlLibraryTable.C | 10 +- .../dlLibraryTable/dlLibraryTable.H | 35 ++- src/conversion/ccm/reader/ccmSolutionTable.H | 130 ++++----- src/conversion/common/tables/boundaryRegion.C | 167 ++++++----- src/conversion/common/tables/boundaryRegion.H | 66 +++-- src/conversion/common/tables/cellTable.C | 268 +++++++++--------- src/conversion/common/tables/cellTable.H | 71 ++--- 10 files changed, 409 insertions(+), 356 deletions(-) diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H index af1f509fb6d..8b16e629aaf 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H @@ -132,9 +132,6 @@ class domainDecomposition labelList& elementToZone ); - //- Append single element to list - static void append(labelList&, const label); - //- Add face to inter-processor patch void addInterProcFace ( diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C index 904adb05e32..964df9248dd 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C @@ -39,14 +39,6 @@ Description // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::domainDecomposition::append(labelList& lst, const label elem) -{ - label sz = lst.size(); - lst.setSize(sz+1); - lst[sz] = elem; -} - - void Foam::domainDecomposition::addInterProcFace ( const label facei, @@ -354,9 +346,8 @@ void Foam::domainDecomposition::decomposeMesh() procFaceAddressing_[proci].size(); // Add size as last element to substarts and transfer - append + subPatchStarts[proci][interPatch].append ( - subPatchStarts[proci][interPatch], curInterPatchFaces[interPatch].size() ); procProcessorPatchSubPatchIDs_[proci][i].transfer diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionTemplates.C b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionTemplates.C index 4dc857b7e3f..d6d1a971316 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionTemplates.C +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionTemplates.C @@ -103,8 +103,8 @@ void Foam::domainDecomposition::processInterCyclics if (interPatchFaces[proci][interI].size() > oldSz) { // Added faces to this interface. Add an entry - append(subPatchIDs[proci][interI], patchi); - append(subPatchStarts[proci][interI], oldSz); + subPatchIDs[proci][interI].append(patchi); + subPatchStarts[proci][interI].append(oldSz); } } } diff --git a/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C b/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C index d7fd8eef9c2..2e1d2cabc1b 100644 --- a/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C +++ b/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -376,9 +376,9 @@ void Foam::dlLibraryTable::close(bool verbose) } -bool Foam::dlLibraryTable::append(const fileName& libName) +bool Foam::dlLibraryTable::push_back(const fileName& libName) { - if (libName.empty() || libNames_.found(libName)) + if (libName.empty() || libNames_.contains(libName)) { return false; } @@ -390,13 +390,13 @@ bool Foam::dlLibraryTable::append(const fileName& libName) } -Foam::label Foam::dlLibraryTable::append(const UList<fileName>& libNames) +Foam::label Foam::dlLibraryTable::push_back(const UList<fileName>& libNames) { label nAdded = 0; for (const fileName& libName : libNames) { - if (append(libName)) + if (push_back(libName)) { ++nAdded; } diff --git a/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.H b/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.H index f3ca9d581c1..1b9a445d2a3 100644 --- a/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.H +++ b/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -227,13 +227,13 @@ public: List<fileName> loaded() const; //- Names of the libraries in use, or requested - const UList<fileName>& names() const + const UList<fileName>& names() const noexcept { return libNames_; } //- Pointers to the libraries in use. Access with caution. - const UList<void*>& pointers() const + const UList<void*>& pointers() const noexcept { return libPtrs_; } @@ -241,16 +241,18 @@ public: //- Clears the table, without attempting to close the libraries void clear(); + //- Add to the list of names, but do not yet open. - // Ignores duplicate names. - bool append(const fileName& libName); + // Ignores empty and duplicate names. + bool push_back(const fileName& libName); //- Add to the list of names, but do not yet open. - // Ignores duplicate names. - label append(const UList<fileName>& libNames); + // Ignores empty and duplicate names. + label push_back(const UList<fileName>& libNames); + //- Open named, but unopened libraries. - //- These names will normally have been added with the append() method. + //- These names will normally have been added with push_back(). bool open(bool verbose = true); //- Open the named library, warn by default if problems occur. @@ -312,6 +314,23 @@ public: //- Return info proxy, //- used to print library table information to a stream InfoProxy<dlLibraryTable> info() const noexcept { return *this; } + + + // Housekeeping + + //- Add to the list of names, but do not yet open. + //FOAM_DEPRECATED_FOR(2024-04, "push_back()") + bool append(const fileName& libName) + { + return push_back(libName); + } + + //- Add to the list of names, but do not yet open. + //FOAM_DEPRECATED_FOR(2024-04, "push_back()") + label append(const UList<fileName>& libNames) + { + return push_back(libNames); + } }; diff --git a/src/conversion/ccm/reader/ccmSolutionTable.H b/src/conversion/ccm/reader/ccmSolutionTable.H index 74401546862..d99b342eb4c 100644 --- a/src/conversion/ccm/reader/ccmSolutionTable.H +++ b/src/conversion/ccm/reader/ccmSolutionTable.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,6 +42,7 @@ namespace Foam namespace ccm { +// Forward Declarations class fieldEntry; class fieldTable; class solutionEntry; @@ -55,14 +56,16 @@ Ostream& operator<<(Ostream& os, const solutionEntry& entry); \*---------------------------------------------------------------------------*/ //- A linked-list that is searchable by the 'name()' of the items -template<class T> +template<class Type> class namesList : - public SLList<T> + public SLList<Type> { public: - using const_iterator = typename SLList<T>::const_iterator; - using iterator = typename SLList<T>::iterator; + + using const_iterator = typename SLList<Type>::const_iterator; + using iterator = typename SLList<Type>::iterator; + // Constructors @@ -72,12 +75,12 @@ public: // Access - //- Return true if a list element has a name that matches key + //- True if a list element has a name that matches key bool found(const word& key) const { - forAllConstIters(*this, iter) + for (const Type& item : *this) { - if (iter().name() == key) + if (item.name() == key) { return true; } @@ -87,18 +90,22 @@ public: } - //- Find a list element has a name matching key + //- Find list element by name iterator find(const word& key) { - forAllIters(*this, iter) + const auto last = SLList<Type>::end(); + + iterator iter = SLList<Type>::begin(); + + for (; (iter != last); ++iter) { - if (iter().name() == key) + if ((*iter).name() == key) { - return iter; + break; } } - return SLList<T>::end(); + return iter; } @@ -109,20 +116,22 @@ public: const wordRes& deny = wordRes() ) const { - List<word> matched(SLList<T>::size()); + List<word> matched(SLList<Type>::size()); - label matchi = 0; - forAllConstIters(*this, iter) + label count = 0; + + for (const Type& item : *this) { - const word& name = iter().name(); + const word& name = item.name(); if (allow.match(name) && !deny.match(name)) { - matched[matchi++] = name; + matched[count] = name; + ++count; } } - matched.resize(matchi); + matched.resize(count); return matched; } }; @@ -181,34 +190,19 @@ public: // Access //- The field name (PROSTAR short name) - const word& name() const - { - return name_; - } + const word& name() const noexcept { return name_; } //- The full field name - const string& fullName() const - { - return fullName_; - } + const string& fullName() const noexcept { return fullName_; } //- The field units - const string& units() const - { - return units_; - } + const string& units() const noexcept { return units_; } //- The max cell id for the field - label maxCellId() const - { - return maxCellId_; - } + label maxCellId() const noexcept { return maxCellId_; } //- The max face id for the field - label maxFaceId() const - { - return maxFaceId_; - } + label maxFaceId() const noexcept { return maxFaceId_; } // Edit @@ -223,21 +217,21 @@ public: } //- Set the max cell Id for the field - void maxCellId(const int newMax) + void maxCellId(const int val) { - if (maxCellId_ < newMax) + if (maxCellId_ < val) { - maxCellId_ = newMax; + maxCellId_ = val; } } //- Set the max face Id for the field - void maxFaceId(const int newMax) + void maxFaceId(const int val) { - if (maxFaceId_ < newMax) + if (maxFaceId_ < val) { - maxFaceId_ = newMax; + maxFaceId_ = val; } } @@ -299,22 +293,13 @@ public: // Access //- The solution name - const word& name() const - { - return name_; - } + const word& name() const noexcept { return name_; } //- The solution iteration/timestep - label iteration() const - { - return iter_; - } + label iteration() const noexcept { return iter_; } //- The solution time (sec) - scalar timeValue() const - { - return time_; - } + scalar timeValue() const noexcept { return time_; } // IOstream Operators @@ -356,11 +341,8 @@ public: // Constructor - //- Null construct - fieldTable() - : - namesList<fieldEntry>() - {} + //- Default construct + fieldTable() = default; // Access @@ -368,36 +350,36 @@ public: //- The maximum cell Id referenced in the list label maxCellId() const { - label maxId = 0; - forAllConstIters(*this, iter) + label result = 0; + for (const auto& item : *this) { - const label currMax = iter().maxCellId(); + const label val = item.maxCellId(); - if (maxId < currMax) + if (result < val) { - maxId = currMax; + result = val; } } - return maxId; + return result; } //- The maximum face Id referenced in the list label maxFaceId() const { - label maxId = 0; - forAllConstIters(*this, iter) + label result = 0; + for (const auto& item : *this) { - const label currMax = iter().maxFaceId(); + const label val = item.maxFaceId(); - if (maxId < currMax) + if (result < val) { - maxId = currMax; + result = val; } } - return maxId; + return result; } diff --git a/src/conversion/common/tables/boundaryRegion.C b/src/conversion/common/tables/boundaryRegion.C index 4cfe6b70d26..221df81be8e 100644 --- a/src/conversion/common/tables/boundaryRegion.C +++ b/src/conversion/common/tables/boundaryRegion.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2019-2020 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,31 +29,59 @@ License #include "boundaryRegion.H" #include "IOMap.H" #include "OFstream.H" +#include "predicates.H" -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // -Foam::boundaryRegion::boundaryRegion() -: - Map<dictionary>() -{} +namespace Foam +{ +template<class MatchPredicate> +static Map<word> names_impl +( + const Map<dictionary>& input, + const MatchPredicate& nameMatcher +) +{ + Map<word> output; + output.reserve(input.size()); + + forAllConstIters(input, iter) + { + word lookupName; + if (!iter().readIfPresent("Label", lookupName)) + { + lookupName = "boundaryRegion_" + Foam::name(iter.key()); + } + + if (nameMatcher(lookupName)) + { + output.emplace(iter.key(), std::move(lookupName)); + } + } + + return output; +} + +} // End namespace Foam + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::boundaryRegion::boundaryRegion ( - const objectRegistry& registry, + const objectRegistry& obr, const word& name, const fileName& instance ) -: - Map<dictionary>() { - readDict(registry, name, instance); + readDict(obr, name, instance); } // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // -Foam::label Foam::boundaryRegion::append(const dictionary& dict) +Foam::label Foam::boundaryRegion::maxIndex() const { label maxId = -1; forAllConstIters(*this, iter) @@ -64,6 +92,14 @@ Foam::label Foam::boundaryRegion::append(const dictionary& dict) } } + return maxId; +} + + +Foam::label Foam::boundaryRegion::push_back(const dictionary& dict) +{ + label maxId = this->maxIndex(); + insert(++maxId, dict); return maxId; } @@ -71,64 +107,52 @@ Foam::label Foam::boundaryRegion::append(const dictionary& dict) Foam::Map<Foam::word> Foam::boundaryRegion::names() const { - Map<word> lookup; + return names_impl(*this, predicates::always{}); +} - forAllConstIters(*this, iter) - { - lookup.insert - ( - iter.key(), - iter().getOrDefault<word> - ( - "Label", - "boundaryRegion_" + Foam::name(iter.key()) - ) - ); - } - return lookup; +Foam::Map<Foam::word> Foam::boundaryRegion::names(const wordRes& patterns) const +{ + return names_impl(*this, patterns); } -Foam::Map<Foam::word> Foam::boundaryRegion::names -( - const wordRes& patterns -) const +Foam::Map<Foam::word> Foam::boundaryRegion::boundaryTypes() const { - Map<word> lookup; + Map<word> output; + output.reserve(size()); forAllConstIters(*this, iter) { - const word lookupName = iter().getOrDefault<word> - ( - "Label", - "boundaryRegion_" + Foam::name(iter.key()) - ); - - if (patterns.match(lookupName)) + word lookupType; + if (!iter().readIfPresent("BoundaryType", lookupType)) { - lookup.insert(iter.key(), lookupName); + lookupType = "patch"; } + + output.emplace(iter.key(), std::move(lookupType)); } - return lookup; + return output; } -Foam::Map<Foam::word> Foam::boundaryRegion::boundaryTypes() const +Foam::word Foam::boundaryRegion::name(const label id) const { - Map<word> lookup; + word lookupName; - forAllConstIters(*this, iter) + const auto iter = cfind(id); + if (iter.good()) { - lookup.insert - ( - iter.key(), - iter().getOrDefault<word>("BoundaryType", "patch") - ); + iter.val().readIfPresent("Label", lookupName); + } + + if (lookupName.empty() && id >= 0) + { + lookupName = "boundaryRegion_" + Foam::name(id); } - return lookup; + return lookupName; } @@ -141,7 +165,10 @@ Foam::label Foam::boundaryRegion::findIndex(const word& name) const forAllConstIters(*this, iter) { - if (iter().getOrDefault<word>("Label", word::null) == name) + const auto& dict = iter.val(); + + word lookupName; + if (dict.readIfPresent("Label", lookupName) && (lookupName == name)) { return iter.key(); } @@ -153,35 +180,35 @@ Foam::label Foam::boundaryRegion::findIndex(const word& name) const Foam::word Foam::boundaryRegion::boundaryType(const word& name) const { - word bndType("patch"); + word lookupType("patch"); - label id = this->findIndex(name); + const label id = this->findIndex(name); if (id >= 0) { - operator[](id).readIfPresent<word>("BoundaryType", bndType); + operator[](id).readIfPresent("BoundaryType", lookupType); } - return bndType; + return lookupType; } void Foam::boundaryRegion::readDict ( - const objectRegistry& registry, + const objectRegistry& obr, const word& name, const fileName& instance ) { - clear(); + Map<dictionary>::clear(); - // read constant/dictName + // Read constant/dictName IOMap<dictionary> ioObj ( IOobject ( name, instance, - registry, + obr, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -201,7 +228,7 @@ void Foam::boundaryRegion::readDict void Foam::boundaryRegion::writeDict ( - const objectRegistry& registry, + const objectRegistry& obr, const word& name, const fileName& instance ) const @@ -213,7 +240,7 @@ void Foam::boundaryRegion::writeDict ( name, instance, - registry, + obr, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -221,13 +248,16 @@ void Foam::boundaryRegion::writeDict ); ioObj.note() = - "persistent data for thirdParty mesh <-> OpenFOAM translation"; + "persistent data for third-party mesh <-> OpenFOAM translation"; - Info<< "Writing " << ioObj.name() << " to " << ioObj.objectPath() << endl; + Info<< "Writing " << ioObj.name() << " to " + << ioObj.objectRelPath() << endl; OFstream os(ioObj.objectPath()); ioObj.writeHeader(os); os << *this; + + IOobject::writeEndDivider(os); } @@ -259,6 +289,8 @@ void Foam::boundaryRegion::rename(const dictionary& mapDict) // This avoid re-matching any renamed regions Map<word> mapping; + mapping.reserve(mapDict.size()); + for (const entry& dEntry : mapDict) { const word oldName(dEntry.stream()); @@ -272,12 +304,19 @@ void Foam::boundaryRegion::rename(const dictionary& mapDict) forAllConstIters(mapping, iter) { + const word& newName = iter.val(); + dictionary& dict = operator[](iter.key()); - Info<< "rename patch: " << iter() - << " <- " << dict.get<word>("Label") << nl; + word oldName; + if (!dict.readIfPresent("Label", oldName)) + { + oldName = "boundaryRegion_" + Foam::name(iter.key()); + } + + Info<< "rename patch: " << newName << " <- " << oldName << nl; - dict.set("Label", iter()); + dict.set("Label", newName); } } diff --git a/src/conversion/common/tables/boundaryRegion.H b/src/conversion/common/tables/boundaryRegion.H index bad8b561082..c669d1e9d49 100644 --- a/src/conversion/common/tables/boundaryRegion.H +++ b/src/conversion/common/tables/boundaryRegion.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,14 +52,12 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef boundaryRegion_H -#define boundaryRegion_H +#ifndef Foam_boundaryRegion_H +#define Foam_boundaryRegion_H -#include "polyMesh.H" #include "Map.H" #include "dictionary.H" #include "labelList.H" -#include "wordList.H" #include "wordRes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,6 +65,9 @@ SourceFiles namespace Foam { +// Forward Declarations +class objectRegistry; + /*---------------------------------------------------------------------------*\ Class boundaryRegion Declaration \*---------------------------------------------------------------------------*/ @@ -74,23 +76,21 @@ class boundaryRegion : public Map<dictionary> { - // Private Member Functions - - //- No copy construct - boundaryRegion(const boundaryRegion&) = delete; +public: + //- No copy construct + boundaryRegion(const boundaryRegion&) = delete; -public: // Constructors - //- Construct null - boundaryRegion(); + //- Default construct + boundaryRegion() noexcept = default; - //- Construct read from registry, name. instance - boundaryRegion + //- Read construct from registry, name, instance + explicit boundaryRegion ( - const objectRegistry&, + const objectRegistry& obr, const word& name = "boundaryRegion", const fileName& instance = "constant" ); @@ -102,29 +102,38 @@ public: // Member Functions - //- Append to the end, return index - label append(const dictionary&); + //- Add to the end, return index + label push_back(const dictionary& dict); + + //- The max table index, -1 if empty + label maxIndex() const; - //- Return index corresponding to patch 'name' - // returns -1 if not found + //- The index corresponding to entry with 'Label' of given name, + //- or -1 if not found label findIndex(const word& name) const; - //- Return a Map of (id => name) + //- The 'Label' name corresponding to id, + //- or boundaryRegion_ID if not otherwise defined + word name(const label id) const; + + //- Return the extracted Map of (id => name) Map<word> names() const; - //- Return a Map of (id => names) selected by patterns + //- Return the extracted Map of (id => names) selected by patterns Map<word> names(const wordRes& patterns) const; - //- Return a Map of (id => type) + //- Return the extracted Map of (id => type) Map<word> boundaryTypes() const; - //- Return BoundaryType corresponding to patch 'name' + //- Return BoundaryType corresponding to patch 'name', + //- "patch" if not found word boundaryType(const word& name) const; + //- Read constant/boundaryRegion void readDict ( - const objectRegistry&, + const objectRegistry& obr, const word& name = "boundaryRegion", const fileName& instance = "constant" ); @@ -132,7 +141,7 @@ public: //- Write constant/boundaryRegion for later reuse void writeDict ( - const objectRegistry&, + const objectRegistry& obr, const word& name = "boundaryRegion", const fileName& instance = "constant" ) const; @@ -140,7 +149,7 @@ public: // Member Operators - //- Assignment + //- Copy assignment void operator=(const boundaryRegion&); //- Assign from Map<dictionary> @@ -155,8 +164,15 @@ public: // newPatchName originalName; // \endverbatim void rename(const dictionary&); + + + // Housekeeping + + //- Add to the end, return index + label append(const dictionary& dict) { return push_back(dict); } }; + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/conversion/common/tables/cellTable.C b/src/conversion/common/tables/cellTable.C index 3ec2971c964..082f8457935 100644 --- a/src/conversion/common/tables/cellTable.C +++ b/src/conversion/common/tables/cellTable.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,43 +28,52 @@ License #include "cellTable.H" #include "IOMap.H" +#include "polyMesh.H" #include "OFstream.H" +#include "predicates.H" +#include "ListOps.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -const char* const Foam::cellTable::defaultMaterial_ = "fluid"; +static const char* const defaultMaterial_ = "fluid"; -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // -Foam::Map<Foam::label> Foam::cellTable::zoneMap() const +namespace Foam { - Map<label> lookup; - - label zonei = 0; - forAllConstIters(*this, iter) - { - lookup.insert(iter.key(), zonei++); - } - return lookup; -} - - -Foam::wordList Foam::cellTable::namesList() const +template<class MatchPredicate> +static Map<word> names_impl +( + const Map<dictionary>& input, + const MatchPredicate& nameMatcher +) { - Map<word> lookup = names(); - wordList list(lookup.size()); + Map<word> output; + output.reserve(input.size()); - label zonei = 0; - forAllConstIters(lookup, iter) + forAllConstIters(input, iter) { - list[zonei++] = *iter; + word lookupName; + if (!iter().readIfPresent("Label", lookupName)) + { + lookupName = "cellTable_" + Foam::name(iter.key()); + } + + if (nameMatcher(lookupName)) + { + output.emplace(iter.key(), std::move(lookupName)); + } } - return list; + return output; } +} // End namespace Foam + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // void Foam::cellTable::addDefaults() { @@ -72,7 +81,7 @@ void Foam::cellTable::addDefaults() { if (!iter().found("MaterialType")) { - iter().add("MaterialType", defaultMaterial_); + iter().add("MaterialType", word(defaultMaterial_)); } } } @@ -81,12 +90,12 @@ void Foam::cellTable::addDefaults() void Foam::cellTable::setEntry ( const label id, - const word& keyWord, + const word& key, const word& value ) { dictionary dict; - dict.add(keyWord, value); + dict.add(key, value); iterator iter = find(id); if (iter.good()) @@ -102,28 +111,20 @@ void Foam::cellTable::setEntry // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::cellTable::cellTable() -: - Map<dictionary>() -{} - - Foam::cellTable::cellTable ( - const objectRegistry& registry, + const objectRegistry& obr, const word& name, const fileName& instance ) -: - Map<dictionary>() { - readDict(registry, name, instance); + readDict(obr, name, instance); } // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // -Foam::label Foam::cellTable::append(const dictionary& dict) +Foam::label Foam::cellTable::maxIndex() const { label maxId = -1; forAllConstIters(*this, iter) @@ -134,68 +135,47 @@ Foam::label Foam::cellTable::append(const dictionary& dict) } } - insert(++maxId, dict); return maxId; } -Foam::Map<Foam::word> Foam::cellTable::names() const +Foam::label Foam::cellTable::push_back(const dictionary& dict) { - Map<word> lookup; - - forAllConstIters(*this, iter) - { - lookup.insert - ( - iter.key(), - iter().getOrDefault<word> - ( - "Label", - "cellTable_" + Foam::name(iter.key()) - ) - ); - } + label maxId = this->maxIndex(); - return lookup; + insert(++maxId, dict); + return maxId; } -Foam::Map<Foam::word> Foam::cellTable::names -( - const wordRes& patterns -) const +Foam::Map<Foam::word> Foam::cellTable::names() const { - Map<word> lookup; - - forAllConstIters(*this, iter) - { - const word lookupName = iter().getOrDefault<word> - ( - "Label", - "cellTable_" + Foam::name(iter.key()) - ); + return names_impl(*this, predicates::always{}); +} - if (patterns.match(lookupName)) - { - lookup.insert(iter.key(), lookupName); - } - } - return lookup; +Foam::Map<Foam::word> Foam::cellTable::names(const wordRes& patterns) const +{ + return names_impl(*this, patterns); } Foam::word Foam::cellTable::name(const label id) const { - word theName("cellTable_" + Foam::name(id)); + word lookupName; - const_iterator iter = cfind(id); + const auto iter = cfind(id); if (iter.good()) { - iter().readIfPresent("Label", theName); + iter.val().readIfPresent("Label", lookupName); } - return theName; + if (lookupName.empty() && id >= 0) + { + lookupName = "cellTable_" + Foam::name(id); + } + + return lookupName; } @@ -208,7 +188,10 @@ Foam::label Foam::cellTable::findIndex(const word& name) const forAllConstIters(*this, iter) { - if (iter().getOrDefault<word>("Label", word::null) == name) + const auto& dict = iter.val(); + + word lookupName; + if (dict.readIfPresent("Label", lookupName) && (lookupName == name)) { return iter.key(); } @@ -220,28 +203,31 @@ Foam::label Foam::cellTable::findIndex(const word& name) const Foam::Map<Foam::word> Foam::cellTable::materialTypes() const { - Map<word> lookup; + Map<word> output; + output.reserve(size()); forAllConstIters(*this, iter) { - lookup.insert - ( - iter.key(), - iter().getOrDefault<word>("MaterialType", defaultMaterial_) - ); + word lookupType; + if (!iter().readIfPresent("MaterialType", lookupType)) + { + lookupType = defaultMaterial_; + } + + output.emplace(iter.key(), std::move(lookupType)); } - return lookup; + return output; } Foam::Map<Foam::word> Foam::cellTable::selectType(const word& matl) const { - Map<word> lookup; + Map<word> output; + output.reserve(size()); forAllConstIters(*this, iter) { - const label index = iter.key(); const dictionary& dict = iter.val(); if @@ -250,19 +236,17 @@ Foam::Map<Foam::word> Foam::cellTable::selectType(const word& matl) const == dict.getOrDefault<word>("MaterialType", defaultMaterial_) ) { - lookup.insert - ( - index, - dict.getOrDefault<word> - ( - "Label", - "cellTable_" + Foam::name(iter.key()) - ) - ); + word lookupName; + if (dict.readIfPresent("Label", lookupName)) + { + lookupName = "cellTable_" + Foam::name(iter.key()); + } + + output.emplace(iter.key(), std::move(lookupName)); } } - return lookup; + return output; } @@ -284,7 +268,6 @@ Foam::Map<Foam::word> Foam::cellTable::shells() const } - void Foam::cellTable::setMaterial(const label id, const word& matlType) { setEntry(id, "MaterialType", matlType); @@ -310,7 +293,7 @@ void Foam::cellTable::setName(const label id) void Foam::cellTable::readDict ( - const objectRegistry& registry, + const objectRegistry& obr, const word& name, const fileName& instance ) @@ -324,7 +307,7 @@ void Foam::cellTable::readDict ( name, instance, - registry, + obr, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -345,7 +328,7 @@ void Foam::cellTable::readDict void Foam::cellTable::writeDict ( - const objectRegistry& registry, + const objectRegistry& obr, const word& name, const fileName& instance ) const @@ -357,7 +340,7 @@ void Foam::cellTable::writeDict ( name, instance, - registry, + obr, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER @@ -365,13 +348,16 @@ void Foam::cellTable::writeDict ); ioObj.note() = - "persistent data for thirdParty mesh <-> OpenFOAM translation"; + "persistent data for third-party mesh <-> OpenFOAM translation"; - Info<< "Writing " << ioObj.name() << " to " << ioObj.objectPath() << endl; + Info<< "Writing " << ioObj.name() << " to " + << ioObj.objectRelPath() << endl; OFstream os(ioObj.objectPath()); ioObj.writeHeader(os); os << *this; + + IOobject::writeEndDivider(os); } @@ -442,59 +428,81 @@ void Foam::cellTable::addCellZones const labelList& tableIds ) const { - Map<label> typeToZone = zoneMap(); - List<DynamicList<label>> zoneCells(size()); + // From cellTable ID => zone index + Map<label> typeToZone; + + // Name per zone (not cellTableID) + wordList zoneNames; + + { + // The cellTable ID => zone name + Map<word> namesLookup = this->names(); + + zoneNames.resize(namesLookup.size()); + typeToZone.reserve(namesLookup.size()); + + // Linear indexing + label zonei = 0; + for (const label id : namesLookup.sortedToc()) + { + typeToZone(id) = zonei; + zoneNames[zonei] = namesLookup[id]; + ++zonei; + } + } + + + List<DynamicList<label>> zoneCells(zoneNames.size()); forAll(tableIds, celli) { - const auto iter = typeToZone.cfind(tableIds[celli]); - if (iter.good()) + label zonei = typeToZone.lookup(tableIds[celli], -1); + if (zonei >= 0) { - zoneCells[*iter].append(celli); + zoneCells[zonei].push_back(celli); } } - // track which zones were actually used - labelList zoneUsed(zoneCells.size()); - wordList zoneNames(namesList()); + // Track which zones were actually used + DynamicList<label> zoneUsed(zoneCells.size()); - label nZone = 0; - forAll(zoneCells, zoneI) + forAll(zoneCells, zonei) { - zoneCells[zoneI].shrink(); - if (zoneCells[zoneI].size()) + zoneCells[zonei].shrink(); + if (!zoneCells[zonei].empty()) { - zoneUsed[nZone++] = zoneI; + zoneUsed.push_back(zonei); } } - zoneUsed.setSize(nZone); + + const label nZonesUsed = zoneUsed.size(); cellZoneMesh& czMesh = mesh.cellZones(); czMesh.clear(); - if (nZone <= 1) + if (nZonesUsed <= 1) { Info<< "cellZones not used" << endl; return; } - czMesh.setSize(nZone); + czMesh.resize(nZonesUsed); - forAll(zoneUsed, zoneI) + forAll(zoneUsed, zonei) { - const label origZoneI = zoneUsed[zoneI]; + const label origZonei = zoneUsed[zonei]; - Info<< "cellZone " << zoneI - << " (size: " << zoneCells[origZoneI].size() - << ") name: " << zoneNames[origZoneI] << endl; + Info<< "cellZone " << zonei + << " (size: " << zoneCells[origZonei].size() + << ") name: " << zoneNames[origZonei] << endl; czMesh.set ( - zoneI, + zonei, new cellZone ( - zoneNames[origZoneI], - zoneCells[origZoneI], - zoneI, + zoneNames[origZonei], + zoneCells[origZonei], + zonei, czMesh ) ); @@ -510,8 +518,8 @@ void Foam::cellTable::combine(const dictionary& mapDict, labelList& tableIds) return; } - Map<word> origNames(names()); - labelList mapping(identity(max(origNames.toc()) + 1)); + Map<word> origNames(this->names()); + labelList mapping(identity(this->maxIndex() + 1)); bool remap = false; forAllConstIters(mapDict, iter) diff --git a/src/conversion/common/tables/cellTable.H b/src/conversion/common/tables/cellTable.H index 58e477b3e84..4cf3da2e465 100644 --- a/src/conversion/common/tables/cellTable.H +++ b/src/conversion/common/tables/cellTable.H @@ -59,14 +59,11 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cellTable_H -#define cellTable_H +#ifndef Foam_cellTable_H +#define Foam_cellTable_H -#include "polyMesh.H" #include "Map.H" #include "dictionary.H" -#include "labelList.H" -#include "wordList.H" #include "wordRes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -74,6 +71,10 @@ SourceFiles namespace Foam { +// Forward Declarations +class polyMesh; +class objectRegistry; + /*---------------------------------------------------------------------------*\ Class cellTable Declaration \*---------------------------------------------------------------------------*/ @@ -82,39 +83,29 @@ class cellTable : public Map<dictionary> { - // Private data - - static const char* const defaultMaterial_; - - // Private Member Functions - //- Map from cellTable ID => zone number - Map<label> zoneMap() const; - - //- A contiguous list of cellTable names - wordList namesList() const; - //- Add required entries - MaterialType void addDefaults(); - void setEntry(const label id, const word& keyWord, const word& value); - - //- No copy construct - cellTable(const cellTable&) = delete; + void setEntry(const label id, const word& key, const word& value); public: + //- No copy construct + cellTable(const cellTable&) = delete; + + // Constructors - //- Construct null - cellTable(); + //- Default construct + cellTable() noexcept = default; - //- Construct read from registry, name. instance - cellTable + //- Read construct from registry, name, instance + explicit cellTable ( - const objectRegistry&, + const objectRegistry& obr, const word& name = "cellTable", const fileName& instance = "constant" ); @@ -126,25 +117,28 @@ public: // Member Functions - //- Append to the end, return index - label append(const dictionary&); + //- Add to the end, return index + label push_back(const dictionary& dict); - //- Return index corresponding to name - // returns -1 if not found + //- The max table index, -1 if empty + label maxIndex() const; + + //- The index corresponding to entry with 'Label' of given name, + //- or -1 if not found label findIndex(const word& name) const; - //- Return the name corresponding to id - // returns cellTable_ID if not otherwise defined + //- The 'Label' name corresponding to id, + //- or cellTable_ID if not otherwise defined word name(const label id) const; - //- Return a Map of (id => name) + //- Return the extracted Map of (id => name) Map<word> names() const; - //- Return a Map of (id => names) selected by patterns + //- Return the extracted Map of (id => names) selected by patterns Map<word> names(const wordRes& patterns) const; - //- Return a Map of (id => name) for materialType - // (fluid | solid | shell) + //- Return the extracted Map of (id => name) for materialType + //- (fluid | solid | shell) Map<word> selectType(const word& materialType) const; //- Return a Map of (id => name) for fluids @@ -205,8 +199,15 @@ public: //- Combine tableIds together // each dictionary entry is a wordList void combine(const dictionary& mapDict, labelList& tableIds); + + + // Housekeeping + + //- Add to the end, return index + label append(const dictionary& dict) { return push_back(dict); } }; + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam -- GitLab From 582b613d5f215168f0828f0e0bd7e7f9888e6d4b Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 16 Apr 2024 12:50:13 +0200 Subject: [PATCH 140/231] ENH: add send/recv static methods for broadcast streams - adds consistency with regular point-to-point parallel streams. ENH: add ITstream::tokens() methods - useful, for example, to disambiguate constructing tokenList from a ITstream. ITstream& is = otherDict.lookup("original"); tokenList deepCopy(is); // Error: from Istream or tokenList?? tokenList deepCopy(is.tokens()); // OK: from tokenList --- src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H | 18 ++++++++++++++++++ src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H | 17 +++++++++++++++++ src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H | 7 +++++++ src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H | 10 ++-------- src/OpenFOAM/db/IOstreams/Tstreams/Tstream.H | 4 ++-- 5 files changed, 46 insertions(+), 10 deletions(-) diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H index 2f7eeea3df5..e1304da8851 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/IPstream.H @@ -143,6 +143,24 @@ public: const label comm = UPstream::worldComm, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); + + + // Static Functions + + //- Receive (from broadcast, root == UPstream::masterNo()) + //- and deserialize a value. + //- Uses \c operator>> for de-serialization + template<class Type> + static void recv + ( + Type& value, + const label comm = UPstream::worldComm, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + { + IPBstream is(comm, fmt); + is >> value; + } }; diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H index bf0445f04a3..1b4414a4604 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/OPstream.H @@ -160,6 +160,23 @@ public: const label comm = UPstream::worldComm, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); + + + // Static Functions + + //- Serialize a value and broadcast (root == UPstream::masterNo()). + //- Uses \c operator<< for serialization + template<class Type> + static void send + ( + const Type& value, + const label comm = UPstream::worldComm, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + { + OPBstream os(comm, fmt); + os << value; + } }; diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H index 46c61e9084f..2674039b38d 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H @@ -348,6 +348,13 @@ public: // Token Access + //- The token contents (read-only access) + const tokenList& tokens() const noexcept { return *this; } + + //- The token contents (read/write access) + tokenList& tokens() noexcept { return *this; } + + //- True if putback token is in use bool hasPutback() const noexcept { return Istream::hasPutback(); } diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H index 1be6555640c..b3696083264 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H @@ -101,16 +101,10 @@ public: // Member Functions //- The tokens - const DynamicList<token>& tokens() const noexcept - { - return *this; - } + const DynamicList<token>& tokens() const noexcept { return *this; } //- The tokens - DynamicList<token>& tokens() noexcept - { - return *this; - } + DynamicList<token>& tokens() noexcept { return *this; } // Write diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/Tstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/Tstream.H index 9c265a8dc62..e098c32fab9 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/Tstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/Tstream.H @@ -4,8 +4,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef Tstream_H -#define Tstream_H +#ifndef Foam_Tstream_H +#define Foam_Tstream_H #include "ITstream.H" #include "OTstream.H" -- GitLab From d75c60d8aeee445d69db2c425d3a09fcd4837d3d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 16 Apr 2024 13:22:22 +0200 Subject: [PATCH 141/231] ENH: reduce communication argList at startup (#3142) - replace point-to-point transmission of the argList args/options with a broadcast. This is sufficient for most cases (without distributed roots). For "normal" cases (non-distributed roots) this will replace the nProcs-1 messages with a single broadcast. - for cases with distributed roots, distinguish between a single, identical root and different roots. An identical root can also be subsequently handled with a broadcast. Different roots will still require individual point-to-point communication. For cases with distributed roots, it will add the overhead of an additional broadcast. --- src/OpenFOAM/global/argList/argList.C | 294 ++++++++++++++++---------- 1 file changed, 181 insertions(+), 113 deletions(-) diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index 7f6966855a7..05934efede7 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -271,8 +271,8 @@ static bool printRootsSubscription if (index == -1) { - sortedProcs.append(host); - sortedRoots.append(i); + sortedProcs.push_back(host); + sortedRoots.push_back(i); } else if (roots[sortedRoots[index]] != root) { @@ -360,9 +360,9 @@ void Foam::argList::addArgument const string& usage ) { - validArgs.append(argName); + validArgs.push_back(argName); - // The first program argument starts at 1 - obtain index after the append + // The first program argument starts at 1 - obtain index after push_back() const label index = validArgs.size(); @@ -470,7 +470,7 @@ void Foam::argList::addNote(const string& note) { if (!note.empty()) { - notes.append(note); + notes.push_back(note); } } @@ -1096,8 +1096,8 @@ Foam::argList::argList if (strcmp(optName, "lib") == 0) { // The '-lib' option: - // Append name(s) to libs for later opening - libs().append(this->getList<fileName>(argi)); + // Add name(s) to libs for later opening + libs().push_back(this->getList<fileName>(argi)); } else if (strcmp(optName, "debug-switch") == 0) { @@ -1262,7 +1262,7 @@ void Foam::argList::parse const string timeString = clock::clockTime(); // Print the banner once only for parallel runs - if (Pstream::master() && bannerEnabled()) + if (UPstream::master() && bannerEnabled()) { IOobject::writeBanner(Info, true) << "Build : "; @@ -1353,16 +1353,16 @@ void Foam::argList::parse // Collect machine/pid, and check that the build is identical if (runControl_.parRun()) { - if (Pstream::master()) + if (UPstream::master()) { - hostMachine.resize(Pstream::nProcs()-1); - hostProcs.resize(Pstream::nProcs()-1); + hostMachine.resize(UPstream::nProcs()-1); + hostProcs.resize(UPstream::nProcs()-1); string procBuild; label procPid; int proci = 0; - for (const int subproci : Pstream::subProcs()) + for (const int subproci : UPstream::subProcs()) { - IPstream fromSubproc(Pstream::commsTypes::scheduled, subproci); + IPstream fromSubproc(UPstream::commsTypes::scheduled, subproci); fromSubproc >> procBuild >> hostMachine[proci] >> procPid; @@ -1384,8 +1384,8 @@ void Foam::argList::parse { OPstream toMaster ( - Pstream::commsTypes::scheduled, - Pstream::masterNo() + UPstream::commsTypes::scheduled, + UPstream::masterNo() ); toMaster << foamVersion::build << Foam::hostName() << Foam::pid(); } @@ -1395,14 +1395,34 @@ void Foam::argList::parse // Case is a single processor run unless it is running parallel int nProcs = 1; - // Roots if running distributed + // Roots if running distributed. Only sized on the master fileNameList roots; + enum distributedCodes + { + NON_DISTRIBUTED = 0, + DISTRIBUTED = 1, + DISTRIBUTED_SINGLE_ROOT = 2, + DISTRIBUTED_MULTIPLE_ROOTS = 3 + }; + + // Track which type of distributed roots etc are being used + label distributedType + ( + runControl_.distributed() + ? distributedCodes::DISTRIBUTED + : distributedCodes::NON_DISTRIBUTED + ); + + // Some cases where knowing the writeFormat can be useful... + // label writeFormat(-1); + + // If this actually is a parallel run if (runControl_.parRun()) { // For the master - if (Pstream::master()) + if (UPstream::master()) { // Establish rootPath_/globalCase_/case_ for master setCasePaths(); @@ -1414,7 +1434,7 @@ void Foam::argList::parse { bool adjustOpt = false; - if (isDir(source)) + if (Foam::isDir(source)) { source /= "decomposeParDict"; adjustOpt = true; @@ -1441,6 +1461,7 @@ void Foam::argList::parse { source = "-roots"; runControl_.distributed(true); + distributedType = distributedCodes::DISTRIBUTED; if (roots.empty()) { @@ -1457,6 +1478,7 @@ void Foam::argList::parse { source = "-hostRoots"; runControl_.distributed(true); + distributedType = distributedCodes::DISTRIBUTED; ITstream is(this->lookup("hostRoots")); @@ -1471,7 +1493,7 @@ void Foam::argList::parse } // Match machine names to roots - roots.resize(Pstream::nProcs()-1, fileName::null); + roots.resize(UPstream::nProcs()-1, fileName::null); for (const auto& hostRoot : hostRoots) { labelList matched @@ -1511,7 +1533,7 @@ void Foam::argList::parse dictNProcs = roots.size()+1; } } - else if (checkProcessorDirectories_ && Pstream::nProcs() > 1) + else if (checkProcessorDirectories_ && UPstream::nProcs() > 1) { // Check values from decomposeParDict @@ -1526,7 +1548,7 @@ void Foam::argList::parse // the masterUncollated/collated handler. Note that we // also have to protect the actual dictionary parsing since // it might trigger file access (e.g. #include, #codeStream) - const bool oldParRun = Pstream::parRun(false); + const bool oldParRun = UPstream::parRun(false); // Note: non-parallel running might update // fileOperation::nProcs() so store & restore below const label nOldProcs = fileHandler().nProcs(); @@ -1550,6 +1572,8 @@ void Foam::argList::parse { nDomainsReadOpt = IOobjectOption::MUST_READ; runControl_.distributed(true); + distributedType = distributedCodes::DISTRIBUTED; + decompDict.readEntry("roots", roots); if (roots.empty()) @@ -1587,10 +1611,10 @@ void Foam::argList::parse } } - Pstream::parRun(oldParRun); // Restore parallel state + UPstream::parRun(oldParRun); // Restore parallel state const_cast<fileOperation&>(fileHandler()).nProcs(nOldProcs); - if (Pstream::nProcs() == 1) + if (UPstream::nProcs() == 1) { Warning << "Running parallel on single processor. This only" @@ -1599,22 +1623,55 @@ void Foam::argList::parse } } - // Convenience: - // when a single root is specified, use it for all processes - if (roots.size() == 1) + + // Distributed roots + if (!roots.empty()) { - const fileName rootName(roots[0]); - roots.resize(Pstream::nProcs()-1, rootName); + for (fileName& dir : roots) + { + dir.expand(); + } - // Adjust dictNProcs for command-line '-roots' option - if (dictNProcs <= 0) + // Identical root specified everywhere? + // - use optimized single-root variant + if (roots.size() > 1 && roots.uniform()) { - dictNProcs = roots.size()+1; + roots.resize(1); + } + + if (roots.size() == 1) + { + // Single root specified, use it for all processes + distributedType = + distributedCodes::DISTRIBUTED_SINGLE_ROOT; + + // Adjust dictNProcs for command-line '-roots' option + if (dictNProcs <= 0) + { + dictNProcs = UPstream::nProcs(); + } + } + else if (roots.size() > 1) + { + distributedType = + distributedCodes::DISTRIBUTED_MULTIPLE_ROOTS; + + if (roots.size() != UPstream::nProcs()-1) + { + FatalError + << "Number of roots " << roots.size() + << " != number of sub-ranks " + << UPstream::nProcs()-1 + << exit(FatalError); + } } } + // // Check number of processors. + // + // nProcs => number of actual procs // dictNProcs => number of procs specified in decompositionDict // nProcDirs => number of processor directories @@ -1626,73 +1683,33 @@ void Foam::argList::parse if ( checkProcessorDirectories_ - && Pstream::nProcs() > 1 - && dictNProcs > Pstream::nProcs() + && UPstream::nProcs() > 1 ) { - FatalError - << this->relativePath(source) - << " specifies " << dictNProcs - << " processors but job was started with " - << Pstream::nProcs() << " processors." - << exit(FatalError); - } - - // Distributed data - if (roots.size()) - { - if (roots.size() != Pstream::nProcs()-1) + if (dictNProcs > UPstream::nProcs()) { FatalError - << "number of entries in roots " - << roots.size() - << " is not equal to the number of sub-processes " - << Pstream::nProcs()-1 + << this->relativePath(source) + << " specifies " << dictNProcs + << " processors but job was started with " + << UPstream::nProcs() << " ranks." << exit(FatalError); } - for (fileName& dir : roots) - { - dir.expand(); - } - - // Distribute the master's argument list (with new root) - const bool hadCaseOpt = options_.contains("case"); - for (const int subproci : Pstream::subProcs()) - { - options_.set("case", roots[subproci-1]/globalCase_); - - OPstream toProc(Pstream::commsTypes::scheduled, subproci); - - toProc - << args_ << options_ - << runControl_.distributed() - << label(runControl_.dryRun()) - << label(runControl_.verbose()); - } - options_.erase("case"); - - // Restore [-case dir] - if (hadCaseOpt) - { - options_.set("case", rootPath_/globalCase_); - } - } - else - { // Possibly going to fewer processors. // Check if all procDirs are there. + // NOTE: Only works when not using distributed roots! if ( - checkProcessorDirectories_ - && Pstream::nProcs() > 1 + // Can only rely on directory scanning *without* distributed roots! + roots.empty() && dictNProcs >= 1 - && dictNProcs < Pstream::nProcs() + && dictNProcs < UPstream::nProcs() ) { label nProcDirs = 0; { - const bool oldParRun(UPstream::parRun(false)); + const bool oldParRun = UPstream::parRun(false); // Don't cache processor directories (probably not // needed since master-only const int oldCacheLevel(fileOperation::cacheLevel(0)); @@ -1711,60 +1728,110 @@ void Foam::argList::parse UPstream::parRun(oldParRun); } - if (nProcDirs < UPstream::nProcs()) { FatalError - << "number of processor directories = " - << nProcDirs - << " is not equal to the number of processors = " + << "Number of processor directories = " << nProcDirs + << " is not equal to the number of ranks = " << UPstream::nProcs() << exit(FatalError); } } + } - // Distribute the master's argument list (unaltered) - for (const int proci : UPstream::subProcs()) - { - OPstream toProc(UPstream::commsTypes::scheduled, proci); - toProc - << args_ << options_ - << runControl_.distributed() - << label(runControl_.dryRun()) - << label(runControl_.verbose()); - } + // Broadcast the master's argument list (unaltered) + { + OPBstream toProcs(UPstream::worldComm); + + toProcs + << args_ << options_ + << distributedType + << label(runControl_.dryRun()) + << label(runControl_.verbose()); } } else { - // Collect the master's argument list - bool isDistributed; + // Receive the broadcasted master's argument list label numDryRun, numVerbose; - IPstream fromMaster - ( - Pstream::commsTypes::scheduled, - Pstream::masterNo() - ); + IPBstream fromMaster(UPstream::worldComm); fromMaster >> args_ >> options_ - >> isDistributed + >> distributedType >> numDryRun >> numVerbose; - runControl_.distributed(isDistributed); + runControl_.distributed(distributedType); runControl_.dryRun(numDryRun); runControl_.verbose(numVerbose); + } + + + // Final handling of distributed roots (if any) + if + ( + distributedType == distributedCodes::DISTRIBUTED_SINGLE_ROOT + ) + { + // The same root for all sub-ranks + // - use broadcast to transmit value + + fileName newCasePath; + + if (UPstream::master()) + { + newCasePath = roots[0]/globalCase_; + OPBstream::send(newCasePath); // worldComm + } + else + { + IPBstream::recv(newCasePath); // worldComm + options_.set("case", newCasePath); + } + } + else if + ( + distributedType == distributedCodes::DISTRIBUTED_MULTIPLE_ROOTS + ) + { + // Different roots for each sub-rank + // - use point-to-point communication to transmit values - // Establish rootPath_/globalCase_/case_ for sub-process + fileName newCasePath; + + if (UPstream::master()) + { + for (const int subproci : UPstream::subProcs()) + { + newCasePath = roots[subproci-1]/globalCase_; + OPstream::send(newCasePath, subproci); // worldComm + } + } + else + { + IPstream::recv(newCasePath, UPstream::masterNo()); // worldComm + options_.set("case", newCasePath); + } + } + + + // Establish rootPath_/globalCase_/case_ for sub-process + if (!UPstream::master()) + { setCasePaths(); } - nProcs = Pstream::nProcs(); - if (Pstream::nProcs() > 1) + + nProcs = UPstream::nProcs(); + if (UPstream::nProcs() > 1) { - case_ = globalCase_/("processor" + Foam::name(Pstream::myProcNo())); + case_ = + ( + globalCase_ + / ("processor" + Foam::name(UPstream::myProcNo())) + ); } else { @@ -1778,6 +1845,7 @@ void Foam::argList::parse case_ = globalCase_; // Redundant, but extra safety? } + // If needed, adjust fileHandler for distributed roots if (runControl_.distributed() && fileOperation::fileHandlerPtr_) { @@ -1834,7 +1902,7 @@ void Foam::argList::parse List<fileNameList> rankToDirs(UPstream::nProcs()); if (UPstream::master()) { - const bool oldParRun = Pstream::parRun(false); + const bool oldParRun = UPstream::parRun(false); // Note: non-parallel running might update // fileOperation::nProcs() so store & restore below const label nOldProcs = fileHandler().nProcs(); @@ -2025,7 +2093,7 @@ void Foam::argList::parse sigQuit::set(bannerEnabled()); sigSegv::set(bannerEnabled()); - if (Pstream::master() && bannerEnabled()) + if (UPstream::master() && bannerEnabled()) { Info<< "fileModificationChecking : " << "Monitoring run-time modified files using " @@ -2274,7 +2342,7 @@ bool Foam::argList::check(bool checkArgs, bool checkOpts) const { bool ok = true; - if (Pstream::master()) + if (UPstream::master()) { const label nargs = args_.size()-1; if (checkArgs && nargs != validArgs.size()) @@ -2332,7 +2400,7 @@ bool Foam::argList::checkRootCase() const const fileName pathDir(fileHandler().filePath(path(), false)); - if (checkProcessorDirectories_ && pathDir.empty() && Pstream::master()) + if (checkProcessorDirectories_ && pathDir.empty() && UPstream::master()) { // Allow non-existent processor directories on sub-processes, // to be created later (e.g. redistributePar) -- GitLab From 2889dc7248d113fb05a620234578d45b3d8746be Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 16 Apr 2024 14:16:27 +0200 Subject: [PATCH 142/231] ENH: add wrapped accessor for MPI_Comm - UPstream::Communicator is similar to UPstream::Request to wrap/unwrap MPI_Comm. Provides a 'lookup' method to transcribe the internal OpenFOAM communicator tracking to the opaque wrapped version. - provide an 'openfoam_mpi.H' interfacing file, which includes the <mpi.h> as well as casting routines. Example (caution: ugly!) MPI_Comm myComm = PstreamUtils::Cast::to_mpi ( UPstream::Communicator::lookup(UPstream::worldComm) ); --- .../test/parallel-comm2/Test-parallel-comm2.C | 9 +- .../parallel-comm3a/Test-parallel-comm3a.C | 9 +- .../Test-parallel-external-init.C | 9 +- .../Test-processorTopology.C | 9 +- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H | 115 +++++++++++++++++- src/OpenFOAM/include/openfoam_mpi.H | 99 +++++++++++++++ src/Pstream/dummy/Make/files | 1 + src/Pstream/dummy/UPstreamCommunicator.C | 59 +++++++++ src/Pstream/dummy/UPstreamRequest.C | 9 ++ src/Pstream/mpi/Make/files | 1 + src/Pstream/mpi/PstreamGlobals.H | 12 +- src/Pstream/mpi/UPstreamCommunicator.C | 73 +++++++++++ src/Pstream/mpi/UPstreamRequest.C | 48 +++++--- src/Pstream/mpi/UPstreamWrapping.H | 34 +----- 14 files changed, 398 insertions(+), 89 deletions(-) create mode 100644 src/OpenFOAM/include/openfoam_mpi.H create mode 100644 src/Pstream/dummy/UPstreamCommunicator.C create mode 100644 src/Pstream/mpi/UPstreamCommunicator.C diff --git a/applications/test/parallel-comm2/Test-parallel-comm2.C b/applications/test/parallel-comm2/Test-parallel-comm2.C index 6da3b03faae..5b28c75b7c9 100644 --- a/applications/test/parallel-comm2/Test-parallel-comm2.C +++ b/applications/test/parallel-comm2/Test-parallel-comm2.C @@ -41,14 +41,7 @@ Description #include "PstreamReduceOps.H" #include "SHA1.H" -// Include MPI without any C++ bindings -#ifndef MPICH_SKIP_MPICXX -#define MPICH_SKIP_MPICXX -#endif -#ifndef OMPI_SKIP_MPICXX -#define OMPI_SKIP_MPICXX -#endif -#include <mpi.h> +#include "openfoam_mpi.H" using namespace Foam; diff --git a/applications/test/parallel-comm3a/Test-parallel-comm3a.C b/applications/test/parallel-comm3a/Test-parallel-comm3a.C index 2dc745988be..c0eb29074f0 100644 --- a/applications/test/parallel-comm3a/Test-parallel-comm3a.C +++ b/applications/test/parallel-comm3a/Test-parallel-comm3a.C @@ -41,14 +41,7 @@ Description #include "StringStream.H" #include "Random.H" -// Include MPI without any C++ bindings -#ifndef MPICH_SKIP_MPICXX -#define MPICH_SKIP_MPICXX -#endif -#ifndef OMPI_SKIP_MPICXX -#define OMPI_SKIP_MPICXX -#endif -#include <mpi.h> +#include "openfoam_mpi.H" using namespace Foam; diff --git a/applications/test/parallel-external-init/Test-parallel-external-init.C b/applications/test/parallel-external-init/Test-parallel-external-init.C index 6c1af9fedc0..626c4902bba 100644 --- a/applications/test/parallel-external-init/Test-parallel-external-init.C +++ b/applications/test/parallel-external-init/Test-parallel-external-init.C @@ -40,14 +40,7 @@ Description #include "Pstream.H" #include <iostream> -// Include MPI without any C++ bindings -#ifndef MPICH_SKIP_MPICXX -#define MPICH_SKIP_MPICXX -#endif -#ifndef OMPI_SKIP_MPICXX -#define OMPI_SKIP_MPICXX -#endif -#include <mpi.h> +#include "openfoam_mpi.H" using namespace Foam; diff --git a/applications/test/processorTopology/Test-processorTopology.C b/applications/test/processorTopology/Test-processorTopology.C index 786e5bf0708..ef3622556cc 100644 --- a/applications/test/processorTopology/Test-processorTopology.C +++ b/applications/test/processorTopology/Test-processorTopology.C @@ -34,14 +34,7 @@ Description #include "globalMeshData.H" #include "OFstream.H" -// Include MPI without any C++ bindings -#ifndef MPICH_SKIP_MPICXX -#define MPICH_SKIP_MPICXX -#endif -#ifndef OMPI_SKIP_MPICXX -#define OMPI_SKIP_MPICXX -#endif -#include <mpi.h> +#include "openfoam_mpi.H" using namespace Foam; diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H index f4ebe300a35..bf22b7bac0b 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H @@ -56,6 +56,9 @@ namespace Foam //- Implementation details for UPstream/Pstream/MPI etc. namespace PstreamDetail {} +//- Interface handling for UPstream/Pstream/MPI etc. +namespace PstreamUtils {} + /*---------------------------------------------------------------------------*\ Class UPstream Declaration \*---------------------------------------------------------------------------*/ @@ -88,6 +91,9 @@ public: // Public Classes + //- Wrapper for MPI_Comm + class Communicator; // Forward Declaration + //- Wrapper for MPI_Request class Request; // Forward Declaration @@ -1218,12 +1224,119 @@ public: }; +/*---------------------------------------------------------------------------*\ + Class UPstream::Communicator Declaration +\*---------------------------------------------------------------------------*/ + +//- An opaque wrapper for MPI_Comm with a vendor-independent +//- representation without any \c <mpi.h> header. +// The MPI standard states that MPI_Comm is always an opaque object. +// Generally it is either an integer (eg, mpich) or a pointer (eg, openmpi). +class UPstream::Communicator +{ +public: + + // Public Types + + //- Storage for MPI_Comm (as integer or pointer) + typedef std::intptr_t value_type; + + +private: + + // Private Data + + //- The MPI_Comm (as wrapped value) + value_type value_; + +public: + + // Generated Methods + + //- Copy construct + Communicator(const Communicator&) noexcept = default; + + //- Move construct + Communicator(Communicator&&) noexcept = default; + + //- Copy assignment + Communicator& operator=(const Communicator&) noexcept = default; + + //- Move assignment + Communicator& operator=(Communicator&&) noexcept = default; + + + // Member Operators + + //- Test for equality + bool operator==(const Communicator& rhs) const noexcept + { + return (value_ == rhs.value_); + } + + //- Test for inequality + bool operator!=(const Communicator& rhs) const noexcept + { + return (value_ != rhs.value_); + } + + + // Constructors + + //- Default construct as MPI_COMM_NULL + Communicator() noexcept; + + //- Construct from MPI_Comm (as pointer type) + explicit Communicator(const void* p) noexcept + : + value_(reinterpret_cast<value_type>(p)) + {} + + //- Construct from MPI_Comm (as integer type) + explicit Communicator(value_type val) noexcept + : + value_(val) + {} + + + // Factory Methods + + //- Transcribe internally indexed communicator to wrapped value. + // Example, + // \code + // PstreamUtils::Cast::to_mpi + // ( + // UPstream::Communicator::lookup(UPstream::commWorld()) + // ) + // \endcode + static Communicator lookup(const label comm); + + + // Member Functions + + //- Return raw value + value_type value() const noexcept { return value_; } + + //- Return as pointer value + const void* pointer() const noexcept + { + return reinterpret_cast<const void*>(value_); + } + + //- True if not equal to MPI_COMM_NULL + bool good() const noexcept; + + //- Reset to default constructed value (MPI_COMM_NULL) + void reset() noexcept; +}; + + /*---------------------------------------------------------------------------*\ Class UPstream::Request Declaration \*---------------------------------------------------------------------------*/ //- An opaque wrapper for MPI_Request with a vendor-independent -//- representation independent of any \c <mpi.h> header +//- representation without any \c <mpi.h> header. // The MPI standard states that MPI_Request is always an opaque object. // Generally it is either an integer (eg, mpich) or a pointer (eg, openmpi). class UPstream::Request diff --git a/src/OpenFOAM/include/openfoam_mpi.H b/src/OpenFOAM/include/openfoam_mpi.H new file mode 100644 index 00000000000..7359bd8a925 --- /dev/null +++ b/src/OpenFOAM/include/openfoam_mpi.H @@ -0,0 +1,99 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2022-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Description + Header for low-level interfaces between MPI and OpenFOAM. + The detail interfaces are subject to change. + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_UPstreamMPI_H +#define Foam_UPstreamMPI_H + +#include "UPstream.H" + +// Include MPI without any C++ bindings +#ifndef MPICH_SKIP_MPICXX +#define MPICH_SKIP_MPICXX +#endif +#ifndef OMPI_SKIP_MPICXX +#define OMPI_SKIP_MPICXX +#endif +#include <mpi.h> + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace PstreamUtils +{ + +// Casting helpers +struct Cast +{ + // Cast UPstream::Communicator to MPI_Comm (pointer) + template<typename Type = MPI_Comm> + static typename std::enable_if<std::is_pointer<Type>::value, Type>::type + to_mpi(const UPstream::Communicator& arg) noexcept + { + return reinterpret_cast<Type>(arg.value()); + } + + // Cast UPstream::Communicator to MPI_Comm (integer) + template<typename Type = MPI_Comm> + static typename std::enable_if<std::is_integral<Type>::value, Type>::type + to_mpi(const UPstream::Communicator& arg) noexcept + { + return static_cast<Type>(arg.value()); + } + + // Cast UPstream::Request to MPI_Request (pointer) + template<typename Type = MPI_Request> + static typename std::enable_if<std::is_pointer<Type>::value, Type>::type + to_mpi(const UPstream::Request& arg) noexcept + { + return reinterpret_cast<Type>(arg.value()); + } + + // Cast UPstream::Request to MPI_Request (integer) + template<typename Type = MPI_Request> + static typename std::enable_if<std::is_integral<Type>::value, Type>::type + to_mpi(const UPstream::Request& arg) noexcept + { + return static_cast<Type>(arg.value()); + } +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace PstreamUtils +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/Pstream/dummy/Make/files b/src/Pstream/dummy/Make/files index d5e68ac4088..d560719fc82 100644 --- a/src/Pstream/dummy/Make/files +++ b/src/Pstream/dummy/Make/files @@ -1,6 +1,7 @@ UPstream.C UPstreamAllToAll.C UPstreamBroadcast.C +UPstreamCommunicator.C UPstreamGatherScatter.C UPstreamReduce.C UPstreamRequest.C diff --git a/src/Pstream/dummy/UPstreamCommunicator.C b/src/Pstream/dummy/UPstreamCommunicator.C new file mode 100644 index 00000000000..e7c713f85c5 --- /dev/null +++ b/src/Pstream/dummy/UPstreamCommunicator.C @@ -0,0 +1,59 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "UPstream.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::UPstream::Communicator::Communicator() noexcept +: + UPstream::Communicator(nullptr) +{} + + +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +Foam::UPstream::Communicator +Foam::UPstream::Communicator::lookup(const label comm) +{ + return UPstream::Communicator(nullptr); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::UPstream::Communicator::good() const noexcept +{ + return false; +} + + +void Foam::UPstream::Communicator::reset() noexcept +{} + + +// ************************************************************************* // diff --git a/src/Pstream/dummy/UPstreamRequest.C b/src/Pstream/dummy/UPstreamRequest.C index dd56a0569dc..4e67be85941 100644 --- a/src/Pstream/dummy/UPstreamRequest.C +++ b/src/Pstream/dummy/UPstreamRequest.C @@ -47,6 +47,15 @@ void Foam::UPstream::Request::reset() noexcept {} +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +// Foam::UPstream::Request +// Foam::UPstream::Request::lookup(const label req) +// { +// return UPstream::Request(nullptr); +// } + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::label Foam::UPstream::nRequests() noexcept { return 0; } diff --git a/src/Pstream/mpi/Make/files b/src/Pstream/mpi/Make/files index 48a99bac401..c8b08f8a6a2 100644 --- a/src/Pstream/mpi/Make/files +++ b/src/Pstream/mpi/Make/files @@ -2,6 +2,7 @@ PstreamGlobals.C UPstream.C UPstreamAllToAll.C UPstreamBroadcast.C +UPstreamCommunicator.C UPstreamGatherScatter.C UPstreamReduce.C UPstreamRequest.C diff --git a/src/Pstream/mpi/PstreamGlobals.H b/src/Pstream/mpi/PstreamGlobals.H index fb8aaec350d..c912c9876f2 100644 --- a/src/Pstream/mpi/PstreamGlobals.H +++ b/src/Pstream/mpi/PstreamGlobals.H @@ -40,16 +40,8 @@ SourceFiles #define Foam_PstreamGlobals_H #include "DynamicList.H" -#include "UPstream.H" // for UPstream::Request - -// Include MPI without any C++ bindings -#ifndef MPICH_SKIP_MPICXX -#define MPICH_SKIP_MPICXX -#endif -#ifndef OMPI_SKIP_MPICXX -#define OMPI_SKIP_MPICXX -#endif -#include <mpi.h> +#include "UPstream.H" // For UPstream::Request +#include "openfoam_mpi.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/Pstream/mpi/UPstreamCommunicator.C b/src/Pstream/mpi/UPstreamCommunicator.C new file mode 100644 index 00000000000..9040f2f0dc2 --- /dev/null +++ b/src/Pstream/mpi/UPstreamCommunicator.C @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "UPstream.H" +#include "PstreamGlobals.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::UPstream::Communicator::Communicator() noexcept +: + UPstream::Communicator(MPI_COMM_NULL) +{} + + +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +Foam::UPstream::Communicator +Foam::UPstream::Communicator::lookup(const label comm) +{ + if (comm < 0 || comm >= PstreamGlobals::MPICommunicators_.size()) + { + WarningInFunction + << "Illegal communicator " << comm << nl + << "Should be within range [0," + << PstreamGlobals::MPICommunicators_.size() + << ')' << endl; + + return UPstream::Communicator(MPI_COMM_NULL); + } + + return UPstream::Communicator(PstreamGlobals::MPICommunicators_[comm]); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::UPstream::Communicator::good() const noexcept +{ + return MPI_COMM_NULL != PstreamUtils::Cast::to_mpi(*this); +} + + +void Foam::UPstream::Communicator::reset() noexcept +{ + *this = UPstream::Communicator(MPI_COMM_NULL); +} + + +// ************************************************************************* // diff --git a/src/Pstream/mpi/UPstreamRequest.C b/src/Pstream/mpi/UPstreamRequest.C index ec773ec1063..04947e20282 100644 --- a/src/Pstream/mpi/UPstreamRequest.C +++ b/src/Pstream/mpi/UPstreamRequest.C @@ -42,7 +42,7 @@ Foam::UPstream::Request::Request() noexcept bool Foam::UPstream::Request::good() const noexcept { - return MPI_REQUEST_NULL != PstreamDetail::Request::get(*this); + return MPI_REQUEST_NULL != PstreamUtils::Cast::to_mpi(*this); } @@ -52,6 +52,26 @@ void Foam::UPstream::Request::reset() noexcept } +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +// Foam::UPstream::Request +// Foam::UPstream::Request::lookup(const label req) +// { +// if (req < 0 || req >= PstreamGlobals::outstandingRequests_.size()) +// { +// WarningInFunction +// << "Illegal request " << req << nl +// << "Should be within range [0," +// << PstreamGlobals::outstandingRequests_.size() +// << ')' << endl; +// +// return UPstream::Communicator(MPI_REQUEST_NULL); +// } +// +// return UPstream::Request(PstreamGlobals::outstandingRequests_[req]); +// } + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::label Foam::UPstream::nRequests() noexcept @@ -80,7 +100,7 @@ void Foam::UPstream::addRequest(UPstream::Request& req) // Transcribe as a MPI_Request PstreamGlobals::outstandingRequests_.push_back ( - PstreamDetail::Request::get(req) + PstreamUtils::Cast::to_mpi(req) ); // Invalidate parameter @@ -121,7 +141,7 @@ void Foam::UPstream::cancelRequest(UPstream::Request& req) } { - MPI_Request request = PstreamDetail::Request::get(req); + MPI_Request request = PstreamUtils::Cast::to_mpi(req); if (MPI_REQUEST_NULL != request) // Active handle is mandatory { MPI_Cancel(&request); @@ -142,7 +162,7 @@ void Foam::UPstream::cancelRequests(UList<UPstream::Request>& requests) for (auto& req : requests) { - MPI_Request request = PstreamDetail::Request::get(req); + MPI_Request request = PstreamUtils::Cast::to_mpi(req); if (MPI_REQUEST_NULL != request) // Active handle is mandatory { MPI_Cancel(&request); @@ -203,7 +223,7 @@ void Foam::UPstream::freeRequest(UPstream::Request& req) } { - MPI_Request request = PstreamDetail::Request::get(req); + MPI_Request request = PstreamUtils::Cast::to_mpi(req); if (MPI_REQUEST_NULL != request) // Active handle is mandatory { // if (cancel) @@ -227,7 +247,7 @@ void Foam::UPstream::freeRequests(UList<UPstream::Request>& requests) for (auto& req : requests) { - MPI_Request request = PstreamDetail::Request::get(req); + MPI_Request request = PstreamUtils::Cast::to_mpi(req); if (MPI_REQUEST_NULL != request) // Active handle is mandatory { // if (cancel) @@ -329,7 +349,7 @@ void Foam::UPstream::waitRequests(UList<UPstream::Request>& requests) for (auto& req : requests) { - MPI_Request request = PstreamDetail::Request::get(req); + MPI_Request request = PstreamUtils::Cast::to_mpi(req); if (MPI_REQUEST_NULL != request) // Apply some prefiltering { @@ -526,7 +546,7 @@ bool Foam::UPstream::waitSomeRequests for (auto& req : requests) { - waitRequests[count] = PstreamDetail::Request::get(req); + waitRequests[count] = PstreamUtils::Cast::to_mpi(req); ++count; } @@ -617,7 +637,7 @@ Foam::label Foam::UPstream::waitAnyRequest(UList<UPstream::Request>& requests) // for the return index. for (auto& req : requests) { - waitRequests[count] = PstreamDetail::Request::get(req); + waitRequests[count] = PstreamUtils::Cast::to_mpi(req); ++count; } @@ -675,13 +695,13 @@ Foam::label Foam::UPstream::waitAnyRequest(UList<UPstream::Request>& requests) /// int count = 0; /// MPI_Request waitRequests[2]; /// -/// waitRequests[count] = PstreamDetail::Request::get(req0); +/// waitRequests[count] = PstreamUtils::Cast::to_mpi(req0); /// if (MPI_REQUEST_NULL != waitRequests[count]) /// { /// ++count; /// } /// -/// waitRequests[count] = PstreamDetail::Request::get(req1); +/// waitRequests[count] = PstreamUtils::Cast::to_mpi(req1); /// if (MPI_REQUEST_NULL != waitRequests[count]) /// { /// ++count; @@ -765,7 +785,7 @@ void Foam::UPstream::waitRequest(UPstream::Request& req) return; } - MPI_Request request = PstreamDetail::Request::get(req); + MPI_Request request = PstreamUtils::Cast::to_mpi(req); // No-op for null request if (MPI_REQUEST_NULL == request) @@ -831,7 +851,7 @@ bool Foam::UPstream::finishedRequest(UPstream::Request& req) return true; } - MPI_Request request = PstreamDetail::Request::get(req); + MPI_Request request = PstreamUtils::Cast::to_mpi(req); // Fast-path (no-op) for null request if (MPI_REQUEST_NULL == request) @@ -924,7 +944,7 @@ bool Foam::UPstream::finishedRequests(UList<UPstream::Request>& requests) for (auto& req : requests) { - MPI_Request request = PstreamDetail::Request::get(req); + MPI_Request request = PstreamUtils::Cast::to_mpi(req); if (MPI_REQUEST_NULL != request) // Apply some prefiltering { diff --git a/src/Pstream/mpi/UPstreamWrapping.H b/src/Pstream/mpi/UPstreamWrapping.H index 7ce3b5ba49f..33092eda41c 100644 --- a/src/Pstream/mpi/UPstreamWrapping.H +++ b/src/Pstream/mpi/UPstreamWrapping.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2016 OpenFOAM Foundation - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,16 +38,7 @@ SourceFiles #ifndef Foam_UPstreamWrapping_H #define Foam_UPstreamWrapping_H -#include "UPstream.H" - -// Include MPI without any C++ bindings -#ifndef MPICH_SKIP_MPICXX -#define MPICH_SKIP_MPICXX -#endif -#ifndef OMPI_SKIP_MPICXX -#define OMPI_SKIP_MPICXX -#endif -#include <mpi.h> +#include "openfoam_mpi.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -56,27 +47,6 @@ namespace Foam namespace PstreamDetail { -// Helper for casting to MPI_Request -struct Request -{ - // To pointer - template<typename Type = MPI_Request> - static typename std::enable_if<std::is_pointer<Type>::value, Type>::type - get(const UPstream::Request& req) noexcept - { - return reinterpret_cast<Type>(req.value()); - } - - // To integer - template<typename Type = MPI_Request> - static typename std::enable_if<std::is_integral<Type>::value, Type>::type - get(const UPstream::Request& req) noexcept - { - return static_cast<Type>(req.value()); - } -}; - - // MPI_Bcast, using root=0 template<class Type> void broadcast0 -- GitLab From 09377471a3268ca2f790d7f798eee6340d89e280 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 16 Apr 2024 11:54:56 +0200 Subject: [PATCH 143/231] ENH: stricter handling when freeing communicator components - previously automatically skipped the first communicator (which was assumed to be MPI_COMM_WORLD), but now simply rely on the internal pendingMPIFree_ to track which communicators have actually been allocated. --- src/Pstream/mpi/UPstream.C | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C index 2116461c1b4..93bd24cda17 100644 --- a/src/Pstream/mpi/UPstream.C +++ b/src/Pstream/mpi/UPstream.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -548,7 +548,7 @@ void Foam::UPstream::allocateCommunicatorComponents if (index != UPstream::commGlobal()) { FatalErrorInFunction - << "world communicator should always be index " + << "base world communicator should always be index " << UPstream::commGlobal() << Foam::exit(FatalError); } @@ -687,36 +687,30 @@ void Foam::UPstream::allocateCommunicatorComponents void Foam::UPstream::freeCommunicatorComponents(const label index) { - // Skip placeholders and pre-defined (not allocated) communicators if (UPstream::debug) { Pout<< "freeCommunicatorComponents: " << index << " from " << PstreamGlobals::MPICommunicators_.size() << endl; } - // Not touching the first two communicators (SELF, WORLD) - // or anything out-of bounds. + // Only free communicators that we have specifically allocated ourselves // - // No UPstream communicator indices when MPI is initialized outside - // of OpenFOAM - thus needs a bounds check too! + // Bounds checking needed since there are no UPstream communicator indices + // when MPI is initialized outside of OpenFOAM if ( - index > 1 - && index < PstreamGlobals::MPICommunicators_.size() + (index >= 0 && index < PstreamGlobals::MPICommunicators_.size()) + && PstreamGlobals::pendingMPIFree_[index] ) { - if - ( - PstreamGlobals::pendingMPIFree_[index] - && (MPI_COMM_NULL != PstreamGlobals::MPICommunicators_[index]) - ) + PstreamGlobals::pendingMPIFree_[index] = false; + + // Free communicator. Sets communicator to MPI_COMM_NULL + if (MPI_COMM_NULL != PstreamGlobals::MPICommunicators_[index]) { - // Free communicator. Sets communicator to MPI_COMM_NULL MPI_Comm_free(&PstreamGlobals::MPICommunicators_[index]); } - - PstreamGlobals::pendingMPIFree_[index] = false; } } -- GitLab From 880215e8e62d18b8bd2899d5e41ef0d79f6e8e1f Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 5 Sep 2023 15:08:22 +0200 Subject: [PATCH 144/231] STYLE: use intermediate variable in openFoamTableReader --- .../tableReaders/openFoam/openFoamTableReader.C | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/openFoam/openFoamTableReader.C b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/openFoam/openFoamTableReader.C index dd2bb8cbe76..3b41b56a04c 100644 --- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/openFoam/openFoamTableReader.C +++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/openFoam/openFoamTableReader.C @@ -47,7 +47,10 @@ void Foam::openFoamTableReader<Type>::operator() ) { // Read data from file - fileHandler().NewIFstream(fName)()() >> data; + autoPtr<ISstream> isPtr(fileHandler().NewIFstream(fName)); + ISstream& is = isPtr(); + + is >> data; } @@ -59,7 +62,10 @@ void Foam::openFoamTableReader<Type>::operator() ) { // Read data from file - fileHandler().NewIFstream(fName)()() >> data; + autoPtr<ISstream> isPtr(fileHandler().NewIFstream(fName)); + ISstream& is = isPtr(); + + is >> data; } -- GitLab From 411ac5fcfa7ae0763034e31e0b2dc4befb0e11dd Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Apr 2024 12:11:24 +0200 Subject: [PATCH 145/231] ENH: adjust return type for token compound factory method - return autoPtr<token::compound> instead of the derived type, otherwise cannot easily construct a token from it ENH: additional typed version of refCompoundToken() - symmetric with typed version of transferCompoundToken() and isCompound() - add ITstream::findCompound<Type>() method. Useful for searching within token streams --- applications/test/token/Test-token.cxx | 194 +++++++++++------- src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H | 13 +- .../db/IOstreams/Tstreams/ITstreamI.H | 52 +++++ src/OpenFOAM/db/IOstreams/token/token.H | 26 ++- src/OpenFOAM/db/IOstreams/token/tokenI.H | 19 +- .../mappedPatchBaseTemplates.C | 4 +- 6 files changed, 222 insertions(+), 86 deletions(-) create mode 100644 src/OpenFOAM/db/IOstreams/Tstreams/ITstreamI.H diff --git a/applications/test/token/Test-token.cxx b/applications/test/token/Test-token.cxx index 055833fbbb8..52b2eb75712 100644 --- a/applications/test/token/Test-token.cxx +++ b/applications/test/token/Test-token.cxx @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,6 +35,9 @@ Description #include "labelList.H" #include "scalarList.H" #include "DynamicList.H" +#include "labelField.H" +#include "scalarField.H" +#include "SubField.H" #include "SpanStream.H" #include "formattingEntry.H" @@ -90,7 +93,7 @@ int main(int argc, char *argv[]) { // This also works, but not actually using the autoPtr directly - autoPtr<token::Compound<labelList>> ptr + autoPtr<token::compound> ptr ( new token::Compound<labelList>(identity(10, -9)) ); @@ -131,44 +134,50 @@ int main(int argc, char *argv[]) Info<< "resized: " << ctok1.info() << nl << ctok1 << endl; - const scalarList* listptr = ctok1.compoundToken().isA<scalarList>(); - if (listptr) { - for (scalar& val : const_cast<scalarList&>(*listptr)) + // Using isA<> on compoundToken() + const auto* listptr = ctok1.compoundToken().isA<scalarList>(); + if (listptr) { - val *= 5; - } + // sneaky, SubField bypasses const! + scalarField::subField fld(*listptr); + fld *= 5; - Info<< "multiplied List<scalar>: " - << ctok1.info() << nl << ctok1 << endl; + Info<< "multiplied List<scalar>: " + << ctok1.info() << nl << ctok1 << endl; + } } - listptr = ctok1.isCompound<scalarList>(); - if (listptr) { - for (scalar& val : const_cast<scalarList&>(*listptr)) + // Using isCompound<...> - combined check + + const auto* listptr = ctok1.isCompound<scalarList>(); + if (listptr) { - val /= 2; - } + scalarField::subField fld(*listptr); + fld /= 2; - Info<< "divided List<scalar>: " - << ctok1.info() << nl << ctok1 << endl; + Info<< "divided List<scalar>: " + << ctok1.info() << nl << ctok1 << endl; + } } - const labelList* listptr2 = ctok1.isCompound<labelList>(); - if (listptr2) { - for (label& val : const_cast<labelList&>(*listptr2)) + // Using isCompound<...> - combined check + + const auto* listptr = ctok1.isCompound<labelList>(); + if (listptr) { - val /= 2; - } + labelField::subField fld(*listptr); + fld /= 2; - Info<< "divided List<label>: " - << ctok1.info() << nl << ctok1 << endl; - } - else - { - Info<< "compound is not List<label>" << nl; + Info<< "divided List<label>: " + << ctok1.info() << nl << ctok1 << endl; + } + else + { + Info<< "compound is not List<label>" << nl; + } } Info<< "Before fill_zero: " << ctok1 << endl; @@ -183,57 +192,33 @@ int main(int argc, char *argv[]) auto& ct = ctok1.refCompoundToken(); ct.resize(20); - bool handled = true; + bool handled = false; switch (ct.typeCode()) { - case token::tokenType::BOOL : - { - UList<bool> cmpts - ( - reinterpret_cast<bool*>(ct.data_bytes()), - label(ct.size_bytes() / sizeof(bool)) - ); - cmpts = false; + #undef doLocalCode + #define doLocalCode(TokenType, cmptType, cmptValue) \ + \ + case TokenType : \ + { \ + UList<cmptType> cmpts \ + ( \ + reinterpret_cast<cmptType*>(ct.data_bytes()), \ + label(ct.size_bytes() / sizeof(cmptType)) \ + ); \ + cmpts = cmptValue; \ + handled = true; \ + break; \ } - break; - - case token::tokenType::LABEL : - { - UList<label> cmpts - ( - reinterpret_cast<label*>(ct.data_bytes()), - label(ct.size_bytes() / sizeof(label)) - ); - cmpts = 123; - } - break; - - case token::tokenType::FLOAT : - { - UList<float> cmpts - ( - reinterpret_cast<float*>(ct.data_bytes()), - label(ct.size_bytes() / sizeof(float)) - ); - cmpts = 2.7; - } - break; - - case token::tokenType::DOUBLE : - { - UList<double> cmpts - ( - reinterpret_cast<double*>(ct.data_bytes()), - label(ct.size_bytes() / sizeof(double)) - ); - cmpts = 3.1415; - } - break; - default: - handled = false; - break; + doLocalCode(token::tokenType::BOOL, bool, false); + doLocalCode(token::tokenType::LABEL, label, 123); + doLocalCode(token::tokenType::FLOAT, float, 2.7); + doLocalCode(token::tokenType::DOUBLE, double, 3.1415); + + #undef doLocalCode + + default : break; } @@ -241,6 +226,10 @@ int main(int argc, char *argv[]) { Info<< "assigned: " << ctok1 << nl; } + else + { + Info<< "Warning: not handled!" << nl; + } } } @@ -327,6 +316,65 @@ int main(int argc, char *argv[]) Info<< "content" << nl << entry3 << nl; } + + { + primitiveEntry entry0("entry"); + + Info<< "empty: " << entry0 << nl; + + // populate + { + tokenList& toks = entry0.stream(); + toks.resize(2); + toks[0] = word("nonuniform"); + toks[1] = token::Compound<scalarList>::New(10, scalar(1)); + } + + Info<< entry0 << nl; + + // Modify contents + for (auto& tok : entry0.stream()) + { + if (tok.isCompound<scalarList>()) + { + tok.refCompoundToken<scalarList>() = 2; + } + } + + Info<< entry0 << nl; + + + // Find and 'capture' contents + + { + typedef List<scalar> ListType; + + auto* inputDataPtr = + const_cast<ListType*>(entry0.stream().findCompound<ListType>()); + + if (inputDataPtr) + { + Info<< "found input data" << nl; + Info<< entry0 << nl; + + ListType inputData(std::move(*inputDataPtr)); + + Info<< "input data, after move" << nl; + Info<< entry0 << nl; + + ListType replaceData(5, scalar(3.145)); + + // some manipulation + replaceData.back() = scalar(1.414); + + inputDataPtr->swap(replaceData); + Info<< "with replaced values" << nl; + } + } + + Info<< entry0 << nl; + } + return 0; } diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H index 2674039b38d..1ec2d0feb8f 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H @@ -433,7 +433,7 @@ public: using tokenList::find; //- Find range containing matching delimiter pair, starting at the - //- the specified position. The position -1 indicates to continue + //- specified position. The position -1 indicates to continue //- from the present tokenIndex() position. labelRange find ( @@ -442,6 +442,13 @@ public: label pos = 0 ) const; + //- Find compoundToken of specified Type, starting at the + //- specified position. The position -1 indicates to continue + //- from the present tokenIndex() position. + // \return nullptr if not found + template<class Type> + const Type* findCompound(label pos = 0) const; + // Token list modification @@ -636,6 +643,10 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#include "ITstreamI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #endif // ************************************************************************* // diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstreamI.H b/src/OpenFOAM/db/IOstreams/Tstreams/ITstreamI.H new file mode 100644 index 00000000000..00e3a2ee3b4 --- /dev/null +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstreamI.H @@ -0,0 +1,52 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +template<class Type> +const Type* Foam::ITstream::findCompound(label pos) const +{ + if (pos < 0) + { + pos = tokenIndex_; + } + + const Type* ptr = nullptr; + + for (; pos < tokenList::size(); ++pos) + { + ptr = tokenList::operator[](pos).isCompound<Type>(); + + if (ptr) + { + break; + } + } + + return ptr; +} + + +// ************************************************************************* // diff --git a/src/OpenFOAM/db/IOstreams/token/token.H b/src/OpenFOAM/db/IOstreams/token/token.H index c4d40e32799..946e93e834a 100644 --- a/src/OpenFOAM/db/IOstreams/token/token.H +++ b/src/OpenFOAM/db/IOstreams/token/token.H @@ -105,9 +105,9 @@ public: CHAR_DATA, //!< String-variant: plain character content // Aliases - FLOAT_SCALAR = FLOAT, - DOUBLE_SCALAR = DOUBLE, - VERBATIMSTRING = VERBATIM + FLOAT_SCALAR = FLOAT, //!< compatibility name for FLOAT + DOUBLE_SCALAR = DOUBLE, //!< compatibility name for DOUBLE + VERBATIMSTRING = VERBATIM //!< compatibility name for VERBATIM }; @@ -222,7 +222,8 @@ public: const bool readContent = true ); - //- Check if dynamic_cast to \c Type is possible. + //- Attempt dynamic_cast to \c Type + //- returns nullptr if cast is not possible template<class Type> const Type* isA() const { @@ -367,11 +368,13 @@ public: // Selectors - //- Construct autoPtr compound type with forwarding arguments + //- Construct autoPtr compound with forwarding arguments. + // The return type is compound, not Compound since that + // is what the token interface requires. template<class... Args> - static autoPtr<Compound<T>> New(Args&&... args) + static autoPtr<compound> New(Args&&... args) { - return autoPtr<Compound<T>> + return autoPtr<compound> ( new Compound<T>(T(std::forward<Args>(args)...)) ); @@ -386,7 +389,7 @@ public: return T::size(); } - //- Change the size of the underlying container content + //- Change the size of the underlying content virtual void resize(const label n) { T::resize(n); @@ -759,8 +762,15 @@ public: inline const compound& compoundToken() const; //- Return reference to compound token. Fatal if the wrong type. + //- No checks for \em released or \em pending states inline compound& refCompoundToken(); + //- Return reference to the underlying encapsulated container + //- (eg, \c List<label> etc) of a compound token. + //- No checks for \em released or \em pending states + template<class Type> + inline Type& refCompoundToken(); + //- Default construct the specified compound type and read from stream. // A no-op and returns false if compound type is unknown. // Modify the token and return true on success. diff --git a/src/OpenFOAM/db/IOstreams/token/tokenI.H b/src/OpenFOAM/db/IOstreams/token/tokenI.H index 95b52207eb7..f4d7ec119a9 100644 --- a/src/OpenFOAM/db/IOstreams/token/tokenI.H +++ b/src/OpenFOAM/db/IOstreams/token/tokenI.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -873,6 +873,23 @@ inline Foam::token::compound& Foam::token::refCompoundToken() } +template<class Type> +inline Type& Foam::token::refCompoundToken() +{ + if (type_ != tokenType::COMPOUND) + { + parseError("compound"); + } + return static_cast<Type&> + ( + dynamicCast<token::Compound<Type>> + ( + *data_.compoundPtr + ) + ); +} + + inline Foam::token::compound& Foam::token::transferCompoundToken(const Istream& is) { diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseTemplates.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseTemplates.C index 7b6ce7e3cae..c7fc110b119 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseTemplates.C +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseTemplates.C @@ -281,9 +281,7 @@ bool Foam::mappedPatchBase::constructIOField objectRegistry& obr ) { - const word tag("List<" + word(pTraits<Type>::typeName) + '>'); - - if (tok.isCompound(tag)) + if (tok.isCompound<List<Type>>()) { auto* fldPtr = obr.getObjectPtr<IOField<Type>>(name); if (!fldPtr) -- GitLab From 5fb1181bb2a423c85d6cc9de75260df7a5e10fa8 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Apr 2024 16:16:03 +0200 Subject: [PATCH 146/231] SUBMODULE: update avalanche tutorials (for new finite-area locations) --- modules/avalanche | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/avalanche b/modules/avalanche index 1a789a710c5..09fde5b80e7 160000 --- a/modules/avalanche +++ b/modules/avalanche @@ -1 +1 @@ -Subproject commit 1a789a710c5421398ff6296e3950fac374893803 +Subproject commit 09fde5b80e70f81a7c01fee2616d18addcf71ef3 -- GitLab From 8a8b5db977c384db56696eb96cb630117b86cd71 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 18 Apr 2024 12:55:40 +0200 Subject: [PATCH 147/231] BUG: fvsPatchFields reading/writing the "value" entry (fixes #3144) - manual revert for 44d0fbd594a9. Unless required for post-processing the "value" entry should not written if it is not mandatory for reading. This is especially crucial with an 'empty' patch field where the field (size 0) has a different size from the patch. - the changes made align fvsPatchField behaviour with fvPatchField --- .../fixedValue/fixedValuePointPatchField.H | 6 ++-- .../basic/value/valuePointPatchField.H | 4 +-- .../porousBafflePressureFvPatchField.C | 6 ++-- .../porousBafflePressureFvPatchField.H | 2 +- .../basic/sliced/slicedFaPatchField.H | 7 ++-- .../constraint/empty/emptyFaPatchField.C | 19 +++++----- .../constraint/empty/emptyFaPatchField.H | 7 ++-- .../clampedPlate/clampedPlateFaPatchField.H | 2 +- .../edgeNormalFixedValueFaPatchVectorField.H | 2 +- .../fixedValueOutflowFaPatchField.H | 4 +-- .../inletOutlet/inletOutletFaPatchField.H | 2 +- .../outletInlet/outletInletFaPatchField.H | 2 +- ...timeVaryingUniformFixedValueFaPatchField.H | 2 +- .../uniformFixedGradientFaPatchField.H | 4 +-- .../uniformFixedValueFaPatchField.H | 2 +- .../uniformMixed/uniformMixedFaPatchField.H | 2 +- .../constraint/empty/emptyFaePatchField.C | 19 +++++----- .../constraint/empty/emptyFaePatchField.H | 3 +- .../basicSymmetry/basicSymmetryFvPatchField.H | 11 +++--- .../basic/calculated/calculatedFvPatchField.H | 13 ++++--- .../basic/coupled/coupledFvPatchField.H | 11 +++--- .../basic/fixedValue/fixedValueFvPatchField.C | 10 +++--- .../basic/fixedValue/fixedValueFvPatchField.H | 13 ++++--- .../basic/transform/transformFvPatchField.H | 11 +++--- .../constraint/cyclic/cyclicFvPatchField.C | 5 +-- .../constraint/cyclic/cyclicFvPatchField.H | 8 +++-- .../cyclicSlip/cyclicSlipFvPatchField.C | 2 +- .../cyclicSlip/cyclicSlipFvPatchField.H | 10 +++--- .../constraint/empty/emptyFvPatchField.C | 25 +++++++------ .../constraint/empty/emptyFvPatchField.H | 7 ++-- .../jumpCyclic/jumpCyclicFvPatchField.C | 11 +++--- .../jumpCyclic/jumpCyclicFvPatchField.H | 12 ++++--- .../nonuniformTransformCyclicFvPatchField.C | 2 +- .../nonuniformTransformCyclicFvPatchField.H | 11 +++--- .../processor/processorFvPatchField.C | 1 - .../processorCyclicFvPatchField.C | 7 ---- .../processorCyclicFvPatchField.H | 6 ++-- .../symmetry/symmetryFvPatchField.H | 1 - .../constraint/wedge/wedgeFvPatchField.C | 18 +++++----- .../constraint/wedge/wedgeFvPatchField.H | 12 +++++-- .../derived/fan/fanFvPatchField.C | 2 +- .../derived/fixedJump/fixedJumpFvPatchField.C | 8 ++--- .../derived/fixedJump/fixedJumpFvPatchField.H | 2 +- .../fixedNormalSlipFvPatchField.C | 9 +++-- .../fixedNormalSlipFvPatchField.H | 9 +++-- .../partialSlip/partialSlipFvPatchField.C | 23 ++++++------ .../partialSlip/partialSlipFvPatchField.H | 18 ++++++---- .../uniformJump/uniformJumpFvPatchField.C | 6 ++-- .../uniformJump/uniformJumpFvPatchField.H | 2 +- .../fvPatchFields/fvPatchField/fvPatchField.H | 4 +-- .../calculated/calculatedFvsPatchField.C | 12 ++++++- .../calculated/calculatedFvsPatchField.H | 24 ++++++++++++- .../basic/coupled/coupledFvsPatchField.C | 16 +++++++-- .../basic/coupled/coupledFvsPatchField.H | 31 ++++++++-------- .../fixedValue/fixedValueFvsPatchField.C | 22 ++++++++---- .../fixedValue/fixedValueFvsPatchField.H | 35 +++++++++++++++---- .../basic/sliced/slicedFvsPatchField.C | 12 ++++++- .../basic/sliced/slicedFvsPatchField.H | 9 +++-- .../constraint/cyclic/cyclicFvsPatchField.H | 25 +++++++++---- .../cyclicACMI/cyclicACMIFvsPatchField.C | 2 +- .../cyclicACMI/cyclicACMIFvsPatchField.H | 9 +++-- .../cyclicAMI/cyclicAMIFvsPatchField.H | 11 ++++-- .../constraint/empty/emptyFvsPatchField.C | 25 +++++++------ .../constraint/empty/emptyFvsPatchField.H | 21 ++++++++--- .../processor/processorFvsPatchField.C | 7 ---- .../processor/processorFvsPatchField.H | 29 ++++++++++----- .../processorCyclicFvsPatchField.C | 7 ---- .../processorCyclicFvsPatchField.H | 23 ++++++------ .../symmetry/symmetryFvsPatchField.C | 13 +++---- .../symmetry/symmetryFvsPatchField.H | 20 ++++++++--- .../symmetryPlaneFvsPatchField.C | 13 +++---- .../symmetryPlaneFvsPatchField.H | 24 +++++++++---- .../constraint/wedge/wedgeFvsPatchField.C | 13 +++---- .../constraint/wedge/wedgeFvsPatchField.H | 23 +++++++++--- .../fvsPatchField/fvsPatchField.C | 1 - .../fvsPatchField/fvsPatchField.H | 6 ++-- ...specularRadiationMixedFvPatchScalarField.C | 2 +- 77 files changed, 509 insertions(+), 311 deletions(-) diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H index c325c855292..e8f269edbba 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H @@ -30,6 +30,8 @@ Class Description A FixedValue boundary condition for pointField. + The "value" entry is normally MUST_READ. + SourceFiles fixedValuePointPatchField.C @@ -92,13 +94,13 @@ public: const pointPatch& p, const DimensionedField<Type, pointMesh>& iF, const dictionary& dict, - const bool valueReqd + const bool needValue ) : fixedValuePointPatchField ( p, iF, dict, - (valueReqd? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) + (needValue? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) ) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H index 377be799304..a4f7c2b205f 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H @@ -123,13 +123,13 @@ public: const pointPatch& p, const DimensionedField<Type, pointMesh>& iF, const dictionary& dict, - const bool valueReqd + const bool needValue ) : valuePointPatchField ( p, iF, dict, - (valueReqd? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) + (needValue? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) ) {} diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C index da66b10349c..46336accf7e 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C @@ -54,10 +54,10 @@ Foam::porousBafflePressureFvPatchField::porousBafflePressureFvPatchField const fvPatch& p, const DimensionedField<scalar, volMesh>& iF, const dictionary& dict, - const bool valueRequired + const bool needValue ) : - fixedJumpFvPatchField<scalar>(p, iF, dict, false), + fixedJumpFvPatchField<scalar>(p, iF, dict, false), // needValue = false phiName_(dict.getOrDefault<word>("phi", "phi")), rhoName_(dict.getOrDefault<word>("rho", "rho")), D_(Function1<scalar>::New("D", dict, &db())), @@ -65,7 +65,7 @@ Foam::porousBafflePressureFvPatchField::porousBafflePressureFvPatchField length_(dict.get<scalar>("length")), uniformJump_(dict.getOrDefault("uniformJump", false)) { - if (valueRequired) + if (needValue) { if (!this->readValueEntry(dict)) { diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H index e99ee74e9ab..ad9c2c60cd3 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H @@ -163,7 +163,7 @@ public: const fvPatch&, const DimensionedField<scalar, volMesh>&, const dictionary&, - const bool valueRequired = true + const bool needValue = true ); //- Construct by mapping given porousBafflePressureFvPatchField diff --git a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H index dcee956514f..3d31ef2ebe8 100644 --- a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H @@ -95,7 +95,8 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- Not implemented slicedFaPatchField ( const faPatch&, @@ -103,8 +104,8 @@ public: const dictionary& ); - //- Construct by mapping the given sliced patch field - //- onto a new patch + //- Construct by mapping the given patch field onto a new patch. + //- Not implemented slicedFaPatchField ( const slicedFaPatchField<Type>&, diff --git a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.C b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.C index b7cc020fe8b..daeae4a111d 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.C @@ -38,7 +38,7 @@ Foam::emptyFaPatchField<Type>::emptyFaPatchField const DimensionedField<Type, areaMesh>& iF ) : - faPatchField<Type>(p, iF, Field<Type>()) + faPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field {} @@ -51,7 +51,7 @@ Foam::emptyFaPatchField<Type>::emptyFaPatchField const faPatchFieldMapper& ) : - faPatchField<Type>(p, iF, Field<Type>()) + faPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field { if (!isType<emptyFaPatch>(p)) { @@ -74,8 +74,11 @@ Foam::emptyFaPatchField<Type>::emptyFaPatchField const dictionary& dict ) : - faPatchField<Type>(p, iF, Field<Type>()) + faPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field { + // Empty means empty, so no patchType override + // with faPatchFieldBase::readDict(dict); + if (!isA<emptyFaPatch>(p)) { FatalIOErrorInFunction(dict) @@ -92,21 +95,21 @@ Foam::emptyFaPatchField<Type>::emptyFaPatchField template<class Type> Foam::emptyFaPatchField<Type>::emptyFaPatchField ( - const emptyFaPatchField<Type>& ptf + const emptyFaPatchField<Type>& ptf, + const DimensionedField<Type, areaMesh>& iF ) : - faPatchField<Type>(ptf.patch(), ptf.internalField(), Field<Type>()) + faPatchField<Type>(ptf.patch(), iF, Field<Type>()) // zero-sized {} template<class Type> Foam::emptyFaPatchField<Type>::emptyFaPatchField ( - const emptyFaPatchField<Type>& ptf, - const DimensionedField<Type, areaMesh>& iF + const emptyFaPatchField<Type>& ptf ) : - faPatchField<Type>(ptf.patch(), iF, Field<Type>()) + emptyFaPatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H index de754592beb..ef6b2d9e36a 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H @@ -38,8 +38,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef emptyFaPatchField_H -#define emptyFaPatchField_H +#ifndef Foam_emptyFaPatchField_H +#define Foam_emptyFaPatchField_H #include "faPatchField.H" #include "emptyFaPatch.H" @@ -74,7 +74,8 @@ public: const DimensionedField<Type, areaMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. emptyFaPatchField ( const faPatch&, diff --git a/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H index 4cb191c158f..ca38463e024 100644 --- a/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H @@ -183,7 +183,7 @@ public: // IO - //- Write + //- Write includes "value" entry virtual void write(Ostream&) const; }; diff --git a/src/finiteArea/fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.H b/src/finiteArea/fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.H index 8a6c8dffb94..8c01ccf6211 100644 --- a/src/finiteArea/fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.H +++ b/src/finiteArea/fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.H @@ -159,7 +159,7 @@ public: //- Update the coefficients associated with the patch field virtual void updateCoeffs(); - //- Write + //- Write includes "value" entry virtual void write(Ostream&) const; }; diff --git a/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.H index 80b1522c26e..ef3eb57580a 100644 --- a/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchField.H @@ -150,11 +150,11 @@ public: virtual tmp<Field<Type>> gradientBoundaryCoeffs() const; - //- Write + //- Write includes "value" entry virtual void write(Ostream&) const; - // Member operators + // Member Operators virtual void operator=(const UList<Type>&) {} diff --git a/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.H index 02cb6831c73..0464beaa09d 100644 --- a/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.H @@ -168,7 +168,7 @@ public: //- Update the coefficients associated with the patch field virtual void updateCoeffs(); - //- Write + //- Write includes "value" entry virtual void write(Ostream&) const; }; diff --git a/src/finiteArea/fields/faPatchFields/derived/outletInlet/outletInletFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/outletInlet/outletInletFaPatchField.H index e46a1d25b22..922f27e39be 100644 --- a/src/finiteArea/fields/faPatchFields/derived/outletInlet/outletInletFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/outletInlet/outletInletFaPatchField.H @@ -163,7 +163,7 @@ public: //- Update the coefficients associated with the patch field virtual void updateCoeffs(); - //- Write + //- Write includes "value" entry virtual void write(Ostream&) const; }; diff --git a/src/finiteArea/fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchField.H index 1e56baf866a..2dd84e81da6 100644 --- a/src/finiteArea/fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchField.H @@ -183,7 +183,7 @@ public: // IO - //- Write + //- Write includes "value" entry virtual void write(Ostream&) const; }; diff --git a/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.H index 4c049d4f45b..2490f1f6224 100644 --- a/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.H @@ -161,12 +161,12 @@ public: } - // Member functions + // Member Functions //- Update the coefficients associated with the patch field virtual void updateCoeffs(); - //- Write + //- Write includes "value" entry virtual void write(Ostream& os) const; }; diff --git a/src/finiteArea/fields/faPatchFields/derived/uniformFixedValue/uniformFixedValueFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/uniformFixedValue/uniformFixedValueFaPatchField.H index 3bb10274587..cc21bfa0b3b 100644 --- a/src/finiteArea/fields/faPatchFields/derived/uniformFixedValue/uniformFixedValueFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/uniformFixedValue/uniformFixedValueFaPatchField.H @@ -167,7 +167,7 @@ public: //- Update the coefficients associated with the patch field virtual void updateCoeffs(); - //- Write + //- Write includes "value" entry virtual void write(Ostream& os) const; }; diff --git a/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.H index ab3182b3a47..08d3a4a6b29 100644 --- a/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.H @@ -188,7 +188,7 @@ public: //- Update the coefficients associated with the patch field virtual void updateCoeffs(); - //- Write + //- Write includes "value" entry (for visualisation / restart) virtual void write(Ostream& os) const; }; diff --git a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.C b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.C index 3032a855edb..d77ef591d5d 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.C +++ b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.C @@ -37,7 +37,7 @@ Foam::emptyFaePatchField<Type>::emptyFaePatchField const DimensionedField<Type, edgeMesh>& iF ) : - faePatchField<Type>(p, iF, Field<Type>()) + faePatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field {} @@ -50,7 +50,7 @@ Foam::emptyFaePatchField<Type>::emptyFaePatchField const faPatchFieldMapper& ) : - faePatchField<Type>(p, iF, Field<Type>()) + faePatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field { if (!isType<emptyFaPatch>(this->patch())) { @@ -72,8 +72,11 @@ Foam::emptyFaePatchField<Type>::emptyFaePatchField const dictionary& dict ) : - faePatchField<Type>(p, iF, Field<Type>()) + faePatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field { + // Empty means empty, so no patchType override + // with faePatchFieldBase::readDict(dict); + if (!isType<emptyFaPatch>(p)) { FatalIOErrorInFunction(dict) @@ -87,21 +90,21 @@ Foam::emptyFaePatchField<Type>::emptyFaePatchField template<class Type> Foam::emptyFaePatchField<Type>::emptyFaePatchField ( - const emptyFaePatchField<Type>& ptf + const emptyFaePatchField<Type>& ptf, + const DimensionedField<Type, edgeMesh>& iF ) : - faePatchField<Type>(ptf.patch(), ptf.internalField(), Field<Type>()) + faePatchField<Type>(ptf.patch(), iF, Field<Type>()) // zero-sized {} template<class Type> Foam::emptyFaePatchField<Type>::emptyFaePatchField ( - const emptyFaePatchField<Type>& ptf, - const DimensionedField<Type, edgeMesh>& iF + const emptyFaePatchField<Type>& ptf ) : - faePatchField<Type>(ptf.patch(), iF, Field<Type>()) + emptyFaePatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H index 6c7004db9f7..3d9afcace46 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H @@ -73,7 +73,8 @@ public: const DimensionedField<Type, edgeMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. emptyFaePatchField ( const faPatch&, diff --git a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H index 33e2c8784e8..9c9fabaf73e 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H @@ -30,7 +30,8 @@ Group grpConstraintBoundaryConditions Description - A symmetry patch + A symmetry patch. + The "value" entry is NO_READ, NO_WRITE. SourceFiles basicSymmetryFvPatchField.C @@ -57,7 +58,6 @@ class basicSymmetryFvPatchField : public transformFvPatchField<Type> { - public: // Constructors @@ -69,7 +69,8 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. basicSymmetryFvPatchField ( const fvPatch&, @@ -77,8 +78,8 @@ public: const dictionary& ); - //- Construct by mapping given basicSymmetryFvPatchField onto a new - // patch + //- Construct by mapping given basicSymmetry patch field + //- onto a new patch basicSymmetryFvPatchField ( const basicSymmetryFvPatchField<Type>&, diff --git a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.H index ab2abde60d9..1b44100ead1 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.H @@ -31,11 +31,16 @@ Group grpGenericBoundaryConditions Description - This boundary condition is not designed to be evaluated; it is assmued + This boundary condition is not designed to be evaluated; it is assumed that the value is assigned via field assignment, and not via a call to e.g. \c updateCoeffs or \c evaluate. Usage + \table + Property | Description | Required | Default + value | field value | yes | + \endtable + Example of the boundary condition specification: \verbatim <patchName> @@ -99,13 +104,13 @@ public: const fvPatch& p, const DimensionedField<Type, volMesh>& iF, const dictionary& dict, - const bool valueReqd + const bool needValue ) : calculatedFvPatchField ( p, iF, dict, - (valueReqd? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) + (needValue? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) ) {} @@ -178,7 +183,7 @@ public: tmp<Field<Type>> gradientBoundaryCoeffs() const; - //- Write + //- Write includes "value" entry virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H index 155a20cb7e7..23ff2481f59 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H @@ -33,6 +33,8 @@ Group Description Abstract base class for coupled patches. + The "value" entry is usually MUST_READ and always WRITE. + SourceFiles coupledFvPatchField.C @@ -98,13 +100,13 @@ public: const fvPatch& p, const DimensionedField<Type, volMesh>& iF, const dictionary& dict, - const bool valueReqd + const bool needValue ) : coupledFvPatchField ( p, iF, dict, - (valueReqd? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) + (needValue? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) ) {} @@ -144,8 +146,7 @@ public: // Access - //- Return true if this patch field is derived from - // coupledFvPatchField<Type>. + //- True if this patch field is derived from coupledFvPatchField. virtual bool coupled() const { return true; @@ -268,7 +269,7 @@ public: ) const = 0; - //- Write + //- Write includes "value" entry virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C index 8a567b71508..7ce790c8290 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C @@ -92,21 +92,21 @@ Foam::fixedValueFvPatchField<Type>::fixedValueFvPatchField template<class Type> Foam::fixedValueFvPatchField<Type>::fixedValueFvPatchField ( - const fixedValueFvPatchField<Type>& ptf + const fixedValueFvPatchField<Type>& ptf, + const DimensionedField<Type, volMesh>& iF ) : - fvPatchField<Type>(ptf) + fvPatchField<Type>(ptf, iF) {} template<class Type> Foam::fixedValueFvPatchField<Type>::fixedValueFvPatchField ( - const fixedValueFvPatchField<Type>& ptf, - const DimensionedField<Type, volMesh>& iF + const fixedValueFvPatchField<Type>& ptf ) : - fvPatchField<Type>(ptf, iF) + fixedValueFvPatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H index 1abd1eb2b3c..7c2fa1bcc8e 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H @@ -111,13 +111,13 @@ public: const fvPatch& p, const DimensionedField<Type, volMesh>& iF, const dictionary& dict, - const bool valueReqd + const bool needValue ) : fixedValueFvPatchField ( p, iF, dict, - (valueReqd? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) + (needValue? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) ) {} @@ -168,6 +168,9 @@ public: //- False: this patch field is not altered by assignment. virtual bool assignable() const { return false; } + //- Write includes "value" entry + virtual void write(Ostream&) const; + // Evaluation functions @@ -194,11 +197,7 @@ public: virtual tmp<Field<Type>> gradientBoundaryCoeffs() const; - //- Write - virtual void write(Ostream&) const; - - - // Member operators + // Member Operators virtual void operator=(const UList<Type>&) {} diff --git a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.H index 0576d3cccea..9211155c710 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.H @@ -30,15 +30,16 @@ Group grpGenericBoundaryConditions Description - Foam::transformFvPatchField + Intermediate layer (not used directly as a user boundary condition). + The "value" entry is NO_READ, NO_WRITE. SourceFiles transformFvPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef transformFvPatchField_H -#define transformFvPatchField_H +#ifndef Foam_transformFvPatchField_H +#define Foam_transformFvPatchField_H #include "fvPatchField.H" @@ -56,7 +57,6 @@ class transformFvPatchField : public fvPatchField<Type> { - public: //- Runtime type information @@ -72,7 +72,8 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. transformFvPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C index 487bdb8dff5..7a70acb1e03 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C @@ -51,7 +51,7 @@ Foam::cyclicFvPatchField<Type>::cyclicFvPatchField const fvPatch& p, const DimensionedField<Type, volMesh>& iF, const dictionary& dict, - const bool valueRequired + const bool needValue ) : coupledFvPatchField<Type>(p, iF, dict, IOobjectOption::NO_READ), @@ -68,7 +68,7 @@ Foam::cyclicFvPatchField<Type>::cyclicFvPatchField << exit(FatalIOError); } - if (valueRequired) + if (needValue) { this->evaluate(Pstream::commsTypes::blocking); } @@ -324,4 +324,5 @@ void Foam::cyclicFvPatchField<Type>::manipulateMatrix } } + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H index 7b265ce6049..b8199cb28ec 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H @@ -34,6 +34,8 @@ Description This boundary condition enforces a cyclic condition between a pair of boundaries. + The "value" entry is NO_READ. + Usage Example of the boundary condition specification: \verbatim @@ -75,7 +77,7 @@ class cyclicFvPatchField virtual public cyclicLduInterfaceField, public coupledFvPatchField<Type> { - // Private data + // Private Data //- Local reference cast into the cyclic patch const cyclicFvPatch& cyclicPatch_; @@ -113,7 +115,7 @@ public: const fvPatch&, const DimensionedField<Type, volMesh>&, const dictionary&, - const bool valueRequired = true + const bool needValue = true //!< evaluate ); //- Construct by mapping given cyclicFvPatchField onto a new patch @@ -154,7 +156,7 @@ public: } - // Member functions + // Member Functions // Access diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.C index 215d3655b82..051ef0b8f89 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.C @@ -61,7 +61,7 @@ Foam::cyclicSlipFvPatchField<Type>::cyclicSlipFvPatchField const dictionary& dict ) : - cyclicFvPatchField<Type>(p, iF, dict) + cyclicFvPatchField<Type>(p, iF, dict) // needValue (evaluate) = true {} diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.H index da0eb6fef09..3283b60e5e1 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchField.H @@ -33,6 +33,8 @@ Description This boundary condition is a light wrapper around the cyclicFvPatchField condition, providing no new functionality. + The "value" entry is NO_READ. + Usage Example of the boundary condition specification: \verbatim @@ -50,8 +52,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cyclicSlipFvPatchField_H -#define cyclicSlipFvPatchField_H +#ifndef Foam_cyclicSlipFvPatchField_H +#define Foam_cyclicSlipFvPatchField_H #include "cyclicFvPatchField.H" #include "cyclicSlipFvPatch.H" @@ -70,7 +72,6 @@ class cyclicSlipFvPatchField : public cyclicFvPatchField<Type> { - public: //- Runtime type information @@ -86,7 +87,8 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. cyclicSlipFvPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C index 846c33a2165..5bbc2ddd6f2 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,7 +38,7 @@ Foam::emptyFvPatchField<Type>::emptyFvPatchField const DimensionedField<Type, volMesh>& iF ) : - fvPatchField<Type>(p, iF, Field<Type>(0)) + fvPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field {} @@ -50,7 +51,7 @@ Foam::emptyFvPatchField<Type>::emptyFvPatchField const fvPatchFieldMapper& ) : - fvPatchField<Type>(p, iF, Field<Type>(0)) + fvPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field { if (!isType<emptyFvPatch>(p)) { @@ -73,8 +74,11 @@ Foam::emptyFvPatchField<Type>::emptyFvPatchField const dictionary& dict ) : - fvPatchField<Type>(p, iF, Field<Type>(0)) + fvPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field { + // Empty means empty, so no patchType override + // with fvPatchFieldBase::readDict(dict); + if (!isType<emptyFvPatch>(p)) { FatalIOErrorInFunction(dict) @@ -91,26 +95,21 @@ Foam::emptyFvPatchField<Type>::emptyFvPatchField template<class Type> Foam::emptyFvPatchField<Type>::emptyFvPatchField ( - const emptyFvPatchField<Type>& ptf + const emptyFvPatchField<Type>& ptf, + const DimensionedField<Type, volMesh>& iF ) : - fvPatchField<Type> - ( - ptf.patch(), - ptf.internalField(), - Field<Type>(0) - ) + fvPatchField<Type>(ptf.patch(), iF, Field<Type>()) // zero-sized {} template<class Type> Foam::emptyFvPatchField<Type>::emptyFvPatchField ( - const emptyFvPatchField<Type>& ptf, - const DimensionedField<Type, volMesh>& iF + const emptyFvPatchField<Type>& ptf ) : - fvPatchField<Type>(ptf.patch(), iF, Field<Type>(0)) + emptyFvPatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H index d86c9084cb4..b22e96584c7 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H @@ -33,7 +33,9 @@ Description This boundary condition provides an 'empty' condition for reduced dimensions cases, i.e. 1- and 2-D geometries. Apply this condition to patches whose normal is aligned to geometric directions that do not - constitue solution directions. + constitute solution directions. + + The "value" entry is NO_READ, NO_WRITE. Usage Example of the boundary condition specification: @@ -84,7 +86,8 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. emptyFvPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C index 2b5e3a364bb..fb9a97b3487 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -60,14 +60,11 @@ Foam::jumpCyclicFvPatchField<Type>::jumpCyclicFvPatchField const fvPatch& p, const DimensionedField<Type, volMesh>& iF, const dictionary& dict, - const bool valueRequired + const bool needValue ) : - cyclicFvPatchField<Type>(p, iF, dict, valueRequired) -{ - // Call this evaluation in derived classes - //this->evaluate(Pstream::commsTypes::blocking); -} + cyclicFvPatchField<Type>(p, iF, dict, needValue) +{} template<class Type> diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.H index 28c803b6591..199215c6282 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.H @@ -34,6 +34,8 @@ Description This boundary condition provides a base class for coupled-cyclic conditions with a specified 'jump' (or offset) between the values + The "value" entry is NO_READ. + See also Foam::cyclicFvPatchField @@ -42,8 +44,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef jumpCyclicFvPatchField_H -#define jumpCyclicFvPatchField_H +#ifndef Foam_jumpCyclicFvPatchField_H +#define Foam_jumpCyclicFvPatchField_H #include "cyclicFvPatchField.H" @@ -61,7 +63,6 @@ class jumpCyclicFvPatchField : public cyclicFvPatchField<Type> { - public: //- Runtime type information @@ -77,13 +78,14 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. jumpCyclicFvPatchField ( const fvPatch&, const DimensionedField<Type, volMesh>&, const dictionary&, - const bool valueRequired = true + const bool needValue = true //!< evaluate ); //- Construct by mapping given jumpCyclicFvPatchField onto a new patch diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.C index f4ac86faf38..04cb2a9220c 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.C @@ -50,7 +50,7 @@ nonuniformTransformCyclicFvPatchField const dictionary& dict ) : - cyclicFvPatchField<Type>(p, iF, dict) + cyclicFvPatchField<Type>(p, iF, dict) // needValue (evaluate) = true {} diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H index 9f325feb1bd..fa4b6f67017 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H @@ -33,6 +33,8 @@ Description This boundary condition enforces a cyclic condition between a pair of boundaries, incorporating a non-uniform transformation. + The "value" entry is NO_READ. + SourceFiles nonuniformTransformCyclicFvPatchField.C nonuniformTransformCyclicFvPatchFields.H @@ -41,8 +43,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef nonuniformTransformCyclicFvPatchField_H -#define nonuniformTransformCyclicFvPatchField_H +#ifndef Foam_nonuniformTransformCyclicFvPatchField_H +#define Foam_nonuniformTransformCyclicFvPatchField_H #include "cyclicFvPatchField.H" #include "nonuniformTransformCyclicFvPatch.H" @@ -61,8 +63,6 @@ class nonuniformTransformCyclicFvPatchField : public cyclicFvPatchField<Type> { - // Private data - public: //- Runtime type information @@ -78,7 +78,8 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. nonuniformTransformCyclicFvPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C index a4c1e57ea73..793b638cc6e 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C @@ -28,7 +28,6 @@ License #include "processorFvPatchField.H" #include "processorFvPatch.H" -#include "demandDrivenData.H" #include "transformField.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C index c03c65b7449..5c3f68ec4b9 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C @@ -135,11 +135,4 @@ Foam::processorCyclicFvPatchField<Type>::processorCyclicFvPatchField {} -// * * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * // - -template<class Type> -Foam::processorCyclicFvPatchField<Type>::~processorCyclicFvPatchField() -{} - - // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.H index 08e018d2cb7..8287cd43594 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.H @@ -73,7 +73,7 @@ class processorCyclicFvPatchField : public processorFvPatchField<Type> { - // Private data + // Private Data //- Local reference cast into the processor patch const processorCyclicFvPatch& procPatch_; @@ -146,10 +146,10 @@ public: //- Destructor - virtual ~processorCyclicFvPatchField(); + virtual ~processorCyclicFvPatchField() = default; - // Member functions + // Member Functions // Access diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H index 0727afe5f81..6f2ec33e0da 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H @@ -69,7 +69,6 @@ class symmetryFvPatchField : public basicSymmetryFvPatchField<Type> { - public: //- Runtime type information diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C index e3fd64d58d2..8c2b3eb61c5 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -31,7 +32,6 @@ License #include "symmTransform.H" #include "diagTensor.H" - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class Type> @@ -41,7 +41,7 @@ Foam::wedgeFvPatchField<Type>::wedgeFvPatchField const DimensionedField<Type, volMesh>& iF ) : - transformFvPatchField<Type>(p, iF) + parent_bctype(p, iF) {} @@ -54,7 +54,7 @@ Foam::wedgeFvPatchField<Type>::wedgeFvPatchField const fvPatchFieldMapper& mapper ) : - transformFvPatchField<Type>(ptf, p, iF, mapper) + parent_bctype(ptf, p, iF, mapper) { if (!isType<wedgeFvPatch>(this->patch())) { @@ -77,7 +77,7 @@ Foam::wedgeFvPatchField<Type>::wedgeFvPatchField const dictionary& dict ) : - transformFvPatchField<Type>(p, iF, dict) + parent_bctype(p, iF, dict) // "value" is NO_READ { if (!isType<wedgeFvPatch>(p)) { @@ -97,21 +97,21 @@ Foam::wedgeFvPatchField<Type>::wedgeFvPatchField template<class Type> Foam::wedgeFvPatchField<Type>::wedgeFvPatchField ( - const wedgeFvPatchField<Type>& ptf + const wedgeFvPatchField<Type>& ptf, + const DimensionedField<Type, volMesh>& iF ) : - transformFvPatchField<Type>(ptf) + parent_bctype(ptf, iF) {} template<class Type> Foam::wedgeFvPatchField<Type>::wedgeFvPatchField ( - const wedgeFvPatchField<Type>& ptf, - const DimensionedField<Type, volMesh>& iF + const wedgeFvPatchField<Type>& ptf ) : - transformFvPatchField<Type>(ptf, iF) + wedgeFvPatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H index 36c2252e7ec..6d8e34e98b9 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H @@ -33,6 +33,8 @@ Description This boundary condition is similar to the cyclic condition, except that it is applied to 2-D geometries. + The "value" entry is NO_READ, NO_WRITE. + Usage Example of the boundary condition specification: \verbatim @@ -50,8 +52,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef wedgeFvPatchField_H -#define wedgeFvPatchField_H +#ifndef Foam_wedgeFvPatchField_H +#define Foam_wedgeFvPatchField_H #include "transformFvPatchField.H" #include "wedgeFvPatch.H" @@ -70,6 +72,9 @@ class wedgeFvPatchField : public transformFvPatchField<Type> { + //- The parent boundary condition type + typedef transformFvPatchField<Type> parent_bctype; + public: @@ -86,7 +91,8 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. wedgeFvPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C index 39b7394febd..921199406e9 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C @@ -67,7 +67,7 @@ Foam::fanFvPatchField<Type>::fanFvPatchField const dictionary& dict ) : - uniformJumpFvPatchField<Type>(p, iF, dict, false), // Pass no valueRequired + uniformJumpFvPatchField<Type>(p, iF, dict, false), // needValue = false phiName_(dict.getOrDefault<word>("phi", "phi")), rhoName_(dict.getOrDefault<word>("rho", "rho")), uniformJump_(dict.getOrDefault("uniformJump", false)), diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.C index e55831b999c..8d62f14c273 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.C @@ -70,10 +70,10 @@ Foam::fixedJumpFvPatchField<Type>::fixedJumpFvPatchField const fvPatch& p, const DimensionedField<Type, volMesh>& iF, const dictionary& dict, - const bool valueRequired + const bool needValue ) : - jumpCyclicFvPatchField<Type>(p, iF, dict, false), // Pass no valueRequired + jumpCyclicFvPatchField<Type>(p, iF, dict, false), // needValue = false jump_(p.size(), Zero), jump0_(p.size(), Zero), minJump_(dict.getOrDefault<Type>("minJump", pTraits<Type>::min)), @@ -82,7 +82,7 @@ Foam::fixedJumpFvPatchField<Type>::fixedJumpFvPatchField { if (this->cyclicPatch().owner()) { - if (valueRequired) + if (needValue) { jump_.assign("jump", dict, p.size(), IOobjectOption::MUST_READ); } @@ -90,7 +90,7 @@ Foam::fixedJumpFvPatchField<Type>::fixedJumpFvPatchField jump0_.assign("jump0", dict, p.size(), IOobjectOption::LAZY_READ); } - if (valueRequired) + if (needValue) { if (!this->readValueEntry(dict)) { diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.H index f9e340bbccd..441b420dea7 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.H @@ -128,7 +128,7 @@ public: const fvPatch&, const DimensionedField<Type, volMesh>&, const dictionary&, - const bool valueRequired = true + const bool needValue = true ); //- Construct by mapping given fixedJumpFvPatchField onto a diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.C index 557ffce4949..32c993eaa1f 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.C @@ -39,7 +39,7 @@ Foam::fixedNormalSlipFvPatchField<Type>::fixedNormalSlipFvPatchField ) : parent_bctype(p, iF), - fixedValue_(p.size(), Zero), + fixedValue_(p.size(), Foam::zero{}), writeValue_(false) {} @@ -72,6 +72,7 @@ Foam::fixedNormalSlipFvPatchField<Type>::fixedNormalSlipFvPatchField writeValue_(dict.getOrDefault("writeValue", false)) { fvPatchFieldBase::readDict(dict); + evaluate(); } @@ -181,11 +182,13 @@ template<class Type> void Foam::fixedNormalSlipFvPatchField<Type>::write(Ostream& os) const { this->parent_bctype::write(os); - fixedValue_.writeEntry("fixedValue", os); - if (writeValue_) { os.writeEntry("writeValue", "true"); + } + fixedValue_.writeEntry("fixedValue", os); + if (writeValue_) + { fvPatchField<Type>::writeValueEntry(os); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H index 7fe1f594902..8fdfb7e7fd6 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H @@ -36,6 +36,8 @@ Description The tangential component is treated as slip, i.e. copied from the internal field. + The "value" entry is NO_READ, optional write. + Usage Example of the boundary condition specification: \verbatim @@ -76,8 +78,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef fixedNormalSlipFvPatchField_H -#define fixedNormalSlipFvPatchField_H +#ifndef Foam_fixedNormalSlipFvPatchField_H +#define Foam_fixedNormalSlipFvPatchField_H #include "transformFvPatchField.H" @@ -123,7 +125,8 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. fixedNormalSlipFvPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.C index cfb77c5732e..b11935b557b 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.C @@ -39,7 +39,7 @@ Foam::partialSlipFvPatchField<Type>::partialSlipFvPatchField ) : parent_bctype(p, iF), - refValue_(p.size(), Zero), + refValue_(p.size(), Foam::zero{}), valueFraction_(p.size(), 1.0), writeValue_(false) {} @@ -70,7 +70,7 @@ Foam::partialSlipFvPatchField<Type>::partialSlipFvPatchField ) : parent_bctype(p, iF), - refValue_(p.size(), Zero), + refValue_(p.size(), Foam::zero{}), valueFraction_("valueFraction", dict, p.size()), writeValue_(dict.getOrDefault("writeValue", false)) { @@ -86,10 +86,11 @@ Foam::partialSlipFvPatchField<Type>::partialSlipFvPatchField template<class Type> Foam::partialSlipFvPatchField<Type>::partialSlipFvPatchField ( - const partialSlipFvPatchField<Type>& ptf + const partialSlipFvPatchField<Type>& ptf, + const DimensionedField<Type, volMesh>& iF ) : - parent_bctype(ptf), + parent_bctype(ptf, iF), refValue_(ptf.refValue_), valueFraction_(ptf.valueFraction_), writeValue_(ptf.writeValue_) @@ -99,14 +100,10 @@ Foam::partialSlipFvPatchField<Type>::partialSlipFvPatchField template<class Type> Foam::partialSlipFvPatchField<Type>::partialSlipFvPatchField ( - const partialSlipFvPatchField<Type>& ptf, - const DimensionedField<Type, volMesh>& iF + const partialSlipFvPatchField<Type>& ptf ) : - parent_bctype(ptf, iF), - refValue_(ptf.refValue_), - valueFraction_(ptf.valueFraction_), - writeValue_(ptf.writeValue_) + partialSlipFvPatchField<Type>(ptf, ptf.internalField()) {} @@ -204,12 +201,14 @@ template<class Type> void Foam::partialSlipFvPatchField<Type>::write(Ostream& os) const { this->parent_bctype::write(os); + if (writeValue_) + { + os.writeEntry("writeValue", "true"); + } refValue_.writeEntry("refValue", os); valueFraction_.writeEntry("valueFraction", os); - if (writeValue_) { - os.writeEntry("writeValue", "true"); fvPatchField<Type>::writeValueEntry(os); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H index eb5ed46922c..a81ce92912c 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H @@ -31,8 +31,10 @@ Group grpWallBoundaryConditions grpGenericBoundaryConditions Description - This boundary condition provides a partial slip condition. The amount of - slip is controlled by a user-supplied field. + This boundary condition provides a partial slip condition. + The amount of slip is controlled by a user-supplied field. + + The "value" entry is NO_READ, optional write. Usage \table @@ -50,7 +52,6 @@ Usage type partialSlip; refValue uniform 0.001; valueFraction uniform 0.1; - value uniform 0; } \endverbatim @@ -62,8 +63,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef partialSlipFvPatchField_H -#define partialSlipFvPatchField_H +#ifndef Foam_partialSlipFvPatchField_H +#define Foam_partialSlipFvPatchField_H #include "transformFvPatchField.H" @@ -112,7 +113,8 @@ public: const DimensionedField<Type, volMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. partialSlipFvPatchField ( const fvPatch&, @@ -120,7 +122,8 @@ public: const dictionary& ); - //- Construct by mapping given partialSlipFvPatchField onto a new patch + //- Construct by mapping given partialSlip patch field + //- onto a new patch partialSlipFvPatchField ( const partialSlipFvPatchField<Type>&, @@ -163,6 +166,7 @@ public: //- False: this patch field is not altered by assignment virtual bool assignable() const { return false; } + // Access virtual Field<Type>& refValue() diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C index 1f117d268c6..deca4b47322 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C @@ -62,13 +62,13 @@ Foam::uniformJumpFvPatchField<Type>::uniformJumpFvPatchField const fvPatch& p, const DimensionedField<Type, volMesh>& iF, const dictionary& dict, - const bool valueRequired + const bool needValue ) : - fixedJumpFvPatchField<Type>(p, iF, dict, false), // Pass no valueRequired + fixedJumpFvPatchField<Type>(p, iF, dict, false), // needValue = false jumpTable_() { - if (valueRequired) + if (needValue) { if (this->cyclicPatch().owner()) { diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.H index 09be775aed2..a953274fc93 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.H @@ -118,7 +118,7 @@ public: const fvPatch&, const DimensionedField<Type, volMesh>&, const dictionary&, - const bool valueRequired = true + const bool needValue = true ); //- Construct by mapping given uniformJumpFvPatchField onto a diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H index 9056467691a..993433fd61e 100644 --- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H @@ -430,13 +430,13 @@ public: const fvPatch& p, const DimensionedField<Type, volMesh>& iF, const dictionary& dict, - const bool valueReqd + const bool needValue ) : fvPatchField ( p, iF, dict, - (valueReqd? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) + (needValue? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) ) {} diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C index ed1536312ce..0cfa7e3ef0f 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -131,4 +131,14 @@ Foam::fvsPatchField<Type>::NewCalculatedType } +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::calculatedFvsPatchField<Type>::write(Ostream& os) const +{ + fvsPatchField<Type>::write(os); + fvsPatchField<Type>::writeValueEntry(os); +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H index bd8b64db01a..1e8914fd250 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,7 +28,25 @@ Class Foam::calculatedFvsPatchField Description - Foam::calculatedFvsPatchField + This boundary condition is not designed to be evaluated; it is assumed + that the value is assigned via field assignment. + + The "value" entry is MUST_READ. + +Usage + \table + Property | Description | Required | Default + value | Patch face values | yes | + \endtable + + Example of the boundary condition specification: + \verbatim + <patchName> + { + type calculated; + value uniform (0 0 0); // Required value entry + } + \endverbatim SourceFiles calculatedFvsPatchField.C @@ -118,6 +137,9 @@ public: //- True: this patch field fixes a value. virtual bool fixesValue() const { return true; } + + //- Write includes "value" entry + virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.C index 5c3d033a66c..939aac9d7c0 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,10 +58,11 @@ Foam::coupledFvsPatchField<Type>::coupledFvsPatchField ( const fvPatch& p, const DimensionedField<Type, surfaceMesh>& iF, - const dictionary& dict + const dictionary& dict, + IOobjectOption::readOption requireValue ) : - fvsPatchField<Type>(p, iF, dict) + fvsPatchField<Type>(p, iF, dict, requireValue) {} @@ -98,4 +100,14 @@ Foam::coupledFvsPatchField<Type>::coupledFvsPatchField {} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::coupledFvsPatchField<Type>::write(Ostream& os) const +{ + fvsPatchField<Type>::write(os); + fvsPatchField<Type>::writeValueEntry(os); +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H index 221630943f6..b6ce0ea9f0c 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,15 +28,17 @@ Class Foam::coupledFvsPatchField Description - Foam::coupledFvsPatchField + Abstract base class for coupled patches. + + The "value" entry is usually MUST_READ and always WRITE. SourceFiles coupledFvsPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef coupledFvsPatchField_H -#define coupledFvsPatchField_H +#ifndef Foam_coupledFvsPatchField_H +#define Foam_coupledFvsPatchField_H #include "fvsPatchField.H" #include "coupledFvPatch.H" @@ -46,7 +49,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class coupledFvsPatch Declaration + Class coupledFvsPatchField Declaration \*---------------------------------------------------------------------------*/ template<class Type> @@ -54,7 +57,6 @@ class coupledFvsPatchField : public fvsPatchField<Type> { - public: //- Runtime type information @@ -83,7 +85,8 @@ public: ( const fvPatch&, const DimensionedField<Type, surfaceMesh>&, - const dictionary& + const dictionary&, + IOobjectOption::readOption requireValue = IOobjectOption::MUST_READ ); //- Construct by mapping the given coupledFvsPatchField onto a new patch @@ -118,16 +121,16 @@ public: ) const = 0; - // Member functions + // Member Functions - // Access + //- True if this patch field is derived from coupledFvsPatchField + virtual bool coupled() const + { + return true; + } - //- Return true if this patch field is derived from - // coupledFvsPatchField<Type>. - virtual bool coupled() const - { - return true; - } + //- Write includes "value" entry + virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C index f457b1d07df..2d061f7ced0 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,7 +58,8 @@ Foam::fixedValueFvsPatchField<Type>::fixedValueFvsPatchField ( const fvPatch& p, const DimensionedField<Type, surfaceMesh>& iF, - const dictionary& dict + const dictionary& dict, + IOobjectOption::readOption requireValue ) : fvsPatchField<Type>(p, iF, dict, IOobjectOption::MUST_READ) @@ -80,21 +82,21 @@ Foam::fixedValueFvsPatchField<Type>::fixedValueFvsPatchField template<class Type> Foam::fixedValueFvsPatchField<Type>::fixedValueFvsPatchField ( - const fixedValueFvsPatchField<Type>& ptf + const fixedValueFvsPatchField<Type>& ptf, + const DimensionedField<Type, surfaceMesh>& iF ) : - fvsPatchField<Type>(ptf) + fvsPatchField<Type>(ptf, iF) {} template<class Type> Foam::fixedValueFvsPatchField<Type>::fixedValueFvsPatchField ( - const fixedValueFvsPatchField<Type>& ptf, - const DimensionedField<Type, surfaceMesh>& iF + const fixedValueFvsPatchField<Type>& ptf ) : - fvsPatchField<Type>(ptf, iF) + fixedValueFvsPatchField<Type>(ptf, ptf.internalField()) {} @@ -138,4 +140,12 @@ Foam::fixedValueFvsPatchField<Type>::gradientBoundaryCoeffs() const } +template<class Type> +void Foam::fixedValueFvsPatchField<Type>::write(Ostream& os) const +{ + fvsPatchField<Type>::write(os); + fvsPatchField<Type>::writeValueEntry(os); +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H index ab5ec9dc427..5934499fe08 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,15 +28,33 @@ Class Foam::fixedValueFvsPatchField Description - Foam::fixedValueFvsPatchField + This boundary condition supplies a fixed value constraint, and is the base + class for a number of other boundary conditions. + + The "value" entry is MUST_READ. + +Usage + \table + Property | Description | Required | Default + value | Patch face values | yes | + \endtable + + Example of the boundary condition specification: + \verbatim + <patchName> + { + type fixedValue; + value uniform 0; // Example for scalar field usage + } + \endverbatim SourceFiles fixedValueFvsPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef fixedValueFvsPatchField_H -#define fixedValueFvsPatchField_H +#ifndef Foam_fixedValueFvsPatchField_H +#define Foam_fixedValueFvsPatchField_H #include "fvsPatchField.H" @@ -45,7 +64,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class fixedValueFvsPatch Declaration + Class fixedValueFvsPatchField Declaration \*---------------------------------------------------------------------------*/ template<class Type> @@ -81,7 +100,8 @@ public: ( const fvPatch&, const DimensionedField<Type, surfaceMesh>&, - const dictionary& + const dictionary&, + IOobjectOption::readOption requireValue = IOobjectOption::MUST_READ ); //- Construct by mapping the given fixedValue patch field @@ -127,6 +147,9 @@ public: //- True: this patch field fixes a value. virtual bool fixesValue() const { return true; } + //- Write includes "value" entry + virtual void write(Ostream&) const; + // Evaluation functions @@ -153,7 +176,7 @@ public: virtual tmp<Field<Type>> gradientBoundaryCoeffs() const; - // Member operators + // Member Operators virtual void operator=(const UList<Type>&) {} diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C index 717918883f4..de49ba50a5d 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -131,4 +131,14 @@ Foam::slicedFvsPatchField<Type>::~slicedFvsPatchField() } +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::slicedFvsPatchField<Type>::write(Ostream& os) const +{ + fvsPatchField<Type>::write(os); + fvsPatchField<Type>::writeValueEntry(os); +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H index 42c92679d92..3a82030519b 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -89,7 +89,8 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + // Not implemented. slicedFvsPatchField ( const fvPatch&, @@ -98,6 +99,7 @@ public: ); //- Construct by mapping the given sliced patch field onto a new patch + // Not implemented. slicedFvsPatchField ( const slicedFvsPatchField<Type>&, @@ -141,6 +143,9 @@ public: //- True: this patch field fixes a value. virtual bool fixesValue() const { return true; } + //- Write includes "value" entry + virtual void write(Ostream&) const; + // Member Operators diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H index c609d02df91..384638a7547 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H @@ -27,15 +27,27 @@ Class Foam::cyclicFvsPatchField Description - Foam::cyclicFvsPatchField + This boundary condition enforces a cyclic condition between a pair of + boundaries. + + The "value" entry is NO_READ, but is written. + +Usage + Example of the boundary condition specification: + \verbatim + <patchName> + { + type cyclic; + } + \endverbatim SourceFiles cyclicFvsPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef cyclicFvsPatchField_H -#define cyclicFvsPatchField_H +#ifndef Foam_cyclicFvsPatchField_H +#define Foam_cyclicFvsPatchField_H #include "coupledFvsPatchField.H" #include "cyclicFvPatch.H" @@ -46,7 +58,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class cyclicFvsPatch Declaration + Class cyclicFvsPatchField Declaration \*---------------------------------------------------------------------------*/ template<class Type> @@ -54,7 +66,7 @@ class cyclicFvsPatchField : public coupledFvsPatchField<Type> { - // Private data + // Private Data //- Local reference cast into the cyclic patch const cyclicFvPatch& cyclicPatch_; @@ -75,7 +87,8 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. cyclicFvsPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.C index 1a63a8b7245..96fb0a15bc3 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.C @@ -117,7 +117,7 @@ bool Foam::cyclicACMIFvsPatchField<Type>::coupled() const { if ( - Pstream::parRun() + UPstream::parRun() || ( this->cyclicACMIPatch_.size() && this->cyclicACMIPatch_.cyclicACMIPatch().neighbPatch().size() diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H index da9480eb7fd..b16faeb228f 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H @@ -27,7 +27,9 @@ Class Foam::cyclicACMIFvsPatchField Description - Foam::cyclicACMIFvsPatchField + This boundary condition enforces a cyclic condition between a pair of + boundaries, whereby communication between the patches is performed using + an arbitrarily coupled mesh interface (ACMI) interpolation. SourceFiles cyclicACMIFvsPatchField.C @@ -54,7 +56,7 @@ class cyclicACMIFvsPatchField : public coupledFvsPatchField<Type> { - // Private data + // Private Data //- Local reference cast into the cyclic patch const cyclicACMIFvPatch& cyclicACMIPatch_; @@ -75,7 +77,8 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is MUST_READ. cyclicACMIFvsPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.H index 2550303c730..59bdcab69f2 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.H @@ -27,7 +27,11 @@ Class Foam::cyclicAMIFvsPatchField Description - Foam::cyclicAMIFvsPatchField + This boundary condition enforces a cyclic condition between a pair of + boundaries, whereby communication between the patches is performed using + an arbitrary mesh interface (AMI) interpolation. + + The "value" entry is MUST_READ. SourceFiles cyclicAMIFvsPatchField.C @@ -54,7 +58,7 @@ class cyclicAMIFvsPatchField : public coupledFvsPatchField<Type> { - // Private data + // Private Data //- Local reference cast into the cyclic patch const cyclicAMIFvPatch& cyclicAMIPatch_; @@ -75,7 +79,8 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is MUST_READ. cyclicAMIFvsPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C index 489cb7de84d..5c1d93d7d53 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,7 +39,7 @@ Foam::emptyFvsPatchField<Type>::emptyFvsPatchField const DimensionedField<Type, surfaceMesh>& iF ) : - fvsPatchField<Type>(p, iF, Field<Type>(0)) + fvsPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field {} @@ -50,8 +51,11 @@ Foam::emptyFvsPatchField<Type>::emptyFvsPatchField const dictionary& dict ) : - fvsPatchField<Type>(p, iF, Field<Type>(0)) + fvsPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field { + // Empty means empty, so no patchType override + // with fvsPatchFieldBase::readDict(dict); + if (!isType<emptyFvPatch>(p)) { FatalIOErrorInFunction(dict) @@ -71,7 +75,7 @@ Foam::emptyFvsPatchField<Type>::emptyFvsPatchField const fvPatchFieldMapper& ) : - fvsPatchField<Type>(p, iF, Field<Type>(0)) + fvsPatchField<Type>(p, iF, Field<Type>()) // zero-sized patch field { if (!isType<emptyFvPatch>(this->patch())) { @@ -88,26 +92,21 @@ Foam::emptyFvsPatchField<Type>::emptyFvsPatchField template<class Type> Foam::emptyFvsPatchField<Type>::emptyFvsPatchField ( - const emptyFvsPatchField<Type>& ptf + const emptyFvsPatchField<Type>& ptf, + const DimensionedField<Type, surfaceMesh>& iF ) : - fvsPatchField<Type> - ( - ptf.patch(), - ptf.internalField(), - Field<Type>(0) - ) + fvsPatchField<Type>(ptf.patch(), iF, Field<Type>()) // zero-sized {} template<class Type> Foam::emptyFvsPatchField<Type>::emptyFvsPatchField ( - const emptyFvsPatchField<Type>& ptf, - const DimensionedField<Type, surfaceMesh>& iF + const emptyFvsPatchField<Type>& ptf ) : - fvsPatchField<Type>(ptf.patch(), iF, Field<Type>(0)) + emptyFvsPatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H index 76413218523..6a703550751 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H @@ -27,7 +27,19 @@ Class Foam::emptyFvsPatchField Description - Foam::emptyFvsPatchField + This boundary condition provides an 'empty' condition for reduced + dimensions cases. + + The "value" entry is NO_READ, NO_WRITE. + +Usage + Example of the boundary condition specification: + \verbatim + <patchName> + { + type empty; + } + \endverbatim SourceFiles emptyFvsPatchField.C @@ -69,7 +81,8 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. emptyFvsPatchField ( const fvPatch&, @@ -115,9 +128,9 @@ public: } - // Member functions + // Member Functions - // Mapping functions + // Mapping Functions //- Map (and resize as needed) from self given a mapping object virtual void autoMap diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.C index f5a44ebd4cb..4d538caa6b7 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.C @@ -122,11 +122,4 @@ Foam::processorFvsPatchField<Type>::processorFvsPatchField {} -// * * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * // - -template<class Type> -Foam::processorFvsPatchField<Type>::~processorFvsPatchField() -{} - - // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.H index dd96291ee68..8a4fb3a093e 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,15 +28,26 @@ Class Foam::processorFvsPatchField Description - Foam::processorFvsPatchField + This boundary condition enables processor communication across patches. + + The "value" entry is MUST_READ. + + Example of the boundary condition specification: + \verbatim + <patchName> + { + type processor; + value uniform (0 0 0); // Mandatory + } + \endverbatim SourceFiles processorFvsPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef processorFvsPatchField_H -#define processorFvsPatchField_H +#ifndef Foam_processorFvsPatchField_H +#define Foam_processorFvsPatchField_H #include "coupledFvsPatchField.H" #include "processorFvPatch.H" @@ -54,7 +66,7 @@ class processorFvsPatchField : public coupledFvsPatchField<Type> { - // Private data + // Private Data //- Local reference cast into the processor patch const processorFvPatch& procPatch_; @@ -83,7 +95,8 @@ public: const Field<Type>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is MUST_READ. processorFvsPatchField ( const fvPatch&, @@ -127,15 +140,15 @@ public: //- Destructor - virtual ~processorFvsPatchField(); + virtual ~processorFvsPatchField() = default; // Member Functions - //- Return true if running parallel + //- True if running parallel virtual bool coupled() const { - return Pstream::parRun(); + return UPstream::parRun(); } }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.C index 69dda610a3d..af904a50fbc 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.C @@ -122,11 +122,4 @@ Foam::processorCyclicFvsPatchField<Type>::processorCyclicFvsPatchField {} -// * * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * // - -template<class Type> -Foam::processorCyclicFvsPatchField<Type>::~processorCyclicFvsPatchField() -{} - - // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.H index 4368b03621c..8ebb8fbb215 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.H @@ -27,15 +27,18 @@ Class Foam::processorCyclicFvsPatchField Description - Foam::processorCyclicFvsPatchField + This boundary condition enables processor communication across cyclic + patches. + + The "value" entry is MUST_READ. SourceFiles processorCyclicFvsPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef processorCyclicFvsPatchField_H -#define processorCyclicFvsPatchField_H +#ifndef Foam_processorCyclicFvsPatchField_H +#define Foam_processorCyclicFvsPatchField_H #include "coupledFvsPatchField.H" #include "processorCyclicFvPatch.H" @@ -54,7 +57,7 @@ class processorCyclicFvsPatchField : public coupledFvsPatchField<Type> { - // Private data + // Private Data //- Local reference cast into the processor patch const processorCyclicFvPatch& procPatch_; @@ -83,7 +86,8 @@ public: const Field<Type>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is MUST_READ. processorCyclicFvsPatchField ( const fvPatch&, @@ -91,8 +95,7 @@ public: const dictionary& ); - //- Construct by mapping given processorCyclicFvsPatchField onto a - // new patch + //- Construct by mapping given patch field onto a new patch processorCyclicFvsPatchField ( const processorCyclicFvsPatchField<Type>&, @@ -128,15 +131,15 @@ public: //- Destructor - virtual ~processorCyclicFvsPatchField(); + virtual ~processorCyclicFvsPatchField() = default; // Member Functions - //- Return true if running parallel + //- True if running parallel virtual bool coupled() const { - return Pstream::parRun(); + return UPstream::parRun(); } }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C index 1f65f735ce2..071abfefee3 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,7 +49,7 @@ Foam::symmetryFvsPatchField<Type>::symmetryFvsPatchField const dictionary& dict ) : - fvsPatchField<Type>(p, iF, dict) + fvsPatchField<Type>(p, iF, dict, IOobjectOption::NO_READ) { if (!isType<symmetryFvPatch>(p)) { @@ -86,21 +87,21 @@ Foam::symmetryFvsPatchField<Type>::symmetryFvsPatchField template<class Type> Foam::symmetryFvsPatchField<Type>::symmetryFvsPatchField ( - const symmetryFvsPatchField<Type>& ptf + const symmetryFvsPatchField<Type>& ptf, + const DimensionedField<Type, surfaceMesh>& iF ) : - fvsPatchField<Type>(ptf) + fvsPatchField<Type>(ptf, iF) {} template<class Type> Foam::symmetryFvsPatchField<Type>::symmetryFvsPatchField ( - const symmetryFvsPatchField<Type>& ptf, - const DimensionedField<Type, surfaceMesh>& iF + const symmetryFvsPatchField<Type>& ptf ) : - fvsPatchField<Type>(ptf, iF) + symmetryFvsPatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H index 4fa95f96806..4142b0d70fa 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,15 +28,26 @@ Class Foam::symmetryFvsPatchField Description - Foam::symmetryFvsPatchField + This boundary condition enforces a symmetry constraint + + The "value" entry is NO_READ, NO_WRITE. + +Usage + Example of the boundary condition specification: + \verbatim + <patchName> + { + type symmetry; + } + \endverbatim SourceFiles symmetryFvsPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef symmetryFvsPatchField_H -#define symmetryFvsPatchField_H +#ifndef Foam_symmetryFvsPatchField_H +#define Foam_symmetryFvsPatchField_H #include "fvsPatchField.H" #include "symmetryFvPatch.H" @@ -54,7 +66,6 @@ class symmetryFvsPatchField : public fvsPatchField<Type> { - public: //- Runtime type information @@ -71,6 +82,7 @@ public: ); //- Construct from patch, internal field and dictionary + //- The "value" entry is NO_READ. symmetryFvsPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C index 60bf14ab437..80d4b9378d4 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2015 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,7 +49,7 @@ Foam::symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField const dictionary& dict ) : - fvsPatchField<Type>(p, iF, dict) + fvsPatchField<Type>(p, iF, dict, IOobjectOption::NO_READ) { if (!isType<symmetryPlaneFvPatch>(p)) { @@ -86,21 +87,21 @@ Foam::symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField template<class Type> Foam::symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField ( - const symmetryPlaneFvsPatchField<Type>& ptf + const symmetryPlaneFvsPatchField<Type>& ptf, + const DimensionedField<Type, surfaceMesh>& iF ) : - fvsPatchField<Type>(ptf) + fvsPatchField<Type>(ptf, iF) {} template<class Type> Foam::symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField ( - const symmetryPlaneFvsPatchField<Type>& ptf, - const DimensionedField<Type, surfaceMesh>& iF + const symmetryPlaneFvsPatchField<Type>& ptf ) : - fvsPatchField<Type>(ptf, iF) + symmetryPlaneFvsPatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H index cf3f253e054..717506e082a 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H @@ -27,15 +27,26 @@ Class Foam::symmetryPlaneFvsPatchField Description - Foam::symmetryPlaneFvsPatchField + This boundary condition enforces a symmetryPlane constraint + + The "value" entry is NO_READ, NO_WRITE. + +Usage + Example of the boundary condition specification: + \verbatim + <patchName> + { + type symmetryPlane; + } + \endverbatim SourceFiles symmetryPlaneFvsPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef symmetryPlaneFvsPatchField_H -#define symmetryPlaneFvsPatchField_H +#ifndef Foam_symmetryPlaneFvsPatchField_H +#define Foam_symmetryPlaneFvsPatchField_H #include "fvsPatchField.H" #include "symmetryPlaneFvPatch.H" @@ -54,7 +65,6 @@ class symmetryPlaneFvsPatchField : public fvsPatchField<Type> { - public: //- Runtime type information @@ -70,7 +80,8 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. symmetryPlaneFvsPatchField ( const fvPatch&, @@ -78,8 +89,7 @@ public: const dictionary& ); - //- Construct by mapping given symmetryPlaneFvsPatchField - // onto a new patch + //- Construct by mapping given patch field onto a new patch symmetryPlaneFvsPatchField ( const symmetryPlaneFvsPatchField<Type>&, diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C index 9c243442b5a..df57e01f614 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,7 +49,7 @@ Foam::wedgeFvsPatchField<Type>::wedgeFvsPatchField const dictionary& dict ) : - fvsPatchField<Type>(p, iF, dict) + fvsPatchField<Type>(p, iF, dict, IOobjectOption::NO_READ) { if (!isType<wedgeFvPatch>(p)) { @@ -86,21 +87,21 @@ Foam::wedgeFvsPatchField<Type>::wedgeFvsPatchField template<class Type> Foam::wedgeFvsPatchField<Type>::wedgeFvsPatchField ( - const wedgeFvsPatchField<Type>& ptf + const wedgeFvsPatchField<Type>& ptf, + const DimensionedField<Type, surfaceMesh>& iF ) : - fvsPatchField<Type>(ptf) + fvsPatchField<Type>(ptf, iF) {} template<class Type> Foam::wedgeFvsPatchField<Type>::wedgeFvsPatchField ( - const wedgeFvsPatchField<Type>& ptf, - const DimensionedField<Type, surfaceMesh>& iF + const wedgeFvsPatchField<Type>& ptf ) : - fvsPatchField<Type>(ptf, iF) + wedgeFvsPatchField<Type>(ptf, ptf.internalField()) {} diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H index 9c5ce9eb72a..aeb04ff0bc3 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,15 +28,27 @@ Class Foam::wedgeFvsPatchField Description - Foam::wedgeFvsPatchField + This boundary condition is similar to the cyclic condition, except that + it is applied to 2-D geometries. + + The "value" entry is NO_READ, NO_WRITE. + +Usage + Example of the boundary condition specification: + \verbatim + <patchName> + { + type wedge; + } + \endverbatim SourceFiles wedgeFvsPatchField.C \*---------------------------------------------------------------------------*/ -#ifndef wedgeFvsPatchField_H -#define wedgeFvsPatchField_H +#ifndef Foam_wedgeFvsPatchField_H +#define Foam_wedgeFvsPatchField_H #include "fvsPatchField.H" #include "wedgeFvPatch.H" @@ -54,7 +67,6 @@ class wedgeFvsPatchField : public fvsPatchField<Type> { - public: //- Runtime type information @@ -70,7 +82,8 @@ public: const DimensionedField<Type, surfaceMesh>& ); - //- Construct from patch, internal field and dictionary + //- Construct from patch, internal field and dictionary. + //- The "value" entry is NO_READ. wedgeFvsPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C index b197203cb22..027b488214a 100644 --- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C @@ -207,7 +207,6 @@ template<class Type> void Foam::fvsPatchField<Type>::write(Ostream& os) const { os.writeEntry("type", type()); - Field<Type>::writeEntry("value", os); } diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H index 26f2f4beb5d..ddb7dfa8b61 100644 --- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H @@ -343,13 +343,13 @@ public: const fvPatch& p, const DimensionedField<Type, surfaceMesh>& iF, const dictionary& dict, - const bool valueReqd + const bool needValue ) : fvsPatchField ( p, iF, dict, - (valueReqd? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) + (needValue? IOobjectOption::MUST_READ : IOobjectOption::NO_READ) ) {} @@ -541,7 +541,7 @@ public: {} - //- Write + //- Write the patch "type" virtual void write(Ostream& os) const; //- Check against given patch field diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation/specularRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation/specularRadiationMixedFvPatchScalarField.C index d7485533589..7b7f5c100c1 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation/specularRadiationMixedFvPatchScalarField.C +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation/specularRadiationMixedFvPatchScalarField.C @@ -449,7 +449,7 @@ void specularRadiationMixedFvPatchScalarField::write(Ostream& os) const { mixedFvPatchScalarField::write(os); os.writeEntryIfDifferent<bool>("interpolate", false, interpolate_); - this->writeEntry("value", os); + this->writeValueEntry(os); } -- GitLab From f04ccef588da5ed28225e2071999df905b0e0f06 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 19 Apr 2024 11:17:43 +0200 Subject: [PATCH 148/231] ENH: improve code consistency for {cell,face,point}Mapper (#3147) - robuster and more reliable determination of inserted objects (previous code could produce false positives). Now also determine the number of inserted objects within the constructor (instead of simply storing a bool). This allows reuse in the address calculations to reduce overheads there. BUG: dodgy short-circuit logic for insertedObjectLabels() - as a quick short-circuit it previously created as demand-driven pointer with a zero elements. However, this meant that if this code was called first (before any other addressing), subsequent calls to the addressing would fail. BUG: bad logic and lookup for faAreaMapper (#3147) - was using labelHashSet but returning a bool and set using the addressing using the unfiltered objects! This is a latent bug since interpolated/inserted faces not currently supported anyhow. ENH: use std::unique_ptr for demand-driven data --- .../pointMeshMapper/pointBoundaryMeshMapper.H | 4 +- .../pointMesh/pointMeshMapper/pointMapper.C | 296 +++++++----- .../pointMesh/pointMeshMapper/pointMapper.H | 58 ++- .../pointMeshMapper/pointMeshMapper.H | 17 +- .../pointMeshMapper/pointPatchMapper.C | 54 ++- .../pointMeshMapper/pointPatchMapper.H | 21 +- .../mapPolyMesh/cellMapper/cellMapper.C | 431 +++++++++--------- .../mapPolyMesh/cellMapper/cellMapper.H | 55 ++- .../mapPolyMesh/faceMapper/faceMapper.C | 347 +++++++------- .../mapPolyMesh/faceMapper/faceMapper.H | 54 +-- .../meshes/polyMesh/mapPolyMesh/mapPolyMesh.C | 2 +- .../meshes/polyMesh/mapPolyMesh/mapPolyMesh.H | 94 ++-- .../mapPolyMesh/objectMap/objectMap.H | 49 +- .../mapPolyMesh/objectMap/objectMapI.H | 44 +- .../faMesh/faMeshMapper/faAreaMapper.C | 244 ++++------ .../faMesh/faMeshMapper/faAreaMapper.H | 34 +- .../faMeshMapper/faBoundaryMeshMapper.H | 4 +- .../faMesh/faMeshMapper/faEdgeMapper.C | 25 +- .../faMesh/faMeshMapper/faEdgeMapper.H | 47 +- .../faMesh/faMeshMapper/faMeshMapper.C | 10 +- .../faMesh/faMeshMapper/faMeshMapper.H | 6 +- .../faMesh/faMeshMapper/faPatchMapper.C | 23 +- .../faMesh/faMeshMapper/faPatchMapper.H | 21 +- .../fvMeshMapper/fvBoundaryMeshMapper.H | 4 +- .../fvMesh/fvMeshMapper/fvMeshMapper.H | 8 +- .../fvMesh/fvMeshMapper/fvPatchMapper.C | 93 ++-- .../fvMesh/fvMeshMapper/fvPatchMapper.H | 21 +- .../fvMesh/fvMeshMapper/fvSurfaceMapper.C | 116 ++--- .../fvMesh/fvMeshMapper/fvSurfaceMapper.H | 26 +- 29 files changed, 1059 insertions(+), 1149 deletions(-) diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointBoundaryMeshMapper.H b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointBoundaryMeshMapper.H index 6c155b54016..f45bc5942a5 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointBoundaryMeshMapper.H +++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointBoundaryMeshMapper.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef pointBoundaryMeshMapper_H -#define pointBoundaryMeshMapper_H +#ifndef Foam_pointBoundaryMeshMapper_H +#define Foam_pointBoundaryMeshMapper_H #include "PtrList.H" #include "pointPatchMapper.H" diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.C b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.C index 3fba1b2c166..2daa81872c5 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.C +++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,7 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "pointMapper.H" -#include "demandDrivenData.H" #include "pointMesh.H" #include "mapPolyMesh.H" @@ -37,9 +37,9 @@ void Foam::pointMapper::calcAddressing() const if ( directAddrPtr_ - || interpolationAddrPtr_ + || interpAddrPtr_ || weightsPtr_ - || insertedPointLabelsPtr_ + || insertedObjectsPtr_ ) { FatalErrorInFunction @@ -51,160 +51,226 @@ void Foam::pointMapper::calcAddressing() const { // Direct addressing, no weights - directAddrPtr_ = new labelList(mpm_.pointMap()); - labelList& directAddr = *directAddrPtr_; + directAddrPtr_ = std::make_unique<labelList> + ( + // No retired points, so pointMap().size() == mapperLen_ anyhow + labelList::subList(mpm_.pointMap(), mapperLen_) + ); + auto& directAddr = *directAddrPtr_; - // Not necessary to resize the list as there are no retired points - // directAddr.setSize(pMesh_.size()); + insertedObjectsPtr_ = std::make_unique<labelList>(); + auto& inserted = *insertedObjectsPtr_; - insertedPointLabelsPtr_ = new labelList(pMesh_.size()); - labelList& insertedPoints = *insertedPointLabelsPtr_; - - label nInsertedPoints = 0; - - forAll(directAddr, pointi) + // The nInsertedObjects_ already counted in the constructor + if (nInsertedObjects_) { - if (directAddr[pointi] < 0) + inserted.resize(nInsertedObjects_); + + label nInserted = 0; + forAll(directAddr, i) { - // Found inserted point - directAddr[pointi] = 0; - insertedPoints[nInsertedPoints] = pointi; - nInsertedPoints++; + if (directAddr[i] < 0) + { + // Found inserted + directAddr[i] = 0; + inserted[nInserted] = i; + ++nInserted; + + // TBD: check (nInsertedObjects_ < nInserted)? + #ifdef FULLDEBUG + if (nInsertedObjects_ < nInserted) + { + FatalErrorInFunction + << "Unexpected insert of more than " + << nInsertedObjects_ << " items\n" + << abort(FatalError); + } + #endif + } } + // TBD: check (nInserted < nInsertedObjects_)? + #ifdef FULLDEBUG + if (nInserted < nInsertedObjects_) + { + WarningInFunction + << "Found " << nInserted << " instead of " + << nInsertedObjects_ << " items to insert\n"; + } + #endif + // The resize should be unnecessary + inserted.resize(nInserted); } - - insertedPoints.setSize(nInsertedPoints); } else { // Interpolative addressing - interpolationAddrPtr_ = new labelListList(pMesh_.size()); - labelListList& addr = *interpolationAddrPtr_; + interpAddrPtr_ = std::make_unique<labelListList>(mapperLen_); + auto& addr = *interpAddrPtr_; - weightsPtr_ = new scalarListList(pMesh_.size()); - scalarListList& w = *weightsPtr_; + weightsPtr_ = std::make_unique<scalarListList>(mapperLen_); + auto& wght = *weightsPtr_; - // Points created from other points (i.e. points merged into it). - const List<objectMap>& cfc = mpm_.pointsFromPointsMap(); - forAll(cfc, cfcI) + // Set the addressing and uniform weight + const auto setAddrWeights = [&] + ( + const List<objectMap>& maps, + const char * const nameOfMap + ) { - // Get addressing - const labelList& mo = cfc[cfcI].masterObjects(); - - label pointi = cfc[cfcI].index(); - - if (addr[pointi].size()) + for (const objectMap& map : maps) { - FatalErrorInFunction - << "Master point " << pointi - << " mapped from points " << mo - << " already destination of mapping." << abort(FatalError); + // Get index, addressing + const label pointi = map.index(); + const labelList& mo = map.masterObjects(); + if (mo.empty()) continue; // safety + + if (addr[pointi].size()) + { + FatalErrorInFunction + << "Master point " << pointi + << " already mapped, cannot apply " + << nameOfMap + << flatOutput(mo) << abort(FatalError); + } + + // Map from masters, uniform weights + addr[pointi] = mo; + wght[pointi] = scalarList(mo.size(), 1.0/mo.size()); } + }; - // Map from masters, uniform weights - addr[pointi] = mo; - w[pointi] = scalarList(mo.size(), 1.0/mo.size()); - } + // Points created from other points (i.e. points merged into it). + + setAddrWeights(mpm_.pointsFromPointsMap(), "point points"); - // Do mapped points. Note that can already be set from pointsFromPoints - // so check if addressing size still zero. - const labelList& cm = mpm_.pointMap(); + // Do mapped points. + // - may already have been set, so check if addressing still empty(). - forAll(cm, pointi) { - if (cm[pointi] > -1 && addr[pointi].empty()) + const labelList& map = mpm_.pointMap(); + + for (label pointi = 0; pointi < mapperLen_; ++pointi) { - // Mapped from a single point - addr[pointi] = labelList(1, cm[pointi]); - w[pointi] = scalarList(1, scalar(1)); + const label mappedi = map[pointi]; + + if (mappedi >= 0 && addr[pointi].empty()) + { + // Mapped from a single point + addr[pointi].resize(1, mappedi); + wght[pointi].resize(1, 1.0); + } } } // Grab inserted points (for them the size of addressing is still zero) - insertedPointLabelsPtr_ = new labelList(pMesh_.size()); - labelList& insertedPoints = *insertedPointLabelsPtr_; - - label nInsertedPoints = 0; + insertedObjectsPtr_ = std::make_unique<labelList>(); + auto& inserted = *insertedObjectsPtr_; - forAll(addr, pointi) + // The nInsertedObjects_ already counted in the constructor + if (nInsertedObjects_) { - if (addr[pointi].empty()) - { - // Mapped from a dummy point. Take point 0 with weight 1. - addr[pointi] = labelList(1, Zero); - w[pointi] = scalarList(1, scalar(1)); + inserted.resize(nInsertedObjects_); - insertedPoints[nInsertedPoints] = pointi; - nInsertedPoints++; + label nInserted = 0; + forAll(addr, i) + { + if (addr[i].empty()) + { + // Mapped from dummy point 0 + addr[i].resize(1, 0); + wght[i].resize(1, 1.0); + + inserted[nInserted] = i; + ++nInserted; + + // TBD: check (nInsertedObjects_ < nInserted)? + #ifdef FULLDEBUG + if (nInsertedObjects_ < nInserted) + { + FatalErrorInFunction + << "Unexpected insert of more than " + << nInsertedObjects_ << " items\n" + << abort(FatalError); + } + #endif + } } + // TBD: check (nInserted < nInsertedObjects_)? + #ifdef FULLDEBUG + if (nInserted < nInsertedObjects_) + { + WarningInFunction + << "Found " << nInserted << " instead of " + << nInsertedObjects_ << " items to insert\n"; + } + #endif + // The resize should be unnecessary + inserted.resize(nInserted); } - - insertedPoints.setSize(nInsertedPoints); } } -void Foam::pointMapper::clearOut() -{ - deleteDemandDrivenData(directAddrPtr_); - deleteDemandDrivenData(interpolationAddrPtr_); - deleteDemandDrivenData(weightsPtr_); - deleteDemandDrivenData(insertedPointLabelsPtr_); -} +// void Foam::pointMapper::clearOut() +// { +// directAddrPtr_.reset(nullptr); +// interpAddrPtr_.reset(nullptr); +// weightsPtr_.reset(nullptr); +// insertedObjectsPtr_.reset(nullptr); +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::pointMapper::pointMapper(const pointMesh& pMesh, const mapPolyMesh& mpm) : - pMesh_(pMesh), mpm_(mpm), - insertedPoints_(true), - direct_(false), - directAddrPtr_(nullptr), - interpolationAddrPtr_(nullptr), - weightsPtr_(nullptr), - insertedPointLabelsPtr_(nullptr) + mapperLen_(pMesh.size()), + nInsertedObjects_(0), + direct_ + ( + // Mapping without interpolation? + mpm.pointsFromPointsMap().empty() + ) { - // Check for possibility of direct mapping - if (mpm_.pointsFromPointsMap().empty()) + const auto& directMap = mpm_.pointMap(); + + if (!mapperLen_) { + // Empty mesh direct_ = true; + nInsertedObjects_ = 0; } - else - { - direct_ = false; - } - - // Check for inserted points - if (direct_ && (mpm_.pointMap().empty() || min(mpm_.pointMap()) > -1)) + else if (direct_) { - insertedPoints_ = false; + // Number of inserted points (-ve values) + nInsertedObjects_ = std::count_if + ( + directMap.cbegin(), + directMap.cbegin(mapperLen_), + [](label i) { return (i < 0); } + ); } else { - //Check if there are inserted points with no owner + // Check if there are inserted points with no owner + // (check all lists) - // Make a copy of the point map, add the entries for points from points - // and check for left-overs - labelList cm(pMesh_.size(), -1); + bitSet unmapped(mapperLen_, true); - const List<objectMap>& cfc = mpm_.pointsFromPointsMap(); + unmapped.unset(directMap); // direct mapped - forAll(cfc, cfcI) + for (const objectMap& map : mpm_.pointsFromPointsMap()) { - cm[cfc[cfcI].index()] = 0; + if (!map.empty()) unmapped.unset(map.index()); } - if (min(cm) < 0) - { - insertedPoints_ = true; - } + nInsertedObjects_ = label(unmapped.count()); } } @@ -212,15 +278,14 @@ Foam::pointMapper::pointMapper(const pointMesh& pMesh, const mapPolyMesh& mpm) // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::pointMapper::~pointMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::label Foam::pointMapper::size() const { + // OR: return mapperLen_; return mpm_.pointMap().size(); } @@ -266,12 +331,12 @@ const Foam::labelListList& Foam::pointMapper::addressing() const << abort(FatalError); } - if (!interpolationAddrPtr_) + if (!interpAddrPtr_) { calcAddressing(); } - return *interpolationAddrPtr_; + return *interpAddrPtr_; } @@ -295,30 +360,19 @@ const Foam::scalarListList& Foam::pointMapper::weights() const const Foam::labelList& Foam::pointMapper::insertedObjectLabels() const { - if (!insertedPointLabelsPtr_) + if (!insertedObjectsPtr_) { - if (!insertedObjects()) + if (!nInsertedObjects_) { - // There are no inserted points - insertedPointLabelsPtr_ = new labelList(0); - } - else - { - calcAddressing(); + // No inserted objects will be created + return labelList::null(); } + + calcAddressing(); } - return *insertedPointLabelsPtr_; + return *insertedObjectsPtr_; } -// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // - - // ************************************************************************* // diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.H b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.H index 1e33711871a..7783e6b3616 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.H +++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef pointMapper_H -#define pointMapper_H +#ifndef Foam_pointMapper_H +#define Foam_pointMapper_H #include "morphFieldMapper.H" @@ -46,10 +47,9 @@ SourceFiles namespace Foam { -// Forward declaration of classes -class pointMesh; +// Forward Declarations class mapPolyMesh; -class polyMesh; +class pointMesh; /*---------------------------------------------------------------------------*\ Class pointMapper Declaration @@ -59,38 +59,45 @@ class pointMapper : public morphFieldMapper { - // Private data - - //- Reference to pointMesh - const pointMesh& pMesh_; + // Private Data //- Reference to mapPolyMesh const mapPolyMesh& mpm_; - //- Are there any inserted (unmapped) points - bool insertedPoints_; + //- The size of the mapper = pointMesh::size() + const label mapperLen_; + + //- Number of inserted (unmapped) points + label nInsertedObjects_; //- Is the mapping direct bool direct_; - // Demand-driven private data + // Demand-Driven Data //- Direct addressing (only one for of addressing is used) - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; //- Interpolated addressing (only one for of addressing is used) - mutable labelListList* interpolationAddrPtr_; + mutable std::unique_ptr<labelListList> interpAddrPtr_; //- Interpolation weights - mutable scalarListList* weightsPtr_; + mutable std::unique_ptr<scalarListList> weightsPtr_; //- Inserted points - mutable labelList* insertedPointLabelsPtr_; + mutable std::unique_ptr<labelList> insertedObjectsPtr_; // Private Member Functions + //- Calculate addressing for mapping with inserted points + void calcAddressing() const; + +public: + + // Generated Methods + //- No copy construct pointMapper(const pointMapper&) = delete; @@ -98,28 +105,20 @@ class pointMapper void operator=(const pointMapper&) = delete; - //- Calculate addressing for mapping with inserted points - void calcAddressing() const; - - //- Clear out local storage - void clearOut(); - - -public: - // Constructors //- Construct from mapPolyMesh pointMapper(const pointMesh&, const mapPolyMesh& mpm); + //- Destructor virtual ~pointMapper(); // Member Functions - //- Return size + //- The mapper size virtual label size() const; //- Return size before mapping @@ -131,8 +130,7 @@ public: return direct_; } - //- Are there unmapped values? I.e. do all size() elements get - // get value + //- Are there unmapped values? i.e. do all size() elements get value virtual bool hasUnmapped() const { return insertedObjects(); @@ -148,9 +146,9 @@ public: virtual const scalarListList& weights() const; //- Are there any inserted points - bool insertedObjects() const + bool insertedObjects() const noexcept { - return insertedPoints_; + return bool(nInsertedObjects_); } //- Return list of inserted points diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMeshMapper.H b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMeshMapper.H index 54e18c664ea..f6cb2592620 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMeshMapper.H +++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMeshMapper.H @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef pointMeshMapper_H -#define pointMeshMapper_H +#ifndef Foam_pointMeshMapper_H +#define Foam_pointMeshMapper_H #include "pointMapper.H" #include "pointBoundaryMeshMapper.H" @@ -46,7 +46,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes +// Forward Declarations class pointMesh; class mapPolyMesh; @@ -56,7 +56,7 @@ class mapPolyMesh; class pointMeshMapper { - // Private data + // Private Data //- Reference to mesh const pointMesh& mesh_; @@ -92,28 +92,27 @@ public: // Member Functions - //- Return reference to mesh fields belong to - const pointMesh& mesh() const + const pointMesh& mesh() const noexcept { return mesh_; } //- Return reference to objectRegistry storing fields. Can be // removed once fields stored on pointMesh. - const objectRegistry& thisDb() const + const objectRegistry& thisDb() const noexcept { return mesh_(); } //- Return point mapper - const morphFieldMapper& pointMap() const + const morphFieldMapper& pointMap() const noexcept { return pointMap_; } //- Return boundary mapper - const pointBoundaryMeshMapper& boundaryMap() const + const pointBoundaryMeshMapper& boundaryMap() const noexcept { return boundaryMap_; } diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.C b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.C index e9a18985c0e..2e6a2d7c4ff 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.C +++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,7 +30,6 @@ License #include "pointPatch.H" #include "mapPolyMesh.H" #include "faceMapper.H" -#include "demandDrivenData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -38,7 +38,7 @@ void Foam::pointPatchMapper::calcAddressing() const if ( directAddrPtr_ - || interpolationAddrPtr_ + || interpAddrPtr_ || weightsPtr_ ) { @@ -52,8 +52,11 @@ void Foam::pointPatchMapper::calcAddressing() const if (direct()) { // Direct mapping. - directAddrPtr_ = new labelList(mpm_.patchPointMap()[patch_.index()]); - labelList& addr = *directAddrPtr_; + directAddrPtr_ = std::make_unique<labelList> + ( + mpm_.patchPointMap()[patch_.index()] + ); + auto& addr = *directAddrPtr_; forAll(addr, i) { @@ -73,11 +76,11 @@ void Foam::pointPatchMapper::calcAddressing() const // patch points. Problem is we don't know what points were in the patch // for points that were merged. - interpolationAddrPtr_ = new labelListList(size()); - labelListList& addr = *interpolationAddrPtr_; + interpAddrPtr_ = std::make_unique<labelListList>(size()); + auto& addr = *interpAddrPtr_; - weightsPtr_ = new scalarListList(addr.size()); - scalarListList& w = *weightsPtr_; + weightsPtr_ = std::make_unique<scalarListList>(addr.size()); + auto& wght = *weightsPtr_; const labelList& ppm = mpm_.patchPointMap()[patch_.index()]; @@ -85,15 +88,15 @@ void Foam::pointPatchMapper::calcAddressing() const { if (ppm[i] >= 0) { - addr[i] = labelList(1, ppm[i]); - w[i] = scalarList(1, scalar(1)); + addr[i].resize(1, ppm[i]); + wght[i].resize(1, 1.0); } else { // Inserted point. ///// Map from point0 (arbitrary choice) - //addr[i] = labelList(1, Zero); - //w[i] = scalarList(1, scalar(1)); + //addr[i].resize(1, 0); + //wght[i].resize(1, 1.0); hasUnmapped_ = true; } } @@ -101,13 +104,13 @@ void Foam::pointPatchMapper::calcAddressing() const } -void Foam::pointPatchMapper::clearOut() -{ - deleteDemandDrivenData(directAddrPtr_); - deleteDemandDrivenData(interpolationAddrPtr_); - deleteDemandDrivenData(weightsPtr_); - hasUnmapped_ = false; -} +// void Foam::pointPatchMapper::clearOut() +// { +// directAddrPtr_.reset(nullptr); +// interpAddrPtr_.reset(nullptr); +// weightsPtr_.reset(nullptr); +// hasUnmapped_ = false; +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -129,19 +132,14 @@ Foam::pointPatchMapper::pointPatchMapper ? mpm_.oldPatchNMeshPoints()[patch_.index()] : 0 ), - hasUnmapped_(false), - directAddrPtr_(nullptr), - interpolationAddrPtr_(nullptr), - weightsPtr_(nullptr) + hasUnmapped_(false) {} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::pointPatchMapper::~pointPatchMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -173,12 +171,12 @@ const Foam::labelListList& Foam::pointPatchMapper::addressing() const << abort(FatalError); } - if (!interpolationAddrPtr_) + if (!interpAddrPtr_) { calcAddressing(); } - return *interpolationAddrPtr_; + return *interpAddrPtr_; } diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.H b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.H index c79491970f2..e9570dbad3b 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.H +++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef pointPatchMapper_H -#define pointPatchMapper_H +#ifndef Foam_pointPatchMapper_H +#define Foam_pointPatchMapper_H #include "pointMapper.H" #include "pointPatchFieldMapper.H" @@ -47,7 +48,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes +// Forward Declarations class pointPatch; class mapPolyMesh; @@ -59,7 +60,7 @@ class pointPatchMapper : public pointPatchFieldMapper { - // Private data + // Private Data //- Reference to patch const pointPatch& patch_; @@ -74,18 +75,18 @@ class pointPatchMapper const label sizeBeforeMapping_; - // Demand-driven private data + // Demand-driven Data mutable bool hasUnmapped_; //- Direct addressing (only one for of addressing is used) - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; //- Interpolated addressing (only one for of addressing is used) - mutable labelListList* interpolationAddrPtr_; + mutable std::unique_ptr<labelListList> interpAddrPtr_; //- Interpolation weights - mutable scalarListList* weightsPtr_; + mutable std::unique_ptr<scalarListList> weightsPtr_; // Private Member Functions @@ -100,9 +101,6 @@ class pointPatchMapper //- Calculate addressing for mapping with inserted cells void calcAddressing() const; - //- Clear out local storage - void clearOut(); - public: @@ -156,7 +154,6 @@ public: //- Return interpolaion weights virtual const scalarListList& weights() const; - }; diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.C index fd277b511df..4ac6c44ad10 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,7 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "cellMapper.H" -#include "demandDrivenData.H" #include "polyMesh.H" #include "mapPolyMesh.H" @@ -37,9 +37,9 @@ void Foam::cellMapper::calcAddressing() const if ( directAddrPtr_ - || interpolationAddrPtr_ + || interpAddrPtr_ || weightsPtr_ - || insertedCellLabelsPtr_ + || insertedObjectsPtr_ ) { FatalErrorInFunction @@ -51,129 +51,105 @@ void Foam::cellMapper::calcAddressing() const { // Direct addressing, no weights - directAddrPtr_ = new labelList(mpm_.cellMap()); - labelList& directAddr = *directAddrPtr_; + directAddrPtr_ = std::make_unique<labelList> + ( + // No retired cells, so cellMap().size() == mapperLen_ anyhow + labelList::subList(mpm_.cellMap(), mapperLen_) + ); + auto& directAddr = *directAddrPtr_; - // Not necessary to resize the list as there are no retired cells - // directAddr.setSize(mesh_.nCells()); + insertedObjectsPtr_ = std::make_unique<labelList>(); + auto& inserted = *insertedObjectsPtr_; - insertedCellLabelsPtr_ = new labelList(mesh_.nCells()); - labelList& insertedCells = *insertedCellLabelsPtr_; - - label nInsertedCells = 0; - - forAll(directAddr, celli) + // The nInsertedObjects_ already counted in the constructor + if (nInsertedObjects_) { - if (directAddr[celli] < 0) + inserted.resize(nInsertedObjects_); + + label nInserted = 0; + forAll(directAddr, i) + { + if (directAddr[i] < 0) + { + // Found inserted + directAddr[i] = 0; + inserted[nInserted] = i; + ++nInserted; + + // TBD: check (nInsertedObjects_ < nInserted)? + #ifdef FULLDEBUG + if (nInsertedObjects_ < nInserted) + { + FatalErrorInFunction + << "Unexpected insert of more than " + << nInsertedObjects_ << " items\n" + << abort(FatalError); + } + #endif + } + } + // TBD: check (nInserted < nInsertedObjects_)? + #ifdef FULLDEBUG + if (nInserted < nInsertedObjects_) { - // Found inserted cell - directAddr[celli] = 0; - insertedCells[nInsertedCells] = celli; - nInsertedCells++; + WarningInFunction + << "Found " << nInserted << " instead of " + << nInsertedObjects_ << " items to insert\n"; } + #endif + // The resize should be unnecessary + inserted.resize(nInserted); } - - insertedCells.setSize(nInsertedCells); } else { // Interpolative addressing - interpolationAddrPtr_ = new labelListList(mesh_.nCells()); - labelListList& addr = *interpolationAddrPtr_; + interpAddrPtr_ = std::make_unique<labelListList>(mapperLen_); + auto& addr = *interpAddrPtr_; - weightsPtr_ = new scalarListList(mesh_.nCells()); - scalarListList& w = *weightsPtr_; + weightsPtr_ = std::make_unique<scalarListList>(mapperLen_); + auto& wght = *weightsPtr_; - const List<objectMap>& cfp = mpm_.cellsFromPointsMap(); - forAll(cfp, cfpI) + // Set the addressing and uniform weight + const auto setAddrWeights = [&] + ( + const List<objectMap>& maps, + const char * const nameOfMap + ) { - // Get addressing - const labelList& mo = cfp[cfpI].masterObjects(); - - label celli = cfp[cfpI].index(); - - if (addr[celli].size()) + for (const objectMap& map : maps) { - FatalErrorInFunction - << "Master cell " << celli - << " mapped from point cells " << mo - << " already destination of mapping." << abort(FatalError); - } - - // Map from masters, uniform weights - addr[celli] = mo; - w[celli] = scalarList(mo.size(), 1.0/mo.size()); - } - - const List<objectMap>& cfe = mpm_.cellsFromEdgesMap(); - - forAll(cfe, cfeI) - { - // Get addressing - const labelList& mo = cfe[cfeI].masterObjects(); + // Get index, addressing + const label celli = map.index(); + const labelList& mo = map.masterObjects(); + if (mo.empty()) continue; // safety - label celli = cfe[cfeI].index(); + if (addr[celli].size()) + { + FatalErrorInFunction + << "Master cell " << celli + << " already mapped, cannot apply " + << nameOfMap + << flatOutput(mo) << abort(FatalError); + } - if (addr[celli].size()) - { - FatalErrorInFunction - << "Master cell " << celli - << " mapped from edge cells " << mo - << " already destination of mapping." << abort(FatalError); + // Map from masters, uniform weights + addr[celli] = mo; + wght[celli] = scalarList(mo.size(), 1.0/mo.size()); } + }; - // Map from masters, uniform weights - addr[celli] = mo; - w[celli] = scalarList(mo.size(), 1.0/mo.size()); - } - - const List<objectMap>& cff = mpm_.cellsFromFacesMap(); - - forAll(cff, cffI) - { - // Get addressing - const labelList& mo = cff[cffI].masterObjects(); - - label celli = cff[cffI].index(); - - if (addr[celli].size()) - { - FatalErrorInFunction - << "Master cell " << celli - << " mapped from face cells " << mo - << " already destination of mapping." << abort(FatalError); - } - // Map from masters, uniform weights - addr[celli] = mo; - w[celli] = scalarList(mo.size(), 1.0/mo.size()); - } + setAddrWeights(mpm_.cellsFromPointsMap(), "point cells"); + setAddrWeights(mpm_.cellsFromEdgesMap(), "edge cells"); + setAddrWeights(mpm_.cellsFromFacesMap(), "face cells"); // Volume conservative mapping if possible - const List<objectMap>& cfc = mpm_.cellsFromCellsMap(); - - forAll(cfc, cfcI) - { - // Get addressing - const labelList& mo = cfc[cfcI].masterObjects(); - - label celli = cfc[cfcI].index(); - - if (addr[celli].size()) - { - FatalErrorInFunction - << "Master cell " << celli - << " mapped from cell cells " << mo - << " already destination of mapping." - << abort(FatalError); - } - - // Map from masters - addr[celli] = mo; - } + const List<objectMap>& cellsFromCells = mpm_.cellsFromCellsMap(); + setAddrWeights(cellsFromCells, "cell cells"); if (mpm_.hasOldCellVolumes()) { @@ -185,182 +161,188 @@ void Foam::cellMapper::calcAddressing() const { FatalErrorInFunction << "cellVolumes size " << V.size() - << " is not the old number of cells " << sizeBeforeMapping() + << " != old number of cells " << sizeBeforeMapping() << ". Are your cellVolumes already mapped?" << " (new number of cells " << size() << ")" << abort(FatalError); } - forAll(cfc, cfcI) + for (const auto& map : cellsFromCells) { - const labelList& mo = cfc[cfcI].masterObjects(); - - label celli = cfc[cfcI].index(); + // Get index, addressing + const label celli = map.index(); + const labelList& mo = map.masterObjects(); + if (mo.empty()) continue; // safety - w[celli].setSize(mo.size()); + // wght[celli] is already sized and uniform weighted + auto& wght_cell = wght[celli]; - if (mo.size()) + scalar sumV = 0; + forAll(mo, ci) { - scalar sumV = 0; - forAll(mo, ci) - { - w[celli][ci] = V[mo[ci]]; - sumV += V[mo[ci]]; - } - if (sumV > VSMALL) - { - forAll(mo, ci) - { - w[celli][ci] /= sumV; - } - } - else + wght_cell[ci] = V[mo[ci]]; + sumV += V[mo[ci]]; + } + if (sumV > VSMALL) + { + for (auto& w : wght_cell) { - // Exception: zero volume. Use uniform mapping - w[celli] = scalarList(mo.size(), 1.0/mo.size()); + w /= sumV; } } + else + { + // Exception: zero volume. Use uniform mapping + wght_cell = (1.0/mo.size()); + } } } - else + + + // Do mapped cells. + // - may already have been set, so check if addressing still empty(). + { - // Uniform weighted + const labelList& map = mpm_.cellMap(); - forAll(cfc, cfcI) + // The cellMap.size() == nCells() anyhow + for (label celli = 0; celli < mapperLen_; ++celli) { - const labelList& mo = cfc[cfcI].masterObjects(); - - label celli = cfc[cfcI].index(); + const label mappedi = map[celli]; - w[celli] = scalarList(mo.size(), 1.0/mo.size()); + if (mappedi >= 0 && addr[celli].empty()) + { + // Mapped from a single cell + addr[celli].resize(1, mappedi); + wght[celli].resize(1, 1.0); + } } } - // Do mapped faces. Note that can already be set from cellsFromCells - // so check if addressing size still zero. + // Grab inserted points (for them the size of addressing is still zero) - const labelList& cm = mpm_.cellMap(); + insertedObjectsPtr_ = std::make_unique<labelList>(); + auto& inserted = *insertedObjectsPtr_; - forAll(cm, celli) + // The nInsertedObjects_ already counted in the constructor + if (nInsertedObjects_) { - if (cm[celli] > -1 && addr[celli].empty()) - { - // Mapped from a single cell - addr[celli] = labelList(1, cm[celli]); - w[celli] = scalarList(1, 1.0); - } - } - - // Grab inserted points (for them the size of addressing is still zero) + inserted.resize(nInsertedObjects_); - insertedCellLabelsPtr_ = new labelList(mesh_.nCells()); - labelList& insertedCells = *insertedCellLabelsPtr_; + label nInserted = 0; + forAll(addr, i) + { + if (addr[i].empty()) + { + // Mapped from dummy cell 0 + addr[i].resize(1, 0); + wght[i].resize(1, 1.0); - label nInsertedCells = 0; + inserted[nInserted] = i; + ++nInserted; - forAll(addr, celli) - { - if (addr[celli].empty()) + // TBD: check (nInsertedObjects_ < nInserted)? + #ifdef FULLDEBUG + if (nInsertedObjects_ < nInserted) + { + FatalErrorInFunction + << "Unexpected insert of more than " + << nInsertedObjects_ << " items\n" + << abort(FatalError); + } + #endif + } + } + // TBD: check (nInserted < nInsertedObjects_)? + #ifdef FULLDEBUG + if (nInserted < nInsertedObjects_) { - // Mapped from a dummy cell - addr[celli] = labelList(1, Zero); - w[celli] = scalarList(1, scalar(1)); - - insertedCells[nInsertedCells] = celli; - nInsertedCells++; + WarningInFunction + << "Found " << nInserted << " instead of " + << nInsertedObjects_ << " items to insert\n"; } + #endif + // The resize should be unnecessary + inserted.resize(nInserted); } - - insertedCells.setSize(nInsertedCells); } } -void Foam::cellMapper::clearOut() -{ - deleteDemandDrivenData(directAddrPtr_); - deleteDemandDrivenData(interpolationAddrPtr_); - deleteDemandDrivenData(weightsPtr_); - deleteDemandDrivenData(insertedCellLabelsPtr_); -} +// void Foam::cellMapper::clearOut() +// { +// directAddrPtr_.reset(nullptr); +// interpAddrPtr_.reset(nullptr); +// weightsPtr_.reset(nullptr); +// insertedObjectsPtr_.reset(nullptr); +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::cellMapper::cellMapper(const mapPolyMesh& mpm) : - mesh_(mpm.mesh()), mpm_(mpm), - insertedCells_(true), - direct_(false), - directAddrPtr_(nullptr), - interpolationAddrPtr_(nullptr), - weightsPtr_(nullptr), - insertedCellLabelsPtr_(nullptr) -{ - // Check for possibility of direct mapping - if + mapperLen_(mpm.mesh().nCells()), + nInsertedObjects_(0), + direct_ ( - mpm_.cellsFromPointsMap().empty() - && mpm_.cellsFromEdgesMap().empty() - && mpm_.cellsFromFacesMap().empty() - && mpm_.cellsFromCellsMap().empty() + // Mapping without interpolation? + mpm.cellsFromPointsMap().empty() + && mpm.cellsFromEdgesMap().empty() + && mpm.cellsFromFacesMap().empty() + && mpm.cellsFromCellsMap().empty() ) +{ + const auto& directMap = mpm_.cellMap(); + + if (!mapperLen_) { + // Empty mesh direct_ = true; + nInsertedObjects_ = 0; } - else - { - direct_ = false; - } - - // Check for inserted cells - if (direct_ && (mpm_.cellMap().empty() || min(mpm_.cellMap()) > -1)) + else if (direct_) { - insertedCells_ = false; + // Number of inserted cells (-ve values) + nInsertedObjects_ = std::count_if + ( + directMap.cbegin(), + directMap.cbegin(mapperLen_), + [](label i) { return (i < 0); } + ); } else { - // Need to check all 3 lists to see if there are inserted cells - // with no owner + // Check if there are inserted cells with no owner + // (check all lists) - // Make a copy of the cell map, add the entried for cells from points, - // cells from edges and cells from faces and check for left-overs - labelList cm(mesh_.nCells(), -1); + bitSet unmapped(mapperLen_, true); - const List<objectMap>& cfp = mpm_.cellsFromPointsMap(); + unmapped.unset(directMap); // direct mapped - forAll(cfp, cfpI) + for (const auto& map : mpm_.cellsFromPointsMap()) { - cm[cfp[cfpI].index()] = 0; + if (!map.empty()) unmapped.unset(map.index()); } - const List<objectMap>& cfe = mpm_.cellsFromEdgesMap(); - - forAll(cfe, cfeI) + for (const auto& map : mpm_.cellsFromEdgesMap()) { - cm[cfe[cfeI].index()] = 0; + if (!map.empty()) unmapped.unset(map.index()); } - const List<objectMap>& cff = mpm_.cellsFromFacesMap(); - - forAll(cff, cffI) + for (const auto& map : mpm_.cellsFromFacesMap()) { - cm[cff[cffI].index()] = 0; + if (!map.empty()) unmapped.unset(map.index()); } - const List<objectMap>& cfc = mpm_.cellsFromCellsMap(); - - forAll(cfc, cfcI) + for (const auto& map : mpm_.cellsFromCellsMap()) { - cm[cfc[cfcI].index()] = 0; + if (!map.empty()) unmapped.unset(map.index()); } - if (min(cm) < 0) - { - insertedCells_ = true; - } + nInsertedObjects_ = label(unmapped.count()); } } @@ -368,15 +350,14 @@ Foam::cellMapper::cellMapper(const mapPolyMesh& mpm) // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::cellMapper::~cellMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::label Foam::cellMapper::size() const { + // OR: return mapperLen_; return mpm_.cellMap().size(); } @@ -422,12 +403,12 @@ const Foam::labelListList& Foam::cellMapper::addressing() const << abort(FatalError); } - if (!interpolationAddrPtr_) + if (!interpAddrPtr_) { calcAddressing(); } - return *interpolationAddrPtr_; + return *interpAddrPtr_; } @@ -451,20 +432,18 @@ const Foam::scalarListList& Foam::cellMapper::weights() const const Foam::labelList& Foam::cellMapper::insertedObjectLabels() const { - if (!insertedCellLabelsPtr_) + if (!insertedObjectsPtr_) { - if (!insertedObjects()) + if (!nInsertedObjects_) { - // There are no inserted cells - insertedCellLabelsPtr_ = new labelList(0); - } - else - { - calcAddressing(); + // No inserted objects will be created + return labelList::null(); } + + calcAddressing(); } - return *insertedCellLabelsPtr_; + return *insertedObjectsPtr_; } diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.H index 60eaedd82a3..649b70dab99 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cellMapper_H -#define cellMapper_H +#ifndef Foam_cellMapper_H +#define Foam_cellMapper_H #include "morphFieldMapper.H" @@ -46,8 +47,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes -class polyMesh; +// Forward Declarations class mapPolyMesh; /*---------------------------------------------------------------------------*\ @@ -58,60 +58,56 @@ class cellMapper : public morphFieldMapper { - // Private data - - //- Reference to polyMesh - const polyMesh& mesh_; + // Private Data //- Reference to mapPolyMesh const mapPolyMesh& mpm_; - //- Are there any inserted (unmapped) cells - bool insertedCells_; + //- The size of the mapper = polyMesh::nCells() + const label mapperLen_; + + //- Number of inserted (unmapped) cells + label nInsertedObjects_; //- Is the mapping direct bool direct_; - // Demand-driven private data + // Demand-Driven Data //- Direct addressing (only one for of addressing is used) - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; //- Interpolated addressing (only one for of addressing is used) - mutable labelListList* interpolationAddrPtr_; + mutable std::unique_ptr<labelListList> interpAddrPtr_; //- Interpolation weights - mutable scalarListList* weightsPtr_; + mutable std::unique_ptr<scalarListList> weightsPtr_; //- Inserted cells - mutable labelList* insertedCellLabelsPtr_; + mutable std::unique_ptr<labelList> insertedObjectsPtr_; // Private Member Functions - //- No copy construct - cellMapper(const cellMapper&) = delete; - - //- No copy assignment - void operator=(const cellMapper&) = delete; - - //- Calculate addressing for mapping with inserted cells void calcAddressing() const; - //- Clear out local storage - void clearOut(); +public: + // Generated Methods -public: + //- No copy construct + cellMapper(const cellMapper&) = delete; + + //- No copy assignment + void operator=(const cellMapper&) = delete; - // Static data members // Constructors //- Construct from mapPolyMesh - cellMapper(const mapPolyMesh& mpm); + explicit cellMapper(const mapPolyMesh& mpm); //- Destructor @@ -120,7 +116,7 @@ public: // Member Functions - //- Return size + //- The mapper size virtual label size() const; //- Return size before mapping @@ -132,6 +128,7 @@ public: return direct_; } + //- Are there unmapped values? virtual bool hasUnmapped() const { return insertedObjects(); @@ -149,7 +146,7 @@ public: //- Are there any inserted cells virtual bool insertedObjects() const { - return insertedCells_; + return bool(nInsertedObjects_); } //- Return list of inserted cells diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C index 7745f659049..d638fe3efc6 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,7 +27,6 @@ License \*---------------------------------------------------------------------------*/ #include "faceMapper.H" -#include "demandDrivenData.H" #include "polyMesh.H" #include "mapPolyMesh.H" @@ -37,9 +37,9 @@ void Foam::faceMapper::calcAddressing() const if ( directAddrPtr_ - || interpolationAddrPtr_ + || interpAddrPtr_ || weightsPtr_ - || insertedFaceLabelsPtr_ + || insertedObjectsPtr_ ) { FatalErrorInFunction @@ -51,223 +51,240 @@ void Foam::faceMapper::calcAddressing() const { // Direct addressing, no weights - directAddrPtr_ = new labelList(mpm_.faceMap()); - labelList& directAddr = *directAddrPtr_; + // Restrict addressing list to contain only live faces + directAddrPtr_ = std::make_unique<labelList> + ( + labelList::subList(mpm_.faceMap(), mapperLen_) + ); + auto& directAddr = *directAddrPtr_; - // Reset the size of addressing list to contain only live faces - directAddr.setSize(mesh_.nFaces()); + insertedObjectsPtr_ = std::make_unique<labelList>(); + auto& inserted = *insertedObjectsPtr_; - insertedFaceLabelsPtr_ = new labelList(mesh_.nFaces()); - labelList& insertedFaces = *insertedFaceLabelsPtr_; - - label nInsertedFaces = 0; - - forAll(directAddr, facei) + // The nInsertedObjects_ already counted in the constructor + if (nInsertedObjects_) { - if (directAddr[facei] < 0) + inserted.resize(nInsertedObjects_); + + label nInserted = 0; + forAll(directAddr, i) { - // Found inserted face - directAddr[facei] = 0; - insertedFaces[nInsertedFaces] = facei; - nInsertedFaces++; + if (directAddr[i] < 0) + { + // Found inserted + directAddr[i] = 0; + inserted[nInserted] = i; + ++nInserted; + + // TBD: check (nInsertedObjects_ < nInserted)? + #ifdef FULLDEBUG + if (nInsertedObjects_ < nInserted) + { + FatalErrorInFunction + << "Unexpected insert of more than " + << nInsertedObjects_ << " items\n" + << abort(FatalError); + } + #endif + } } + // TBD: check (nInserted < nInsertedObjects_)? + #ifdef FULLDEBUG + if (nInserted < nInsertedObjects_) + { + WarningInFunction + << "Found " << nInserted << " instead of " + << nInsertedObjects_ << " items to insert\n"; + } + #endif + // The resize should be unnecessary + inserted.resize(nInserted); } - - insertedFaces.setSize(nInsertedFaces); } else { // Interpolative addressing - interpolationAddrPtr_ = new labelListList(mesh_.nFaces()); - labelListList& addr = *interpolationAddrPtr_; + interpAddrPtr_ = std::make_unique<labelListList>(mapperLen_); + auto& addr = *interpAddrPtr_; - weightsPtr_ = new scalarListList(mesh_.nFaces()); - scalarListList& w = *weightsPtr_; + weightsPtr_ = std::make_unique<scalarListList>(mapperLen_); + auto& wght = *weightsPtr_; - const List<objectMap>& ffp = mpm_.facesFromPointsMap(); - forAll(ffp, ffpI) + // Set the addressing and uniform weight + const auto setAddrWeights = [&] + ( + const List<objectMap>& maps, + const char * const nameOfMap + ) { - // Get addressing - const labelList& mo = ffp[ffpI].masterObjects(); - - label facei = ffp[ffpI].index(); - - if (addr[facei].size()) + for (const objectMap& map : maps) { - FatalErrorInFunction - << "Master face " << facei - << " mapped from point faces " << mo - << " already destination of mapping." << abort(FatalError); + // Get index, addressing + const label facei = map.index(); + const labelList& mo = map.masterObjects(); + if (mo.empty()) continue; // safety + + if (addr[facei].size()) + { + FatalErrorInFunction + << "Master face " << facei + << " already mapped, cannot apply " + << nameOfMap + << flatOutput(mo) << abort(FatalError); + } + + // Map from masters, uniform weights + addr[facei] = mo; + wght[facei] = scalarList(mo.size(), 1.0/mo.size()); } + }; - // Map from masters, uniform weights - addr[facei] = mo; - w[facei] = scalarList(mo.size(), 1.0/mo.size()); - } - - const List<objectMap>& ffe = mpm_.facesFromEdgesMap(); - - forAll(ffe, ffeI) - { - // Get addressing - const labelList& mo = ffe[ffeI].masterObjects(); - - label facei = ffe[ffeI].index(); - if (addr[facei].size()) - { - FatalErrorInFunction - << "Master face " << facei - << " mapped from edge faces " << mo - << " already destination of mapping." << abort(FatalError); - } + setAddrWeights(mpm_.facesFromPointsMap(), "point faces"); + setAddrWeights(mpm_.facesFromEdgesMap(), "edge faces"); + setAddrWeights(mpm_.facesFromFacesMap(), "face faces"); - // Map from masters, uniform weights - addr[facei] = mo; - w[facei] = scalarList(mo.size(), 1.0/mo.size()); - } - const List<objectMap>& fff = mpm_.facesFromFacesMap(); + // Do mapped faces. + // - may already have been set, so check if addressing still empty(). - forAll(fff, fffI) { - // Get addressing - const labelList& mo = fff[fffI].masterObjects(); - - label facei = fff[fffI].index(); + const labelList& map = mpm_.faceMap(); - if (addr[facei].size()) + // NB: faceMap can be longer than nFaces() + for (label facei = 0; facei < mapperLen_; ++facei) { - FatalErrorInFunction - << "Master face " << facei - << " mapped from face faces " << mo - << " already destination of mapping." << abort(FatalError); - } - - // Map from masters, uniform weights - addr[facei] = mo; - w[facei] = scalarList(mo.size(), 1.0/mo.size()); - } - - - // Do mapped faces. Note that can already be set from facesFromFaces - // so check if addressing size still zero. - const labelList& fm = mpm_.faceMap(); - - forAll(fm, facei) - { - if (fm[facei] > -1 && addr[facei].empty()) - { - // Mapped from a single face - addr[facei] = labelList(1, fm[facei]); - w[facei] = scalarList(1, 1.0); + const label mappedi = map[facei]; + + if (mappedi >= 0 && addr[facei].empty()) + { + // Mapped from a single face + addr[facei].resize(1, mappedi); + wght[facei].resize(1, 1.0); + } } } // Grab inserted faces (for them the size of addressing is still zero) - insertedFaceLabelsPtr_ = new labelList(mesh_.nFaces()); - labelList& insertedFaces = *insertedFaceLabelsPtr_; - - label nInsertedFaces = 0; + insertedObjectsPtr_ = std::make_unique<labelList>(); + auto& inserted = *insertedObjectsPtr_; - forAll(addr, facei) + // The nInsertedObjects_ already counted in the constructor + if (nInsertedObjects_) { - if (addr[facei].empty()) - { - // Mapped from a dummy face - addr[facei] = labelList(1, Zero); - w[facei] = scalarList(1, scalar(1)); + inserted.resize(nInsertedObjects_); - insertedFaces[nInsertedFaces] = facei; - nInsertedFaces++; + label nInserted = 0; + forAll(addr, i) + { + if (addr[i].empty()) + { + // Mapped from dummy face 0 + addr[i].resize(1, 0); + wght[i].resize(1, 1.0); + + inserted[nInserted] = i; + ++nInserted; + + // TBD: check (nInsertedObjects_ < nInserted)? + #ifdef FULLDEBUG + if (nInsertedObjects_ < nInserted) + { + FatalErrorInFunction + << "Unexpected insert of more than " + << nInsertedObjects_ << " items\n" + << abort(FatalError); + } + #endif + } + } + // TBD: check (nInserted < nInsertedObjects_)? + #ifdef FULLDEBUG + if (nInserted < nInsertedObjects_) + { + WarningInFunction + << "Found " << nInserted << " instead of " + << nInsertedObjects_ << " items to insert\n"; } + #endif + // The resize should be unnecessary + inserted.resize(nInserted); } - - insertedFaces.setSize(nInsertedFaces); } } -void Foam::faceMapper::clearOut() -{ - deleteDemandDrivenData(directAddrPtr_); - deleteDemandDrivenData(interpolationAddrPtr_); - deleteDemandDrivenData(weightsPtr_); - deleteDemandDrivenData(insertedFaceLabelsPtr_); -} +// void Foam::faceMapper::clearOut() +// { +// directAddrPtr_.reset(nullptr); +// interpAddrPtr_.reset(nullptr); +// weightsPtr_.reset(nullptr); +// insertedObjectsPtr_.reset(nullptr); +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::faceMapper::faceMapper(const mapPolyMesh& mpm) : - mesh_(mpm.mesh()), mpm_(mpm), - insertedFaces_(true), - direct_(false), - directAddrPtr_(nullptr), - interpolationAddrPtr_(nullptr), - weightsPtr_(nullptr), - insertedFaceLabelsPtr_(nullptr) -{ - // Check for possibility of direct mapping - if + mapperLen_(mpm.mesh().nFaces()), + nInsertedObjects_(0), + direct_ ( - mpm_.facesFromPointsMap().empty() - && mpm_.facesFromEdgesMap().empty() - && mpm_.facesFromFacesMap().empty() + // Mapping without interpolation? + mpm.facesFromPointsMap().empty() + && mpm.facesFromEdgesMap().empty() + && mpm.facesFromFacesMap().empty() ) +{ + const auto& directMap = mpm_.faceMap(); + + if (!mapperLen_) { + // Empty mesh direct_ = true; + nInsertedObjects_ = 0; } - else - { - direct_ = false; - } - - // Check for inserted faces - if (direct_ && (mpm_.faceMap().empty() || min(mpm_.faceMap()) > -1)) + else if (direct_) { - insertedFaces_ = false; + // Number of inserted faces (-ve values) + nInsertedObjects_ = std::count_if + ( + directMap.cbegin(), + directMap.cbegin(mapperLen_), + [](label i) { return (i < 0); } + ); } else { - // Need to check all 3 lists to see if there are inserted faces - // with no owner + // Check if there are inserted faces with no owner + // (check all lists) - // Make a copy of the face map, add the entries for faces from points - // and faces from edges and check for left-overs - labelList fm(mesh_.nFaces(), -1); + bitSet unmapped(mapperLen_, true); - const List<objectMap>& ffp = mpm_.facesFromPointsMap(); + unmapped.unset(directMap); // direct mapped - forAll(ffp, ffpI) + for (const auto& map : mpm_.facesFromPointsMap()) { - fm[ffp[ffpI].index()] = 0; + if (!map.empty()) unmapped.unset(map.index()); } - const List<objectMap>& ffe = mpm_.facesFromEdgesMap(); - - forAll(ffe, ffeI) + for (const auto& map : mpm_.facesFromEdgesMap()) { - fm[ffe[ffeI].index()] = 0; + if (!map.empty()) unmapped.unset(map.index()); } - const List<objectMap>& fff = mpm_.facesFromFacesMap(); - - forAll(fff, fffI) + for (const auto& map : mpm_.facesFromFacesMap()) { - fm[fff[fffI].index()] = 0; + if (!map.empty()) unmapped.unset(map.index()); } - if (min(fm) < 0) - { - insertedFaces_ = true; - } + nInsertedObjects_ = label(unmapped.count()); } } @@ -275,16 +292,14 @@ Foam::faceMapper::faceMapper(const mapPolyMesh& mpm) // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::faceMapper::~faceMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::label Foam::faceMapper::size() const { - return mesh_.nFaces(); + return mapperLen_; } @@ -335,12 +350,12 @@ const Foam::labelListList& Foam::faceMapper::addressing() const << abort(FatalError); } - if (!interpolationAddrPtr_) + if (!interpAddrPtr_) { calcAddressing(); } - return *interpolationAddrPtr_; + return *interpAddrPtr_; } @@ -364,20 +379,18 @@ const Foam::scalarListList& Foam::faceMapper::weights() const const Foam::labelList& Foam::faceMapper::insertedObjectLabels() const { - if (!insertedFaceLabelsPtr_) + if (!insertedObjectsPtr_) { - if (!insertedObjects()) - { - // There are no inserted faces - insertedFaceLabelsPtr_ = new labelList(0); - } - else + if (!nInsertedObjects_) { - calcAddressing(); + // No inserted objects will be created + return labelList::null(); } + + calcAddressing(); } - return *insertedFaceLabelsPtr_; + return *insertedObjectsPtr_; } diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.H index b5f43bad230..a1b331835d7 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faceMapper_H -#define faceMapper_H +#ifndef Foam_faceMapper_H +#define Foam_faceMapper_H #include "morphFieldMapper.H" #include "HashSet.H" @@ -47,8 +48,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes -class polyMesh; +// Forward Declarations class mapPolyMesh; /*---------------------------------------------------------------------------*\ @@ -59,60 +59,56 @@ class faceMapper : public morphFieldMapper { - // Private data - - //- Reference to polyMesh - const polyMesh& mesh_; + // Private Data //- Reference to mapPolyMesh const mapPolyMesh& mpm_; - //- Are there any inserted (unmapped) faces - bool insertedFaces_; + //- The size of the mapper = polyMesh::nFaces() + const label mapperLen_; + + //- Number of inserted (unmapped) faces + label nInsertedObjects_; //- Is the mapping direct bool direct_; - // Demand-driven private data + // Demand-Driven Data //- Direct addressing (only one for of addressing is used) - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; //- Interpolated addressing (only one for of addressing is used) - mutable labelListList* interpolationAddrPtr_; + mutable std::unique_ptr<labelListList> interpAddrPtr_; //- Interpolation weights - mutable scalarListList* weightsPtr_; + mutable std::unique_ptr<scalarListList> weightsPtr_; //- Inserted faces - mutable labelList* insertedFaceLabelsPtr_; + mutable std::unique_ptr<labelList> insertedObjectsPtr_; // Private Member Functions - //- No copy construct - faceMapper(const faceMapper&) = delete; - - //- No copy assignment - void operator=(const faceMapper&) = delete; - - //- Calculate addressing for mapping with inserted faces void calcAddressing() const; - //- Clear out local storage - void clearOut(); +public: + // Generated Methods -public: + //- No copy construct + faceMapper(const faceMapper&) = delete; + + //- No copy assignment + void operator=(const faceMapper&) = delete; - // Static data members // Constructors //- Construct from mapPolyMesh - faceMapper(const mapPolyMesh& mpm); + explicit faceMapper(const mapPolyMesh& mpm); //- Destructor @@ -121,7 +117,7 @@ public: // Member Functions - //- Return size + //- The mapper size virtual label size() const; //- Return size of field before mapping @@ -165,7 +161,7 @@ public: //- Are there any inserted faces virtual bool insertedObjects() const { - return insertedFaces_; + return bool(nInsertedObjects_); } //- Return list of inserted faces diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C index ee7694bb112..5baa1ac33fd 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C @@ -257,7 +257,7 @@ Foam::mapPolyMesh::mapPolyMesh oldCellVolumesPtr_ = oldCellVolumesPtr.clone(); } - if (oldPatchStarts_.size() > 0) + if (oldPatchStarts_.size()) { // Calculate old patch sizes for (label patchi = 0; patchi < oldPatchStarts_.size() - 1; patchi++) diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H index a7b8f955a5e..38bb76e580a 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -153,6 +153,7 @@ SourceFiles namespace Foam { +// Forward Declarations class polyMesh; /*---------------------------------------------------------------------------*\ @@ -161,7 +162,7 @@ class polyMesh; class mapPolyMesh { - // Private data + // Private Data //- Reference to polyMesh const polyMesh& mesh_; @@ -273,7 +274,9 @@ class mapPolyMesh autoPtr<scalarField> oldCellVolumesPtr_; - // Private Member Functions +public: + + // Generated Methods //- No copy construct mapPolyMesh(const mapPolyMesh&) = delete; @@ -282,14 +285,13 @@ class mapPolyMesh void operator=(const mapPolyMesh&) = delete; -public: - // Constructors //- Construct from mesh mapPolyMesh(const polyMesh& mesh); - //- Construct from components. Copy (except for oldCellVolumes). + //- Copy construct from components, + //- except for oldCellVolumes which is move construct mapPolyMesh ( const polyMesh& mesh, @@ -356,18 +358,19 @@ public: const bool reuse ); + // Member Functions // Access //- Return polyMesh - const polyMesh& mesh() const + const polyMesh& mesh() const noexcept { return mesh_; } //- Number of old points - label nOldPoints() const + label nOldPoints() const noexcept { return nOldPoints_; } @@ -379,13 +382,13 @@ public: } //- Number of old faces - label nOldFaces() const + label nOldFaces() const noexcept { return nOldFaces_; } //- Number of old cells - label nOldCells() const + label nOldCells() const noexcept { return nOldCells_; } @@ -394,13 +397,13 @@ public: // Contains the old point label for all new points. // For preserved points this is the old point label. // For added points this is the master point ID - const labelList& pointMap() const + const labelList& pointMap() const noexcept { return pointMap_; } //- Points originating from points - const List<objectMap>& pointsFromPointsMap() const + const List<objectMap>& pointsFromPointsMap() const noexcept { return pointsFromPointsMap_; } @@ -408,56 +411,56 @@ public: //- Old face map. // Contains a list of old face labels for every new face. // Warning: this map contains invalid entries for new faces - const labelList& faceMap() const + const labelList& faceMap() const noexcept { return faceMap_; } //- Faces inflated from points - const List<objectMap>& facesFromPointsMap() const + const List<objectMap>& facesFromPointsMap() const noexcept { return facesFromPointsMap_; } //- Faces inflated from edges - const List<objectMap>& facesFromEdgesMap() const + const List<objectMap>& facesFromEdgesMap() const noexcept { return facesFromEdgesMap_; } //- Faces originating from faces - const List<objectMap>& facesFromFacesMap() const + const List<objectMap>& facesFromFacesMap() const noexcept { return facesFromFacesMap_; } //- Old cell map. // Contains old cell label for all preserved cells. - const labelList& cellMap() const + const labelList& cellMap() const noexcept { return cellMap_; } //- Cells inflated from points - const List<objectMap>& cellsFromPointsMap() const + const List<objectMap>& cellsFromPointsMap() const noexcept { return cellsFromPointsMap_; } //- Cells inflated from edges - const List<objectMap>& cellsFromEdgesMap() const + const List<objectMap>& cellsFromEdgesMap() const noexcept { return cellsFromEdgesMap_; } //- Cells inflated from faces - const List<objectMap>& cellsFromFacesMap() const + const List<objectMap>& cellsFromFacesMap() const noexcept { return cellsFromFacesMap_; } //- Cells originating from cells - const List<objectMap>& cellsFromCellsMap() const + const List<objectMap>& cellsFromCellsMap() const noexcept { return cellsFromCellsMap_; } @@ -467,7 +470,7 @@ public: //- Reverse point map // Contains new point label for all old and added points - const labelList& reversePointMap() const + const labelList& reversePointMap() const noexcept { return reversePointMap_; } @@ -499,7 +502,7 @@ public: //- Reverse face map // Contains new face label for all old and added faces - const labelList& reverseFaceMap() const + const labelList& reverseFaceMap() const noexcept { return reverseFaceMap_; } @@ -530,7 +533,7 @@ public: //- Reverse cell map // Contains new cell label for all old and added cells - const labelList& reverseCellMap() const + const labelList& reverseCellMap() const noexcept { return reverseCellMap_; } @@ -560,7 +563,7 @@ public: } //- Map of flipped face flux faces - const labelHashSet& flipFaceFlux() const + const labelHashSet& flipFaceFlux() const noexcept { return flipFaceFlux_; } @@ -568,7 +571,7 @@ public: //- Patch point renumbering // For every preserved point on a patch give the old position. // For added points, the index is set to -1 - const labelListList& patchPointMap() const + const labelListList& patchPointMap() const noexcept { return patchPointMap_; } @@ -579,7 +582,7 @@ public: //- Point zone renumbering // For every preserved point in zone give the old position. // For added points, the index is set to -1 - const labelListList& pointZoneMap() const + const labelListList& pointZoneMap() const noexcept { return pointZoneMap_; } @@ -587,7 +590,7 @@ public: //- Face zone point renumbering // For every preserved point in zone give the old position. // For added points, the index is set to -1 - const labelListList& faceZonePointMap() const + const labelListList& faceZonePointMap() const noexcept { return faceZonePointMap_; } @@ -595,7 +598,7 @@ public: //- Face zone face renumbering // For every preserved face in zone give the old position. // For added faces, the index is set to -1 - const labelListList& faceZoneFaceMap() const + const labelListList& faceZoneFaceMap() const noexcept { return faceZoneFaceMap_; } @@ -603,7 +606,7 @@ public: //- Cell zone renumbering // For every preserved cell in zone give the old position. // For added cells, the index is set to -1 - const labelListList& cellZoneMap() const + const labelListList& cellZoneMap() const noexcept { return cellZoneMap_; } @@ -611,49 +614,48 @@ public: //- Pre-motion point positions. // This specifies the correct way of blowing up // zero-volume objects - const pointField& preMotionPoints() const + const pointField& preMotionPoints() const noexcept { return preMotionPoints_; } //- Has valid preMotionPoints? - bool hasMotionPoints() const + bool hasMotionPoints() const noexcept { - return preMotionPoints_.size() > 0; + return !preMotionPoints_.empty(); } //- Return list of the old patch sizes - const labelList& oldPatchSizes() const + const labelList& oldPatchSizes() const noexcept { return oldPatchSizes_; } //- Return list of the old patch start labels - const labelList& oldPatchStarts() const + const labelList& oldPatchStarts() const noexcept { return oldPatchStarts_; } //- Return numbers of mesh points per old patch - const labelList& oldPatchNMeshPoints() const + const labelList& oldPatchNMeshPoints() const noexcept { return oldPatchNMeshPoints_; } - // Geometric mapping data - - bool hasOldCellVolumes() const - { - return bool(oldCellVolumesPtr_); - } + // Geometric mapping data - const scalarField& oldCellVolumes() const - { - return *oldCellVolumesPtr_; - } + bool hasOldCellVolumes() const noexcept + { + return bool(oldCellVolumesPtr_); + } + const scalarField& oldCellVolumes() const + { + return *oldCellVolumesPtr_; + } }; diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/objectMap/objectMap.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/objectMap/objectMap.H index 676ae137297..4b739eeafee 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/objectMap/objectMap.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/objectMap/objectMap.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,10 +36,10 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef objectMap_H -#define objectMap_H +#ifndef Foam_objectMap_H +#define Foam_objectMap_H -#include "labelList.H" +#include "List.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -46,7 +47,6 @@ namespace Foam { // Forward Declarations - class objectMap; inline bool operator==(const objectMap& a, const objectMap& b); inline bool operator!=(const objectMap& a, const objectMap& b); @@ -60,38 +60,51 @@ inline Istream& operator>>(Istream&, objectMap&); class objectMap { - // Private data + // Private Data //- Object index label index_; - //- Master object index - labelList masterObjects_; + //- Master object indices + labelList objects_; public: // Constructors - //- Null constructor, with index=-1 and no objects - inline objectMap(); + //- Default construct, with index=-1 and no objects + objectMap() noexcept : index_(-1) {} + + //- Copy construct from components + inline objectMap(const label index, const labelUList& master); - //- Construct from components - inline objectMap(const label index, const UList<label>& master); + //- Move construct from components + inline objectMap(const label index, labelList&& master); //- Construct from Istream - inline objectMap(Istream& is); + inline explicit objectMap(Istream& is); // Member Functions - //- Return object index - inline label& index(); - inline label index() const; + //- True if there are no objects + bool empty() const noexcept { return objects_.empty(); } + + //- The number of objects + label size() const noexcept { return objects_.size(); } + + //- The object index + label& index() noexcept { return index_; } + + //- The object index + label index() const noexcept { return index_; } + + //- The master object indices + labelList& masterObjects() noexcept { return objects_; } - //- Return master object index - inline labelList& masterObjects(); - inline const labelList& masterObjects() const; + //- The master object indices + const labelList& masterObjects() const noexcept { return objects_; } // Friend Operators diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/objectMap/objectMapI.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/objectMap/objectMapI.H index 43f4dadc5ea..3c5167a8cdf 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/objectMap/objectMapI.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/objectMap/objectMapI.H @@ -29,17 +29,17 @@ License // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -inline Foam::objectMap::objectMap() +inline Foam::objectMap::objectMap(const label index, const labelUList& master) : - index_(-1), - masterObjects_() + index_(index), + objects_(master) {} -inline Foam::objectMap::objectMap(const label index, const UList<label>& master) +inline Foam::objectMap::objectMap(const label index, labelList&& master) : index_(index), - masterObjects_(master) + objects_(std::move(master)) {} @@ -47,46 +47,20 @@ inline Foam::objectMap::objectMap(Istream& is) { is.readBegin("objectMap"); - is >> index_ >> static_cast<labelList&>(masterObjects_); + is >> index_ >> objects_; is.readEnd("objectMap"); is.check(FUNCTION_NAME); } -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::label& Foam::objectMap::index() -{ - return index_; -} - - -inline Foam::label Foam::objectMap::index() const -{ - return index_; -} - - -inline Foam::labelList& Foam::objectMap::masterObjects() -{ - return masterObjects_; -} - - -inline const Foam::labelList& Foam::objectMap::masterObjects() const -{ - return masterObjects_; -} - - // * * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * // inline bool Foam::operator==(const objectMap& a, const objectMap& b) { return ( - (a.index_ == b.index_) && (a.masterObjects_ == b.masterObjects_) + (a.index_ == b.index_) && (a.objects_ == b.objects_) ); } @@ -103,7 +77,7 @@ inline Foam::Ostream& Foam::operator<<(Ostream& os, const objectMap& a) { os << token::BEGIN_LIST << a.index_ << token::SPACE - << a.masterObjects_ + << a.objects_ << token::END_LIST; os.check(FUNCTION_NAME); @@ -114,7 +88,7 @@ inline Foam::Ostream& Foam::operator<<(Ostream& os, const objectMap& a) inline Foam::Istream& Foam::operator>>(Istream& is, objectMap& a) { is.readBegin("objectMap"); - is >> a.index_ >> a.masterObjects_; + is >> a.index_ >> a.objects_; is.readEnd("objectMap"); is.check(FUNCTION_NAME); diff --git a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.C b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.C index f575d1a6e87..06399811321 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.C @@ -27,7 +27,6 @@ License #include "faAreaMapper.H" #include "mapPolyMesh.H" -#include "demandDrivenData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -38,9 +37,9 @@ void Foam::faAreaMapper::calcAddressing() const newFaceLabelsPtr_ || newFaceLabelsMapPtr_ || directAddrPtr_ - || interpolationAddrPtr_ + || interpAddrPtr_ || weightsPtr_ - || insertedObjectLabelsPtr_ + || insertedObjectsPtr_ ) { FatalErrorInFunction @@ -73,7 +72,7 @@ void Foam::faAreaMapper::calcAddressing() const mesh_.mesh().nBoundaryFaces(), -1 ); - labelList& newFaceLabelsMap = *newFaceLabelsMapPtr_; + auto& newFaceLabelsMap = *newFaceLabelsMapPtr_; label nNewFaces = 0; Info<< "Old face list size: " << oldFaces.size() @@ -91,7 +90,7 @@ void Foam::faAreaMapper::calcAddressing() const newFaceLabels[nNewFaces] = reverseFaceMap[oldFaces[faceI]]; newFaceLabelsMap[nNewFaces] = faceI; - nNewFaces++; + ++nNewFaces; } } @@ -100,21 +99,20 @@ void Foam::faAreaMapper::calcAddressing() const { Info<< "Direct"<< endl; // Direct mapping: no further faces to add. Resize list - newFaceLabels.setSize(nNewFaces); + newFaceLabels.resize(nNewFaces); - directAddrPtr_ = std::make_unique<labelList>(newFaceLabels.size()); - labelList& addr = *directAddrPtr_; + directAddrPtr_ = std::make_unique<labelList> + ( + labelList::subList(newFaceLabelsMap, nNewFaces) + ); + auto& addr = *directAddrPtr_; // Adjust for creation of a boundary face from an internal face - forAll(addr, faceI) + forAll(addr, facei) { - if (newFaceLabelsMap[faceI] < oldNInternal) - { - addr[faceI] = 0; - } - else + if (addr[facei] < oldNInternal) { - addr[faceI] = newFaceLabelsMap[faceI]; + addr[facei] = 0; } } } @@ -122,20 +120,20 @@ void Foam::faAreaMapper::calcAddressing() const { // There are further faces to add. Prepare interpolation addressing // and weights to full size - interpolationAddrPtr_ = std::make_unique<labelListList> + interpAddrPtr_ = std::make_unique<labelListList> ( newFaceLabels.size() ); - labelListList& addr = *interpolationAddrPtr_; + auto& addr = *interpAddrPtr_; - weightsPtr_ = std::make_unique<scalarListList>(newFaceLabels.size()); - scalarListList& w = *weightsPtr_; + weightsPtr_ = std::make_unique<scalarListList>(addr.size()); + auto& wght = *weightsPtr_; // Insert single addressing and weights for (label addrI = 0; addrI < nNewFaces; ++addrI) { - addr[addrI] = labelList(1, newFaceLabelsMap[addrI]); - w[addrI] = scalarList(1, scalar(1)); + addr[addrI].resize(1, newFaceLabelsMap[addrI]); + wght[addrI].resize(1, 1.0); } // Pick up faces from points, edges and faces where the origin @@ -143,146 +141,87 @@ void Foam::faAreaMapper::calcAddressing() const // fast lookup // Set of faces previously in the mesh - labelHashSet oldFaceLookup(oldFaces); + const labelHashSet oldFaceLookup(oldFaces); - // Go through faces-from lists and add the ones where all - // old face labels belonged to the faMesh + // Check if master objects are in faMesh + DynamicList<label> validMo(128); - const List<objectMap>& ffp = mpm_.facesFromPointsMap(); - - forAll(ffp, ffpI) + const auto addCheckedObjects = [&](const List<objectMap>& maps) { - // Get addressing - const labelList& mo = ffp[ffpI].masterObjects(); - - // Check if master objects are in faMesh - labelList validMo(mo.size()); - label nValidMo = 0; - - forAll(mo, moI) + for (const objectMap& map : maps) { - if (oldFaceLookup.found(mo[moI])) - { - validMo[nValidMo] = oldFaceLookup[mo[moI]]; - nValidMo++; - } - } - - if (nValidMo > 0) - { - // Some objects found: add face and interpolation to list - newFaceLabels[nNewFaces] = ffp[ffpI].index(); - - // No old face available - newFaceLabelsMap[nNewFaces] = -1; + // Get target index, addressing + const label facei = map.index(); + const labelList& mo = map.masterObjects(); + if (mo.empty()) continue; // safety - // Map from masters, uniform weights - addr[nNewFaces] = validMo; - w[nNewFaces] = scalarList(validMo.size(), 1.0/validMo.size()); + validMo.clear(); + validMo.reserve(mo.size()); - nNewFaces++; - } - } - - const List<objectMap>& ffe = mpm_.facesFromEdgesMap(); - - forAll(ffe, ffeI) - { - // Get addressing - const labelList& mo = ffe[ffeI].masterObjects(); - - // Check if master objects are in faMesh - labelList validMo(mo.size()); - label nValidMo = 0; - - forAll(mo, moI) - { - if (oldFaceLookup.found(mo[moI])) + for (const label obji : mo) { - validMo[nValidMo] = oldFaceLookup[mo[moI]]; - nValidMo++; + if (oldFaceLookup.contains(obji)) + { + validMo.push_back(obji); + } } - } - - if (nValidMo > 0) - { - // Some objects found: add face and interpolation to list - newFaceLabels[nNewFaces] = ffe[ffeI].index(); - - // No old face available - newFaceLabelsMap[nNewFaces] = -1; - // Map from masters, uniform weights - addr[nNewFaces] = validMo; - w[nNewFaces] = scalarList(validMo.size(), 1.0/validMo.size()); - - nNewFaces++; - } - } - - const List<objectMap>& fff = mpm_.facesFromFacesMap(); + if (validMo.size()) + { + // Some objects found: add face and interpolation to list + newFaceLabels[nNewFaces] = facei; - forAll(fff, fffI) - { - // Get addressing - const labelList& mo = fff[fffI].masterObjects(); + // No old face available + newFaceLabelsMap[nNewFaces] = -1; - // Check if master objects are in faMesh - labelList validMo(mo.size()); - label nValidMo = 0; + // Map from masters, uniform weights + addr[nNewFaces] = validMo; + wght[nNewFaces] = + scalarList(validMo.size(), 1.0/validMo.size()); - forAll(mo, moI) - { - if (oldFaceLookup.found(mo[moI])) - { - validMo[nValidMo] = oldFaceLookup[mo[moI]]; - nValidMo++; + ++nNewFaces; } } + }; - if (nValidMo > 0) - { - // Some objects found: add face and interpolation to list - newFaceLabels[nNewFaces] = fff[fffI].index(); - - // No old face available - newFaceLabelsMap[nNewFaces] = -1; - // Map from masters, uniform weights - addr[nNewFaces] = validMo; - w[nNewFaces] = scalarList(validMo.size(), 1.0/validMo.size()); + // Go through faces-from lists and add the ones where all + // old face labels belonged to the faMesh - nNewFaces++; - } + { + addCheckedObjects(mpm_.facesFromPointsMap()); + addCheckedObjects(mpm_.facesFromEdgesMap()); + addCheckedObjects(mpm_.facesFromFacesMap()); } // All faces collected. Reset sizes of lists - newFaceLabels.setSize(nNewFaces); - newFaceLabelsMap.setSize(nNewFaces); - addr.setSize(nNewFaces); - w.setSize(nNewFaces); + newFaceLabels.resize(nNewFaces); + newFaceLabelsMap.resize(nNewFaces); + addr.resize(nNewFaces); + wght.resize(nNewFaces); + Info<< "addr: " << addr << nl - << "w: " << w << endl; + << "wght: " << wght << endl; } // Inserted objects cannot appear in the new faMesh as they have no master // HJ, 10/Aug/2011 - insertedObjectLabelsPtr_ = std::make_unique<labelList>(); + insertedObjectsPtr_ = std::make_unique<labelList>(); } -void Foam::faAreaMapper::clearOut() -{ - newFaceLabelsPtr_.reset(nullptr); - newFaceLabelsMapPtr_.reset(nullptr); - - directAddrPtr_.reset(nullptr); - interpolationAddrPtr_.reset(nullptr); - weightsPtr_.reset(nullptr); - - insertedObjectLabelsPtr_.reset(nullptr); - hasUnmapped_ = false; -} +// void Foam::faAreaMapper::clearOut() +// { +// newFaceLabelsPtr_.reset(nullptr); +// newFaceLabelsMapPtr_.reset(nullptr); +// +// directAddrPtr_.reset(nullptr); +// interpAddrPtr_.reset(nullptr); +// weightsPtr_.reset(nullptr); +// +// insertedObjectsPtr_.reset(nullptr); +// hasUnmapped_ = false; +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -295,25 +234,16 @@ Foam::faAreaMapper::faAreaMapper : mesh_(mesh), mpm_(mpm), - direct_(false), - hasUnmapped_(false), - sizeBeforeMapping_(mesh.nFaces()) -{ - // Check for possibility of direct mapping - if + sizeBeforeMapping_(mesh.nFaces()), + direct_ ( - mpm_.facesFromPointsMap().empty() - && mpm_.facesFromEdgesMap().empty() - && mpm_.facesFromFacesMap().empty() - ) - { - direct_ = true; - } - else - { - direct_ = false; - } - + // Mapping without interpolation? + mpm.facesFromPointsMap().empty() + && mpm.facesFromEdgesMap().empty() + && mpm.facesFromFacesMap().empty() + ), + hasUnmapped_(false) +{ // Inserted objects not supported: no master } @@ -321,9 +251,7 @@ Foam::faAreaMapper::faAreaMapper // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::faAreaMapper::~faAreaMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -377,12 +305,12 @@ const Foam::labelListList& Foam::faAreaMapper::addressing() const << abort(FatalError); } - if (!interpolationAddrPtr_) + if (!interpAddrPtr_) { calcAddressing(); } - return *interpolationAddrPtr_; + return *interpAddrPtr_; } @@ -406,12 +334,12 @@ const Foam::scalarListList& Foam::faAreaMapper::weights() const const Foam::labelList& Foam::faAreaMapper::insertedObjectLabels() const { - if (!insertedObjectLabelsPtr_) + if (!insertedObjectsPtr_) { calcAddressing(); } - return *insertedObjectLabelsPtr_; + return *insertedObjectsPtr_; } diff --git a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H index 9a75decf955..bcf404fe44a 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faAreaMapper.H @@ -38,8 +38,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faAreaMapper_H -#define faAreaMapper_H +#ifndef Foam_faAreaMapper_H +#define Foam_faAreaMapper_H #include "morphFieldMapper.H" #include "faMesh.H" @@ -65,17 +65,17 @@ class faAreaMapper //- Reference to mapPolyMesh const mapPolyMesh& mpm_; + //- Size before mapping (old mesh size) + const label sizeBeforeMapping_; + //- Is the mapping direct bool direct_; - // Demand-driven private data + // Demand-Driven Data mutable bool hasUnmapped_; - //- Old mesh size - label sizeBeforeMapping_; - //- New face labels after mapping mutable std::unique_ptr<labelList> newFaceLabelsPtr_; @@ -87,13 +87,13 @@ class faAreaMapper mutable std::unique_ptr<labelList> directAddrPtr_; //- Interpolated addressing (only one form of addressing is used) - mutable std::unique_ptr<labelListList> interpolationAddrPtr_; + mutable std::unique_ptr<labelListList> interpAddrPtr_; //- Interpolation weights mutable std::unique_ptr<scalarListList> weightsPtr_; //- Inserted faces - mutable std::unique_ptr<labelList> insertedObjectLabelsPtr_; + mutable std::unique_ptr<labelList> insertedObjectsPtr_; // Private Member Functions @@ -101,9 +101,6 @@ class faAreaMapper //- Calculate addressing void calcAddressing() const; - //- Clear out local storage - void clearOut(); - public: @@ -116,17 +113,20 @@ public: void operator=(const faAreaMapper&) = delete; - //- Construct from components - faAreaMapper - ( - const faMesh& mesh, - const mapPolyMesh& mpm - ); + // Constructors + + //- Construct from components + faAreaMapper + ( + const faMesh& mesh, + const mapPolyMesh& mpm + ); //- Destructor virtual ~faAreaMapper(); + // Member Functions //- Return new face labels diff --git a/src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H b/src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H index b60d1a66124..f34280b8bdd 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faBoundaryMeshMapper.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef faBoundaryMeshMapper_H -#define faBoundaryMeshMapper_H +#ifndef Foam_faBoundaryMeshMapper_H +#define Foam_faBoundaryMeshMapper_H #include "faPatchMapper.H" diff --git a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C index 2dffd9ed7b2..34f90995a7e 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.C @@ -27,7 +27,6 @@ License #include "faEdgeMapper.H" #include "mapPolyMesh.H" -#include "demandDrivenData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -47,11 +46,11 @@ void Foam::faEdgeMapper::calcAddressing() const } -void Foam::faEdgeMapper::clearOut() -{ - directAddrPtr_.reset(nullptr); - hasUnmapped_ = false; -} +// void Foam::faEdgeMapper::clearOut() +// { +// directAddrPtr_.reset(nullptr); +// hasUnmapped_ = false; +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -62,7 +61,9 @@ Foam::faEdgeMapper::faEdgeMapper const mapPolyMesh& mpm ) : - mesh_(mesh), + // currently unused: mesh_(mesh), + // currently unused: mpm_(mpm), + mapperLen_(mesh.nInternalEdges()), sizeBeforeMapping_(mesh.nInternalEdges()), hasUnmapped_(false) {} @@ -71,13 +72,17 @@ Foam::faEdgeMapper::faEdgeMapper // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::faEdgeMapper::~faEdgeMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +Foam::label Foam::faEdgeMapper::size() const +{ + return mapperLen_; +} + + const Foam::labelUList& Foam::faEdgeMapper::directAddressing() const { if (!directAddrPtr_) diff --git a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H index 05f0cd0fda9..c50f72f6864 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faEdgeMapper.H @@ -39,8 +39,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faEdgeMapper_H -#define faEdgeMapper_H +#ifndef Foam_faEdgeMapper_H +#define Foam_faEdgeMapper_H #include "morphFieldMapper.H" #include "faMesh.H" @@ -63,13 +63,19 @@ class faEdgeMapper // Private Data //- Reference to mesh - const faMesh& mesh_; + // currently unused: const faMesh& mesh_; - //- Old mesh size - label sizeBeforeMapping_; + //- Reference to mapPolyMesh + // currently unused: const mapPolyMesh& mpm_; + //- The size of the mapper = mesh_.nInternalEdges() + const label mapperLen_; - // Demand-driven private data + //- Size before mapping (old mesh size) + const label sizeBeforeMapping_; + + + // Demand-Driven Data mutable bool hasUnmapped_; @@ -82,10 +88,6 @@ class faEdgeMapper //- Calculate addressing void calcAddressing() const; - //- Clear out local storage - void clearOut(); - - public: // Generated Methods @@ -97,12 +99,14 @@ public: void operator=(const faEdgeMapper&) = delete; - //- Construct from components - faEdgeMapper - ( - const faMesh& mesh, - const mapPolyMesh& mpm - ); + // Constructors + + //- Construct from components + faEdgeMapper + ( + const faMesh& mesh, + const mapPolyMesh& mpm + ); //- Destructor @@ -111,11 +115,8 @@ public: // Member Functions - //- Return size - virtual label size() const - { - return mesh_.nInternalEdges(); - } + //- Return mapper size + virtual label size() const; //- Return size of field before mapping virtual label sizeBeforeMapping() const @@ -143,13 +144,13 @@ public: //- Return interpolation weights virtual const scalarListList& weights() const; - //- Are there any inserted faces + //- Are there any inserted edges virtual bool insertedObjects() const { return false; } - //- Return list of inserted faces + //- Return list of inserted edges virtual const labelList& insertedObjectLabels() const { return labelList::null(); diff --git a/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.C b/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.C index aafe6d44f16..44ee8f6beb7 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.C @@ -40,9 +40,9 @@ Foam::faMeshMapper::faMeshMapper nOldEdges_(mesh.nEdges()), nOldInternalEdges_(mesh.nInternalEdges()), nOldFaces_(mesh.nFaces()), - oldPatchSizes_(mesh.boundary().size(), 0), - oldPatchStarts_(mesh.boundary().size(), -1), - oldPatchEdgeFaces_(mesh.boundary().size()), + oldPatchSizes_(), + oldPatchStarts_(), + oldPatchEdgeFaces_(), areaMap_(mesh, mpm), edgeMap_(mesh, mpm), boundaryMap_(mesh, mpm) @@ -50,6 +50,10 @@ Foam::faMeshMapper::faMeshMapper // Capture old patch information const faBoundaryMesh& patches = mesh.boundary(); + oldPatchSizes_.resize(patches.size()); + oldPatchStarts_.resize(patches.size()); + oldPatchEdgeFaces_.resize(patches.size()); + forAll(patches, patchI) { oldPatchSizes_[patchI] = patches[patchI].size(); diff --git a/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.H b/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.H index 16760b12e67..fcdc355b8f3 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faMeshMapper.H @@ -45,8 +45,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faMeshMapper_H -#define faMeshMapper_H +#ifndef Foam_faMeshMapper_H +#define Foam_faMeshMapper_H #include "faceMapper.H" #include "faAreaMapper.H" @@ -58,7 +58,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes +// Forward Declarations class faMesh; class mapPolyMesh; diff --git a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C index 69aa3177f66..88f8393b54a 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C +++ b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.C @@ -27,7 +27,6 @@ License #include "faPatchMapper.H" #include "mapPolyMesh.H" -#include "demandDrivenData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -44,7 +43,7 @@ void Foam::faPatchMapper::calcAddressing() const hasUnmapped_ = false; directAddrPtr_ = std::make_unique<labelList>(patch_.size(), Foam::zero{}); - labelList& addr = *directAddrPtr_; + auto& addr = *directAddrPtr_; // Make a map of old edgeFaces, giving edge index in patch given the new // face label next to the patch @@ -68,9 +67,11 @@ void Foam::faPatchMapper::calcAddressing() const forAll(ef, efI) { - if (edgeIndexLookup.found(ef[efI])) + const auto iter = edgeIndexLookup.cfind(ef[efI]); + + if (iter.good()) { - addr[efI] = edgeIndexLookup[ef[efI]]; + addr[efI] = iter.val(); } else { @@ -84,11 +85,11 @@ void Foam::faPatchMapper::calcAddressing() const } -void Foam::faPatchMapper::clearOut() -{ - directAddrPtr_.reset(nullptr); - hasUnmapped_ = false; -} +// void Foam::faPatchMapper::clearOut() +// { +// directAddrPtr_.reset(nullptr); +// hasUnmapped_ = false; +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -110,9 +111,7 @@ Foam::faPatchMapper::faPatchMapper // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::faPatchMapper::~faPatchMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // diff --git a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H index b27bd6874df..cfaf63f44e0 100644 --- a/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H +++ b/src/finiteArea/faMesh/faMeshMapper/faPatchMapper.H @@ -39,8 +39,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef faPatchMapper_H -#define faPatchMapper_H +#ifndef Foam_faPatchMapper_H +#define Foam_faPatchMapper_H #include "faPatchFieldMapper.H" #include "faceMapper.H" @@ -51,7 +51,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes +// Forward Declarations class faPatch; class mapPolyMesh; @@ -78,7 +78,7 @@ class faPatchMapper const labelList oldEdgeFaces_; - // Demand-driven private data + // Demand-Driven Data mutable bool hasUnmapped_; @@ -91,9 +91,6 @@ class faPatchMapper //- Calculate addressing for mapping with inserted cells void calcAddressing() const; - //- Clear out local storage - void clearOut(); - public: @@ -106,12 +103,10 @@ public: void operator=(const faPatchMapper&) = delete; - //- Construct from mappers - faPatchMapper - ( - const faPatch& patch, - const mapPolyMesh& mpm - ); + // Constructors + + //- Construct from mappers + faPatchMapper(const faPatch& patch, const mapPolyMesh& mpm); //- Destructor diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvBoundaryMeshMapper.H b/src/finiteVolume/fvMesh/fvMeshMapper/fvBoundaryMeshMapper.H index e533354e4d1..266d104958f 100644 --- a/src/finiteVolume/fvMesh/fvMeshMapper/fvBoundaryMeshMapper.H +++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvBoundaryMeshMapper.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef fvBoundaryMeshMapper_H -#define fvBoundaryMeshMapper_H +#ifndef Foam_fvBoundaryMeshMapper_H +#define Foam_fvBoundaryMeshMapper_H #include "PtrList.H" #include "fvPatchMapper.H" diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvMeshMapper.H b/src/finiteVolume/fvMesh/fvMeshMapper/fvMeshMapper.H index 671a8cb59db..6e9deeefbfd 100644 --- a/src/finiteVolume/fvMesh/fvMeshMapper/fvMeshMapper.H +++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvMeshMapper.H @@ -34,8 +34,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef fvMeshMapper_H -#define fvMeshMapper_H +#ifndef Foam_fvMeshMapper_H +#define Foam_fvMeshMapper_H #include "faceMapper.H" #include "cellMapper.H" @@ -47,7 +47,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes +// Forward Declarations class fvMesh; class mapPolyMesh; @@ -57,7 +57,7 @@ class mapPolyMesh; class fvMeshMapper { - // Private data + // Private Data //- Reference to mesh const fvMesh& mesh_; diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C b/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C index 071c3890ad0..ce16d5ce4ed 100644 --- a/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C +++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,7 +32,6 @@ License #include "fvMesh.H" #include "mapPolyMesh.H" #include "faceMapper.H" -#include "demandDrivenData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -41,7 +40,7 @@ void Foam::fvPatchMapper::calcAddressing() const if ( directAddrPtr_ - || interpolationAddrPtr_ + || interpAddrPtr_ || weightsPtr_ ) { @@ -63,14 +62,14 @@ void Foam::fvPatchMapper::calcAddressing() const if (direct()) { // Direct mapping - slice to size - directAddrPtr_ = new labelList + directAddrPtr_ = std::make_unique<labelList> ( patch_.patchSlice ( static_cast<const labelList&>(faceMap_.directAddressing()) ) ); - labelList& addr = *directAddrPtr_; + auto& addr = *directAddrPtr_; // Adjust mapping to manage hits into other patches and into // internal @@ -106,26 +105,25 @@ void Foam::fvPatchMapper::calcAddressing() const else { // Interpolative mapping - interpolationAddrPtr_ = - new labelListList - ( - patch_.patchSlice(faceMap_.addressing()) - ); - labelListList& addr = *interpolationAddrPtr_; + interpAddrPtr_ = std::make_unique<labelListList> + ( + patch_.patchSlice(faceMap_.addressing()) + ); + auto& addr = *interpAddrPtr_; - weightsPtr_ = - new scalarListList - ( - patch_.patchSlice(faceMap_.weights()) - ); - scalarListList& w = *weightsPtr_; + weightsPtr_ = std::make_unique<scalarListList> + ( + patch_.patchSlice(faceMap_.weights()) + ); + auto& wght = *weightsPtr_; // Adjust mapping to manage hits into other patches and into // internal + forAll(addr, facei) { - labelList& curAddr = addr[facei]; - scalarList& curW = w[facei]; + auto& curAddr = addr[facei]; + auto& curWght = wght[facei]; if ( @@ -142,44 +140,42 @@ void Foam::fvPatchMapper::calcAddressing() const else { // Need to recalculate weights to exclude hits into internal - labelList newAddr(curAddr.size()); - scalarField newWeights(curAddr.size()); label nActive = 0; scalar sumWeight = 0; - forAll(curAddr, lfI) + forAll(curAddr, i) { if ( - curAddr[lfI] >= oldPatchStart - && curAddr[lfI] < oldPatchEnd + curAddr[i] >= oldPatchStart + && curAddr[i] < oldPatchEnd ) { - newAddr[nActive] = curAddr[lfI] - oldPatchStart; - newWeights[nActive] = curW[lfI]; + curAddr[nActive] = curAddr[i] - oldPatchStart; + curWght[nActive] = curWght[i]; - sumWeight += curW[lfI]; + sumWeight += curWght[i]; ++nActive; } } - newAddr.resize(nActive); - newWeights.resize(nActive); + // Reset addressing and weights + curAddr.resize(nActive); + curWght.resize(nActive); // Re-scale the weights - if (nActive > 0) + if (nActive) { - newWeights /= sumWeight; + for (auto& w : curWght) + { + w /= sumWeight; + } } else { hasUnmapped_ = true; } - - // Reset addressing and weights - curAddr = newAddr; - curW = newWeights; } } @@ -200,13 +196,13 @@ void Foam::fvPatchMapper::calcAddressing() const } -void Foam::fvPatchMapper::clearOut() -{ - deleteDemandDrivenData(directAddrPtr_); - deleteDemandDrivenData(interpolationAddrPtr_); - deleteDemandDrivenData(weightsPtr_); - hasUnmapped_ = false; -} +// void Foam::fvPatchMapper::clearOut() +// { +// directAddrPtr_.reset(nullptr); +// interpAddrPtr_.reset(nullptr); +// weightsPtr_.reset(nullptr); +// hasUnmapped_ = false; +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -220,19 +216,14 @@ Foam::fvPatchMapper::fvPatchMapper patch_(patch), faceMap_(faceMap), sizeBeforeMapping_(faceMap.oldPatchSizes()[patch_.index()]), - hasUnmapped_(false), - directAddrPtr_(nullptr), - interpolationAddrPtr_(nullptr), - weightsPtr_(nullptr) + hasUnmapped_(false) {} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::fvPatchMapper::~fvPatchMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -264,12 +255,12 @@ const Foam::labelListList& Foam::fvPatchMapper::addressing() const << abort(FatalError); } - if (!interpolationAddrPtr_) + if (!interpAddrPtr_) { calcAddressing(); } - return *interpolationAddrPtr_; + return *interpAddrPtr_; } diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.H b/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.H index 511cae83fe4..babc8d2ac73 100644 --- a/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.H +++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef fvPatchMapper_H -#define fvPatchMapper_H +#ifndef Foam_fvPatchMapper_H +#define Foam_fvPatchMapper_H #include "fvPatchFieldMapper.H" #include "faceMapper.H" @@ -47,7 +48,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes +// Forward Declarations class fvPatch; class mapPolyMesh; @@ -71,18 +72,18 @@ class fvPatchMapper const label sizeBeforeMapping_; - // Demand-driven private data + // Demand-Driven Data mutable bool hasUnmapped_; //- Direct addressing (only one for of addressing is used) - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; //- Interpolated addressing (only one for of addressing is used) - mutable labelListList* interpolationAddrPtr_; + mutable std::unique_ptr<labelListList> interpAddrPtr_; //- Interpolation weights - mutable scalarListList* weightsPtr_; + mutable std::unique_ptr<scalarListList> weightsPtr_; // Private Member Functions @@ -97,14 +98,9 @@ class fvPatchMapper //- Calculate addressing for mapping with inserted cells void calcAddressing() const; - //- Clear out local storage - void clearOut(); - public: - // Static data members - // Constructors //- Construct from mappers @@ -152,7 +148,6 @@ public: //- Return interpolation weights virtual const scalarListList& weights() const; - }; diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.C b/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.C index a03873f01a6..6767d10fa18 100644 --- a/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.C +++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,7 +30,6 @@ License #include "fvMesh.H" #include "mapPolyMesh.H" #include "faceMapper.H" -#include "demandDrivenData.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -39,9 +38,9 @@ void Foam::fvSurfaceMapper::calcAddressing() const if ( directAddrPtr_ - || interpolationAddrPtr_ + || interpAddrPtr_ || weightsPtr_ - || insertedObjectLabelsPtr_ + || insertedObjectsPtr_ ) { FatalErrorInFunction @@ -57,12 +56,11 @@ void Foam::fvSurfaceMapper::calcAddressing() const if (direct()) { // Direct mapping - slice to size - directAddrPtr_ = - new labelList - ( - labelList::subList(faceMap_.directAddressing(), size()) - ); - labelList& addr = *directAddrPtr_; + directAddrPtr_ = std::make_unique<labelList> + ( + labelList::subList(faceMap_.directAddressing(), size()) + ); + auto& addr = *directAddrPtr_; // Adjust for creation of an internal face from a boundary face forAll(addr, facei) @@ -76,71 +74,64 @@ void Foam::fvSurfaceMapper::calcAddressing() const else { // Interpolative mapping - slice to size - interpolationAddrPtr_ = - new labelListList - ( - labelListList::subList(faceMap_.addressing(), size()) - ); - labelListList& addr = *interpolationAddrPtr_; - - weightsPtr_ = - new scalarListList - ( - scalarListList::subList(faceMap_.weights(), size()) - ); - scalarListList& w = *weightsPtr_; + interpAddrPtr_ = std::make_unique<labelListList> + ( + labelListList::subList(faceMap_.addressing(), size()) + ); + auto& addr = *interpAddrPtr_; + + weightsPtr_ = std::make_unique<scalarListList> + ( + scalarListList::subList(faceMap_.weights(), size()) + ); + auto& wght = *weightsPtr_; // Adjust for creation of an internal face from a boundary face forAll(addr, facei) { if (max(addr[facei]) >= oldNInternal) { - addr[facei] = labelList(1, Zero); - w[facei] = scalarList(1, scalar(1)); + addr[facei] = labelList(1, Foam::zero{}); + wght[facei] = scalarList(1, scalar(1)); } } } // Inserted objects + insertedObjectsPtr_ = std::make_unique<labelList>(); + auto& inserted = *insertedObjectsPtr_; + // If there are, assemble the labels - if (insertedObjects()) + if (faceMap_.insertedObjects()) { const labelList& insFaces = faceMap_.insertedObjectLabels(); - insertedObjectLabelsPtr_ = new labelList(insFaces.size()); - labelList& ins = *insertedObjectLabelsPtr_; - - label nIns = 0; + inserted.resize(insFaces.size()); - forAll(insFaces, facei) + label count = 0; + for (const label facei : insFaces) { // If the face is internal, keep it here - if (insFaces[facei] < size()) + if (facei < size()) { - ins[nIns] = insFaces[facei]; - nIns++; + inserted[count] = facei; + ++count; } } - ins.setSize(nIns); - } - else - { - // No inserted objects - insertedObjectLabelsPtr_ = new labelList(0); + inserted.resize(count); } } -void Foam::fvSurfaceMapper::clearOut() -{ - deleteDemandDrivenData(directAddrPtr_); - deleteDemandDrivenData(interpolationAddrPtr_); - deleteDemandDrivenData(weightsPtr_); - - deleteDemandDrivenData(insertedObjectLabelsPtr_); -} +// void Foam::fvSurfaceMapper::clearOut() +// { +// directAddrPtr_.reset(nullptr); +// interpAddrPtr_.reset(nullptr); +// weightsPtr_.reset(nullptr); +// insertedObjectsPtr_.reset(nullptr); +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -148,24 +139,18 @@ void Foam::fvSurfaceMapper::clearOut() Foam::fvSurfaceMapper::fvSurfaceMapper ( const fvMesh& mesh, - const faceMapper& fMapper + const faceMapper& mapper ) : mesh_(mesh), - faceMap_(fMapper), - directAddrPtr_(nullptr), - interpolationAddrPtr_(nullptr), - weightsPtr_(nullptr), - insertedObjectLabelsPtr_(nullptr) + faceMap_(mapper) {} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::fvSurfaceMapper::~fvSurfaceMapper() -{ - clearOut(); -} +{} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -197,12 +182,12 @@ const Foam::labelListList& Foam::fvSurfaceMapper::addressing() const << abort(FatalError); } - if (!interpolationAddrPtr_) + if (!interpAddrPtr_) { calcAddressing(); } - return *interpolationAddrPtr_; + return *interpAddrPtr_; } @@ -226,22 +211,13 @@ const Foam::scalarListList& Foam::fvSurfaceMapper::weights() const const Foam::labelList& Foam::fvSurfaceMapper::insertedObjectLabels() const { - if (!insertedObjectLabelsPtr_) + if (!insertedObjectsPtr_) { calcAddressing(); } - return *insertedObjectLabelsPtr_; + return *insertedObjectsPtr_; } -// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // - - // ************************************************************************* // diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.H b/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.H index f2f1a0381ce..56b88cfabb0 100644 --- a/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.H +++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,15 +28,15 @@ Class Foam::fvSurfaceMapper Description - FV surface mapper. + A finiteVolume surface mapper. SourceFiles fvSurfaceMapper.C \*---------------------------------------------------------------------------*/ -#ifndef fvSurfaceMapper_H -#define fvSurfaceMapper_H +#ifndef Foam_fvSurfaceMapper_H +#define Foam_fvSurfaceMapper_H #include "morphFieldMapper.H" #include "fvMesh.H" @@ -48,8 +49,6 @@ SourceFiles namespace Foam { -// Forward declaration of classes - /*---------------------------------------------------------------------------*\ Class fvSurfaceMapper Declaration \*---------------------------------------------------------------------------*/ @@ -58,7 +57,7 @@ class fvSurfaceMapper : public morphFieldMapper { - // Private data + // Private Data //- Reference to mesh const fvMesh& mesh_; @@ -67,19 +66,19 @@ class fvSurfaceMapper const faceMapper& faceMap_; - // Demand-driven private data + // Demand-Driven Data //- Direct addressing (only one for of addressing is used) - mutable labelList* directAddrPtr_; + mutable std::unique_ptr<labelList> directAddrPtr_; //- Interpolated addressing (only one for of addressing is used) - mutable labelListList* interpolationAddrPtr_; + mutable std::unique_ptr<labelListList> interpAddrPtr_; //- Interpolation weights - mutable scalarListList* weightsPtr_; + mutable std::unique_ptr<scalarListList> weightsPtr_; //- Inserted faces - mutable labelList* insertedObjectLabelsPtr_; + mutable std::unique_ptr<labelList> insertedObjectsPtr_; @@ -95,9 +94,6 @@ class fvSurfaceMapper //- Calculate addressing void calcAddressing() const; - //- Clear out local storage - void clearOut(); - public: @@ -107,7 +103,7 @@ public: fvSurfaceMapper ( const fvMesh& mesh, - const faceMapper& fMapper + const faceMapper& mapper ); -- GitLab From 690d02f9e8f0643c20ae628893f0edc6d824bbfc Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 24 Apr 2024 17:10:27 +0100 Subject: [PATCH 149/231] ENH: snappyHexMesh: more parallel consistency. See #2331 --- .../meshRefinementProblemCells.C | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C index 0c1c50ba695..61fa183e7d7 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -473,13 +473,16 @@ void Foam::meshRefinement::markFacesOnProblemCells // Baffle all faces of cells that need to be removed forAllConstIters(problemCells, iter) { - const cell& cFaces = mesh_.cells()[iter.key()]; - - forAll(cFaces, i) + for (const label facei : mesh_.cells()[iter.key()]) { - label facei = cFaces[i]; + const label patchi = patches.whichPatch(facei); - if (facePatch[facei] == -1 && mesh_.isInternalFace(facei)) + if + ( + facePatch[facei] == -1 + // && mesh_.isInternalFace(facei) + && (patchi == -1 || patches[patchi].coupled()) + ) { facePatch[facei] = nearestAdaptPatch[facei]; faceZone[facei] = nearestAdaptZone[facei]; @@ -719,14 +722,15 @@ void Foam::meshRefinement::markFacesOnProblemCells else { // Block all faces of cell - forAll(cFaces, cf) + for (const label facei : cFaces) { - label facei = cFaces[cf]; + const label patchi = patches.whichPatch(facei); if ( facePatch[facei] == -1 - && mesh_.isInternalFace(facei) + // && mesh_.isInternalFace(facei) + && (patchi == -1 || patches[patchi].coupled()) ) { facePatch[facei] = nearestAdaptPatch[facei]; @@ -805,10 +809,13 @@ void Foam::meshRefinement::markFacesOnProblemCells for (const label facei : cFaces) { + const label patchi = patches.whichPatch(facei); + if ( facePatch[facei] == -1 - && mesh_.isInternalFace(facei) + // && mesh_.isInternalFace(facei) + && (patchi == -1 || patches[patchi].coupled()) ) { facePatch[facei] = nearestAdaptPatch[facei]; -- GitLab From e1d45ec26ec6548a21369de18b9e029e67c569ff Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 25 Apr 2024 15:52:41 +0100 Subject: [PATCH 150/231] ENH: snappyHexMesh: more parallel consistency. See #2331 --- .../polyTopoChange/hexRef8/hexRef8.C | 217 +++++++++++++++--- 1 file changed, 179 insertions(+), 38 deletions(-) diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/hexRef8.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/hexRef8.C index 373815305fe..cd1b62ad59f 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/hexRef8.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/hexRef8.C @@ -48,6 +48,10 @@ License #include "refinementDistanceData.H" #include "degenerateMatcher.H" +//#include "fvMesh.H" +//#include "volFields.H" +//#include "OBJstream.H" + // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam @@ -2803,17 +2807,90 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 } + //{ + // const fvMesh& fMesh = reinterpret_cast<const fvMesh&>(mesh_); + // + // // Dump origin level + // volScalarField originLevel + // ( + // IOobject + // ( + // "originLevel_before_walk", + // fMesh.time().timeName(), + // fMesh, + // IOobject::NO_READ, + // IOobject::NO_WRITE, + // IOobject::NO_REGISTER + // ), + // fMesh, + // dimensionedScalar(dimless, Zero) + // ); + // + // forAll(originLevel, celli) + // { + // originLevel[celli] = allCellInfo[celli].originLevel(); + // } + // Pout<< "Writing " << originLevel.objectPath() << endl; + // originLevel.write(); + //} + //{ + // const auto& cc = mesh_.cellCentres(); + // + // mkDir(mesh_.time().timePath()); + // OBJstream os(mesh_.time().timePath()/"origin_before_walk.obj"); + // forAll(allCellInfo, celli) + // { + // os.write(linePointRef(cc[celli], allCellInfo[celli].origin())); + // } + //} + + // Labels of seed faces DynamicList<label> seedFaces(mesh_.nFaces()/100); // refinementLevel data on seed faces DynamicList<refinementDistanceData> seedFacesInfo(mesh_.nFaces()/100); const pointField& cc = mesh_.cellCentres(); + const polyBoundaryMesh& patches = mesh_.boundaryMesh(); - forAll(facesToCheck, i) + // Get neighbour boundary data: + // - coupled faces : owner data + // - non-coupled faces : owner level + 1 so we can treat + pointField nbrCc(mesh_.nBoundaryFaces(), point::max); + labelList nbrLevel(mesh_.nBoundaryFaces(), labelMax); + bitSet isBoundary(mesh_.nFaces()); { - label facei = facesToCheck[i]; + for (const polyPatch& pp : patches) + { + if (pp.coupled()) + { + const auto& faceCells = pp.faceCells(); + forAll(faceCells, i) + { + const label own = faceCells[i]; + nbrCc[pp.offset()+i] = cc[own]; + + const label ownLevel = + ( + allCellInfo[own].valid(dummyTrackData) + ? allCellInfo[own].originLevel() + : cellLevel_[own] + ); + nbrLevel[pp.offset()+i] = ownLevel; + } + } + else + { + isBoundary.set(pp.range()); + } + } + syncTools::swapBoundaryFaceList(mesh_, nbrCc); + syncTools::swapBoundaryFaceList(mesh_, nbrLevel); + } + + for (const label facei : facesToCheck) + { if (allFaceInfo[facei].valid(dummyTrackData)) { // Can only occur if face has already gone through loop below. @@ -2825,16 +2902,16 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 << abort(FatalError); } - label own = faceOwner[facei]; - - label ownLevel = + const label own = faceOwner[facei]; + const label ownLevel = ( allCellInfo[own].valid(dummyTrackData) ? allCellInfo[own].originLevel() : cellLevel_[own] ); + const point& ownCc = cc[own]; - if (!mesh_.isInternalFace(facei)) + if (isBoundary(facei)) { // Do as if boundary face would have neighbour with one higher // refinement level. @@ -2859,14 +2936,24 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 } else { - label nei = faceNeighbour[facei]; - - label neiLevel = - ( - allCellInfo[nei].valid(dummyTrackData) - ? allCellInfo[nei].originLevel() - : cellLevel_[nei] - ); + label neiLevel; + point neiCc; + if (mesh_.isInternalFace(facei)) + { + const label nei = faceNeighbour[facei]; + neiLevel = + ( + allCellInfo[nei].valid(dummyTrackData) + ? allCellInfo[nei].originLevel() + : cellLevel_[nei] + ); + neiCc = cc[nei]; + } + else + { + neiLevel = nbrLevel[facei-mesh_.nInternalFaces()]; + neiCc = nbrCc[facei-mesh_.nInternalFaces()]; + } if (ownLevel == neiLevel) { @@ -2875,8 +2962,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 ( mesh_, facei, - nei, - refinementDistanceData(level0Size, cc[nei], neiLevel+1), + own, // not used, should be nei + refinementDistanceData(level0Size, neiCc, neiLevel+1), FaceCellWave<refinementDistanceData, int>::propagationTol(), dummyTrackData ); @@ -2884,8 +2971,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 ( mesh_, facei, - own, - refinementDistanceData(level0Size, cc[own], ownLevel+1), + own, // not used + refinementDistanceData(level0Size, ownCc, ownLevel+1), FaceCellWave<refinementDistanceData, int>::propagationTol(), dummyTrackData ); @@ -2897,8 +2984,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 ( mesh_, facei, - nei, - refinementDistanceData(level0Size, cc[nei], neiLevel), + own, // not used, should be nei + refinementDistanceData(level0Size, neiCc, neiLevel), FaceCellWave<refinementDistanceData, int>::propagationTol(), dummyTrackData ); @@ -2906,8 +2993,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 ( mesh_, facei, - own, - refinementDistanceData(level0Size, cc[own], ownLevel), + own, // not used + refinementDistanceData(level0Size, ownCc, ownLevel), FaceCellWave<refinementDistanceData, int>::propagationTol(), dummyTrackData ); @@ -2918,31 +3005,45 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 } + // Create some initial seeds to start walking from. This is only if there // are no facesToCheck. // Just seed with all faces inbetween different refinement levels for now - forAll(faceNeighbour, facei) + // Note: no need to handle coupled faces since FaceCellWave below + // already swaps seedInfo upon start + //forAll(faceNeighbour, facei) + forAll(faceOwner, facei) { // Check if face already handled in loop above - if (!allFaceInfo[facei].valid(dummyTrackData)) + if (!allFaceInfo[facei].valid(dummyTrackData) && !isBoundary(facei)) { - label own = faceOwner[facei]; - - label ownLevel = + const label own = faceOwner[facei]; + const label ownLevel = ( allCellInfo[own].valid(dummyTrackData) ? allCellInfo[own].originLevel() : cellLevel_[own] ); + const point& ownCc = cc[own]; - label nei = faceNeighbour[facei]; - - label neiLevel = - ( - allCellInfo[nei].valid(dummyTrackData) - ? allCellInfo[nei].originLevel() - : cellLevel_[nei] - ); + label neiLevel; + point neiCc; + if (mesh_.isInternalFace(facei)) + { + const label nei = faceNeighbour[facei]; + neiLevel = + ( + allCellInfo[nei].valid(dummyTrackData) + ? allCellInfo[nei].originLevel() + : cellLevel_[nei] + ); + neiCc = cc[nei]; + } + else + { + neiLevel = nbrLevel[facei-mesh_.nInternalFaces()]; + neiCc = nbrCc[facei-mesh_.nInternalFaces()]; + } if (ownLevel > neiLevel) { @@ -2953,7 +3054,7 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 mesh_, facei, own, - refinementDistanceData(level0Size, cc[own], ownLevel), + refinementDistanceData(level0Size, ownCc, ownLevel), FaceCellWave<refinementDistanceData, int>::propagationTol(), dummyTrackData ); @@ -2966,8 +3067,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 ( mesh_, facei, - nei, - refinementDistanceData(level0Size, cc[nei], neiLevel), + own, // not used, should be nei, + refinementDistanceData(level0Size, neiCc, neiLevel), FaceCellWave<refinementDistanceData, int>::propagationTol(), dummyTrackData ); @@ -2992,8 +3093,45 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 ); + //- noted: origin is different face (? or cell) between non-parallel + // and parallel + //{ + // const auto& cc = mesh_.cellCentres(); + // + // mkDir(mesh_.time().timePath()); + // OBJstream os(mesh_.time().timePath()/"origin_after_walk.obj"); + // forAll(allCellInfo, celli) + // { + // os.write(linePointRef(cc[celli], allCellInfo[celli].origin())); + // } + //} + + + //if (debug) //{ + // const fvMesh& fMesh = reinterpret_cast<const fvMesh&>(mesh_); + // + // // Dump origin level + // volScalarField originLevel + // ( + // IOobject + // ( + // "originLevel_after_walk", + // fMesh.time().timeName(), + // fMesh, + // IOobject::NO_READ, + // IOobject::NO_WRITE, + // IOobject::NO_REGISTER + // ), + // fMesh, + // dimensionedScalar(dimless, Zero) + // ); + // + // forAll(originLevel, celli) + // { + // originLevel[celli] = allCellInfo[celli].originLevel(); + // } // // Dump wanted level // volScalarField wantedLevel // ( @@ -3015,6 +3153,9 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2 // wantedLevel[celli] = allCellInfo[celli].wantedLevel(cc[celli]); // } // + // Pout<< "Writing " << originLevel.objectPath() << endl; + // //fMesh.write(); + // originLevel.write(); // Pout<< "Writing " << wantedLevel.objectPath() << endl; // wantedLevel.write(); //} -- GitLab From 7f355ba3434bdedb36f438c04d546dc298c2449d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 26 Apr 2024 10:17:43 +0200 Subject: [PATCH 151/231] STYLE: communication name "buffered" instead of "blocking" - "buffered" corresponds to MPI_Bsend (buffered send), whereas the old name "blocking" is misleading since the regular MPI_Send also blocks until completion (ie, buffer can be reused). ENH: IPstream::read() returns std::streamsize instead of label (#3152) - previously returned a 'label' but std::streamsize is consistent with the input parameter and will help with later adjustments. - use <label> instead of <int> for internal accounting of the message size, for consistency with the underyling List<char> buffers used. - improve handling for corner case of IPstream receive with non-blocking, although this combination is not used anywhere --- .../test/parallel-comm1/Test-parallel-comm1.C | 8 +- applications/test/parallel/Test-parallel.C | 8 +- .../surface-sampling/mydebugSurfaceWriter.H | 2 +- .../manipulation/createPatch/createPatch.C | 3 +- .../preProcessing/mapFieldsPar/MapVolFields.H | 2 +- etc/controlDict | 2 +- .../Lists/SortableList/ParSortableList.C | 4 +- .../db/IOstreams/Pstreams/OPstreams.C | 6 + .../db/IOstreams/Pstreams/PstreamBuffers.H | 4 +- .../db/IOstreams/Pstreams/UIPstream.H | 24 ++-- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C | 4 +- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H | 8 +- .../GeometricField/GeometricBoundaryField.C | 6 +- .../basicSymmetryPointPatchField.H | 2 +- .../basic/coupled/coupledPointPatchField.H | 2 +- .../basic/value/valuePointPatchField.H | 2 +- .../constraint/cyclic/cyclicPointPatchField.H | 2 +- .../cyclicSlip/cyclicSlipPointPatchField.H | 2 +- ...nonuniformTransformCyclicPointPatchField.H | 2 +- .../processor/processorPointPatchField.H | 2 +- .../processorCyclicPointPatchField.H | 2 +- .../symmetryPlanePointPatchField.H | 2 +- .../constraint/wedge/wedgePointPatchField.H | 2 +- .../codedFixedValuePointPatchField.C | 2 +- .../codedFixedValuePointPatchField.H | 2 +- .../fixedNormalSlipPointPatchField.H | 2 +- .../pointPatchField/pointPatchField.H | 8 +- .../LduMatrixUpdateMatrixInterfaces.C | 10 +- .../processorLduInterfaceTemplates.C | 8 +- .../lduMatrixUpdateMatrixInterfaces.C | 10 +- .../pointBoundaryMesh/pointBoundaryMesh.C | 6 +- .../mapDistributeBaseTemplates.C | 4 +- .../polyBoundaryMesh/polyBoundaryMesh.C | 6 +- src/Pstream/dummy/UIPBstreamRead.C | 4 +- src/Pstream/dummy/UIPstreamRead.C | 4 +- src/Pstream/mpi/UIPBstreamRead.C | 57 +++++---- src/Pstream/mpi/UIPstreamRead.C | 119 +++++++++++------- src/Pstream/mpi/UOPBstreamWrite.C | 46 ++++--- src/Pstream/mpi/UOPstreamWrite.C | 46 ++++--- src/Pstream/mpi/UPstream.C | 2 +- src/Pstream/mpi/UPstreamBroadcast.C | 8 +- src/Pstream/mpi/UPstreamWrapping.txx | 7 +- .../porousBafflePressureFvPatchField.C | 2 +- .../kqRWallFunctionFvPatchField.H | 2 +- .../freeSurfacePointDisplacement.C | 4 +- .../motionSmoother/motionSmootherAlgo.C | 8 +- .../motionSmootherAlgoTemplates.C | 4 +- .../faMesh/faBoundaryMesh/faBoundaryMesh.C | 6 +- .../faMesh/faMeshDemandDrivenData.C | 8 +- .../basicSymmetry/basicSymmetryFaPatchField.H | 2 +- .../basic/coupled/coupledFaPatchField.H | 4 +- .../extrapolatedCalculatedFaPatchField.H | 2 +- .../fixedGradient/fixedGradientFaPatchField.H | 2 +- .../basic/mixed/mixedFaPatchField.H | 2 +- .../basic/sliced/slicedFaPatchField.H | 4 +- .../zeroGradient/zeroGradientFaPatchField.H | 2 +- .../constraint/cyclic/cyclicFaPatchField.C | 2 +- .../processor/processorFaPatchField.H | 4 +- .../constraint/wedge/wedgeFaPatchField.H | 2 +- .../clampedPlate/clampedPlateFaPatchField.H | 2 +- .../faPatchFields/faPatchField/faPatchField.H | 8 +- .../faePatchField/faePatchField.H | 8 +- .../basicSymmetry/basicSymmetryFvPatchField.H | 2 +- .../basic/coupled/coupledFvPatchField.H | 4 +- .../directionMixedFvPatchField.H | 2 +- .../extrapolatedCalculatedFvPatchField.H | 2 +- .../fixedGradient/fixedGradientFvPatchField.H | 2 +- .../basic/mixed/mixedFvPatchField.H | 2 +- .../basic/sliced/slicedFvPatchField.H | 4 +- .../zeroGradient/zeroGradientFvPatchField.H | 2 +- .../constraint/cyclic/cyclicFvPatchField.C | 2 +- .../cyclicACMI/cyclicACMIFvPatchField.C | 2 +- .../jumpCyclicAMI/jumpCyclicAMIFvPatchField.C | 2 +- .../processor/processorFvPatchField.H | 4 +- .../symmetryPlane/symmetryPlaneFvPatchField.H | 2 +- .../constraint/wedge/wedgeFvPatchField.H | 2 +- .../codedFixedValueFvPatchField.C | 2 +- .../codedFixedValueFvPatchField.H | 2 +- .../codedMixed/codedMixedFvPatchField.H | 2 +- .../derived/fan/fanFvPatchField.C | 2 +- .../derived/fixedJump/fixedJumpFvPatchField.C | 2 +- .../fixedJumpAMI/fixedJumpAMIFvPatchField.C | 2 +- .../fixedNormalSlipFvPatchField.H | 2 +- .../flowRateInletVelocityFvPatchVectorField.C | 2 +- ...flowRateOutletVelocityFvPatchVectorField.C | 2 +- .../fluxCorrectedVelocityFvPatchVectorField.H | 2 +- ...FlowRateOutletVelocityFvPatchVectorField.C | 2 +- .../partialSlip/partialSlipFvPatchField.H | 2 +- .../timeVaryingMappedFixedValueFvPatchField.C | 2 +- .../uniformJump/uniformJumpFvPatchField.C | 2 +- .../uniformJumpAMIFvPatchField.C | 2 +- .../fvPatchFields/fvPatchField/fvPatchField.H | 8 +- .../fvsPatchField/fvsPatchField.H | 8 +- .../field/mapFields/mapFieldsTemplates.C | 2 +- ...aceSlipDisplacementPointPatchVectorField.H | 2 +- ...meVaryingMappedFixedValuePointPatchField.C | 2 +- .../cyclicACMIPointPatchField.H | 2 +- .../cyclicAMIPointPatchField.H | 2 +- .../adjointOutletVelocityFvPatchVectorField.H | 2 +- .../surface/isoSurface/isoSurfacePoint.C | 3 +- .../writers/debug/debugSurfaceWriter.H | 2 +- .../energyJump/energyJumpFvPatchScalarField.C | 4 +- .../energyJumpAMIFvPatchScalarField.C | 4 +- ...haContactAngleTwoPhaseFvPatchScalarField.H | 2 +- 104 files changed, 347 insertions(+), 290 deletions(-) diff --git a/applications/test/parallel-comm1/Test-parallel-comm1.C b/applications/test/parallel-comm1/Test-parallel-comm1.C index d0bc966a5d9..33a6bd5bdcb 100644 --- a/applications/test/parallel-comm1/Test-parallel-comm1.C +++ b/applications/test/parallel-comm1/Test-parallel-comm1.C @@ -62,7 +62,7 @@ scalar sumReduce scalar procValue; UIPstream::read ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::buffered, proci, reinterpret_cast<char*>(&procValue), sizeof(scalar), @@ -79,7 +79,7 @@ scalar sumReduce { UOPstream::write ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::buffered, proci, reinterpret_cast<const char*>(&sum), sizeof(scalar), @@ -93,7 +93,7 @@ scalar sumReduce { UOPstream::write ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::buffered, UPstream::masterNo(), reinterpret_cast<const char*>(&localValue), sizeof(scalar), @@ -105,7 +105,7 @@ scalar sumReduce { UIPstream::read ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::buffered, UPstream::masterNo(), reinterpret_cast<char*>(&sum), sizeof(scalar), diff --git a/applications/test/parallel/Test-parallel.C b/applications/test/parallel/Test-parallel.C index 06d3ea16e9c..fa6ab72bee0 100644 --- a/applications/test/parallel/Test-parallel.C +++ b/applications/test/parallel/Test-parallel.C @@ -131,7 +131,7 @@ void testTransfer(const T& input) for (const int proci : UPstream::subProcs()) { Perr<< "master sending to proc:" << proci << endl; - OPstream os(UPstream::commsTypes::blocking, proci); + OPstream os(UPstream::commsTypes::buffered, proci); os << data; } } @@ -139,7 +139,7 @@ void testTransfer(const T& input) { { Perr<< "proc sending to master" << endl; - OPstream os(UPstream::commsTypes::blocking, UPstream::masterNo()); + OPstream os(UPstream::commsTypes::buffered, UPstream::masterNo()); os << data; } @@ -169,7 +169,7 @@ void testTokenized(const T& data) for (const int proci : UPstream::subProcs()) { Perr<< "master sending to proc:" << proci << endl; - OPstream os(UPstream::commsTypes::blocking, proci); + OPstream os(UPstream::commsTypes::buffered, proci); os << tok; } } @@ -177,7 +177,7 @@ void testTokenized(const T& data) { { Perr<< "proc sending to master" << endl; - OPstream os(UPstream::commsTypes::blocking, UPstream::masterNo()); + OPstream os(UPstream::commsTypes::buffered, UPstream::masterNo()); os << tok; } diff --git a/applications/test/surface-sampling/mydebugSurfaceWriter.H b/applications/test/surface-sampling/mydebugSurfaceWriter.H index 825cde7e4ff..cfaea6f8084 100644 --- a/applications/test/surface-sampling/mydebugSurfaceWriter.H +++ b/applications/test/surface-sampling/mydebugSurfaceWriter.H @@ -44,7 +44,7 @@ Description Format options: \table Property | Description | Required | Default - commsType | blocking/nonBlocking/scheduled | no | scheduled + commsType | scheduled/nonBlocking/buffered | no | scheduled merge | Enable geometry/field merging | no | true write | Write file(s) | no | false narrow | Communicate with narrowed values | no | false diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C index 133d208d96a..f07f49bfad3 100644 --- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C +++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C @@ -568,10 +568,9 @@ void syncPoints } } - // buffered send OPstream toNbr ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::buffered, procPatch.neighbProcNo() ); toNbr << patchInfo; diff --git a/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H b/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H index 1257d47aeb6..f3106def5c4 100644 --- a/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H +++ b/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H @@ -48,7 +48,7 @@ void evaluateConstraintTypes(GeometricField<Type, fvPatchField, volMesh>& fld) if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { diff --git a/etc/controlDict b/etc/controlDict index f084663716d..d0ffb765522 100644 --- a/etc/controlDict +++ b/etc/controlDict @@ -132,7 +132,7 @@ OptimisationSwitches // MPI/Parallel settings // ===================== - // Default communication type (nonBlocking | scheduled | blocking); + // Default communication type (nonBlocking | scheduled | buffered) commsType nonBlocking; // Transfer double as float for processor boundaries. Mostly defunct. diff --git a/src/OpenFOAM/containers/Lists/SortableList/ParSortableList.C b/src/OpenFOAM/containers/Lists/SortableList/ParSortableList.C index d5f8ad2cd9b..59175756032 100644 --- a/src/OpenFOAM/containers/Lists/SortableList/ParSortableList.C +++ b/src/OpenFOAM/containers/Lists/SortableList/ParSortableList.C @@ -115,7 +115,7 @@ void Foam::ParSortableList<Type>::checkAndSend } { - OPstream toProc(UPstream::commsTypes::blocking, destProci); + OPstream toProc(UPstream::commsTypes::buffered, destProci); toProc << values << indices; } } @@ -309,7 +309,7 @@ void Foam::ParSortableList<Type>::sort() Pout<< "Receiving from " << proci << endl; } - IPstream fromProc(UPstream::commsTypes::blocking, proci); + IPstream fromProc(UPstream::commsTypes::buffered, proci); fromProc >> recValues >> recIndices; diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/OPstreams.C b/src/OpenFOAM/db/IOstreams/Pstreams/OPstreams.C index e956e8de74f..fc8312f6749 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/OPstreams.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/OPstreams.C @@ -101,6 +101,12 @@ Foam::UOPstream::~UOPstream() { if (sendAtDestruct_) { + // Note: sendAtDestruct_ and nonBlocking is a questionable combination + // since the transfer buffer will be destroyed before + // the non-blocking send completes! + // + // Could flag as an error, but not actually used anywhere. + if (!bufferIPCsend()) { FatalErrorInFunction diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H index e61bf65e904..cb4cf58e3af 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H @@ -32,7 +32,7 @@ Description Use UOPstream to stream data into buffers, call finishedSends() to notify that data is in buffers and then use IUPstream to get data out - of received buffers. Works with both blocking and non-blocking. Does + of received buffers. Works with both buffered and non-blocking. Does not make much sense with scheduled since there you would not need these explicit buffers. @@ -51,7 +51,7 @@ Description } } - pBufs.finishedSends(); // no-op for blocking + pBufs.finishedSends(); // no-op for buffered for (const int proci : UPstream::allProcs()) { diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H index 3e70872c34a..138dc465a8c 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2013 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -96,7 +96,7 @@ protected: const int comm_; //- The message size, read on bufferIPCrecv or set directly - int messageSize_; + label messageSize_; //- Receive position in buffer data, if ony //- If there is no external location for recvBufPos_ @@ -279,8 +279,8 @@ public: // Static Functions //- Read buffer contents from given processor. - // \return the message size (bytes read) - static label read + // \return the message size (bytes read). May change in the future + static std::streamsize read ( const UPstream::commsTypes commsType, const int fromProcNo, @@ -293,8 +293,8 @@ public: ); //- Read buffer contents (non-blocking) from given processor. - // \return the message size (bytes read) - inline static label read + // \return the message size (bytes read). May change in the future + inline static std::streamsize read ( //! [out] request information UPstream::Request& req, @@ -321,7 +321,7 @@ public: // Only valid for contiguous data types. // \return the message size (bytes read). May change in the future template<class Type> - inline static label read + inline static std::streamsize read ( const UPstream::commsTypes commsType, const int fromProcNo, @@ -348,7 +348,7 @@ public: // Only valid for contiguous data types. // \return the message size (bytes read). May change in the future template<class Type> - inline static label read + inline static std::streamsize read ( const UPstream::commsTypes commsType, const int fromProcNo, @@ -375,7 +375,7 @@ public: // Only valid for contiguous data types. // \return the message size (bytes read). May change in the future template<class Type> - inline static label read + inline static std::streamsize read ( //! [out] request information UPstream::Request& req, @@ -401,7 +401,7 @@ public: // Only valid for contiguous data types. // \return the message size (bytes read). May change in the future template<class Type> - inline static label read + inline static std::streamsize read ( //! [out] request information UPstream::Request& req, @@ -474,8 +474,8 @@ public: // Static Functions //- Wrapped version of UPstream::broadcast - // \return the message size (bytes read) - static label read + // \return the message size (bytes read). May change in the future + static std::streamsize read ( const int rootProcNo, //!< normally UPstream::masterNo() char* buf, diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C index bdf79dd6cd4..cf531d1014e 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C @@ -50,9 +50,11 @@ const Foam::Enum > Foam::UPstream::commsTypeNames ({ - { commsTypes::blocking, "blocking" }, // "buffered" + { commsTypes::buffered, "buffered" }, // "buffered" { commsTypes::scheduled, "scheduled" }, { commsTypes::nonBlocking, "nonBlocking" }, // "immediate" + // compatibility names + { commsTypes::buffered, "blocking" }, }); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H index bf22b7bac0b..ee446347708 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H @@ -73,15 +73,17 @@ public: //- Communications types enum class commsTypes : char { - blocking, //!< "blocking" (buffered) : (MPI_Bsend, MPI_Recv) + buffered, //!< "buffered" : (MPI_Bsend, MPI_Recv) scheduled, //!< "scheduled" (MPI standard) : (MPI_Send, MPI_Recv) - nonBlocking //!< "nonBlocking" (immediate) : (MPI_Isend, MPI_Irecv) + nonBlocking, //!< "nonBlocking" (immediate) : (MPI_Isend, MPI_Irecv) + // Aliases + blocking = buffered //!< compatibility name for buffered }; //- Enumerated names for the communication types static const Enum<commsTypes> commsTypeNames; - //- Different MPI-send modes (ignored for commsTypes::blocking) + //- Different MPI-send modes (ignored for commsTypes::buffered) enum class sendModes : char { normal, //!< (MPI_Send, MPI_Isend) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C index 0a16f916c39..70d5ce25560 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C @@ -598,7 +598,7 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluate() if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { @@ -689,7 +689,7 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluateLocal() if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { @@ -755,7 +755,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh> if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H index 20cb347469c..d132cc222bd 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.H @@ -111,7 +111,7 @@ public: //- Update the patch field virtual void evaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ); diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.H index a70e06f7320..68d71f61ef0 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.H @@ -119,7 +119,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) = 0; //- Initialise swap of patch point values diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H index a4f7c2b205f..4a71dd37665 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H @@ -202,7 +202,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.H index 80e5905a4e2..d28e8846054 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.H @@ -152,7 +152,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchField.H index 628ae11ae9a..08479d9bf50 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchField.H @@ -115,7 +115,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); }; diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H index 8808cc3a0ab..67d90a5366d 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H @@ -115,7 +115,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); }; diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.H index 61f0962398c..6fa9bf6cac3 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.H @@ -154,7 +154,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.H index a5eed9049d4..147fd58cf9b 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.H @@ -153,7 +153,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H index 1b9b5459026..b3b62e8c69e 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H @@ -126,7 +126,7 @@ public: //- Update the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); }; diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.H index 436076f5214..31f2bd75d97 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.H @@ -121,7 +121,7 @@ public: //- Update the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); }; diff --git a/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.C index 69bef4e1885..c5f75450c68 100644 --- a/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.C @@ -192,7 +192,7 @@ Foam::codedFixedValuePointPatchField<Type>::codedFixedValuePointPatchField this->extrapolateInternal(); // Evaluate to assign a value - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.H index 9999047742a..af76e7d9747 100644 --- a/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchField.H @@ -243,7 +243,7 @@ public: //- Evaluate the patch field, sets updated() to false virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Write diff --git a/src/OpenFOAM/fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchField.H index bdfa66a5a8f..8cbb45142db 100644 --- a/src/OpenFOAM/fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchField.H @@ -132,7 +132,7 @@ public: //- Update the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Write diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H index 543b7f57cf9..c2a47ce4125 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H @@ -562,14 +562,14 @@ public: //- Initialise evaluation of the patch field (do nothing) virtual void initEvaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ) {} //- Evaluate the patch field, sets updated() to false virtual void evaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ); //- Initialise the evaluation of the patch field after a local @@ -577,7 +577,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -585,7 +585,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C index a3fa3d2bb14..91423a6ca27 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C @@ -44,7 +44,7 @@ void Foam::LduMatrix<Type, DType, LUType>::initMatrixInterfaces if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { @@ -88,7 +88,7 @@ void Foam::LduMatrix<Type, DType, LUType>::initMatrixInterfaces interfacei, psiif, interfaceCoeffs[interfacei], - UPstream::commsTypes::blocking + UPstream::commsTypes::buffered ); } } @@ -172,7 +172,7 @@ void Foam::LduMatrix<Type, DType, LUType>::updateMatrixInterfaces if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { @@ -184,7 +184,7 @@ void Foam::LduMatrix<Type, DType, LUType>::updateMatrixInterfaces } // Check/no-check for updatedMatrix() ? - const bool noCheck = (commsType == UPstream::commsTypes::blocking); + const bool noCheck = (commsType == UPstream::commsTypes::buffered); forAll(interfaces_, interfacei) { @@ -264,7 +264,7 @@ void Foam::LduMatrix<Type, DType, LUType>::updateMatrixInterfaces interfacei, psiif, interfaceCoeffs[interfacei], - UPstream::commsTypes::blocking + UPstream::commsTypes::buffered ); } } diff --git a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterfaceTemplates.C b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterfaceTemplates.C index 2a0c06c6075..6d95e5215a7 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterfaceTemplates.C +++ b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterfaceTemplates.C @@ -43,7 +43,7 @@ void Foam::processorLduInterface::send if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::scheduled ) { @@ -113,7 +113,7 @@ void Foam::processorLduInterface::receive if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::scheduled ) { @@ -194,7 +194,7 @@ void Foam::processorLduInterface::compressedSend if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::scheduled ) { @@ -272,7 +272,7 @@ void Foam::processorLduInterface::compressedReceive if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::scheduled ) { diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C index b7434b7e1af..6b4f48dc368 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C +++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C @@ -44,7 +44,7 @@ void Foam::lduMatrix::initMatrixInterfaces if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { @@ -90,7 +90,7 @@ void Foam::lduMatrix::initMatrixInterfaces psiif, coupleCoeffs[interfacei], cmpt, - UPstream::commsTypes::blocking + UPstream::commsTypes::buffered ); } } @@ -229,7 +229,7 @@ void Foam::lduMatrix::updateMatrixInterfaces if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { @@ -241,7 +241,7 @@ void Foam::lduMatrix::updateMatrixInterfaces } // Check/no-check for updatedMatrix() ? - const bool noCheck = (commsType == UPstream::commsTypes::blocking); + const bool noCheck = (commsType == UPstream::commsTypes::buffered); // Consume anything still outstanding forAll(interfaces, interfacei) @@ -326,7 +326,7 @@ void Foam::lduMatrix::updateMatrixInterfaces psiif, coupleCoeffs[interfacei], cmpt, - UPstream::commsTypes::blocking + UPstream::commsTypes::buffered ); } } diff --git a/src/OpenFOAM/meshes/pointMesh/pointBoundaryMesh/pointBoundaryMesh.C b/src/OpenFOAM/meshes/pointMesh/pointBoundaryMesh/pointBoundaryMesh.C index 83b28ba35bf..266583000ab 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointBoundaryMesh/pointBoundaryMesh.C +++ b/src/OpenFOAM/meshes/pointMesh/pointBoundaryMesh/pointBoundaryMesh.C @@ -111,7 +111,7 @@ void Foam::pointBoundaryMesh::calcGeometry() if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { @@ -157,7 +157,7 @@ void Foam::pointBoundaryMesh::movePoints(const pointField& p) if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { @@ -203,7 +203,7 @@ void Foam::pointBoundaryMesh::updateMesh() if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C index 94a764b961f..68b9662a778 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C @@ -494,7 +494,7 @@ void Foam::mapDistributeBase::distribute return; } - if (commsType == UPstream::commsTypes::blocking) + if (commsType == UPstream::commsTypes::buffered) { // Since buffered sending can reuse the field to collect the // received data. @@ -939,7 +939,7 @@ void Foam::mapDistributeBase::distribute return; } - if (commsType == UPstream::commsTypes::blocking) + if (commsType == UPstream::commsTypes::buffered) { // Since buffered sending can reuse the field to collect the // received data. diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C index 69368495318..f7332a19006 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C @@ -304,7 +304,7 @@ void Foam::polyBoundaryMesh::calcGeometry() if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { @@ -1297,7 +1297,7 @@ void Foam::polyBoundaryMesh::movePoints(const pointField& p) if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { @@ -1347,7 +1347,7 @@ void Foam::polyBoundaryMesh::updateMesh() if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { diff --git a/src/Pstream/dummy/UIPBstreamRead.C b/src/Pstream/dummy/UIPBstreamRead.C index ac23ba916de..31e0f0743fa 100644 --- a/src/Pstream/dummy/UIPBstreamRead.C +++ b/src/Pstream/dummy/UIPBstreamRead.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,7 +37,7 @@ void Foam::UIPBstream::bufferIPCrecv() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::label Foam::UIPBstream::read +std::streamsize Foam::UIPBstream::read ( const int rootProcNo, char* buf, diff --git a/src/Pstream/dummy/UIPstreamRead.C b/src/Pstream/dummy/UIPstreamRead.C index 316550769e6..c8b7286fdf6 100644 --- a/src/Pstream/dummy/UIPstreamRead.C +++ b/src/Pstream/dummy/UIPstreamRead.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,7 +38,7 @@ void Foam::UIPstream::bufferIPCrecv() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::label Foam::UIPstream::read +std::streamsize Foam::UIPstream::read ( const UPstream::commsTypes commsType, const int fromProcNo, diff --git a/src/Pstream/mpi/UIPBstreamRead.C b/src/Pstream/mpi/UIPBstreamRead.C index f384c391ebd..0ee1d63ce39 100644 --- a/src/Pstream/mpi/UIPBstreamRead.C +++ b/src/Pstream/mpi/UIPBstreamRead.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -39,7 +39,7 @@ void Foam::UIPBstream::bufferIPCrecv() // Expected message size, similar to MPI_Probe // Same type must be expected in UOPBstream::bufferIPCsend() - label bufSize(0); + std::streamsize bufSize(0); // Broadcast #1 - data size if @@ -47,7 +47,7 @@ void Foam::UIPBstream::bufferIPCrecv() !UPstream::broadcast ( reinterpret_cast<char*>(&bufSize), - sizeof(label), + sizeof(std::streamsize), comm_, fromProcNo_ //< is actually rootProcNo ) @@ -63,46 +63,45 @@ void Foam::UIPBstream::bufferIPCrecv() Pout<< "UOPBstream IPC read buffer :" << " root:" << fromProcNo_ << " comm:" << comm_ - << " probed size:" << bufSize + << " probed size:" << label(bufSize) << " wanted size:" << recvBuf_.capacity() << Foam::endl; } - // No buffer size allocated/specified - if (!recvBuf_.capacity()) + + // Set buffer size, avoiding any copying and resize doubling etc. + recvBuf_.clear(); + if (recvBuf_.capacity() < label(bufSize)) { - recvBuf_.resize(bufSize); + recvBuf_.setCapacity_nocopy(label(bufSize)); } + recvBuf_.resize_nocopy(label(bufSize)); // This is the only real information we can trust - messageSize_ = bufSize; + messageSize_ = label(bufSize); + // Broadcast #2 - data content // - skip if there is no data to receive - - if (messageSize_) - { - if + if + ( + (bufSize > 0) + && !UPstream::broadcast ( - !UPstream::broadcast - ( - recvBuf_.data(), - messageSize_, // same as bufSize - comm_, - fromProcNo_ //< is actually rootProcNo - ) + recvBuf_.data(), + recvBuf_.size(), // same as bufSize + comm_, + fromProcNo_ //< is actually rootProcNo ) - { - FatalErrorInFunction - << "MPI_Bcast failure receiving buffer data:" << bufSize << nl - << Foam::abort(FatalError); - } + ) + { + FatalErrorInFunction + << "MPI_Bcast failure receiving buffer data:" + << recvBuf_.size() << nl + << Foam::abort(FatalError); } - // Set addressed size. Leave actual allocated memory intact. - recvBuf_.resize(messageSize_); - - if (!messageSize_) + if (recvBuf_.empty()) { setEof(); } @@ -111,7 +110,7 @@ void Foam::UIPBstream::bufferIPCrecv() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::label Foam::UIPBstream::read +std::streamsize Foam::UIPBstream::read ( const int rootProcNo, char* buf, diff --git a/src/Pstream/mpi/UIPstreamRead.C b/src/Pstream/mpi/UIPstreamRead.C index afee9a19055..c8e6de0d747 100644 --- a/src/Pstream/mpi/UIPstreamRead.C +++ b/src/Pstream/mpi/UIPstreamRead.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,9 +37,8 @@ License // * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // -// General blocking/non-blocking MPI receive, optionally with probed -// message information. -static Foam::label UPstream_mpi_receive +// General blocking/non-blocking MPI receive +static std::streamsize UPstream_mpi_receive ( const Foam::UPstream::commsTypes commsType, char* buf, @@ -54,34 +53,48 @@ static Foam::label UPstream_mpi_receive PstreamGlobals::reset_request(req); - if (UPstream::debug) + // TODO: some corrective action, at least when not nonBlocking + #if 0 + // No warnings here, just on the sender side. + if (bufSize > std::streamsize(INT_MAX)) + { + Perr<< "UIPstream::read() : from rank " << fromProcNo + << " exceeds INT_MAX bytes" << Foam::endl; + error::printStack(Perr); + } + #endif + + if (UPstream::warnComm >= 0 && communicator != UPstream::warnComm) { Pout<< "UIPstream::read : starting read from:" << fromProcNo + << " size:" << label(bufSize) << " tag:" << tag << " comm:" << communicator - << " wanted size:" << label(bufSize) << " commsType:" << UPstream::commsTypeNames[commsType] + << " warnComm:" << UPstream::warnComm << Foam::endl; + error::printStack(Pout); } - if (UPstream::warnComm >= 0 && communicator != UPstream::warnComm) + else if (UPstream::debug) { Pout<< "UIPstream::read : starting read from:" << fromProcNo + << " size:" << label(bufSize) << " tag:" << tag << " comm:" << communicator - << " wanted size:" << label(bufSize) << " commsType:" << UPstream::commsTypeNames[commsType] - << " warnComm:" << UPstream::warnComm << Foam::endl; - error::printStack(Pout); } + int returnCode = MPI_ERR_UNKNOWN; + profilingPstream::beginTiming(); if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::scheduled ) { - int returnCode = 0; + // Not UPstream::commsTypes::nonBlocking + MPI_Status status; { @@ -97,6 +110,8 @@ static Foam::label UPstream_mpi_receive ); } + profilingPstream::addGatherTime(); + if (returnCode != MPI_SUCCESS) { FatalErrorInFunction @@ -104,36 +119,31 @@ static Foam::label UPstream_mpi_receive << Foam::abort(FatalError); return 0; } - - profilingPstream::addGatherTime(); - - // Check size of message read - - int messageSize; - MPI_Get_count(&status, MPI_BYTE, &messageSize); - - if (UPstream::debug) + else if (UPstream::debug) { - Pout<< "UIPstream::read : finished read from:" << fromProcNo - << " tag:" << tag << " read size:" << label(bufSize) - << " commsType:" << UPstream::commsTypeNames[commsType] + Pout<< "UIPstream::read : finished recv from:" + << fromProcNo + << " size:" << label(bufSize) << " tag:" << tag << Foam::endl; } - if (messageSize > bufSize) + // Check size of message read + int count(0); + MPI_Get_count(&status, MPI_BYTE, &count); + + if (bufSize < std::streamsize(count)) { FatalErrorInFunction << "buffer (" << label(bufSize) << ") not large enough for incoming message (" - << messageSize << ')' + << label(count) << ')' << Foam::abort(FatalError); } - return messageSize; + return std::streamsize(count); } else if (commsType == UPstream::commsTypes::nonBlocking) { - int returnCode = 0; MPI_Request request; { @@ -158,19 +168,20 @@ static Foam::label UPstream_mpi_receive return 0; } + PstreamGlobals::push_request(request, req); + profilingPstream::addRequestTime(); + + if (UPstream::debug) { - Pout<< "UIPstream::read : started read from:" << fromProcNo - << " tag:" << tag << " read size:" << label(bufSize) - << " commsType:" << UPstream::commsTypeNames[commsType] + Pout<< "UIPstream::read : started non-blocking recv from:" + << fromProcNo + << " size:" << label(bufSize) << " tag:" << tag << " request:" << (req ? label(-1) : PstreamGlobals::outstandingRequests_.size()) << Foam::endl; } - PstreamGlobals::push_request(request, req); - profilingPstream::addRequestTime(); - // Assume the message will be completely received. return bufSize; } @@ -197,9 +208,24 @@ void Foam::UIPstream::bufferIPCrecv() << Foam::endl; } - // No buffer size allocated/specified - probe size of incoming message - if (!recvBuf_.capacity()) + // Fallback value + messageSize_ = recvBuf_.capacity(); + + if (commsType() == UPstream::commsTypes::nonBlocking) { + // Non-blocking + // ~~~~~~~~~~~~ + // No chance of probing for size nor relying on the returned message + // size (since it returns immediately without any further checks) + // + // Fortunately there are not many (any?) places that are using + // a non-blocking IPstream with streaming anyhow. + + messageSize_ = recvBuf_.size(); + } + else if (!recvBuf_.capacity()) + { + // No buffer size allocated/specified - probe size of incoming message profilingPstream::beginTiming(); MPI_Status status; @@ -212,24 +238,26 @@ void Foam::UIPstream::bufferIPCrecv() &status ); - MPI_Get_count(&status, MPI_BYTE, &messageSize_); - profilingPstream::addProbeTime(); - recvBuf_.resize(messageSize_); + int count(0); + MPI_Get_count(&status, MPI_BYTE, &count); if (UPstream::debug) { Pout<< "UIPstream::UIPstream : probed size:" - << messageSize_ << Foam::endl; + << label(count) << Foam::endl; } + + recvBuf_.resize(label(count)); + messageSize_ = label(count); } - messageSize_ = UPstream_mpi_receive + std::streamsize count = UPstream_mpi_receive ( commsType(), recvBuf_.data(), - recvBuf_.capacity(), + messageSize_, // The expected size fromProcNo_, tag_, comm_, @@ -237,9 +265,10 @@ void Foam::UIPstream::bufferIPCrecv() ); // Set addressed size. Leave actual allocated memory intact. - recvBuf_.resize(messageSize_); + recvBuf_.resize(label(count)); + messageSize_ = label(count); - if (!messageSize_) + if (recvBuf_.empty()) { setEof(); } @@ -248,7 +277,7 @@ void Foam::UIPstream::bufferIPCrecv() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::label Foam::UIPstream::read +std::streamsize Foam::UIPstream::read ( const UPstream::commsTypes commsType, const int fromProcNo, diff --git a/src/Pstream/mpi/UOPBstreamWrite.C b/src/Pstream/mpi/UOPBstreamWrite.C index c01bff64b3d..f4c9412fca4 100644 --- a/src/Pstream/mpi/UOPBstreamWrite.C +++ b/src/Pstream/mpi/UOPBstreamWrite.C @@ -40,7 +40,17 @@ bool Foam::UOPBstream::bufferIPCsend() PstreamGlobals::checkCommunicator(comm_, toProcNo_); // Same type must be expected in UIPBstream::bufferIPCrecv() - label bufSize(sendBuf_.size()); + std::streamsize bufSize(sendBuf_.size()); + + // TODO: some corrective action + #if 0 + if (bufSize > std::streamsize(INT_MAX)) + { + Perr<< "UOPBstream::write() :" + << " exceeds INT_MAX bytes" << Foam::endl; + error::printStack(Perr); + } + #endif // Broadcast #1 - data size if @@ -48,7 +58,7 @@ bool Foam::UOPBstream::bufferIPCsend() !UPstream::broadcast ( reinterpret_cast<char*>(&bufSize), - sizeof(label), + sizeof(std::streamsize), comm_, toProcNo_ //< is actually rootProcNo ) @@ -60,26 +70,26 @@ bool Foam::UOPBstream::bufferIPCsend() return false; } + // Broadcast #2 - data content // - skip if there is no data to send - if (bufSize) - { - if + if + ( + (bufSize > 0) + && !UPstream::broadcast ( - !UPstream::broadcast - ( - sendBuf_.data(), - sendBuf_.size(), // same as bufSize - comm_, - toProcNo_ //< is actually rootProcNo - ) + sendBuf_.data(), + sendBuf_.size(), // same as bufSize + comm_, + toProcNo_ //< is actually rootProcNo ) - { - FatalErrorInFunction - << "MPI_Bcast failure sending buffer data:" << bufSize << nl - << Foam::abort(FatalError); - return false; - } + ) + { + FatalErrorInFunction + << "MPI_Bcast failure sending buffer data:" + << sendBuf_.size() << nl + << Foam::abort(FatalError); + return false; } return true; diff --git a/src/Pstream/mpi/UOPstreamWrite.C b/src/Pstream/mpi/UOPstreamWrite.C index c1086fd94c8..8613c17dfcf 100644 --- a/src/Pstream/mpi/UOPstreamWrite.C +++ b/src/Pstream/mpi/UOPstreamWrite.C @@ -62,24 +62,34 @@ bool Foam::UOPstream::write { PstreamGlobals::reset_request(req); - if (UPstream::debug) + // TODO: some corrective action, at least when not nonBlocking + #if 0 + if (bufSize > std::streamsize(INT_MAX)) { - Pout<< "UOPstream::write : starting write to:" << toProcNo - << " tag:" << tag - << " comm:" << communicator << " size:" << label(bufSize) - << " commType:" << UPstream::commsTypeNames[commsType] - << Foam::endl; + Perr<< "UOPstream::write() : to rank " << toProcNo + << " exceeds INT_MAX bytes" << Foam::endl; + error::printStack(Perr); } + #endif + if (UPstream::warnComm >= 0 && communicator != UPstream::warnComm) { Pout<< "UOPstream::write : starting write to:" << toProcNo - << " tag:" << tag - << " comm:" << communicator << " size:" << label(bufSize) + << " size:" << label(bufSize) + << " tag:" << tag << " comm:" << communicator << " commType:" << UPstream::commsTypeNames[commsType] << " warnComm:" << UPstream::warnComm << Foam::endl; error::printStack(Pout); } + else if (UPstream::debug) + { + Pout<< "UOPstream::write : starting write to:" << toProcNo + << " size:" << label(bufSize) + << " tag:" << tag << " comm:" << communicator + << " commType:" << UPstream::commsTypeNames[commsType] + << Foam::endl; + } PstreamGlobals::checkCommunicator(communicator, toProcNo); @@ -87,7 +97,7 @@ bool Foam::UOPstream::write profilingPstream::beginTiming(); - if (commsType == UPstream::commsTypes::blocking) + if (commsType == UPstream::commsTypes::buffered) { returnCode = MPI_Bsend ( @@ -104,9 +114,9 @@ bool Foam::UOPstream::write if (UPstream::debug) { - Pout<< "UOPstream::write : finished write to:" << toProcNo - << " tag:" << tag << " size:" << label(bufSize) - << " commsType:" << UPstream::commsTypeNames[commsType] + Pout<< "UOPstream::write : finished buffered send to:" + << toProcNo + << " size:" << label(bufSize) << " tag:" << tag << Foam::endl; } } @@ -142,9 +152,9 @@ bool Foam::UOPstream::write if (UPstream::debug) { - Pout<< "UOPstream::write : finished write to:" << toProcNo - << " tag:" << tag << " size:" << label(bufSize) - << " commsType:" << UPstream::commsTypeNames[commsType] + Pout<< "UOPstream::write : finished send to:" + << toProcNo + << " size:" << label(bufSize) << " tag:" << tag << Foam::endl; } } @@ -181,9 +191,9 @@ bool Foam::UOPstream::write if (UPstream::debug) { - Pout<< "UOPstream::write : started write to:" << toProcNo - << " tag:" << tag << " size:" << label(bufSize) - << " commType:" << UPstream::commsTypeNames[commsType] + Pout<< "UOPstream::write : started non-blocking send to:" + << toProcNo + << " size:" << label(bufSize) << " tag:" << tag << " request:" << (req ? label(-1) : PstreamGlobals::outstandingRequests_.size()) << Foam::endl; diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C index 93bd24cda17..a9f19d3b3f7 100644 --- a/src/Pstream/mpi/UPstream.C +++ b/src/Pstream/mpi/UPstream.C @@ -787,7 +787,7 @@ Foam::UPstream::probeMessage int flag = 0; MPI_Status status; - if (UPstream::commsTypes::blocking == commsType) + if (UPstream::commsTypes::buffered == commsType) { // Blocking profilingPstream::beginTiming(); diff --git a/src/Pstream/mpi/UPstreamBroadcast.C b/src/Pstream/mpi/UPstreamBroadcast.C index cc75f95ed59..f3b7fac7d4a 100644 --- a/src/Pstream/mpi/UPstreamBroadcast.C +++ b/src/Pstream/mpi/UPstreamBroadcast.C @@ -47,21 +47,21 @@ bool Foam::UPstream::broadcast //Needed? PstreamGlobals::checkCommunicator(comm, rootProcNo); - if (UPstream::debug) + if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) { Pout<< "UPstream::broadcast : root:" << rootProcNo << " comm:" << comm << " size:" << label(bufSize) + << " warnComm:" << UPstream::warnComm << Foam::endl; + error::printStack(Pout); } - if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) + else if (UPstream::debug) { Pout<< "UPstream::broadcast : root:" << rootProcNo << " comm:" << comm << " size:" << label(bufSize) - << " warnComm:" << UPstream::warnComm << Foam::endl; - error::printStack(Pout); } profilingPstream::beginTiming(); diff --git a/src/Pstream/mpi/UPstreamWrapping.txx b/src/Pstream/mpi/UPstreamWrapping.txx index db3f095136a..94fc3025e19 100644 --- a/src/Pstream/mpi/UPstreamWrapping.txx +++ b/src/Pstream/mpi/UPstreamWrapping.txx @@ -632,7 +632,8 @@ void Foam::PstreamDetail::allToAllConsensus // Message found, receive into dest buffer location const label proci = status.MPI_SOURCE; - int count = 0; + // Only send/recv a single (fundamental) data type + int count(0); MPI_Get_count(&status, datatype, &count); if (count != 1) @@ -812,10 +813,10 @@ void Foam::PstreamDetail::allToAllConsensus if (flag) { // Message found, receive into dest buffer location - const label proci = status.MPI_SOURCE; - int count = 0; + // Only send/recv a single (fundamental) data type + int count(0); MPI_Get_count(&status, datatype, &count); if (count != 1) diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C index 46336accf7e..9e56bcb92d0 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C @@ -69,7 +69,7 @@ Foam::porousBafflePressureFvPatchField::porousBafflePressureFvPatchField { if (!this->readValueEntry(dict)) { - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } } diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H index b552a4cf489..5779218627f 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H @@ -151,7 +151,7 @@ public: //- Evaluate the patchField virtual void evaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ); //- Write diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/freeSurfacePointDisplacement.C b/src/dynamicFaMesh/interfaceTrackingFvMesh/freeSurfacePointDisplacement.C index d8d92e959c0..8661837cf23 100644 --- a/src/dynamicFaMesh/interfaceTrackingFvMesh/freeSurfacePointDisplacement.C +++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/freeSurfacePointDisplacement.C @@ -364,7 +364,7 @@ Foam::interfaceTrackingFvMesh::pointDisplacement() { OPstream toNeighbProc ( - Pstream::commsTypes::blocking, + Pstream::commsTypes::buffered, procPatch.neighbProcNo() ); @@ -375,7 +375,7 @@ Foam::interfaceTrackingFvMesh::pointDisplacement() { IPstream fromNeighbProc ( - Pstream::commsTypes::blocking, + Pstream::commsTypes::buffered, procPatch.neighbProcNo() ); diff --git a/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C b/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C index ddb61551d57..93d9c97a8a2 100644 --- a/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C +++ b/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C @@ -587,12 +587,12 @@ void Foam::motionSmootherAlgo::correctBoundaryConditions if (schedEval.init) { displacementBf[patchi] - .initEvaluate(Pstream::commsTypes::blocking); + .initEvaluate(Pstream::commsTypes::buffered); } else { displacementBf[patchi] - .evaluate(Pstream::commsTypes::blocking); + .evaluate(Pstream::commsTypes::buffered); } } } @@ -608,12 +608,12 @@ void Foam::motionSmootherAlgo::correctBoundaryConditions if (schedEval.init) { displacementBf[patchi] - .initEvaluate(Pstream::commsTypes::blocking); + .initEvaluate(Pstream::commsTypes::buffered); } else { displacementBf[patchi] - .evaluate(Pstream::commsTypes::blocking); + .evaluate(Pstream::commsTypes::buffered); } } } diff --git a/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C b/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C index 98f45bf5be8..a38b0a163bd 100644 --- a/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C +++ b/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C @@ -67,12 +67,12 @@ void Foam::motionSmootherAlgo::checkConstraints forAllReverse(bFld, patchi) { - bFld[patchi].initEvaluate(Pstream::commsTypes::blocking); // buffered + bFld[patchi].initEvaluate(Pstream::commsTypes::buffered); } forAllReverse(bFld, patchi) { - bFld[patchi].evaluate(Pstream::commsTypes::blocking); + bFld[patchi].evaluate(Pstream::commsTypes::buffered); } diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C index 89c358c1b57..55ee4b2899a 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C @@ -292,7 +292,7 @@ void Foam::faBoundaryMesh::calcGeometry() if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { @@ -943,7 +943,7 @@ void Foam::faBoundaryMesh::movePoints(const pointField& p) if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { @@ -989,7 +989,7 @@ void Foam::faBoundaryMesh::updateMesh() if ( - pBufs.commsType() == Pstream::commsTypes::blocking + pBufs.commsType() == Pstream::commsTypes::buffered || pBufs.commsType() == Pstream::commsTypes::nonBlocking ) { diff --git a/src/finiteArea/faMesh/faMeshDemandDrivenData.C b/src/finiteArea/faMesh/faMeshDemandDrivenData.C index 49b60d40180..66c4bed86dd 100644 --- a/src/finiteArea/faMesh/faMeshDemandDrivenData.C +++ b/src/finiteArea/faMesh/faMeshDemandDrivenData.C @@ -1606,7 +1606,7 @@ void Foam::faMesh::calcPointAreaNormals(vectorField& result) const { UOPstream::write ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::buffered, procPatch.neighbProcNo(), patchPointNormals ); @@ -1618,7 +1618,7 @@ void Foam::faMesh::calcPointAreaNormals(vectorField& result) const { UIPstream::read ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::buffered, procPatch.neighbProcNo(), patchPointNormals ); @@ -1916,7 +1916,7 @@ void Foam::faMesh::calcPointAreaNormalsByQuadricsFit(vectorField& result) const { OPstream toNeighbProc ( - Pstream::commsTypes::blocking, + Pstream::commsTypes::buffered, procPatch.neighbProcNo(), toNgbProcLsPoints.size_bytes() + toNgbProcLsPointStarts.size_bytes() @@ -1945,7 +1945,7 @@ void Foam::faMesh::calcPointAreaNormalsByQuadricsFit(vectorField& result) const { IPstream fromNeighbProc ( - Pstream::commsTypes::blocking, + Pstream::commsTypes::buffered, procPatch.neighbProcNo(), 10*patchPointLabels.size()*sizeof(vector) + fromNgbProcLsPointStarts.size_bytes() diff --git a/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H index 9772728ab5a..8ff67f1b0c7 100644 --- a/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchField.H @@ -130,7 +130,7 @@ public: // HJ, 30/Jun/2009 virtual void evaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ); //- Return face-gradient transform diagonal diff --git a/src/finiteArea/fields/faPatchFields/basic/coupled/coupledFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/coupled/coupledFaPatchField.H index 616d257fe48..e305d5ed9e8 100644 --- a/src/finiteArea/fields/faPatchFields/basic/coupled/coupledFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/coupled/coupledFaPatchField.H @@ -162,7 +162,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) { initEvaluate(commsType); @@ -172,7 +172,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) { evaluate(commsType); diff --git a/src/finiteArea/fields/faPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFaPatchField.H index 1c618f3f7f0..e0c0f8c0c41 100644 --- a/src/finiteArea/fields/faPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFaPatchField.H @@ -136,7 +136,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); }; diff --git a/src/finiteArea/fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchField.H index 760d9668b46..f8156670d32 100644 --- a/src/finiteArea/fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchField.H @@ -210,7 +210,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); diff --git a/src/finiteArea/fields/faPatchFields/basic/mixed/mixedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/mixed/mixedFaPatchField.H index 16f0e01da09..325136fe19e 100644 --- a/src/finiteArea/fields/faPatchFields/basic/mixed/mixedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/mixed/mixedFaPatchField.H @@ -231,7 +231,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Return the matrix diagonal coefficients corresponding to the diff --git a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H index 3d31ef2ebe8..78a432e81e6 100644 --- a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H @@ -178,7 +178,7 @@ public: virtual void initEvaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -186,7 +186,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/finiteArea/fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchField.H index 407c9a9b150..298fd742fc5 100644 --- a/src/finiteArea/fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchField.H @@ -133,7 +133,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Return the matrix diagonal coefficients corresponding to the diff --git a/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.C b/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.C index 70b711375f2..7a7812056c2 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/constraint/cyclic/cyclicFaPatchField.C @@ -92,7 +92,7 @@ Foam::cyclicFaPatchField<Type>::cyclicFaPatchField if (IOobjectOption::isReadRequired(requireValue)) { - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H index 06736b61b30..e50d5a2a918 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H @@ -191,7 +191,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -200,7 +200,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.H index f417f28c405..22858d7db59 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/wedge/wedgeFaPatchField.H @@ -124,7 +124,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ); diff --git a/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H b/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H index ca38463e024..1fd9007a834 100644 --- a/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchField.H @@ -155,7 +155,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Return the matrix diagonal coefficients corresponding to the diff --git a/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H b/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H index e99ab8dae0e..0c47bd2cebe 100644 --- a/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H +++ b/src/finiteArea/fields/faPatchFields/faPatchField/faPatchField.H @@ -564,7 +564,7 @@ public: virtual void initEvaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -572,7 +572,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Initialise the evaluation of the patch field after a local @@ -580,7 +580,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -588,7 +588,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H b/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H index fd1c318d8e8..bf487edd2d2 100644 --- a/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H +++ b/src/finiteArea/fields/faePatchFields/faePatchField/faePatchField.H @@ -482,7 +482,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -490,7 +490,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -516,14 +516,14 @@ public: //- Initialise the evaluation of the patch field, generally a no-op virtual void initEvaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ) {} //- Evaluate the patch field, generally a no-op virtual void evaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ) {} diff --git a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H index 9c9fabaf73e..30d2268cfd0 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.H @@ -125,7 +125,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Return face-gradient transform diagonal diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H index 23ff2481f59..60671c45dc2 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H @@ -188,7 +188,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) { initEvaluate(commsType); @@ -198,7 +198,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) { evaluate(commsType); diff --git a/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.H index effa2031c7f..b4b5e3060d3 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.H @@ -191,7 +191,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Return face-gradient transform diagonal diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H index a18da2822a8..84c9f30f8c0 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H @@ -135,7 +135,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); }; diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.H index f80fadc4fe4..07919120baf 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.H @@ -210,7 +210,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Return the matrix diagonal coefficients corresponding to the diff --git a/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.H index 7d4f5518f7e..67d8b9ac7a1 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.H @@ -268,7 +268,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Return the matrix diagonal coefficients corresponding to the diff --git a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H index cb2f0797ace..0c9f707d4c3 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H @@ -176,7 +176,7 @@ public: virtual void initEvaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -184,7 +184,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.H index 094fe5b6251..950b8b2ecf3 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.H @@ -142,7 +142,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Return the matrix diagonal coefficients corresponding to the diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C index 7a70acb1e03..380b6e4999a 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C @@ -70,7 +70,7 @@ Foam::cyclicFvPatchField<Type>::cyclicFvPatchField if (needValue) { - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C index f287734adc7..a95239a9b67 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C @@ -121,7 +121,7 @@ Foam::cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField const int oldConsistency = consistency; consistency = 0; - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); consistency = oldConsistency; } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.C index dcd345fc87e..fad9173a2ed 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.C @@ -66,7 +66,7 @@ Foam::jumpCyclicAMIFvPatchField<Type>::jumpCyclicAMIFvPatchField cyclicAMIFvPatchField<Type>(p, iF, dict) { // Call this evaluation in derived classes - //this->evaluate(Pstream::commsTypes::blocking); + //this->evaluate(Pstream::commsTypes::buffered); } diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.H index 08b110dc81e..9cf3b074a53 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.H @@ -199,7 +199,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -208,7 +208,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H index 400112d67a9..5ea077b08a0 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H @@ -145,7 +145,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Return face-gradient transform diagonal diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H index 6d8e34e98b9..fe9e31f6448 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.H @@ -146,7 +146,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Return face-gradient transform diagonal diff --git a/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.C index eaf2de2de49..64926a0bae8 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.C @@ -192,7 +192,7 @@ Foam::codedFixedValueFvPatchField<Type>::codedFixedValueFvPatchField this->extrapolateInternal(); // Evaluate to assign a value - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.H index 3cde2e1c537..425208697fa 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchField.H @@ -245,7 +245,7 @@ public: //- Evaluate the patch field, sets updated() to false virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Write diff --git a/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.H index 863bd67ffb3..b02036e92d5 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchField.H @@ -251,7 +251,7 @@ public: // to false. virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Write diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C index 921199406e9..107fcf30a5c 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C @@ -89,7 +89,7 @@ Foam::fanFvPatchField<Type>::fanFvPatchField if (!this->readValueEntry(dict)) { - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.C index 8d62f14c273..4eafe72c8c2 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchField.C @@ -94,7 +94,7 @@ Foam::fixedJumpFvPatchField<Type>::fixedJumpFvPatchField { if (!this->readValueEntry(dict)) { - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchField.C index b3efdea5961..4c8c5aa1993 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchField.C @@ -73,7 +73,7 @@ Foam::fixedJumpAMIFvPatchField<Type>::fixedJumpAMIFvPatchField if (!this->readValueEntry(dict)) { - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H index 8fdfb7e7fd6..026a245ccbc 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchField.H @@ -219,7 +219,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Return face-gradient transform diagonal diff --git a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C index 156ce0376ba..bc4504b4a5b 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C @@ -93,7 +93,7 @@ flowRateInletVelocityFvPatchVectorField // Value field required if mass based if (!this->readValueEntry(dict)) { - evaluate(Pstream::commsTypes::blocking); + evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.C index 045f59e00f6..7ff807b21a2 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.C @@ -87,7 +87,7 @@ flowRateOutletVelocityFvPatchVectorField // Value field required if mass based if (!this->readValueEntry(dict)) { - evaluate(Pstream::commsTypes::blocking); + evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.H index 3756b435a75..6a9f71ede2b 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.H @@ -168,7 +168,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Write diff --git a/src/finiteVolume/fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.C index 2b895940b73..e407d0ec07e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.C @@ -72,7 +72,7 @@ matchedFlowRateOutletVelocityFvPatchVectorField // Value field required if mass based if (!this->readValueEntry(dict)) { - evaluate(Pstream::commsTypes::blocking); + evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H index a81ce92912c..4858f5ba96e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchField.H @@ -215,7 +215,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Return face-gradient transform diagonal diff --git a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C index 8491516dab0..40dc0780ccd 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C @@ -72,7 +72,7 @@ timeVaryingMappedFixedValueFvPatchField // by re-setting of fvatchfield::updated_ flag. This is // so if first use is in the next time step it retriggers // a new update. - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C index deca4b47322..a10457eea47 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C @@ -77,7 +77,7 @@ Foam::uniformJumpFvPatchField<Type>::uniformJumpFvPatchField if (!this->readValueEntry(dict)) { - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.C index c0bf9569a7a..07be85db273 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.C @@ -74,7 +74,7 @@ Foam::uniformJumpAMIFvPatchField<Type>::uniformJumpAMIFvPatchField if (!this->readValueEntry(dict)) { - this->evaluate(Pstream::commsTypes::blocking); + this->evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H index 993433fd61e..5acccdf4d01 100644 --- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H @@ -635,7 +635,7 @@ public: virtual void initEvaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -643,7 +643,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ); //- Initialise the evaluation of the patch field after a local @@ -651,7 +651,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -659,7 +659,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H index ddb7dfa8b61..63cc9f794c9 100644 --- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H @@ -511,7 +511,7 @@ public: virtual void initEvaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -519,7 +519,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -528,7 +528,7 @@ public: virtual void initEvaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} @@ -536,7 +536,7 @@ public: virtual void evaluateLocal ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/functionObjects/field/mapFields/mapFieldsTemplates.C b/src/functionObjects/field/mapFields/mapFieldsTemplates.C index 749def67a3b..2350ef32c0e 100644 --- a/src/functionObjects/field/mapFields/mapFieldsTemplates.C +++ b/src/functionObjects/field/mapFields/mapFieldsTemplates.C @@ -43,7 +43,7 @@ void Foam::functionObjects::mapFields::evaluateConstraintTypes if ( - commsType == UPstream::commsTypes::blocking + commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { diff --git a/src/fvMotionSolver/pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.H b/src/fvMotionSolver/pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.H index 8fa5889ebea..a65d3d79107 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.H +++ b/src/fvMotionSolver/pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.H @@ -190,7 +190,7 @@ public: //- Update the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Write diff --git a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C index e2475907e11..73f89234392 100644 --- a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C +++ b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C @@ -107,7 +107,7 @@ timeVaryingMappedFixedValuePointPatchField // of the pointPatchField::updated_ flag. This is // so if first use is in the next time step it retriggers // a new update. - pointPatchField<Type>::evaluate(Pstream::commsTypes::blocking); + pointPatchField<Type>::evaluate(Pstream::commsTypes::buffered); } } diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H index 6c618a97476..2dd4ed08e41 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H +++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H @@ -199,7 +199,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.H b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.H index f6ffa116bbc..35816cc5ac6 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.H +++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.H @@ -203,7 +203,7 @@ public: virtual void evaluate ( const Pstream::commsTypes commsType = - Pstream::commsTypes::blocking + Pstream::commsTypes::buffered ) {} diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H index 19320666986..9b8d6cd1e6f 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.H @@ -138,7 +138,7 @@ public: // adjoint pressure BC virtual void evaluate ( - const Pstream::commsTypes commsType = Pstream::commsTypes::blocking + const Pstream::commsTypes commsType = Pstream::commsTypes::buffered ); //virtual void updateCoeffs(); diff --git a/src/sampling/surface/isoSurface/isoSurfacePoint.C b/src/sampling/surface/isoSurface/isoSurfacePoint.C index 0de39dbcd67..020a0465a2b 100644 --- a/src/sampling/surface/isoSurface/isoSurfacePoint.C +++ b/src/sampling/surface/isoSurface/isoSurfacePoint.C @@ -164,10 +164,9 @@ void Foam::isoSurfacePoint::syncUnseparatedPoints patchInfo[nbrPointi] = pointValues[meshPts[pointi]]; } - // buffered send OPstream toNbr ( - UPstream::commsTypes::blocking, + UPstream::commsTypes::buffered, procPatch.neighbProcNo() ); toNbr << patchInfo; diff --git a/src/surfMesh/writers/debug/debugSurfaceWriter.H b/src/surfMesh/writers/debug/debugSurfaceWriter.H index 239f4be28ce..bbe5c4fca6d 100644 --- a/src/surfMesh/writers/debug/debugSurfaceWriter.H +++ b/src/surfMesh/writers/debug/debugSurfaceWriter.H @@ -44,7 +44,7 @@ Description Format options: \table Property | Description | Required | Default - commsType | blocking/nonBlocking/scheduled | no | scheduled + commsType | scheduled/nonBlocking/buffered | no | scheduled merge | Enable geometry/field merging | no | true write | Write file(s) | no | false \endtable diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.C b/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.C index c7bf0818053..d2beacf925d 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.C +++ b/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.C @@ -66,7 +66,7 @@ Foam::energyJumpFvPatchScalarField::energyJumpFvPatchScalarField { if (!this->readValueEntry(dict)) { - evaluate(Pstream::commsTypes::blocking); + evaluate(Pstream::commsTypes::buffered); } } @@ -115,7 +115,7 @@ void Foam::energyJumpFvPatchScalarField::updateCoeffs() const_cast<fixedJumpFvPatchScalarField&>(TbPatch); // force update of jump - Tbp.evaluate(Pstream::commsTypes::blocking); + Tbp.evaluate(Pstream::commsTypes::buffered); const labelUList& faceCells = this->patch().faceCells(); diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.C b/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.C index 8a55c2152db..d222d40dd8a 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.C +++ b/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.C @@ -66,7 +66,7 @@ Foam::energyJumpAMIFvPatchScalarField::energyJumpAMIFvPatchScalarField { if (!this->readValueEntry(dict)) { - evaluate(Pstream::commsTypes::blocking); + evaluate(Pstream::commsTypes::buffered); } } @@ -115,7 +115,7 @@ void Foam::energyJumpAMIFvPatchScalarField::updateCoeffs() const_cast<fixedJumpAMIFvPatchScalarField&>(TbPatch); // force update of jump - Tbp.evaluate(Pstream::commsTypes::blocking); + Tbp.evaluate(Pstream::commsTypes::buffered); const labelUList& faceCells = this->patch().faceCells(); diff --git a/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.H b/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.H index 12cff614f1a..d9fe5dca2ef 100644 --- a/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.H +++ b/src/transportModels/interfaceProperties/alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.H @@ -148,7 +148,7 @@ public: //- Evaluate the patch field virtual void evaluate ( - const Pstream::commsTypes commsType=Pstream::commsTypes::blocking + const Pstream::commsTypes commsType=Pstream::commsTypes::buffered ); //- Write -- GitLab From 7b38b148fa09ac9ae36e10adc53f43dfc2c7cf07 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 26 Apr 2024 10:17:43 +0200 Subject: [PATCH 152/231] STYLE: use PstreamBuffers default construct - PstreamBuffers are nonBlocking by default, so no need to re-specify --- .../test/parallel-nonBlocking/Test-parallel-nonBlocking.C | 4 ++-- .../conformalVoronoiMesh/conformalVoronoiMeshIO.C | 2 +- .../redistributePar/parLagrangianDistributor.C | 2 +- .../db/IOobjects/decomposedBlockData/decomposedBlockData.C | 4 ++-- src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.C | 2 +- src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H | 6 +++--- .../masterUncollatedFileOperation.C | 6 +++--- .../lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C | 7 +------ src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C | 7 +------ .../mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C | 4 ++-- .../meshes/polyMesh/syncTools/syncToolsTemplates.C | 6 +++--- src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C | 4 ++-- src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C | 2 +- .../polyTopoChange/hexRef8/refinementHistory.C | 2 +- .../turbulentDFSEMInletFvPatchVectorField.C | 2 +- src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C | 2 +- .../field/DMD/DMDModels/derived/STDMD/STDMD.C | 2 +- .../field/externalCoupled/externalCoupled.C | 4 ++-- .../randomProcesses/energySpectrum/energySpectrum.C | 2 +- src/functionObjects/utilities/syncObjects/syncObjects.C | 6 +----- src/lagrangian/basic/Cloud/Cloud.C | 2 +- src/lagrangian/basic/InteractionLists/InteractionLists.H | 5 ++--- .../Kinematic/CollisionModel/PairCollision/PairCollision.C | 2 +- .../RecycleInteraction/RecycleInteraction.C | 2 +- .../molecule/moleculeCloud/moleculeCloud.C | 4 ++-- .../advancingFrontAMI/advancingFrontAMIParallelOps.C | 7 +------ src/meshTools/polyTopoChange/polyTopoChange.C | 2 +- src/meshTools/processorLOD/box/box.C | 4 ++-- .../inverseDistance/inverseDistanceCellCellStencil.C | 2 +- .../trackingInverseDistanceCellCellStencil.C | 2 +- .../distributedTriSurfaceMesh/distributedTriSurfaceMesh.C | 2 +- .../reconstruct/faReconstruct/faMeshReconstructor.C | 2 +- src/sampling/meshToMesh/meshToMeshParallelOps.C | 2 +- .../advectionSchemes/isoAdvection/isoAdvection.C | 2 +- 34 files changed, 48 insertions(+), 68 deletions(-) diff --git a/applications/test/parallel-nonBlocking/Test-parallel-nonBlocking.C b/applications/test/parallel-nonBlocking/Test-parallel-nonBlocking.C index ce00f4d8cbe..e5ec8bd2b6c 100644 --- a/applications/test/parallel-nonBlocking/Test-parallel-nonBlocking.C +++ b/applications/test/parallel-nonBlocking/Test-parallel-nonBlocking.C @@ -66,7 +66,7 @@ int main(int argc, char *argv[]) Pstream::myProcNo() ); - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; if (!Pstream::master()) { @@ -150,7 +150,7 @@ int main(int argc, char *argv[]) // Do a non-blocking send inbetween { - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; for (const int proci : Pstream::allProcs()) { diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C index ccc5b21fe99..1b6dbddb930 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C @@ -618,7 +618,7 @@ void Foam::conformalVoronoiMesh::reorderProcessorPatches labelList rotation(faces.size(), Zero); labelList faceMap(faces.size(), label(-1)); - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Send ordering forAll(sortMesh.boundaryMesh(), patchi) diff --git a/applications/utilities/parallelProcessing/redistributePar/parLagrangianDistributor.C b/applications/utilities/parallelProcessing/redistributePar/parLagrangianDistributor.C index de9968fbfb0..97c5b0cc5c9 100644 --- a/applications/utilities/parallelProcessing/redistributePar/parLagrangianDistributor.C +++ b/applications/utilities/parallelProcessing/redistributePar/parLagrangianDistributor.C @@ -184,7 +184,7 @@ Foam::parLagrangianDistributor::distributeLagrangianPositions labelListList sendMap; // Transfer buffers - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; { // List of lists of particles to be transferred for all of the diff --git a/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C b/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C index 4139ecca421..8542952455c 100644 --- a/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C +++ b/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C @@ -545,7 +545,7 @@ bool Foam::decomposedBlockData::readBlocks } else { - PstreamBuffers pBufs(comm, UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs(comm); if (UPstream::master(comm)) { @@ -667,7 +667,7 @@ Foam::autoPtr<Foam::ISstream> Foam::decomposedBlockData::readBlocks } else { - PstreamBuffers pBufs(comm, UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs(comm); if (UPstream::master(comm)) { diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.C b/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.C index cc80139f0e6..efdb2486555 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.C +++ b/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.C @@ -115,7 +115,7 @@ void Foam::masterOFstream::commit() } // Different files - PstreamBuffers pBufs(comm_, UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs(comm_); if (!UPstream::master(comm_)) { diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H index cb4cf58e3af..ed40029c932 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H @@ -38,7 +38,7 @@ Description Example usage: \code - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; for (const int proci : UPstream::allProcs()) { @@ -68,7 +68,7 @@ Description one-to-all and all-to-one communication patterns. For example, \code - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; if (UPstream::master()) { @@ -96,7 +96,7 @@ Description For example, \code - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; pBufs.initRegisterSend(); diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index 5299af8ab4b..20c9511aa0d 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -452,7 +452,7 @@ Foam::fileOperations::masterUncollatedFileOperation::read { autoPtr<ISstream> isPtr; - PstreamBuffers pBufs(comm, UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs(comm); if (UPstream::master(comm)) { @@ -1834,7 +1834,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::readHeader } // Is a more efficient scatter possible? - PstreamBuffers pBufs(comm_, UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs(comm_); if (Pstream::master(comm_)) { @@ -2396,7 +2396,7 @@ Foam::fileOperations::masterUncollatedFileOperation::NewIFstream filePaths[Pstream::myProcNo(comm_)] = filePath; Pstream::gatherList(filePaths, Pstream::msgType(), comm_); - PstreamBuffers pBufs(comm_, Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs(comm_); if (Pstream::master(comm_)) { diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C index a3fe33a999d..7225bdcaaa8 100644 --- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C +++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C @@ -311,12 +311,7 @@ void Foam::GAMGSolver::gatherMatrices const auto& boundaryMap = agglomeration_.boundaryMap(destLevel); // Use PstreamBuffers - PstreamBuffers pBufs - ( - UPstream::commsTypes::nonBlocking, - UPstream::msgType(), - comm - ); + PstreamBuffers pBufs(comm); // Send to master if (!UPstream::master(comm)) diff --git a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C index e847072e24e..40a5975794e 100644 --- a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C +++ b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C @@ -1344,12 +1344,7 @@ void Foam::lduPrimitiveMesh::gather (void)mesh.lduAddr().patchSchedule(); // Use PstreamBuffers - PstreamBuffers pBufs - ( - Pstream::commsTypes::nonBlocking, - UPstream::msgType(), - comm - ); + PstreamBuffers pBufs(comm); // Send to master if (!Pstream::master(comm)) diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C index 68b9662a778..ce75d448405 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C @@ -681,7 +681,7 @@ void Foam::mapDistributeBase::distribute if (!is_contiguous<T>::value) { - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking, tag, comm); + PstreamBuffers pBufs(comm, tag); // Stream data into buffer for (const int proci : UPstream::allProcs(comm)) @@ -1121,7 +1121,7 @@ void Foam::mapDistributeBase::distribute if (!is_contiguous<T>::value) { - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking, tag, comm); + PstreamBuffers pBufs(comm, tag); // Stream data into buffer for (const int proci : UPstream::allProcs(comm)) diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C index 21b4030d227..b2378186597 100644 --- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C @@ -132,7 +132,7 @@ void Foam::syncTools::syncPointMap // Presize according to number of processor patches // (global topology information may not yet be available...) DynamicList<label> neighbProcs(patches.nProcessorPatches()); - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Reduce communication by only sending non-zero data, // but with multiply-connected processor/processor @@ -396,7 +396,7 @@ void Foam::syncTools::syncEdgeMap // Presize according to number of processor patches // (global topology information may not yet be available...) DynamicList<label> neighbProcs(patches.nProcessorPatches()); - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Reduce communication by only sending non-zero data, // but with multiply-connected processor/processor @@ -1142,7 +1142,7 @@ void Foam::syncTools::syncBoundaryFaceList else { DynamicList<label> neighbProcs; - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Send for (const polyPatch& pp : patches) diff --git a/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C b/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C index 9de90ba469e..4519893055d 100644 --- a/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C +++ b/src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C @@ -1092,7 +1092,7 @@ void Foam::globalIndex::get ); // Send local indices to individual processors as local index - PstreamBuffers sendBufs(UPstream::commsTypes::nonBlocking, tag, comm); + PstreamBuffers sendBufs(comm, tag); for (const auto proci : validBins) { @@ -1109,7 +1109,7 @@ void Foam::globalIndex::get sendBufs.finishedSends(); - PstreamBuffers returnBufs(UPstream::commsTypes::nonBlocking, tag, comm); + PstreamBuffers returnBufs(comm, tag); for (const int proci : sendBufs.allProcs()) { diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C index a3b18318a15..b843e387670 100644 --- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C +++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C @@ -2153,7 +2153,7 @@ Foam::autoPtr<Foam::mapDistributePolyMesh> Foam::fvMeshDistribute::distribute UPstream::allToAll(nSendCells, nRecvCells); // Allocate buffers - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // What to send to neighbouring domains diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C index 7919d228e18..c842c2a6960 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C @@ -1272,7 +1272,7 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map) // Create subsetted refinement tree consisting of all parents that // move in their whole to other processor. - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; for (const int proci : Pstream::allProcs()) { diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C index c66b6424755..f7e7ac5a0b7 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C @@ -537,7 +537,7 @@ void Foam::turbulentDFSEMInletFvPatchVectorField::calcOverlappingProcEddies } - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; forAll(sendMap, proci) { diff --git a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C index 54a837d7ebf..2f10400289b 100644 --- a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C +++ b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C @@ -174,7 +174,7 @@ void Foam::fvMeshSubset::doCoupledPatches if (syncPar && UPstream::parRun()) { - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Send face usage across processor patches if (!nCellsUsingFace.empty()) diff --git a/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C b/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C index 3678b341e58..5f503d8646f 100644 --- a/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C +++ b/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C @@ -227,7 +227,7 @@ reducedKoopmanOperator() // the final outcome of TSQR decomposition up to sign // Don't clear storage on persistent buffer - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; pBufs.allowClearRecv(false); const label myProcNo = Pstream::myProcNo(); diff --git a/src/functionObjects/field/externalCoupled/externalCoupled.C b/src/functionObjects/field/externalCoupled/externalCoupled.C index 5b69105194e..2602860e126 100644 --- a/src/functionObjects/field/externalCoupled/externalCoupled.C +++ b/src/functionObjects/field/externalCoupled/externalCoupled.C @@ -111,7 +111,7 @@ void Foam::functionObjects::externalCoupled::readColumns // Get sizes for all processors const globalIndex globalFaces(globalIndex::gatherOnly{}, nRows); - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; if (UPstream::master()) { @@ -182,7 +182,7 @@ void Foam::functionObjects::externalCoupled::readLines // Get sizes for all processors const globalIndex globalFaces(globalIndex::gatherOnly{}, nRows); - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; if (UPstream::master()) { diff --git a/src/functionObjects/randomProcesses/energySpectrum/energySpectrum.C b/src/functionObjects/randomProcesses/energySpectrum/energySpectrum.C index 0a8a159b287..f36b4d27678 100644 --- a/src/functionObjects/randomProcesses/energySpectrum/energySpectrum.C +++ b/src/functionObjects/randomProcesses/energySpectrum/energySpectrum.C @@ -215,7 +215,7 @@ bool Foam::functionObjects::energySpectrum::write() if (Pstream::parRun()) { - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; { UOPstream toMaster(Pstream::masterNo(), pBufs); diff --git a/src/functionObjects/utilities/syncObjects/syncObjects.C b/src/functionObjects/utilities/syncObjects/syncObjects.C index cd5b2c2a642..d0735699ddb 100644 --- a/src/functionObjects/utilities/syncObjects/syncObjects.C +++ b/src/functionObjects/utilities/syncObjects/syncObjects.C @@ -87,11 +87,7 @@ void Foam::functionObjects::syncObjects::sync() // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Note provision of explicit all-world communicator - PstreamBuffers pBufs - ( - UPstream::commGlobal(), - UPstream::commsTypes::nonBlocking - ); + PstreamBuffers pBufs(UPstream::commGlobal()); for (const int proci : pBufs.allProcs()) diff --git a/src/lagrangian/basic/Cloud/Cloud.C b/src/lagrangian/basic/Cloud/Cloud.C index eb15d60699e..2580c082d01 100644 --- a/src/lagrangian/basic/Cloud/Cloud.C +++ b/src/lagrangian/basic/Cloud/Cloud.C @@ -182,7 +182,7 @@ void Foam::Cloud<ParticleType>::move // Allocate transfer buffers, // automatic clearStorage when UIPstream closes is disabled. - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; pBufs.allowClearRecv(false); // Cache of opened UOPstream wrappers diff --git a/src/lagrangian/basic/InteractionLists/InteractionLists.H b/src/lagrangian/basic/InteractionLists/InteractionLists.H index b71f222d36e..a575b9d5b3c 100644 --- a/src/lagrangian/basic/InteractionLists/InteractionLists.H +++ b/src/lagrangian/basic/InteractionLists/InteractionLists.H @@ -39,7 +39,7 @@ Description Simultaneous communication and computation is possible using: \verbatim - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; label startOfRequests = Pstream::nRequests(); il_.sendReferredData(cellOccupancy_, pBufs); // Do other things @@ -231,8 +231,7 @@ public: // Member Functions - //- Prepare and send referred particles and wall data, - // nonBlocking communication + //- Prepare and send referred particles and wall data (nonBlocking) void sendReferredData ( const List<DynamicList<ParticleType*>>& cellOccupancy, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C index e66c5a73a35..2dbed1a87b9 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C @@ -58,7 +58,7 @@ void Foam::PairCollision<CloudType>::preInteraction() template<class CloudType> void Foam::PairCollision<CloudType>::parcelInteraction() { - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; label startOfRequests = Pstream::nRequests(); diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/RecycleInteraction/RecycleInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/RecycleInteraction/RecycleInteraction.C index 18d415733f2..78501a00a22 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/RecycleInteraction/RecycleInteraction.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/RecycleInteraction/RecycleInteraction.C @@ -208,7 +208,7 @@ void Foam::RecycleInteraction<CloudType>::postEvolve() // See comments in Cloud::move() about transfer particles handling // Allocate transfer buffers - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Cache of opened UOPstream wrappers PtrList<UOPstream> UOPstreamPtrs(Pstream::nProcs()); diff --git a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C index 9052b14a65f..3c8670824a0 100644 --- a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C +++ b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C @@ -131,7 +131,7 @@ void Foam::moleculeCloud::buildCellOccupancy() void Foam::moleculeCloud::calculatePairForce() { - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Start sending referred data label startOfRequests = Pstream::nRequests(); @@ -356,7 +356,7 @@ void Foam::moleculeCloud::removeHighEnergyOverlaps() buildCellOccupancy(); - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Start sending referred data label startOfRequests = Pstream::nRequests(); diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMIParallelOps.C b/src/meshTools/AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMIParallelOps.C index 2df540432b2..7bfa4688d6b 100644 --- a/src/meshTools/AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMIParallelOps.C +++ b/src/meshTools/AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMIParallelOps.C @@ -78,12 +78,7 @@ void Foam::advancingFrontAMI::distributePatches points.setSize(Pstream::nProcs(comm_)); faceIDs.setSize(Pstream::nProcs(comm_)); - PstreamBuffers pBufs - ( - Pstream::commsTypes::nonBlocking, - UPstream::msgType(), - comm_ - ); + PstreamBuffers pBufs(comm_); for (const int domain : Pstream::allProcs(comm_)) { diff --git a/src/meshTools/polyTopoChange/polyTopoChange.C b/src/meshTools/polyTopoChange/polyTopoChange.C index 88b6e0359ef..149da72b5fe 100644 --- a/src/meshTools/polyTopoChange/polyTopoChange.C +++ b/src/meshTools/polyTopoChange/polyTopoChange.C @@ -2026,7 +2026,7 @@ void Foam::polyTopoChange::reorderCoupledFaces // Rotation on new faces. labelList rotation(faces_.size(), Zero); - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Send ordering forAll(patchMap, patchi) diff --git a/src/meshTools/processorLOD/box/box.C b/src/meshTools/processorLOD/box/box.C index dd6deffc320..26faa28e680 100644 --- a/src/meshTools/processorLOD/box/box.C +++ b/src/meshTools/processorLOD/box/box.C @@ -102,7 +102,7 @@ void Foam::processorLODs::box::setRefineFlags labelList& nElems ) const { - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Identify src boxes that can be refined and send to all remote procs for (const int proci : Pstream::allProcs()) @@ -315,7 +315,7 @@ bool Foam::processorLODs::box::doRefineBoxes List<DynamicList<treeBoundBox>>& fixedBoxes ) { - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Send refine info back for list of evolving src boxes forAll(refineFlags, proci) diff --git a/src/overset/cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C b/src/overset/cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C index b0e999c0f88..f606f5bdd44 100644 --- a/src/overset/cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C +++ b/src/overset/cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C @@ -1970,7 +1970,7 @@ bool Foam::cellCellStencils::inverseDistance::update() const globalIndex globalCells(mesh_.nCells()); - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Mark holes (in allCellTypes) for (label srcI = 0; srcI < meshParts.size()-1; srcI++) diff --git a/src/overset/cellCellStencil/trackingInverseDistance/trackingInverseDistanceCellCellStencil.C b/src/overset/cellCellStencil/trackingInverseDistance/trackingInverseDistanceCellCellStencil.C index 5aa94150350..73d421c58f5 100644 --- a/src/overset/cellCellStencil/trackingInverseDistance/trackingInverseDistanceCellCellStencil.C +++ b/src/overset/cellCellStencil/trackingInverseDistance/trackingInverseDistanceCellCellStencil.C @@ -765,7 +765,7 @@ bool Foam::cellCellStencils::trackingInverseDistance::update() const globalIndex globalCells(mesh_.nCells()); - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; DebugInfo<< FUNCTION_NAME << " : Allocated donor-cell structures" << endl; diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C index 647b5ce1126..8c32aface9d 100644 --- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C +++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C @@ -4784,7 +4784,7 @@ void Foam::distributedTriSurfaceMesh::distribute // Send all // ~~~~~~~~ - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; forAll(faceSendMap, proci) { diff --git a/src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C b/src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C index 722a63e2ba5..71b7584fb4e 100644 --- a/src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C +++ b/src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C @@ -110,7 +110,7 @@ void Foam::faMeshReconstructor::calcAddressing } } - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; if (Pstream::master()) { diff --git a/src/sampling/meshToMesh/meshToMeshParallelOps.C b/src/sampling/meshToMesh/meshToMeshParallelOps.C index f1a9d756b0c..308409db988 100644 --- a/src/sampling/meshToMesh/meshToMeshParallelOps.C +++ b/src/sampling/meshToMesh/meshToMeshParallelOps.C @@ -274,7 +274,7 @@ void Foam::meshToMesh::distributeCells procLocalFaceIDs.setSize(Pstream::nProcs());; - PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; for (const int domain : Pstream::allProcs()) { diff --git a/src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.C b/src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.C index 1b54ff2ca1a..a2296c3c6bf 100644 --- a/src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.C +++ b/src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.C @@ -497,7 +497,7 @@ Foam::DynamicList<Foam::label> Foam::isoAdvection::syncProcPatches if (Pstream::parRun()) { DynamicList<label> neighProcs; - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; // Send for (const label patchi : procPatchLabels_) -- GitLab From b2bbc15463411a24a93ab2878e3d5eb5d3a5c6fe Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 25 Apr 2024 18:54:22 +0200 Subject: [PATCH 153/231] ENH: use MPI Get_elements_x() for message sizes (#3152) - ensures more accurate values for message sizes than using MPI Get_count(), which trucates at INT_MAX - add more/better error messages when trying to receive messages that exceed INT_MAX or the char buffer lengths --- src/Pstream/mpi/UIPstreamRead.C | 60 +++++++++++++++++++++++++++++++++ src/Pstream/mpi/UPstream.C | 32 +++++++++++++++++- 2 files changed, 91 insertions(+), 1 deletion(-) diff --git a/src/Pstream/mpi/UIPstreamRead.C b/src/Pstream/mpi/UIPstreamRead.C index c8e6de0d747..2a690f4b9f8 100644 --- a/src/Pstream/mpi/UIPstreamRead.C +++ b/src/Pstream/mpi/UIPstreamRead.C @@ -35,6 +35,8 @@ License // - as of 2023-06 appears to be broken with INTELMPI + PMI-2 (slurm) // and perhaps other places so currently avoid +#undef Pstream_use_MPI_Get_count + // * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // // General blocking/non-blocking MPI receive @@ -128,8 +130,30 @@ static std::streamsize UPstream_mpi_receive } // Check size of message read + #ifdef Pstream_use_MPI_Get_count int count(0); MPI_Get_count(&status, MPI_BYTE, &count); + #else + MPI_Count count(0); + MPI_Get_elements_x(&status, MPI_BYTE, &count); + #endif + + // Errors + if (count == MPI_UNDEFINED || int64_t(count) < 0) + { + FatalErrorInFunction + << "MPI_Get_count() or MPI_Get_elements_x() : " + "returned undefined or negative value" + << Foam::abort(FatalError); + } + else if (int64_t(count) > int64_t(UList<char>::max_size())) + { + FatalErrorInFunction + << "MPI_Get_count() or MPI_Get_elements_x() : " + "count is larger than UList<char>::max_size() bytes" + << Foam::abort(FatalError); + } + if (bufSize < std::streamsize(count)) { @@ -240,8 +264,30 @@ void Foam::UIPstream::bufferIPCrecv() profilingPstream::addProbeTime(); + + #ifdef Pstream_use_MPI_Get_count int count(0); MPI_Get_count(&status, MPI_BYTE, &count); + #else + MPI_Count count(0); + MPI_Get_elements_x(&status, MPI_BYTE, &count); + #endif + + // Errors + if (count == MPI_UNDEFINED || int64_t(count) < 0) + { + FatalErrorInFunction + << "MPI_Get_count() or MPI_Get_elements_x() : " + "returned undefined or negative value" + << Foam::abort(FatalError); + } + else if (int64_t(count) > int64_t(UList<char>::max_size())) + { + FatalErrorInFunction + << "MPI_Get_count() or MPI_Get_elements_x() : " + "count is larger than UList<char>::max_size() bytes" + << Foam::abort(FatalError); + } if (UPstream::debug) { @@ -264,6 +310,20 @@ void Foam::UIPstream::bufferIPCrecv() nullptr // UPstream::Request ); + if (count < 0) + { + FatalErrorInFunction + << "MPI_recv() with negative size??" + << Foam::abort(FatalError); + } + else if (int64_t(count) > int64_t(UList<char>::max_size())) + { + FatalErrorInFunction + << "MPI_recv() larger than " + "UList<char>::max_size() bytes" + << Foam::abort(FatalError); + } + // Set addressed size. Leave actual allocated memory intact. recvBuf_.resize(label(count)); messageSize_ = label(count); diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C index a9f19d3b3f7..b23c85d66c2 100644 --- a/src/Pstream/mpi/UPstream.C +++ b/src/Pstream/mpi/UPstream.C @@ -40,6 +40,8 @@ License #include <numeric> #include <string> +#undef Pstream_use_MPI_Get_count + // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // The min value and default for MPI buffer length @@ -838,8 +840,36 @@ Foam::UPstream::probeMessage if (flag) { + // Unlikely to be used with large amounts of data, + // but use MPI_Get_elements_x() instead of MPI_Count() anyhow + + #ifdef Pstream_use_MPI_Get_count + int count(0); + MPI_Get_count(&status, MPI_BYTE, &count); + #else + MPI_Count count(0); + MPI_Get_elements_x(&status, MPI_BYTE, &count); + #endif + + // Errors + if (count == MPI_UNDEFINED || int64_t(count) < 0) + { + FatalErrorInFunction + << "MPI_Get_count() or MPI_Get_elements_x() : " + "returned undefined or negative value" + << Foam::abort(FatalError); + } + else if (int64_t(count) > int64_t(INT_MAX)) + { + FatalErrorInFunction + << "MPI_Get_count() or MPI_Get_elements_x() : " + "count is larger than INI_MAX bytes" + << Foam::abort(FatalError); + } + + result.first = status.MPI_SOURCE; - MPI_Get_count(&status, MPI_BYTE, &result.second); + result.second = int(count); } return result; -- GitLab From e22edc5deeb3813ba7de5456bf5d08fb550bed62 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Thu, 2 May 2024 14:17:48 +0100 Subject: [PATCH 154/231] STYLE: limitTemperature: consolidate standard output stream --- .../limitTemperature/limitTemperature.C | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/fvOptions/corrections/limitTemperature/limitTemperature.C b/src/fvOptions/corrections/limitTemperature/limitTemperature.C index a20234f1a26..87781b19283 100644 --- a/src/fvOptions/corrections/limitTemperature/limitTemperature.C +++ b/src/fvOptions/corrections/limitTemperature/limitTemperature.C @@ -199,16 +199,19 @@ void Foam::fv::limitTemperature::correct(volScalarField& he) const scalar nBelowMinPercent = percent(nBelowMin, nTotCells); const scalar nAboveMaxPercent = percent(nAboveMax, nTotCells); - Info<< type() << ' ' << name_ << " Lower limited " << nBelowMin << " (" - << nBelowMinPercent - << "%) of cells, with min limit " << Tmin_ << endl; - - Info<< type() << ' ' << name_ << " Upper limited " << nAboveMax << " (" - << nAboveMaxPercent - << "%) of cells, with max limit " << Tmax_ << endl; - - Info<< type() << ' ' << name_ << " Unlimited Tmin " << Tmin0 << endl; - Info<< type() << ' ' << name_ << " Unlimited Tmax " << Tmax0 << endl; + Info<< type() << "=" << name_ << ", Type=Lower" + << ", LimitedCells=" << nBelowMin + << ", CellsPercent=" << nBelowMinPercent + << ", Tmin=" << Tmin_ + << ", UnlimitedTmin=" << Tmin0 + << endl; + + Info<< type() << "=" << name_ << ", Type=Upper" + << ", LimitedCells=" << nAboveMax + << ", CellsPercent=" << nAboveMaxPercent + << ", Tmax=" << Tmax_ + << ", UnlimitedTmax=" << Tmax0 + << endl; if (canWriteToFile()) -- GitLab From 3fed41547f236f99acfd5d14c54308e7f4c71cb3 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 30 Apr 2024 14:00:15 +0200 Subject: [PATCH 155/231] COMP: remove template-id for constructor/destructor - not allowed in C++20 COMP: avoid hidden overloaded-virtual (edgeMesh, surfMesh) --- src/OpenFOAM/db/IOstreams/token/token.H | 4 +- .../matrices/DiagonalMatrix/DiagonalMatrix.H | 14 +++--- .../matrices/EigenMatrix/EigenMatrix.H | 8 ++-- src/OpenFOAM/matrices/Matrix/Matrix.H | 2 +- src/OpenFOAM/matrices/QRMatrix/QRMatrix.H | 2 +- .../RectangularMatrix/RectangularMatrix.H | 7 ++- .../matrices/SquareMatrix/SquareMatrix.H | 2 +- .../SymmetricSquareMatrix.H | 12 +++-- .../basic/sliced/slicedFaPatchField.H | 4 +- .../basic/sliced/slicedFaePatchField.H | 4 +- .../basic/sliced/slicedFvPatchField.H | 4 +- .../mappedField/mappedPatchFieldBase.H | 2 +- .../basic/sliced/slicedFvsPatchField.H | 4 +- .../edgeFormats/edgeMesh/edgeMeshFormat.H | 33 +++++++------ .../edgeFormats/nastran/NASedgeFormat.H | 16 ++----- .../edgeMesh/edgeFormats/obj/OBJedgeFormat.H | 37 ++++++++------- .../edgeFormats/starcd/STARCDedgeFormat.H | 32 +++++++------ .../edgeMesh/edgeFormats/vtk/VTKedgeFormat.H | 24 +++++++--- src/meshTools/edgeMesh/edgeMesh.H | 4 +- .../adjointBoundaryCondition.H | 2 +- .../UnsortedMeshedSurface.H | 4 +- .../abaqus/ABAQUSsurfaceFormat.H | 27 +++++++---- .../surfaceFormats/ac3d/AC3DsurfaceFormat.H | 26 ++++++++--- .../surfaceFormats/fire/FLMAsurfaceFormat.H | 46 ++++++++++++++----- .../surfaceFormats/gts/GTSsurfaceFormat.H | 24 +++++++--- .../surfaceFormats/nas/NASsurfaceFormat.H | 28 +++++++---- .../surfaceFormats/obj/OBJsurfaceFormat.H | 28 +++++++---- .../surfaceFormats/off/OFFsurfaceFormat.H | 28 +++++++---- .../surfaceFormats/smesh/SMESHsurfaceFormat.H | 24 +++++++--- .../starcd/STARCDsurfaceFormat.H | 26 ++++++++--- .../surfaceFormats/stl/STLsurfaceFormat.H | 36 ++++++++++----- .../surfaceFormats/tri/TRIsurfaceFormat.H | 28 +++++++---- .../surfaceFormats/vtk/VTKsurfaceFormat.H | 28 +++++++---- .../surfaceFormats/vtp/VTPsurfaceFormat.H | 24 +++++++--- .../surfaceFormats/x3d/X3DsurfaceFormat.H | 24 +++++++--- src/surfMesh/writers/common/surfaceWriter.H | 2 +- 36 files changed, 406 insertions(+), 214 deletions(-) diff --git a/src/OpenFOAM/db/IOstreams/token/token.H b/src/OpenFOAM/db/IOstreams/token/token.H index 946e93e834a..7c7698e098d 100644 --- a/src/OpenFOAM/db/IOstreams/token/token.H +++ b/src/OpenFOAM/db/IOstreams/token/token.H @@ -337,10 +337,10 @@ public: TypeNameNoDebug("Compound<T>"); //- No copy construct - Compound<T>(const Compound<T>&) = delete; + Compound(const Compound<T>&) = delete; //- No copy assignment - Compound<T>& operator=(const Compound<T>&) = delete; + void operator=(const Compound<T>&) = delete; // Constructors diff --git a/src/OpenFOAM/matrices/DiagonalMatrix/DiagonalMatrix.H b/src/OpenFOAM/matrices/DiagonalMatrix/DiagonalMatrix.H index 857daea5d87..ea9adb37a06 100644 --- a/src/OpenFOAM/matrices/DiagonalMatrix/DiagonalMatrix.H +++ b/src/OpenFOAM/matrices/DiagonalMatrix/DiagonalMatrix.H @@ -39,8 +39,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef DiagonalMatrix_H -#define DiagonalMatrix_H +#ifndef Foam_DiagonalMatrix_H +#define Foam_DiagonalMatrix_H #include "List.H" #include <numeric> @@ -78,18 +78,18 @@ public: // Constructors - //- Construct empty from size - explicit DiagonalMatrix<Type>(const label n); + //- Construct from size, uninitialised content + explicit DiagonalMatrix(const label n); //- Construct from size and initialise all elems to zero - DiagonalMatrix<Type>(const label n, const Foam::zero); + DiagonalMatrix(const label n, const Foam::zero); //- Construct from size and initialise all elems to value - DiagonalMatrix<Type>(const label n, const Type& val); + DiagonalMatrix(const label n, const Type& val); //- Construct from the diagonal of a Matrix template<class Form> - DiagonalMatrix<Type>(const Matrix<Form, Type>& mat); + DiagonalMatrix(const Matrix<Form, Type>& mat); // Member Functions diff --git a/src/OpenFOAM/matrices/EigenMatrix/EigenMatrix.H b/src/OpenFOAM/matrices/EigenMatrix/EigenMatrix.H index aa4a02562fc..66cfa4a87d5 100644 --- a/src/OpenFOAM/matrices/EigenMatrix/EigenMatrix.H +++ b/src/OpenFOAM/matrices/EigenMatrix/EigenMatrix.H @@ -225,30 +225,30 @@ public: // Access //- Return real eigenvalues or real part of complex eigenvalues - const DiagonalMatrix<cmptType>& EValsRe() const + const DiagonalMatrix<cmptType>& EValsRe() const noexcept { return EValsRe_; } //- Return zero-matrix for real eigenvalues //- or imaginary part of complex eigenvalues - const DiagonalMatrix<cmptType>& EValsIm() const + const DiagonalMatrix<cmptType>& EValsIm() const noexcept { return EValsIm_; } //- Return right eigenvectors matrix where each column is //- a right eigenvector that corresponds to an eigenvalue - const SquareMatrix<cmptType>& EVecs() const + const SquareMatrix<cmptType>& EVecs() const noexcept { return EVecs_; } //- Return right eigenvectors in unpacked form const SquareMatrix<complex> complexEVecs() const; - }; + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/OpenFOAM/matrices/Matrix/Matrix.H b/src/OpenFOAM/matrices/Matrix/Matrix.H index cdfa892253b..7e299d96cfa 100644 --- a/src/OpenFOAM/matrices/Matrix/Matrix.H +++ b/src/OpenFOAM/matrices/Matrix/Matrix.H @@ -136,7 +136,7 @@ public: //- Default construct (empty matrix) inline Matrix() noexcept; - //- Construct given number of rows/columns + //- Construct given number of rows/columns, uninitialised content Matrix(const label m, const label n); //- Construct with given number of rows/columns diff --git a/src/OpenFOAM/matrices/QRMatrix/QRMatrix.H b/src/OpenFOAM/matrices/QRMatrix/QRMatrix.H index dcb32cc6db1..1e6a8d2a0dd 100644 --- a/src/OpenFOAM/matrices/QRMatrix/QRMatrix.H +++ b/src/OpenFOAM/matrices/QRMatrix/QRMatrix.H @@ -252,7 +252,7 @@ public: // Constructors - //- Construct null + //- No default construct QRMatrix() = delete; //- Construct with a matrix and perform QR decomposition diff --git a/src/OpenFOAM/matrices/RectangularMatrix/RectangularMatrix.H b/src/OpenFOAM/matrices/RectangularMatrix/RectangularMatrix.H index 3e90bff5715..179e5a1339c 100644 --- a/src/OpenFOAM/matrices/RectangularMatrix/RectangularMatrix.H +++ b/src/OpenFOAM/matrices/RectangularMatrix/RectangularMatrix.H @@ -39,8 +39,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef RectangularMatrix_H -#define RectangularMatrix_H +#ifndef Foam_RectangularMatrix_H +#define Foam_RectangularMatrix_H #include "Matrix.H" #include "SquareMatrix.H" @@ -59,7 +59,6 @@ class RectangularMatrix : public Matrix<RectangularMatrix<Type>, Type> { - public: // Generated Methods @@ -76,7 +75,7 @@ public: // Constructors - //- Construct a square matrix (rows == columns) + //- Construct a square matrix (rows == columns), uninitialised content inline explicit RectangularMatrix(const label n); //- Construct given number of rows/columns diff --git a/src/OpenFOAM/matrices/SquareMatrix/SquareMatrix.H b/src/OpenFOAM/matrices/SquareMatrix/SquareMatrix.H index 0a055c0539c..8ccaeed3419 100644 --- a/src/OpenFOAM/matrices/SquareMatrix/SquareMatrix.H +++ b/src/OpenFOAM/matrices/SquareMatrix/SquareMatrix.H @@ -81,7 +81,7 @@ public: // Constructors - //- Construct for given size (rows == cols) + //- Construct for given size (rows == cols), uninitialised content inline explicit SquareMatrix(const label n); //- Construct for given size (rows == cols) diff --git a/src/OpenFOAM/matrices/SymmetricSquareMatrix/SymmetricSquareMatrix.H b/src/OpenFOAM/matrices/SymmetricSquareMatrix/SymmetricSquareMatrix.H index 81f95366323..4475f12d49c 100644 --- a/src/OpenFOAM/matrices/SymmetricSquareMatrix/SymmetricSquareMatrix.H +++ b/src/OpenFOAM/matrices/SymmetricSquareMatrix/SymmetricSquareMatrix.H @@ -40,8 +40,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef SymmetricSquareMatrix_H -#define SymmetricSquareMatrix_H +#ifndef Foam_SymmetricSquareMatrix_H +#define Foam_SymmetricSquareMatrix_H #include "SquareMatrix.H" @@ -59,7 +59,6 @@ class SymmetricSquareMatrix : public Matrix<SymmetricSquareMatrix<Type>, Type> { - public: // Generated Methods @@ -71,12 +70,13 @@ public: SymmetricSquareMatrix(const SymmetricSquareMatrix&) = default; //- Copy assignment - SymmetricSquareMatrix& operator=(const SymmetricSquareMatrix&) = default; + SymmetricSquareMatrix& + operator=(const SymmetricSquareMatrix&) = default; // Constructors - //- Construct for given size (rows == cols) + //- Construct for given size (rows == cols), uninitialised content inline explicit SymmetricSquareMatrix(const label n); //- Construct for given size (rows == cols) @@ -113,6 +113,8 @@ public: }; +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + // Global Functions //- Return the LU decomposed SymmetricSquareMatrix inverse diff --git a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H index 78a432e81e6..20fb8432276 100644 --- a/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/basic/sliced/slicedFaPatchField.H @@ -140,8 +140,8 @@ public: } - //- Destructor - virtual ~slicedFaPatchField<Type>(); + //- Destructor, resets pointers to avoid deletion of underlying field + virtual ~slicedFaPatchField(); // Member Functions diff --git a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H index b7fb3fa912a..17302930ee5 100644 --- a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H @@ -132,8 +132,8 @@ public: } - //- Destructor - virtual ~slicedFaePatchField<Type>(); + //- Destructor, resets pointers to avoid deletion of underlying field + virtual ~slicedFaePatchField(); // Member Functions diff --git a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H index 0c9f707d4c3..ad71341426c 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.H @@ -138,8 +138,8 @@ public: } - //- Destructor - virtual ~slicedFvPatchField<Type>(); + //- Destructor, resets pointers to avoid deletion of underlying field + virtual ~slicedFvPatchField(); // Member Functions diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.H index 9ee3d796e2b..16aa8dc2d1c 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.H @@ -233,7 +233,7 @@ public: //- Destructor - virtual ~mappedPatchFieldBase<Type>() = default; + virtual ~mappedPatchFieldBase() = default; // Member Functions diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H index 3a82030519b..809d4e0db33 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H @@ -134,8 +134,8 @@ public: } - //- Destructor - virtual ~slicedFvsPatchField<Type>(); + //- Destructor, resets pointers to avoid deletion of underlying field + virtual ~slicedFvsPatchField(); // Member Functions diff --git a/src/meshTools/edgeMesh/edgeFormats/edgeMesh/edgeMeshFormat.H b/src/meshTools/edgeMesh/edgeFormats/edgeMesh/edgeMeshFormat.H index 8380c6f9274..8636c4526c9 100644 --- a/src/meshTools/edgeMesh/edgeFormats/edgeMesh/edgeMeshFormat.H +++ b/src/meshTools/edgeMesh/edgeFormats/edgeMesh/edgeMeshFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,8 +38,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef edgeMeshFormat_H -#define edgeMeshFormat_H +#ifndef Foam_edgeMeshFormat_H +#define Foam_edgeMeshFormat_H #include "edgeMesh.H" #include "Ostream.H" @@ -60,15 +60,6 @@ class edgeMeshFormat : public edgeMesh { - // Private Member Functions - - //- No copy construct - edgeMeshFormat(const edgeMeshFormat&) = delete; - - //- No copy assignment - void operator=(const edgeMeshFormat&) = delete; - - protected: // Protected Member Functions @@ -87,7 +78,7 @@ public: // Constructors //- Construct from file name - explicit edgeMeshFormat(const fileName&); + explicit edgeMeshFormat(const fileName& filename); // Selectors @@ -134,15 +125,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& name); + virtual bool read(const fileName& filename) override; + + //- Write edge mesh to file + virtual void write + ( + const fileName& name, + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override + { + write(name, *this, streamOpt, options); + } //- Write edge mesh to file virtual void write ( const fileName& name, + const word& fileType, /* ignored */ IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override { write(name, *this, streamOpt, options); } diff --git a/src/meshTools/edgeMesh/edgeFormats/nastran/NASedgeFormat.H b/src/meshTools/edgeMesh/edgeFormats/nastran/NASedgeFormat.H index e86c5b2c148..fa8abef3ab1 100644 --- a/src/meshTools/edgeMesh/edgeFormats/nastran/NASedgeFormat.H +++ b/src/meshTools/edgeMesh/edgeFormats/nastran/NASedgeFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,8 +42,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef NASedgeFormat_H -#define NASedgeFormat_H +#ifndef Foam_NASedgeFormat_H +#define Foam_NASedgeFormat_H #include "edgeMesh.H" #include "NASCore.H" @@ -64,14 +64,6 @@ class NASedgeFormat public edgeMesh, public NASCore { - // Private Member Functions - - //- No copy construct - NASedgeFormat(const NASedgeFormat&) = delete; - - //- No copy assignment - void operator=(const NASedgeFormat&) = delete; - public: // Constructors @@ -96,7 +88,7 @@ public: // Member Functions //- Read from a file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; }; diff --git a/src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.H b/src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.H index 331eaed1566..69e295254c8 100644 --- a/src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.H +++ b/src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -37,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef OBJedgeFormat_H -#define OBJedgeFormat_H +#ifndef Foam_OBJedgeFormat_H +#define Foam_OBJedgeFormat_H #include "edgeMesh.H" #include "Fstream.H" @@ -59,21 +59,12 @@ class OBJedgeFormat : public edgeMesh { - // Private Member Functions - - //- No copy construct - OBJedgeFormat(const OBJedgeFormat&) = delete; - - //- No copy assignment - void operator=(const OBJedgeFormat&) = delete; - - public: // Constructors //- Construct from file name - OBJedgeFormat(const fileName&); + explicit OBJedgeFormat(const fileName& filename); // Selectors @@ -89,9 +80,9 @@ public: virtual ~OBJedgeFormat() = default; - // Member Functions + // Static Functions - //- Write edge mesh to file + //- Write edge mesh to file in OBJ format static void write ( const fileName& filename, @@ -104,15 +95,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& name); + virtual bool read(const fileName& filename) override; + + //- Write to file + virtual void write + ( + const fileName& name, + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override + { + write(name, *this, streamOpt, options); + } //- Write to file virtual void write ( const fileName& name, + const word& fileType, /* ignored */ IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override { write(name, *this, streamOpt, options); } diff --git a/src/meshTools/edgeMesh/edgeFormats/starcd/STARCDedgeFormat.H b/src/meshTools/edgeMesh/edgeFormats/starcd/STARCDedgeFormat.H index 2a522a23a37..9b2d0167ab1 100644 --- a/src/meshTools/edgeMesh/edgeFormats/starcd/STARCDedgeFormat.H +++ b/src/meshTools/edgeMesh/edgeFormats/starcd/STARCDedgeFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,8 +41,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef STARCDedgeFormat_H -#define STARCDedgeFormat_H +#ifndef Foam_STARCDedgeFormat_H +#define Foam_STARCDedgeFormat_H #include "edgeMesh.H" #include "STARCDCore.H" @@ -75,14 +75,6 @@ class STARCDedgeFormat label starCellId = 1 // 1-based cellId ); - - //- No copy construct - STARCDedgeFormat(const STARCDedgeFormat&) = delete; - - //- No copy assignment - void operator=(const STARCDedgeFormat&) = delete; - - protected: // Protected Member Functions @@ -118,7 +110,7 @@ public: // Static Functions - //- Write edge mesh to file + //- Write edge mesh to file in STARCD format static void write ( const fileName& filename, @@ -131,15 +123,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& name); + virtual bool read(const fileName& name) override; + + //- Write to file + virtual void write + ( + const fileName& name, + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override + { + write(name, *this, streamOpt, options); + } //- Write to file virtual void write ( const fileName& name, + const word& fileType, /* ignored */ IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override { write(name, *this, streamOpt, options); } diff --git a/src/meshTools/edgeMesh/edgeFormats/vtk/VTKedgeFormat.H b/src/meshTools/edgeMesh/edgeFormats/vtk/VTKedgeFormat.H index 3f7ac6ec83f..438c425dc76 100644 --- a/src/meshTools/edgeMesh/edgeFormats/vtk/VTKedgeFormat.H +++ b/src/meshTools/edgeMesh/edgeFormats/vtk/VTKedgeFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef VTKedgeFormat_H -#define VTKedgeFormat_H +#ifndef Foam_VTKedgeFormat_H +#define Foam_VTKedgeFormat_H #include "edgeMesh.H" @@ -78,7 +78,7 @@ public: // Static Functions - //- Write edge mesh to file + //- Write edge mesh to file in legacy VTK format static void write ( const fileName& filename, @@ -91,7 +91,7 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& name); + virtual bool read(const fileName& filename) override; //- Write to file virtual void write @@ -99,7 +99,19 @@ public: const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, *this, streamOpt, options); + } + + //- Write to file + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, *this, streamOpt, options); } diff --git a/src/meshTools/edgeMesh/edgeMesh.H b/src/meshTools/edgeMesh/edgeMesh.H index 57f066ea35f..95397c379ae 100644 --- a/src/meshTools/edgeMesh/edgeMesh.H +++ b/src/meshTools/edgeMesh/edgeMesh.H @@ -41,8 +41,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef edgeMesh_H -#define edgeMesh_H +#ifndef Foam_edgeMesh_H +#define Foam_edgeMesh_H #include "pointField.H" #include "edgeList.H" diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointBoundaryCondition/adjointBoundaryCondition.H b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointBoundaryCondition/adjointBoundaryCondition.H index 9d30c4bc773..22ce358b907 100644 --- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointBoundaryCondition/adjointBoundaryCondition.H +++ b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointBoundaryCondition/adjointBoundaryCondition.H @@ -116,7 +116,7 @@ public: //- Destructor - virtual ~adjointBoundaryCondition<Type>() = default; + virtual ~adjointBoundaryCondition() = default; // Member Functions diff --git a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.H b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.H index 951921cfaaa..23e9e952f59 100644 --- a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.H +++ b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.H @@ -46,8 +46,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef UnsortedMeshedSurface_H -#define UnsortedMeshedSurface_H +#ifndef Foam_UnsortedMeshedSurface_H +#define Foam_UnsortedMeshedSurface_H #include "MeshedSurface.H" #include "surfZoneIdentifierList.H" diff --git a/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.H b/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.H index 5ddbf34ad90..bc3aa4b3778 100644 --- a/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,8 +40,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef ABAQUSsurfaceFormat_H -#define ABAQUSsurfaceFormat_H +#ifndef Foam_ABAQUSsurfaceFormat_H +#define Foam_ABAQUSsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -95,7 +95,7 @@ public: // Static Member Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in ABAQUS format static void write ( const fileName& filename, @@ -108,18 +108,27 @@ public: // Member Functions //- Read from file - virtual bool read + virtual bool read(const fileName& filename) override; + + //- Write surface mesh to file (by proxy) + virtual void write ( - const fileName& filename - ); + const fileName& name, + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, + const word& fileType, /* ignored */ IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.H b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.H index bcde42a49ee..d738fe45c6a 100644 --- a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,8 +48,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef AC3DsurfaceFormat_H -#define AC3DsurfaceFormat_H +#ifndef Foam_AC3DsurfaceFormat_H +#define Foam_AC3DsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -78,7 +78,7 @@ public: // Constructors //- Construct from file name - AC3DsurfaceFormat(const fileName& filename); + explicit AC3DsurfaceFormat(const fileName& filename); //- Destructor @@ -109,15 +109,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/fire/FLMAsurfaceFormat.H b/src/surfMesh/surfaceFormats/fire/FLMAsurfaceFormat.H index 6247ad4dfbc..c2c59cfdc5e 100644 --- a/src/surfMesh/surfaceFormats/fire/FLMAsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/fire/FLMAsurfaceFormat.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -45,8 +45,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef FLMAsurfaceFormat_H -#define FLMAsurfaceFormat_H +#ifndef Foam_FLMAsurfaceFormat_H +#define Foam_FLMAsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -79,14 +79,14 @@ protected: // Protected Member Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) static void write ( OSstream& os, const MeshedSurfaceProxy<Face>& surf ); - //- Write surface mesh components by proxy with/without compression + //- Write surface mesh components (by proxy) with/without compression static void write ( IOstreamOption::compressionType comp, @@ -109,7 +109,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) static void write ( const fileName& filename, @@ -121,13 +121,25 @@ public: // Member Functions - //- Write surface mesh as flma file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } @@ -157,7 +169,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) static void write ( const fileName& filename, @@ -169,13 +181,25 @@ public: // Member Functions - //- Write surface mesh as flmaz file + //- Write surface mesh as flmaz file (by proxy) + virtual void write + ( + const fileName& name, + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh as flmaz file (by proxy) virtual void write ( const fileName& name, + const word& fileType, /* ignored */ IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.H b/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.H index 2b3303912ef..c77d2ce8ac9 100644 --- a/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -44,8 +44,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef GTSsurfaceFormat_H -#define GTSsurfaceFormat_H +#ifndef Foam_GTSsurfaceFormat_H +#define Foam_GTSsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -79,7 +79,7 @@ public: // Constructors //- Construct from file name - GTSsurfaceFormat(const fileName& filename); + explicit GTSsurfaceFormat(const fileName& filename); //- Destructor @@ -110,7 +110,7 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; //- Write surface mesh to file virtual void write @@ -118,7 +118,19 @@ public: const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, *this, streamOpt, options); + } + + //- Write surface mesh to file + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, *this, streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.H b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.H index 780a2737677..c7219e7597a 100644 --- a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,8 +51,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef NASsurfaceFormat_H -#define NASsurfaceFormat_H +#ifndef Foam_NASsurfaceFormat_H +#define Foam_NASsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -93,7 +93,7 @@ public: // Constructors //- Construct from file name - NASsurfaceFormat(const fileName& filename); + explicit NASsurfaceFormat(const fileName& filename); //- Destructor @@ -102,7 +102,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in NAS format static void write ( const fileName& filename, @@ -115,15 +115,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.H b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.H index 80febb0c9a4..ef1f3eab3c1 100644 --- a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -43,8 +43,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef OBJsurfaceFormat_H -#define OBJsurfaceFormat_H +#ifndef Foam_OBJsurfaceFormat_H +#define Foam_OBJsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -71,7 +71,7 @@ public: // Constructors //- Construct from file name - OBJsurfaceFormat(const fileName& filename); + explicit OBJsurfaceFormat(const fileName& filename); //- Destructor @@ -80,7 +80,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in OBJ format static void write ( const fileName& filename, @@ -93,15 +93,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.H b/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.H index b988b0f5a55..ced17ea6ce9 100644 --- a/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -50,8 +50,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef OFFsurfaceFormat_H -#define OFFsurfaceFormat_H +#ifndef Foam_OFFsurfaceFormat_H +#define Foam_OFFsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -78,7 +78,7 @@ public: // Constructors //- Construct from file name - OFFsurfaceFormat(const fileName& filename); + explicit OFFsurfaceFormat(const fileName& filename); //- Destructor @@ -87,7 +87,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in OFF format static void write ( const fileName& filename, @@ -100,15 +100,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.H b/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.H index d99cd4e17de..9f42e6ba2a5 100644 --- a/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -45,8 +45,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef SMESHsurfaceFormat_H -#define SMESHsurfaceFormat_H +#ifndef Foam_SMESHsurfaceFormat_H +#define Foam_SMESHsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -82,7 +82,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in SMESH format static void write ( const fileName& filename, @@ -94,13 +94,25 @@ public: // Member Functions - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.H b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.H index c6384363539..fe94aa4b6ab 100644 --- a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -47,8 +47,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef STARCDsurfaceFormat_H -#define STARCDsurfaceFormat_H +#ifndef Foam_STARCDsurfaceFormat_H +#define Foam_STARCDsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -88,7 +88,7 @@ public: // Constructors //- Construct from file name - STARCDsurfaceFormat(const fileName& filename); + explicit STARCDsurfaceFormat(const fileName& filename); //- Destructor @@ -110,15 +110,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.H b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.H index b91bb1e849c..aa67b6a0e0c 100644 --- a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -44,8 +44,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef STLsurfaceFormat_H -#define STLsurfaceFormat_H +#ifndef Foam_STLsurfaceFormat_H +#define Foam_STLsurfaceFormat_H #include "STLReader.H" #include "MeshedSurface.H" @@ -94,7 +94,7 @@ public: // Constructors //- Construct from file name - STLsurfaceFormat(const fileName& filename); + explicit STLsurfaceFormat(const fileName& filename); //- Destructor @@ -133,8 +133,8 @@ public: const UnsortedMeshedSurface<Face>& surf ); - //- Write surface mesh components by proxy - // as ASCII or BINARY or dependent on the extension + //- Write surface mesh components (by proxy) in STL format + //- as ASCII or BINARY or dependent on the extension static void write ( const fileName& filename, @@ -154,8 +154,8 @@ public: ); - //- Write surface mesh components by proxy - // as ASCII or BINARY, depending on the extension + //- Write surface mesh components (by proxy) in STL format + //- as ASCII or BINARY, depending on the extension static void write ( const fileName& filename, @@ -165,7 +165,7 @@ public: ); //- Write UnsortedMeshedSurface - // as ASCII or BINARY, depending on the extension + //- as ASCII or BINARY, depending on the extension static void write ( const fileName& filename, @@ -178,15 +178,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, + const word& fileType, /* ignored */ IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.H b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.H index c9a1661711b..7db53a02d44 100644 --- a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -45,8 +45,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef TRIsurfaceFormat_H -#define TRIsurfaceFormat_H +#ifndef Foam_TRIsurfaceFormat_H +#define Foam_TRIsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -84,7 +84,7 @@ public: // Constructors //- Construct from file name - TRIsurfaceFormat(const fileName& filename); + explicit TRIsurfaceFormat(const fileName& filename); //- Destructor @@ -93,7 +93,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in TRI format static void write ( const fileName& filename, @@ -115,15 +115,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.H b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.H index c32ea42e376..b744499b86a 100644 --- a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,8 +46,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef VTKsurfaceFormat_H -#define VTKsurfaceFormat_H +#ifndef Foam_VTKsurfaceFormat_H +#define Foam_VTKsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -86,7 +86,7 @@ public: // Constructors //- Construct from file name - VTKsurfaceFormat(const fileName& filename); + explicit VTKsurfaceFormat(const fileName& filename); //- Destructor @@ -95,7 +95,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in legacy VTK format static void write ( const fileName& filename, @@ -117,15 +117,27 @@ public: // Member Functions //- Read from file - virtual bool read(const fileName& filename); + virtual bool read(const fileName& filename) override; - //- Write meshed surface to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.H b/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.H index 2ab0e3490c3..47438053f3a 100644 --- a/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,8 +46,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef VTPsurfaceFormat_H -#define VTPsurfaceFormat_H +#ifndef Foam_VTPsurfaceFormat_H +#define Foam_VTPsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -95,7 +95,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in VTP format static void write ( const fileName& filename, @@ -116,13 +116,25 @@ public: // Member Functions - //- Write meshed surface to a file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.H b/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.H index 735a6803b51..81b6b12b2b2 100644 --- a/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.H +++ b/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,8 +41,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef X3DsurfaceFormat_H -#define X3DsurfaceFormat_H +#ifndef Foam_X3DsurfaceFormat_H +#define Foam_X3DsurfaceFormat_H #include "MeshedSurface.H" #include "MeshedSurfaceProxy.H" @@ -80,7 +80,7 @@ public: // Static Functions - //- Write surface mesh components by proxy + //- Write surface mesh components (by proxy) in X3D format static void write ( const fileName& filename, @@ -92,13 +92,25 @@ public: // Member Functions - //- Write surface mesh to file + //- Write surface mesh to file (by proxy) virtual void write ( const fileName& name, IOstreamOption streamOpt = IOstreamOption(), const dictionary& options = dictionary::null - ) const + ) const override + { + write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); + } + + //- Write surface mesh to file (by proxy) + virtual void write + ( + const fileName& name, + const word& fileType, /* ignored */ + IOstreamOption streamOpt = IOstreamOption(), + const dictionary& options = dictionary::null + ) const override { write(name, MeshedSurfaceProxy<Face>(*this), streamOpt, options); } diff --git a/src/surfMesh/writers/common/surfaceWriter.H b/src/surfMesh/writers/common/surfaceWriter.H index 668833091e8..d67c7b3f4f4 100644 --- a/src/surfMesh/writers/common/surfaceWriter.H +++ b/src/surfMesh/writers/common/surfaceWriter.H @@ -237,7 +237,7 @@ protected: const tmp<Field<Type>>& tfield ) const; -#undef declareSurfaceFieldMethod +#undef declareSurfaceFieldMethods #define declareSurfaceFieldMethods(Type) \ \ tmp<Field<Type>> mergeField(const Field<Type>& fld) const; \ -- GitLab From 883196981d6aa560f9b04377c0eb37ac70a19f5e Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 2 May 2024 15:47:53 +0200 Subject: [PATCH 156/231] ENH: add offset support to stringOps::split functions - for example, string buffer = ...; SubStrings<string> split; { auto colon = buffer.find(':'); if (colon != std::string::npos) { split = stringOps::splitSpace(buffer, colon+1); } } Not really possible with a substr() since that would create a new temporary which then disappears. Similarly awkward to split and then scan for the ':' to decide how many to discard. ENH: add pop_front() and pop_back() methods to SubStrings - the content is trivial enough (a pair of iterators) and the total number of elements is usually reasonable short so that removal of elements is inexpensive For example, string buffer = ...; auto split = stringOps::splitSpace(buffer); if (!split.empty() && split[0].str() == "face") { split.pop_front(); } --- applications/test/cstring/Test-cstring.cxx | 2 +- .../Test-fileHandler-ranks1.C | 2 +- applications/test/string/Test-string.C | 2 +- .../test/stringSplit/Test-stringSplit.C | 39 ++++-- .../fileOperation/fileOperationRanks.C | 2 +- .../ranges/scalarRange/scalarRanges.C | 2 +- .../primitives/strings/lists/SubStrings.H | 42 +++++- .../primitives/strings/stringOps/stringOps.H | 41 ++++-- .../strings/stringOps/stringOpsTemplates.C | 123 +++++++++++------- .../edgeMesh/edgeFormats/obj/OBJedgeFormat.C | 2 +- .../surfaceFormats/nas/NASsurfaceFormat.C | 3 +- .../surfaceFormats/obj/OBJsurfaceFormat.C | 2 +- 12 files changed, 176 insertions(+), 86 deletions(-) diff --git a/applications/test/cstring/Test-cstring.cxx b/applications/test/cstring/Test-cstring.cxx index 002300e0094..0adbb54d30d 100644 --- a/applications/test/cstring/Test-cstring.cxx +++ b/applications/test/cstring/Test-cstring.cxx @@ -123,7 +123,7 @@ int main(int argc, char *argv[]) ); Info<< testInput << nl; - SubStrings<string> args = stringOps::splitSpace(testInput); + auto args = stringOps::splitSpace(testInput); Info<< "split into " << args.size() << " args" << nl; CStringList inC(args); diff --git a/applications/test/fileHandler-ranks1/Test-fileHandler-ranks1.C b/applications/test/fileHandler-ranks1/Test-fileHandler-ranks1.C index 253553e7d6a..2d038b580b3 100644 --- a/applications/test/fileHandler-ranks1/Test-fileHandler-ranks1.C +++ b/applications/test/fileHandler-ranks1/Test-fileHandler-ranks1.C @@ -47,7 +47,7 @@ using namespace Foam; template<class PrimitiveType> static List<PrimitiveType> splitStringToList(const std::string& str) { - const SubStrings<std::string> items = stringOps::splitAny(str, " ,;"); + const auto items = stringOps::splitAny(str, " ,;"); DynamicList<PrimitiveType> values(items.size()); diff --git a/applications/test/string/Test-string.C b/applications/test/string/Test-string.C index 587eb2e3149..72cd2ab1780 100644 --- a/applications/test/string/Test-string.C +++ b/applications/test/string/Test-string.C @@ -148,7 +148,7 @@ int main(int argc, char *argv[]) Info<< "input: " << input << nl << "expand: " << output << nl - << "split: " << stringOps::split(output, "/") << nl << nl; + << "split: " << stringOps::split(output, '/') << nl << nl; } } diff --git a/applications/test/stringSplit/Test-stringSplit.C b/applications/test/stringSplit/Test-stringSplit.C index 2dc4e6ab98e..bc12f4b1660 100644 --- a/applications/test/stringSplit/Test-stringSplit.C +++ b/applications/test/stringSplit/Test-stringSplit.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,6 +34,7 @@ Description #include "argList.H" #include "fileName.H" #include "stringOps.H" +#include "Switch.H" using namespace Foam; @@ -65,6 +66,9 @@ int main(int argc, char *argv[]) { argList::noBanner(); argList::noParallel(); + argList::noMandatoryArgs(); + argList::addArgument("string .. stringN"); + argList::addOption ( "any", @@ -89,6 +93,12 @@ int main(int argc, char *argv[]) "int", "test split on fixed width" ); + argList::addOption + ( + "begin", + "int", + "begin offset for splits" + ); argList::addBoolOption ( "slash", @@ -104,18 +114,25 @@ int main(int argc, char *argv[]) "empty", "preserve empty strings in split" ); - argList args(argc, argv, false, true); + + argList args(argc, argv); if (args.size() <= 1 && args.options().empty()) { args.printUsage(); } + const label beginOffset = args.getOrDefault<label>("begin", 0); + const bool keepEmpty = args.found("empty"); + Info<< "begin offset: " << beginOffset << nl; + Info<< "keep empty : " << Switch::name(keepEmpty) << nl; + const label nopts = args.count({"any", "slash", "space", "sub", "fixed", "char"}); + if (args.found("any")) { const std::string& str = args["any"]; @@ -125,7 +142,7 @@ int main(int argc, char *argv[]) for (label argi=1; argi < args.size(); ++argi) { - const auto split = stringOps::splitAny(args[argi], str); + auto split = stringOps::splitAny(args[argi], str, beginOffset); printSubStrings(args[argi], split); } @@ -144,7 +161,7 @@ int main(int argc, char *argv[]) for (label argi=1; argi < args.size(); ++argi) { - const auto split = stringOps::split(args[argi], str); + auto split = stringOps::split(args[argi], str, beginOffset); printSubStrings(args[argi], split); } @@ -161,7 +178,11 @@ int main(int argc, char *argv[]) for (label argi=1; argi < args.size(); ++argi) { - const auto split = stringOps::splitSpace(args[argi]); + auto split = stringOps::splitSpace(args[argi], beginOffset); + printSubStrings(args[argi], split); + + Info<< "pop_front(2)" << nl; + split.pop_front(2); printSubStrings(args[argi], split); } @@ -180,7 +201,8 @@ int main(int argc, char *argv[]) for (label argi=1; argi < args.size(); ++argi) { - const auto split = stringOps::split(args[argi], delim, keepEmpty); + auto split = + stringOps::split(args[argi], delim, beginOffset, keepEmpty); printSubStrings(args[argi], split); } @@ -199,7 +221,7 @@ int main(int argc, char *argv[]) for (label argi=1; argi < args.size(); ++argi) { - const auto split = stringOps::splitFixed(args[argi], width); + auto split = stringOps::splitFixed(args[argi], width, beginOffset); printSubStrings(args[argi], split); } @@ -219,7 +241,8 @@ int main(int argc, char *argv[]) for (label argi=1; argi < args.size(); ++argi) { - const auto split = stringOps::split(args[argi], delim, keepEmpty); + auto split = + stringOps::split(args[argi], delim, beginOffset, keepEmpty); printSubStrings(args[argi], split); } } diff --git a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperationRanks.C b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperationRanks.C index c500571412a..cfedf531306 100644 --- a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperationRanks.C +++ b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperationRanks.C @@ -42,7 +42,7 @@ namespace Foam template<class PrimitiveType> static List<PrimitiveType> splitStringToList(const std::string& str) { - const SubStrings<std::string> items = stringOps::splitAny(str, " ,;"); + const auto items = stringOps::splitAny(str, " ,;"); DynamicList<PrimitiveType> values(items.size()); diff --git a/src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C index f94f724742a..74c3ce205ed 100644 --- a/src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C +++ b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C @@ -36,7 +36,7 @@ Foam::scalarRanges Foam::scalarRanges::parse bool report ) { - const SubStrings<std::string> items = stringOps::splitAny(str, " ,;"); + const auto items = stringOps::splitAny(str, " ,;"); scalarRanges ranges(items.size()); diff --git a/src/OpenFOAM/primitives/strings/lists/SubStrings.H b/src/OpenFOAM/primitives/strings/lists/SubStrings.H index 4892d7976ca..373bebb6d4e 100644 --- a/src/OpenFOAM/primitives/strings/lists/SubStrings.H +++ b/src/OpenFOAM/primitives/strings/lists/SubStrings.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -66,12 +66,6 @@ public: typename StringType::const_iterator; - // Constructors - - //- Default construct - SubStrings() = default; - - // Member Functions //- The total string length of all sub-elements. @@ -109,6 +103,40 @@ public: this->push_back(range); } + + //- Reduce size by 1 or more elements. Can be called on an empty list. + void pop_back(size_t n = 1) + { + if (n >= this->size()) + { + this->clear(); + } + else if (n > 0) + { + this->resize(this->size() - n); + } + } + + //- Reduce size by 1 or more elements (from the front). + //- Can be called on an empty list. + void pop_front(size_t n = 1) + { + if (n >= this->size()) + { + this->clear(); + } + else if (n > 0) + { + // Overlapping range, avoid std::copy, std::move + for (size_t src = n, dst = 0; src < this->size(); ++src, ++dst) + { + (*this)[dst] = (*this)[src]; + } + this->resize(this->size() - n); + } + } + + // FUTURE? // #if __cplusplus >= 201703L // std::string_view view(size_t pos) const diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOps.H b/src/OpenFOAM/primitives/strings/stringOps/stringOps.H index 8f8a7a110cf..1bc9de47580 100644 --- a/src/OpenFOAM/primitives/strings/stringOps/stringOps.H +++ b/src/OpenFOAM/primitives/strings/stringOps/stringOps.H @@ -372,8 +372,13 @@ namespace stringOps template<class StringType> Foam::SubStrings<StringType> split ( + //! The string to split const StringType& str, + //! The delimiter for splitting. Ill-defined if NUL character const char delim, + //! Offset within string to start splitting + std::string::size_type pos = 0, + //! Retain empty fields const bool keepEmpty = false ); @@ -382,8 +387,13 @@ namespace stringOps template<class StringType> Foam::SubStrings<StringType> split ( + //! The string to split const StringType& str, + //! The delimiters for splitting. Ill-defined if empty const std::string& delim, + //! Offset within string to start splitting + std::string::size_type pos = 0, + //! Retain empty fields const bool keepEmpty = false ); @@ -393,22 +403,25 @@ namespace stringOps template<class StringType> Foam::SubStrings<StringType> splitAny ( + //! The string to split const StringType& str, - const std::string& delim + //! The delimiters for splitting. Ill-defined if empty! + const std::string& delim, + //! Offset within string to start splitting + std::string::size_type pos = 0 ); //- Split string into sub-strings using a fixed field width. // Behaviour is ill-defined if width is zero. - // \param str the string to be split - // \param width the fixed field width for each sub-string - // \param start the optional offset of where to start the splitting. - // Any text prior to start is ignored in the operation. template<class StringType> Foam::SubStrings<StringType> splitFixed ( + //! The string to split const StringType& str, + //! Fixed field width for each sub-string const std::string::size_type width, - const std::string::size_type start = 0 + //! Offset within string to start splitting + std::string::size_type pos = 0 ); //- Split string into sub-strings at whitespace (TAB, NL, VT, FF, CR, SPC) @@ -416,23 +429,25 @@ namespace stringOps template<class StringType> Foam::SubStrings<StringType> splitSpace ( - const StringType& str + //! The string to split + const StringType& str, + //! Offset within string to start splitting + std::string::size_type pos = 0 ); //- Output string with text wrapping. // Always includes a trailing newline, unless the string itself is empty. - // - // \param os the output stream - // \param str the text to be output - // \param width the max-width before wrapping - // \param indent indentation for continued lines - // \param escape escape any backslashes on output void writeWrapped ( + //! The output stream OSstream& os, + //! The text to be output const std::string& str, + //! The max-width before wrapping const std::string::size_type width, + //! Indentation for continued lines const std::string::size_type indent = 0, + //! Escape any backslashes on output const bool escape = false ); diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C b/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C index 19d06d01366..29b230497fe 100644 --- a/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C +++ b/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -98,34 +98,40 @@ Foam::SubStrings<StringType> Foam::stringOps::split ( const StringType& str, const char delim, + std::string::size_type pos, const bool keepEmpty ) { - Foam::SubStrings<StringType> lst; - if (str.empty() || !delim) + Foam::SubStrings<StringType> list; + + if + ( + !delim + || (pos == std::string::npos || pos >= str.size()) + ) { - return lst; + return list; } - lst.reserve(20); + list.reserve(20); - std::string::size_type beg = 0, end = 0; - while ((end = str.find(delim, beg)) != std::string::npos) + std::string::size_type end; + while ((end = str.find(delim, pos)) != std::string::npos) { - if (keepEmpty || (beg < end)) + if (keepEmpty || (pos < end)) { - lst.append(str.cbegin() + beg, str.cbegin() + end); + list.append(str.cbegin() + pos, str.cbegin() + end); } - beg = end + 1; + pos = end + 1; } // Trailing element - if (keepEmpty ? (beg <= str.size()) : (beg < str.size())) + if (keepEmpty ? (pos <= str.size()) : (pos < str.size())) { - lst.append(str.cbegin() + beg, str.cend()); + list.append(str.cbegin() + pos, str.cend()); } - return lst; + return list; } @@ -134,34 +140,40 @@ Foam::SubStrings<StringType> Foam::stringOps::split ( const StringType& str, const std::string& delim, + std::string::size_type pos, const bool keepEmpty ) { - Foam::SubStrings<StringType> lst; - if (str.empty() || delim.empty()) + Foam::SubStrings<StringType> list; + + if + ( + delim.empty() + || (pos == std::string::npos || pos >= str.size()) + ) { - return lst; + return list; } - lst.reserve(20); + list.reserve(20); - std::string::size_type beg = 0, end = 0; - while ((end = str.find(delim, beg)) != std::string::npos) + std::string::size_type end; + while ((end = str.find(delim, pos)) != std::string::npos) { - if (keepEmpty || (beg < end)) + if (keepEmpty || (pos < end)) { - lst.append(str.cbegin() + beg, str.cbegin() + end); + list.append(str.cbegin() + pos, str.cbegin() + end); } - beg = end + delim.size(); + pos = end + delim.size(); } // Trailing element - if (keepEmpty ? (beg <= str.size()) : (beg < str.size())) + if (keepEmpty ? (pos <= str.size()) : (pos < str.size())) { - lst.append(str.cbegin() + beg, str.cend()); + list.append(str.cbegin() + pos, str.cend()); } - return lst; + return list; } @@ -169,40 +181,41 @@ template<class StringType> Foam::SubStrings<StringType> Foam::stringOps::splitAny ( const StringType& str, - const std::string& delim + const std::string& delim, + std::string::size_type pos ) { - Foam::SubStrings<StringType> lst; - if (str.empty() || delim.empty()) + Foam::SubStrings<StringType> list; + + if + ( + delim.empty() + || (pos == std::string::npos || pos >= str.size()) + ) { - return lst; + return list; } - lst.reserve(20); + list.reserve(20); - for - ( - std::string::size_type pos = 0; - (pos = str.find_first_not_of(delim, pos)) != std::string::npos; - /*nil*/ - ) + while ((pos = str.find_first_not_of(delim, pos)) != std::string::npos) { const auto end = str.find_first_of(delim, pos); if (end == std::string::npos) { // Trailing element - lst.append(str.cbegin() + pos, str.cend()); + list.append(str.cbegin() + pos, str.cend()); break; } // Intermediate element - lst.append(str.cbegin() + pos, str.cbegin() + end); + list.append(str.cbegin() + pos, str.cbegin() + end); pos = end + 1; } - return lst; + return list; } @@ -211,43 +224,53 @@ Foam::SubStrings<StringType> Foam::stringOps::splitFixed ( const StringType& str, const std::string::size_type width, - const std::string::size_type start + std::string::size_type pos ) { - Foam::SubStrings<StringType> lst; - if (str.empty() || !width) + Foam::SubStrings<StringType> list; + + if + ( + !width + || (pos == std::string::npos || pos >= str.size()) + ) { - return lst; + return list; } + list.reserve(1 + ((str.size() - pos) / width)); + const auto len = str.size(); - lst.reserve(1 + (len / width)); - for (std::string::size_type pos = start; pos < len; pos += width) + while (pos < len) { const auto end = (pos + width); if (end >= len) { // Trailing element - lst.append(str.cbegin() + pos, str.cend()); + list.append(str.cbegin() + pos, str.cend()); break; } - lst.append(str.cbegin() + pos, str.cbegin() + end); + // Intermediate element + list.append(str.cbegin() + pos, str.cbegin() + end); + + pos += width; } - return lst; + return list; } template<class StringType> Foam::SubStrings<StringType> Foam::stringOps::splitSpace ( - const StringType& str + const StringType& str, + std::string::size_type pos ) { - return splitAny(str, "\t\n\v\f\r "); + return splitAny(str, "\t\n\v\f\r ", pos); } diff --git a/src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.C b/src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.C index c349c566cba..0c771c74e5e 100644 --- a/src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.C +++ b/src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.C @@ -120,7 +120,7 @@ bool Foam::fileFormats::OBJedgeFormat::read(const fileName& filename) line += this->getLineNoComment(is); } - const SubStrings<string> tokens = stringOps::splitSpace(line); + const auto tokens = stringOps::splitSpace(line); // Require command and some arguments if (tokens.size() < 2) diff --git a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C index 816433deccb..a836708018c 100644 --- a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C +++ b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C @@ -193,7 +193,8 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read if (line.starts_with("$ANSA_NAME")) { // Keep empty elements when splitting - const auto args = stringOps::split<std::string>(line, ';', true); + const auto args = + stringOps::split<std::string>(line, ';', 0, true); if (args.size() > 4 && line.starts_with("$ANSA_NAME_COMMENT")) { diff --git a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C index d471bd66aed..4fd5c08a5f1 100644 --- a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C +++ b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C @@ -91,7 +91,7 @@ bool Foam::fileFormats::OBJsurfaceFormat<Face>::read line += this->getLineNoComment(is); } - const SubStrings<string> tokens = stringOps::splitSpace(line); + const auto tokens = stringOps::splitSpace(line); // Require command and some arguments if (tokens.size() < 2) -- GitLab From dbfd1f90b13d739c79f4adffb246efb79a0d981c Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 6 May 2024 16:05:27 +0200 Subject: [PATCH 157/231] ENH: add single-time handling to timeSelector - the timeSelector is often used to select single or multiple times (eg, for post-processing). However, there are a few applications where only a *single* time should be selected and set. These are now covered by this type of use: timeSelector::addOptions_singleTime(); // Single-time options ... // Allow override of time from specified time options, or no-op timeSelector::setTimeIfPresent(runTime, args); In some cases, if can be desirable to force starting from the initial Time=0 when no time options have been specified: // Set time from specified time options, or force start from Time=0 timeSelector::setTimeIfPresent(runTime, args, true); These changes make a number of includes redundant: * addTimeOptions.H * checkConstantOption.H * checkTimeOption.H * checkTimeOptions.H * checkTimeOptionsNoConstant.H ENH: add time handling to setFields, setAlphaField (#3143) Co-authored-by: Johan Roenby <> STYLE: replace instant("constant") with instant(0, "constant") - avoids relying on atof parse behaviour returning zero --- applications/test/IOField/Test-IOField.cxx | 3 - .../test/PatchTools/Test-PatchTools.C | 1 - .../Test-checkDecomposePar.C | 24 ++-- .../extendedStencil/Test-ExtendedStencil.C | 11 +- .../extendedStencil/Test-ExtendedStencil2.C | 13 ++- applications/test/fieldMapping/Make/options | 1 + .../test/fieldMapping/Test-fieldMapping.C | 24 +++- applications/test/hexRef8/Make/options | 1 + applications/test/hexRef8/Test-hexRef8.C | 24 ++-- .../test/mappedPatch/Test-MappedPatch.C | 1 - .../mesh/conversion/ccm/foamToCcm/foamToCcm.C | 2 +- .../mesh/conversion/gmshToFoam/gmshToFoam.C | 2 +- .../manipulation/renumberMesh/renumberMesh.C | 27 +++-- .../manipulation/setsToZones/setsToZones.C | 8 +- .../mesh/manipulation/topoSet/topoSet.C | 4 +- .../foamToTetDualMesh/foamToTetDualMesh.C | 15 ++- .../lumpedPointMovement/lumpedPointMovement.C | 2 +- .../lumpedPointZones/lumpedPointZones.C | 2 +- .../setAlphaField/setAlphaField.C | 12 +- .../preProcessing/setFields/setFields.C | 14 ++- src/OpenFOAM/db/Time/timeSelector.C | 107 +++++++++++++++++- src/OpenFOAM/db/Time/timeSelector.H | 67 +++++++++-- src/OpenFOAM/include/addTimeOptions.H | 11 +- src/OpenFOAM/include/checkConstantOption.H | 5 + src/OpenFOAM/include/checkTimeOption.H | 18 +-- src/OpenFOAM/include/checkTimeOptions.H | 5 + .../include/checkTimeOptionsNoConstant.H | 5 + .../bridge/code/polynomial-motion.C | 2 +- .../building/code/building-motion.C | 2 +- 29 files changed, 317 insertions(+), 96 deletions(-) diff --git a/applications/test/IOField/Test-IOField.cxx b/applications/test/IOField/Test-IOField.cxx index d9bfc1e0772..d294c5ec9d4 100644 --- a/applications/test/IOField/Test-IOField.cxx +++ b/applications/test/IOField/Test-IOField.cxx @@ -188,8 +188,6 @@ int main(int argc, char *argv[]) argList::addBoolOption("label", "Use label for tests (default)"); argList::addBoolOption("ref", "Test writing by ref"); - #include "addTimeOptions.H" - #include "setRootCase.H" #include "createTime.H" #include "createPolyMesh.H" @@ -280,7 +278,6 @@ int main(int argc, char *argv[]) { IOFieldRef<vector>(ioOutput, mesh.points()).write(); } - } diff --git a/applications/test/PatchTools/Test-PatchTools.C b/applications/test/PatchTools/Test-PatchTools.C index 6adfedd36de..f63cfeffcd3 100644 --- a/applications/test/PatchTools/Test-PatchTools.C +++ b/applications/test/PatchTools/Test-PatchTools.C @@ -201,7 +201,6 @@ using namespace Foam; int main(int argc, char *argv[]) { - #include "addTimeOptions.H" argList::addArgument("patch"); #include "setRootCase.H" #include "createTime.H" diff --git a/applications/test/checkDecomposePar/Test-checkDecomposePar.C b/applications/test/checkDecomposePar/Test-checkDecomposePar.C index 903a22b0d42..6a15fdcc083 100644 --- a/applications/test/checkDecomposePar/Test-checkDecomposePar.C +++ b/applications/test/checkDecomposePar/Test-checkDecomposePar.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -24,7 +24,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Application - checkDecomposePar + Test-checkDecomposePar Group grpParallelUtilities @@ -35,8 +35,9 @@ Description \*---------------------------------------------------------------------------*/ -#include "OSspecific.H" -#include "fvCFD.H" +#include "argList.H" +#include "timeSelector.H" +#include "polyMesh.H" #include "cpuTime.H" #include "IFstream.H" #include "regionProperties.H" @@ -44,10 +45,14 @@ Description #include "decompositionInformation.H" #include "decompositionModel.H" +using namespace Foam; + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) { + timeSelector::addOptions_singleTime(); // Single-time options + argList::addNote ( "Check decomposition from kaffpa (KaHIP) output" @@ -65,9 +70,6 @@ int main(int argc, char *argv[]) argList::addArgument("kaffpa-output-file"); - // Include explicit constant options, have zero from time range - timeSelector::addOptions(true, false); - #include "setRootCase.H" const auto decompFile = args.get<fileName>(1); @@ -75,8 +77,8 @@ int main(int argc, char *argv[]) // Set time from database #include "createTime.H" - // Allow override of time - instantList times = timeSelector::selectIfPresent(runTime, args); + // Allow override of time from specified time options, or no-op + timeSelector::setTimeIfPresent(runTime, args); // Allow override of decomposeParDict location const fileName decompDictFile = @@ -95,7 +97,7 @@ int main(int argc, char *argv[]) Info<< "\n\nDecomposing mesh " << regionName << nl << endl; Info<< "Create mesh..." << flush; - fvMesh mesh + polyMesh mesh ( IOobject ( @@ -111,7 +113,7 @@ int main(int argc, char *argv[]) Info<< " nCells = " << mesh.nCells() << endl; // Expected format is a simple ASCII list - cellToProc.setSize(mesh.nCells()); + cellToProc.resize(mesh.nCells()); { IFstream is(decompFile); diff --git a/applications/test/extendedStencil/Test-ExtendedStencil.C b/applications/test/extendedStencil/Test-ExtendedStencil.C index 6c76abfc368..e876f079f16 100644 --- a/applications/test/extendedStencil/Test-ExtendedStencil.C +++ b/applications/test/extendedStencil/Test-ExtendedStencil.C @@ -32,6 +32,7 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "timeSelector.H" #include "fvMesh.H" #include "volFields.H" #include "Time.H" @@ -126,14 +127,14 @@ void writeStencilStats(const labelListList& stencil) int main(int argc, char *argv[]) { - #include "addTimeOptions.H" + timeSelector::addOptions_singleTime(); // Single-time options + #include "setRootCase.H" #include "createTime.H" - // Get times list - instantList Times = runTime.times(); - #include "checkTimeOptions.H" - runTime.setTime(Times[startTime], startTime); + // Set time from specified time options, or force start from Time=0 + timeSelector::setTimeIfPresent(runTime, args, true); + #include "createMesh.H" // Force calculation of extended edge addressing diff --git a/applications/test/extendedStencil/Test-ExtendedStencil2.C b/applications/test/extendedStencil/Test-ExtendedStencil2.C index 3560a1d8841..988caba7708 100644 --- a/applications/test/extendedStencil/Test-ExtendedStencil2.C +++ b/applications/test/extendedStencil/Test-ExtendedStencil2.C @@ -32,6 +32,7 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "timeSelector.H" #include "fvMesh.H" #include "volFields.H" #include "surfaceFields.H" @@ -107,14 +108,16 @@ void writeStencilStats(const labelListList& stencil) int main(int argc, char *argv[]) { - #include "addTimeOptions.H" + argList::noFunctionObjects(); // Never use function objects + + timeSelector::addOptions_singleTime(); // Single-time options + #include "setRootCase.H" #include "createTime.H" - // Get times list - instantList Times = runTime.times(); - #include "checkTimeOptions.H" - runTime.setTime(Times[startTime], startTime); + // Set time from specified time options, or force start from Time=0 + timeSelector::setTimeIfPresent(runTime, args, true); + #include "createMesh.H" diff --git a/applications/test/fieldMapping/Make/options b/applications/test/fieldMapping/Make/options index d840aaca0ba..8fee919326d 100644 --- a/applications/test/fieldMapping/Make/options +++ b/applications/test/fieldMapping/Make/options @@ -5,4 +5,5 @@ EXE_INC = \ EXE_LIBS = \ -lfiniteVolume \ + -lmeshTools \ -ldynamicMesh diff --git a/applications/test/fieldMapping/Test-fieldMapping.C b/applications/test/fieldMapping/Test-fieldMapping.C index 1e2cec44670..bb4ad0576bd 100644 --- a/applications/test/fieldMapping/Test-fieldMapping.C +++ b/applications/test/fieldMapping/Test-fieldMapping.C @@ -32,6 +32,7 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "timeSelector.H" #include "fvMesh.H" #include "volFields.H" #include "Time.H" @@ -51,22 +52,33 @@ using namespace Foam; int main(int argc, char *argv[]) { - #include "addTimeOptions.H" - argList::addArgument("inflate (true|false)"); + timeSelector::addOptions_singleTime(); // Single-time options + + argList::addBoolOption + ( + "inflate", + "Use inflation/deflation for deleting cells" + ); + #include "setRootCase.H" #include "createTime.H" + + // Allow override of time from specified time options, or no-op + timeSelector::setTimeIfPresent(runTime, args); + #include "createMesh.H" - const Switch inflate(args[1]); + const bool inflate = args.found("inflate"); if (inflate) { - Info<< "Deleting cells using inflation/deflation" << nl << endl; + Info<< "Deleting cells using inflation/deflation" + << nl << endl; } else { - Info<< "Deleting cells, introducing points at new position" << nl - << endl; + Info<< "Deleting cells, introducing points at new position" + << nl << endl; } diff --git a/applications/test/hexRef8/Make/options b/applications/test/hexRef8/Make/options index d840aaca0ba..8fee919326d 100644 --- a/applications/test/hexRef8/Make/options +++ b/applications/test/hexRef8/Make/options @@ -5,4 +5,5 @@ EXE_INC = \ EXE_LIBS = \ -lfiniteVolume \ + -lmeshTools \ -ldynamicMesh diff --git a/applications/test/hexRef8/Test-hexRef8.C b/applications/test/hexRef8/Test-hexRef8.C index dd34e6608db..12c6d5e38e4 100644 --- a/applications/test/hexRef8/Test-hexRef8.C +++ b/applications/test/hexRef8/Test-hexRef8.C @@ -33,6 +33,7 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "timeSelector.H" #include "Time.H" #include "volFields.H" #include "surfaceFields.H" @@ -52,21 +53,28 @@ using namespace Foam; // Main program: int main(int argc, char *argv[]) { - #include "addTimeOptions.H" - argList::addArgument("inflate (true|false)"); + timeSelector::addOptions_singleTime(); // Single-time options + + argList::addBoolOption + ( + "inflate", + "Use inflation/deflation for splitting/deleting cells" + ); + #include "setRootCase.H" #include "createTime.H" - #include "createMesh.H" + // Allow override of time from specified time options, or no-op + timeSelector::setTimeIfPresent(runTime, args); - const pointConstraints& pc = pointConstraints::New(pointMesh::New(mesh)); + #include "createMesh.H" - const Switch inflate(args[1]); + const bool inflate = args.found("inflate"); if (inflate) { - Info<< "Splitting/deleting cells using inflation/deflation" << nl - << endl; + Info<< "Splitting/deleting cells using inflation/deflation" + << nl << endl; } else { @@ -75,6 +83,8 @@ int main(int argc, char *argv[]) } + const pointConstraints& pc = pointConstraints::New(pointMesh::New(mesh)); + Random rndGen(0); diff --git a/applications/test/mappedPatch/Test-MappedPatch.C b/applications/test/mappedPatch/Test-MappedPatch.C index c54fb264264..d62445ea243 100644 --- a/applications/test/mappedPatch/Test-MappedPatch.C +++ b/applications/test/mappedPatch/Test-MappedPatch.C @@ -51,7 +51,6 @@ using namespace Foam; int main(int argc, char *argv[]) { - #include "addTimeOptions.H" #include "setRootCase.H" #include "createTime.H" #include "createMesh.H" diff --git a/applications/utilities/mesh/conversion/ccm/foamToCcm/foamToCcm.C b/applications/utilities/mesh/conversion/ccm/foamToCcm/foamToCcm.C index 88dd59676d4..2cb76091385 100644 --- a/applications/utilities/mesh/conversion/ccm/foamToCcm/foamToCcm.C +++ b/applications/utilities/mesh/conversion/ccm/foamToCcm/foamToCcm.C @@ -157,7 +157,7 @@ int main(int argc, char *argv[]) // // skip over time=0, unless some other time option has been specified // if // ( -// !args.found("zeroTime") +// !args.found("noZero") // && !args.found("time") // && !args.found("latestTime") // && Times.size() > 2 diff --git a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C index 7ebeeca51d8..8e95e454a99 100644 --- a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C +++ b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C @@ -1569,7 +1569,7 @@ int main(int argc, char *argv[]) //Get polyMesh to write to constant - runTime.setTime(instant(runTime.constant()), 0); + runTime.setTime(instant(0, runTime.constant()), 0); repatcher.repatch(); diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C index 3702cfe8ce8..9a3eb426477 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C @@ -803,6 +803,10 @@ CompactListList<label> regionRenumber int main(int argc, char *argv[]) { + argList::noFunctionObjects(); // Never use function objects + + timeSelector::addOptions_singleTime(); // Single-time options + argList::addNote ( "Renumber mesh cells to reduce the bandwidth. Use the -lib option or" @@ -863,11 +867,8 @@ int main(int argc, char *argv[]) "eg, 'reverse true;'" ); - argList::noFunctionObjects(); // Never use function objects - #include "addAllRegionOptions.H" #include "addOverwriteOption.H" - #include "addTimeOptions.H" // ------------------------- @@ -926,14 +927,15 @@ int main(int argc, char *argv[]) // Get region names #include "getAllRegionOptions.H" - // Get times list - instantList Times = runTime.times(); - - // Set startTime depending on -time and -latestTime options - #include "checkTimeOptions.H" - - runTime.setTime(Times[startTime], startTime); + // Set time from specified time options, or force start from Time=0 + timeSelector::setTimeIfPresent(runTime, args, true); + // Capture current time information for non-overwrite + const Tuple2<instant, label> startTime + ( + instant(runTime.value(), runTime.timeName()), + runTime.timeIndex() + ); // Start/reset all timings timer.resetTime(); @@ -947,7 +949,10 @@ int main(int argc, char *argv[]) for (fvMesh& mesh : meshes) { // Reset time in case of multiple meshes and not overwrite - runTime.setTime(Times[startTime], startTime); + if (!overwrite) + { + runTime.setTime(startTime.first(), startTime.second()); + } const word oldInstance = mesh.pointsInstance(); diff --git a/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C b/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C index f15e24dc09b..4c5c61e79ce 100644 --- a/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C +++ b/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C @@ -62,12 +62,13 @@ using namespace Foam; int main(int argc, char *argv[]) { + timeSelector::addOptions_singleTime(); // Single-time options + argList::addNote ( "Add point/face/cell Zones from similarly named point/face/cell Sets" ); - timeSelector::addOptions(true, false); // constant(true), zero(false) argList::addBoolOption ( "noFlipMap", @@ -75,14 +76,13 @@ int main(int argc, char *argv[]) ); #include "addRegionOption.H" - #include "addTimeOptions.H" #include "setRootCase.H" #include "createTime.H" const bool noFlipMap = args.found("noFlipMap"); - // Get times list - (void)timeSelector::selectIfPresent(runTime, args); + // Allow override of time from specified time options, or no-op + timeSelector::setTimeIfPresent(runTime, args); #include "createNamedPolyMesh.H" diff --git a/applications/utilities/mesh/manipulation/topoSet/topoSet.C b/applications/utilities/mesh/manipulation/topoSet/topoSet.C index b6ef76dff0a..cb42574fffe 100644 --- a/applications/utilities/mesh/manipulation/topoSet/topoSet.C +++ b/applications/utilities/mesh/manipulation/topoSet/topoSet.C @@ -240,9 +240,9 @@ int main(int argc, char *argv[]) // Read set construct info from dictionary List<namedDictionary> actionEntries(topoSetDict.lookup("actions")); - forAll(timeDirs, timeI) + forAll(timeDirs, timei) { - runTime.setTime(timeDirs[timeI], timeI); + runTime.setTime(timeDirs[timei], timei); Info<< "Time = " << runTime.timeName() << endl; // Optionally re-read mesh diff --git a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C index 281f4d8aa1c..935b47a3dea 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C +++ b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,6 +36,7 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "timeSelector.H" #include "fvMesh.H" #include "volFields.H" #include "pointFields.H" @@ -145,20 +146,22 @@ void ReadAndMapFields int main(int argc, char *argv[]) { + argList::noFunctionObjects(); // Never use function objects + + timeSelector::addOptions_singleTime(); // Single-time options + argList::addNote ( "Convert polyMesh results to tetDualMesh" ); #include "addOverwriteOption.H" - #include "addTimeOptions.H" #include "setRootCase.H" #include "createTime.H" - // Get times list - instantList Times = runTime.times(); - #include "checkTimeOptions.H" - runTime.setTime(Times[startTime], startTime); + + // Set time from specified time options, or force start from Time=0 + timeSelector::setTimeIfPresent(runTime, args, true); // Read the mesh #include "createNamedMesh.H" diff --git a/applications/utilities/postProcessing/lumped/lumpedPointMovement/lumpedPointMovement.C b/applications/utilities/postProcessing/lumped/lumpedPointMovement/lumpedPointMovement.C index 659c02ccd4d..27078d8364b 100644 --- a/applications/utilities/postProcessing/lumped/lumpedPointMovement/lumpedPointMovement.C +++ b/applications/utilities/postProcessing/lumped/lumpedPointMovement/lumpedPointMovement.C @@ -353,7 +353,7 @@ int main(int argc, char *argv[]) #include "createTime.H" - runTime.setTime(instant(runTime.constant()), 0); + runTime.setTime(instant(0, runTime.constant()), 0); #include "createNamedMesh.H" diff --git a/applications/utilities/postProcessing/lumped/lumpedPointZones/lumpedPointZones.C b/applications/utilities/postProcessing/lumped/lumpedPointZones/lumpedPointZones.C index 09088046b31..28f2d836fd3 100644 --- a/applications/utilities/postProcessing/lumped/lumpedPointZones/lumpedPointZones.C +++ b/applications/utilities/postProcessing/lumped/lumpedPointZones/lumpedPointZones.C @@ -106,7 +106,7 @@ int main(int argc, char *argv[]) } - runTime.setTime(instant(runTime.constant()), 0); + runTime.setTime(instant(0, runTime.constant()), 0); #include "createNamedMesh.H" diff --git a/applications/utilities/preProcessing/setAlphaField/setAlphaField.C b/applications/utilities/preProcessing/setAlphaField/setAlphaField.C index 78f9b77e558..89e10cd4449 100644 --- a/applications/utilities/preProcessing/setAlphaField/setAlphaField.C +++ b/applications/utilities/preProcessing/setAlphaField/setAlphaField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 DHI - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. Copyright (C) 2017-2020 German Aerospace Center (DLR) Copyright (C) 2020 Johan Roenby ------------------------------------------------------------------------------- @@ -39,6 +39,7 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" +#include "timeSelector.H" #include "triSurface.H" #include "triSurfaceTools.H" @@ -139,6 +140,10 @@ void setAlpha int main(int argc, char *argv[]) { + argList::noFunctionObjects(); // Never use function objects + + timeSelector::addOptions_singleTime(); // Single-time options + argList::addNote ( "Uses cutCellIso to create a volume fraction field from an " @@ -151,9 +156,14 @@ int main(int argc, char *argv[]) "file", "Alternative setAlphaFieldDict dictionary" ); + #include "addRegionOption.H" #include "setRootCase.H" #include "createTime.H" + + // Set time from specified time options, or no-op + timeSelector::setTimeIfPresent(runTime, args); + #include "createNamedMesh.H" const word dictName("setAlphaFieldDict"); diff --git a/applications/utilities/preProcessing/setFields/setFields.C b/applications/utilities/preProcessing/setFields/setFields.C index d4312085a79..276b36c2f3d 100644 --- a/applications/utilities/preProcessing/setFields/setFields.C +++ b/applications/utilities/preProcessing/setFields/setFields.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,6 +36,7 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "timeSelector.H" #include "Time.H" #include "fvMesh.H" #include "faMesh.H" @@ -656,6 +657,10 @@ struct setAreaField int main(int argc, char *argv[]) { + argList::noFunctionObjects(); // Never use function objects + + timeSelector::addOptions_singleTime(); // Single-time options + argList::addNote ( "Set values on a selected set of cells/patch-faces via a dictionary" @@ -670,8 +675,15 @@ int main(int argc, char *argv[]) ); #include "addRegionOption.H" + + // ------------------------- + #include "setRootCase.H" #include "createTime.H" + + // Set time from specified time options, or no-op + timeSelector::setTimeIfPresent(runTime, args); + #include "createNamedMesh.H" autoPtr<faMesh> faMeshPtr; diff --git a/src/OpenFOAM/db/Time/timeSelector.C b/src/OpenFOAM/db/Time/timeSelector.C index 63046f7465d..4b93af376f9 100644 --- a/src/OpenFOAM/db/Time/timeSelector.C +++ b/src/OpenFOAM/db/Time/timeSelector.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -115,7 +115,7 @@ void Foam::timeSelector::addOptions argList::addBoolOption ( "constant", - "Include the 'constant/' dir in the times list" + "Include 'constant/' dir in the times list" ); } if (withZero) @@ -123,13 +123,13 @@ void Foam::timeSelector::addOptions argList::addBoolOption ( "withZero", - "Include the '0/' dir in the times list" + "Include '0/' dir in the times list" ); } argList::addBoolOption ( "noZero", - string("Exclude the '0/' dir from the times list") + string("Exclude '0/' dir from the times list") + ( withZero ? ", has precedence over the -withZero option" @@ -150,6 +150,32 @@ void Foam::timeSelector::addOptions } +void Foam::timeSelector::addOptions_singleTime() +{ + argList::addBoolOption + ( + "constant", + "Include 'constant/' dir in the times" + ); + argList::addBoolOption + ( + "noZero", + "Exclude '0/' dir from the times (currently ignored)" + ); + argList::addBoolOption + ( + "latestTime", + "Select the latest time" + ); + argList::addOption + ( + "time", + "value", + "Select the nearest time to the specified value" + ); +} + + Foam::instantList Foam::timeSelector::select ( const instantList& times, @@ -291,4 +317,77 @@ Foam::instantList Foam::timeSelector::selectIfPresent } +bool Foam::timeSelector::setTimeIfPresent +( + Time& runTime, + const argList& args, + const bool forceInitial +) +{ + label timei = -1; + instantList times; + + if + ( + forceInitial + || args.found("constant") + || args.found("latestTime") + || args.found("time") + // Currently ignoring -noZero, -withZero + ) + { + // Get times list + times = runTime.times(); + } + + if (times.size()) + { + // Start from first time (eg, for -constant or forced) + timei = 0; + + // Determine latestTime selection (if any) + // This must appear before the -time option processing + if (args.found("latestTime")) + { + timei = times.size() - 1; + } + else if (args.found("time")) + { + const scalar target = args.get<scalar>("time"); + + timei = TimePaths::findClosestTimeIndex(times, target); + } + + + // Avoid "constant" unless specifically requested with -constant, + // and the -constant option is actually an expected option + + if + ( + (timei >= 0 && timei < times.size()-1) + && times[timei].name() == "constant" + && (argList::validOptions.found("constant") && !args.found("constant")) + ) + { + ++timei; + } + } + + + if (timei >= 0 && timei < times.size()) + { + // Specified a timeSelector option, or forceInitial. + // Set the runTime accordingly. + + runTime.setTime(times[timei], timei); + return true; + } + else + { + // No timeSelector option specified. Do not change runTime. + return false; + } +} + + // ************************************************************************* // diff --git a/src/OpenFOAM/db/Time/timeSelector.H b/src/OpenFOAM/db/Time/timeSelector.H index 0ea84d6403a..9a36bcbc240 100644 --- a/src/OpenFOAM/db/Time/timeSelector.H +++ b/src/OpenFOAM/db/Time/timeSelector.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,14 +28,13 @@ Class Foam::timeSelector Description - A List of scalarRange for selecting times. - The timeSelector provides a convenient means of selecting multiple - times. A typical use would be the following: + times. + A typical use would be the following: \verbatim timeSelector::addOptions(); - // add other options + ... #include "setRootCase.H" #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); @@ -46,11 +45,11 @@ Description } \endverbatim - The result program would receive \b -time, \b -latestTime, \b -constant - and \b -noZero options. The \b -constant option explicitly includes the + With the \c addOptions() method, application receives + \b -time, \b -latestTime, \b -constant and \b -noZero options. + The \b -constant option explicitly includes the \c constant/ directory in the time list and the \b -noZero option explicitly excludes the \c 0/ directory from the time list. - There may however also be many cases in which neither the \c constant/ directory nor the \c 0/ directory contain particularly relevant information. This might occur, for example, when post-processing @@ -66,6 +65,25 @@ Description \c 0/ directory from being included in the default time range and in the \b -latestTime selection. + It is also possible to use the timeSelector for setting a single time. + Typical use would be the following: + + \verbatim + timeSelector::addOptions_singleTime(); + ... + #include "setRootCase.H" + #include "createTime.H" + timeSelector::setTimeIfPresent(runTime, args); + \endverbatim + + With the \c addOptions_singleTime() method, application receives + \b -time, \b -latestTime, \b -constant options. In the case, + the \b -time option is intended to be a single value and not include + any ranges. + + The subsequent call to \c setTimeIfPresent() will scan the arguments + for relevant time options and use them to set the time. + SourceFiles timeSelector.C @@ -135,6 +153,14 @@ public: //- Add timeSelector options to argList::validOptions // + // \par Options added: + // - \c -constant + // - \c -time + // - \c -latestTime + // - \c -noZero + // - \c -withZero + // . + // // \param constant // Add the \b -constant option to include the \c constant/ directory // @@ -150,6 +176,16 @@ public: const bool withZero=false ); + //- Add single-time timeSelector options to argList::validOptions() + // + // \par Options added: + // - \c -constant + // - \c -time + // - \c -latestTime + // - \c -noZero (ignored) + // . + static void addOptions_singleTime(); + //- Return the set of times selected based on the argList options static instantList select ( @@ -167,14 +203,25 @@ public: const argList& args ); - //- If any time option provided return the set of times (as select0) - //- otherwise return just the current time. + //- If any time option provided return the set of times - + //- as per select0() - otherwise return just the current time. // Also set the runTime to the first instance static instantList selectIfPresent ( Time& runTime, const argList& args ); + + //- Set the runTime based on \c -constant (if present), + //- \c -time (value), or \c -latestTime. + // This method is a no-op if no relevant options have been specified. + static bool setTimeIfPresent + ( + Time& runTime, + const argList& args, + //! Force initial time (default: 0) even if no options specified + const bool forceInitial = false + ); }; diff --git a/src/OpenFOAM/include/addTimeOptions.H b/src/OpenFOAM/include/addTimeOptions.H index ca1694e47cf..baabd7f4b8b 100644 --- a/src/OpenFOAM/include/addTimeOptions.H +++ b/src/OpenFOAM/include/addTimeOptions.H @@ -22,26 +22,27 @@ Required Classes Foam::argList::addBoolOption ( "constant", - "include the 'constant/' dir in the times list" + "Include 'constant/' dir in the times" ); Foam::argList::addBoolOption ( "latestTime", - "select the latest time" + "Select the latest time" ); Foam::argList::addBoolOption ( "noZero", - "exclude the '0/' dir from the times list" + "Exclude '0/' dir from the times" ); Foam::argList::addOption ( "time", - "time", - "specify a single time value to select" + "value", + "Select the nearest time to the specified value" ); + // ************************************************************************* // diff --git a/src/OpenFOAM/include/checkConstantOption.H b/src/OpenFOAM/include/checkConstantOption.H index a9d5006eb5f..a65ce5facf6 100644 --- a/src/OpenFOAM/include/checkConstantOption.H +++ b/src/OpenFOAM/include/checkConstantOption.H @@ -1,3 +1,6 @@ +// Deprecated include (2024-05) - prefer timeSelector +// ---------------------------------------------------------------------------- + // Unless -constant is present, skip startTime if it is "constant" if @@ -9,3 +12,5 @@ if { ++startTime; } + +// ************************************************************************* // diff --git a/src/OpenFOAM/include/checkTimeOption.H b/src/OpenFOAM/include/checkTimeOption.H index 244eccb9797..00489c01fa8 100644 --- a/src/OpenFOAM/include/checkTimeOption.H +++ b/src/OpenFOAM/include/checkTimeOption.H @@ -1,13 +1,17 @@ -// Check -time and -latestTime options +// Deprecated include (2024-05) - prefer timeSelector +// ---------------------------------------------------------------------------- -if (args.found("time")) +// Check -time and -latestTime options +if (args.found("latestTime")) +{ + startTime = Times.size() - 1; +} +else if (args.found("time")) { - Foam::scalar timeValue = args.get<scalar>("time"); + Foam::scalar timeValue = args.get<Foam::scalar>("time"); startTime = Foam::Time::findClosestTimeIndex(Times, timeValue); } -if (args.found("latestTime")) -{ - startTime = Times.size() - 1; -} + +// ************************************************************************* // diff --git a/src/OpenFOAM/include/checkTimeOptions.H b/src/OpenFOAM/include/checkTimeOptions.H index 78913560353..4c270c3d5d3 100644 --- a/src/OpenFOAM/include/checkTimeOptions.H +++ b/src/OpenFOAM/include/checkTimeOptions.H @@ -1,3 +1,6 @@ +// Deprecated include (2024-05) - prefer timeSelector +// ---------------------------------------------------------------------------- + Foam::label startTime = 0; // Unless -constant is present, skip startTime if it is "constant" @@ -5,3 +8,5 @@ Foam::label startTime = 0; // Check -time and -latestTime options #include "checkTimeOption.H" + +// ************************************************************************* // diff --git a/src/OpenFOAM/include/checkTimeOptionsNoConstant.H b/src/OpenFOAM/include/checkTimeOptionsNoConstant.H index 02312375df2..916ceca302d 100644 --- a/src/OpenFOAM/include/checkTimeOptionsNoConstant.H +++ b/src/OpenFOAM/include/checkTimeOptionsNoConstant.H @@ -1,4 +1,9 @@ +// Deprecated include (2024-05) - prefer timeSelector +// ---------------------------------------------------------------------------- + Foam::label startTime = 0; // Check -time and -latestTime options #include "checkTimeOption.H" + +// ************************************************************************* // diff --git a/tutorials/incompressible/lumpedPointMotion/bridge/code/polynomial-motion.C b/tutorials/incompressible/lumpedPointMotion/bridge/code/polynomial-motion.C index 478d971fce0..b1e8100ddba 100644 --- a/tutorials/incompressible/lumpedPointMotion/bridge/code/polynomial-motion.C +++ b/tutorials/incompressible/lumpedPointMotion/bridge/code/polynomial-motion.C @@ -534,7 +534,7 @@ int main(int argc, char *argv[]) #include "createTime.H" - runTime.setTime(instant(runTime.constant()), 0); + runTime.setTime(instant(0, runTime.constant()), 0); #include "createNamedMesh.H" diff --git a/tutorials/incompressible/lumpedPointMotion/building/code/building-motion.C b/tutorials/incompressible/lumpedPointMotion/building/code/building-motion.C index 5f9bf532df6..1376a82b4a6 100644 --- a/tutorials/incompressible/lumpedPointMotion/building/code/building-motion.C +++ b/tutorials/incompressible/lumpedPointMotion/building/code/building-motion.C @@ -576,7 +576,7 @@ int main(int argc, char *argv[]) #include "createTime.H" - runTime.setTime(instant(runTime.constant()), 0); + runTime.setTime(instant(0, runTime.constant()), 0); #include "createNamedMesh.H" -- GitLab From e15d696a24ba4a5e2cb53a07f0f6e75141ad089f Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 29 Apr 2024 09:09:50 +0200 Subject: [PATCH 158/231] STYLE: use Perr instead of Pout for UPstream::debug and warnComm - avoids polluting standard output for utilities such as foamDictionary etc --- .../db/IOstreams/Pstreams/IPstreams.C | 2 +- .../IOstreams/Pstreams/PstreamCombineGather.C | 16 ++-- .../db/IOstreams/Pstreams/PstreamGatherList.C | 12 +-- .../db/IOstreams/Pstreams/PstreamReduceOps.H | 4 +- .../db/IOstreams/Pstreams/UIPstreamBase.C | 2 +- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C | 10 +-- src/OpenFOAM/db/error/messageStream.C | 4 +- src/Pstream/mpi/UIPBstreamRead.C | 2 +- src/Pstream/mpi/UIPstreamRead.C | 14 +-- src/Pstream/mpi/UOPstreamWrite.C | 12 +-- src/Pstream/mpi/UPstream.C | 18 ++-- src/Pstream/mpi/UPstreamBroadcast.C | 6 +- src/Pstream/mpi/UPstreamRequest.C | 18 ++-- src/Pstream/mpi/UPstreamWrapping.txx | 90 +++++++++---------- 14 files changed, 105 insertions(+), 105 deletions(-) diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/IPstreams.C b/src/OpenFOAM/db/IOstreams/Pstreams/IPstreams.C index d82a270238c..340f0a2f990 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/IPstreams.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/IPstreams.C @@ -77,7 +77,7 @@ Foam::UIPstream::UIPstream(const int fromProcNo, PstreamBuffers& buffers) if (debug) { - Pout<< "UIPstream::UIPstream PstreamBuffers :" + Perr<< "UIPstream::UIPstream PstreamBuffers :" << " fromProcNo:" << fromProcNo_ << " tag:" << tag_ << " comm:" << comm_ << " receive buffer size:" << messageSize_ diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C index ac47fdef691..4e37481e56b 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineGather.C @@ -78,7 +78,7 @@ void Foam::Pstream::combineGather if (debug & 2) { - Pout<< " received from " + Perr<< " received from " << belowID << " data:" << received << endl; } @@ -98,7 +98,7 @@ void Foam::Pstream::combineGather if (debug & 2) { - Pout<< " received from " + Perr<< " received from " << belowID << " data:" << received << endl; } @@ -111,7 +111,7 @@ void Foam::Pstream::combineGather { if (debug & 2) { - Pout<< " sending to " << myComm.above() + Perr<< " sending to " << myComm.above() << " data:" << value << endl; } @@ -190,7 +190,7 @@ void Foam::Pstream::listCombineGather if (debug & 2) { - Pout<< " received from " + Perr<< " received from " << belowID << " data:" << received << endl; } @@ -213,7 +213,7 @@ void Foam::Pstream::listCombineGather if (debug & 2) { - Pout<< " received from " + Perr<< " received from " << belowID << " data:" << received << endl; } @@ -229,7 +229,7 @@ void Foam::Pstream::listCombineGather { if (debug & 2) { - Pout<< " sending to " << myComm.above() + Perr<< " sending to " << myComm.above() << " data:" << values << endl; } @@ -306,7 +306,7 @@ void Foam::Pstream::mapCombineGather if (debug & 2) { - Pout<< " received from " + Perr<< " received from " << belowID << " data:" << received << endl; } @@ -337,7 +337,7 @@ void Foam::Pstream::mapCombineGather { if (debug & 2) { - Pout<< " sending to " << myComm.above() + Perr<< " sending to " << myComm.above() << " data:" << values << endl; } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C index e3705feed57..5b3719e9616 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamGatherList.C @@ -107,7 +107,7 @@ void Foam::Pstream::gatherList if (debug & 2) { - Pout<< " received through " + Perr<< " received through " << belowID << " data from:" << belowID << " data:" << values[belowID] << endl; } @@ -119,7 +119,7 @@ void Foam::Pstream::gatherList if (debug & 2) { - Pout<< " received through " + Perr<< " received through " << belowID << " data from:" << leafID << " data:" << values[leafID] << endl; } @@ -136,7 +136,7 @@ void Foam::Pstream::gatherList if (debug & 2) { - Pout<< " sending to " << myComm.above() + Perr<< " sending to " << myComm.above() << " data from me:" << myProci << " data:" << values[myProci] << endl; } @@ -177,7 +177,7 @@ void Foam::Pstream::gatherList { if (debug & 2) { - Pout<< " sending to " + Perr<< " sending to " << myComm.above() << " data from:" << leafID << " data:" << values[leafID] << endl; } @@ -259,7 +259,7 @@ void Foam::Pstream::scatterList if (debug & 2) { - Pout<< " received through " + Perr<< " received through " << myComm.above() << " data for:" << leafID << " data:" << values[leafID] << endl; } @@ -310,7 +310,7 @@ void Foam::Pstream::scatterList if (debug & 2) { - Pout<< " sent through " + Perr<< " sent through " << belowID << " data for:" << leafID << " data:" << values[leafID] << endl; } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H index aff75a17c0a..8bd8b474cf8 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H @@ -61,8 +61,8 @@ void reduce { if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) { - Pout<< "** reducing:" << value << " with comm:" << comm << endl; - error::printStack(Pout); + Perr<< "** reducing:" << value << " with comm:" << comm << endl; + error::printStack(Perr); } Pstream::gather(value, bop, tag, comm); Pstream::broadcast(value, comm); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C index a8d2c9e532f..cfbb3241646 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C @@ -257,7 +257,7 @@ Foam::UIPstreamBase::~UIPstreamBase() { if (debug) { - Pout<< "UIPstreamBase Destructor : tag:" << tag_ + Perr<< "UIPstreamBase Destructor : tag:" << tag_ << " fromProcNo:" << fromProcNo_ << " clearing receive buffer of size " << recvBuf_.size() diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C index cf531d1014e..c0dae071f9c 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C @@ -221,7 +221,7 @@ void Foam::UPstream::setParRun(const label nProcs, const bool haveThreads) if (debug) { - Pout<< "UPstream::setParRun :" + Perr<< "UPstream::setParRun :" << " nProcs:" << nProcs << " haveThreads:" << haveThreads << endl; @@ -274,7 +274,7 @@ Foam::label Foam::UPstream::allocateCommunicator if (debug) { - Pout<< "Allocating communicator " << index << nl + Perr<< "Allocating communicator " << index << nl << " parent : " << parentIndex << nl << " procs : " << subRanks << nl << endl; @@ -335,7 +335,7 @@ Foam::label Foam::UPstream::allocateCommunicator if (debug) { - Pout<< "Allocating communicator " << index << nl + Perr<< "Allocating communicator " << index << nl << " parent : " << parentIndex << nl << " procs : " << flatOutput(subRanks) << nl << endl; @@ -492,7 +492,7 @@ bool Foam::UPstream::allocateHostCommunicatorPairs() if (debug) { - Pout<< "Allocating host communicators " + Perr<< "Allocating host communicators " << interHostComm_ << ", " << intraHostComm_ << nl << " parent : " << parentCommunicator << nl << endl; @@ -588,7 +588,7 @@ void Foam::UPstream::freeCommunicator if (debug) { - Pout<< "Communicators : Freeing communicator " << communicator + Perr<< "Communicators : Freeing communicator " << communicator << " parent: " << parentComm_[communicator] << " myProcNo: " << myProcNo_[communicator] << endl; diff --git a/src/OpenFOAM/db/error/messageStream.C b/src/OpenFOAM/db/error/messageStream.C index 0953f53d75e..2401debdf44 100644 --- a/src/OpenFOAM/db/error/messageStream.C +++ b/src/OpenFOAM/db/error/messageStream.C @@ -145,8 +145,8 @@ Foam::OSstream& Foam::messageStream::masterStream(const label communicator) { if (UPstream::warnComm >= 0 && communicator != UPstream::warnComm) { - Pout<< "** messageStream with comm:" << communicator << endl; - error::printStack(Pout); + Perr<< "** messageStream with comm:" << communicator << endl; + error::printStack(Perr); } if (communicator == UPstream::worldComm || UPstream::master(communicator)) diff --git a/src/Pstream/mpi/UIPBstreamRead.C b/src/Pstream/mpi/UIPBstreamRead.C index 0ee1d63ce39..5080583396c 100644 --- a/src/Pstream/mpi/UIPBstreamRead.C +++ b/src/Pstream/mpi/UIPBstreamRead.C @@ -60,7 +60,7 @@ void Foam::UIPBstream::bufferIPCrecv() if (UPstream::debug) { - Pout<< "UOPBstream IPC read buffer :" + Perr<< "UOPBstream IPC read buffer :" << " root:" << fromProcNo_ << " comm:" << comm_ << " probed size:" << label(bufSize) diff --git a/src/Pstream/mpi/UIPstreamRead.C b/src/Pstream/mpi/UIPstreamRead.C index 2a690f4b9f8..bec4a2e87f6 100644 --- a/src/Pstream/mpi/UIPstreamRead.C +++ b/src/Pstream/mpi/UIPstreamRead.C @@ -68,17 +68,17 @@ static std::streamsize UPstream_mpi_receive if (UPstream::warnComm >= 0 && communicator != UPstream::warnComm) { - Pout<< "UIPstream::read : starting read from:" << fromProcNo + Perr<< "UIPstream::read : starting read from:" << fromProcNo << " size:" << label(bufSize) << " tag:" << tag << " comm:" << communicator << " commsType:" << UPstream::commsTypeNames[commsType] << " warnComm:" << UPstream::warnComm << Foam::endl; - error::printStack(Pout); + error::printStack(Perr); } else if (UPstream::debug) { - Pout<< "UIPstream::read : starting read from:" << fromProcNo + Perr<< "UIPstream::read : starting read from:" << fromProcNo << " size:" << label(bufSize) << " tag:" << tag << " comm:" << communicator << " commsType:" << UPstream::commsTypeNames[commsType] @@ -123,7 +123,7 @@ static std::streamsize UPstream_mpi_receive } else if (UPstream::debug) { - Pout<< "UIPstream::read : finished recv from:" + Perr<< "UIPstream::read : finished recv from:" << fromProcNo << " size:" << label(bufSize) << " tag:" << tag << Foam::endl; @@ -198,7 +198,7 @@ static std::streamsize UPstream_mpi_receive if (UPstream::debug) { - Pout<< "UIPstream::read : started non-blocking recv from:" + Perr<< "UIPstream::read : started non-blocking recv from:" << fromProcNo << " size:" << label(bufSize) << " tag:" << tag << " request:" << @@ -225,7 +225,7 @@ void Foam::UIPstream::bufferIPCrecv() // Called by constructor if (UPstream::debug) { - Pout<< "UIPstream IPC read buffer :" + Perr<< "UIPstream IPC read buffer :" << " from:" << fromProcNo_ << " tag:" << tag_ << " comm:" << comm_ << " wanted size:" << recvBuf_.capacity() @@ -291,7 +291,7 @@ void Foam::UIPstream::bufferIPCrecv() if (UPstream::debug) { - Pout<< "UIPstream::UIPstream : probed size:" + Perr<< "UIPstream::UIPstream : probed size:" << label(count) << Foam::endl; } diff --git a/src/Pstream/mpi/UOPstreamWrite.C b/src/Pstream/mpi/UOPstreamWrite.C index 8613c17dfcf..a8f4f04385f 100644 --- a/src/Pstream/mpi/UOPstreamWrite.C +++ b/src/Pstream/mpi/UOPstreamWrite.C @@ -74,17 +74,17 @@ bool Foam::UOPstream::write if (UPstream::warnComm >= 0 && communicator != UPstream::warnComm) { - Pout<< "UOPstream::write : starting write to:" << toProcNo + Perr<< "UOPstream::write : starting write to:" << toProcNo << " size:" << label(bufSize) << " tag:" << tag << " comm:" << communicator << " commType:" << UPstream::commsTypeNames[commsType] << " warnComm:" << UPstream::warnComm << Foam::endl; - error::printStack(Pout); + error::printStack(Perr); } else if (UPstream::debug) { - Pout<< "UOPstream::write : starting write to:" << toProcNo + Perr<< "UOPstream::write : starting write to:" << toProcNo << " size:" << label(bufSize) << " tag:" << tag << " comm:" << communicator << " commType:" << UPstream::commsTypeNames[commsType] @@ -114,7 +114,7 @@ bool Foam::UOPstream::write if (UPstream::debug) { - Pout<< "UOPstream::write : finished buffered send to:" + Perr<< "UOPstream::write : finished buffered send to:" << toProcNo << " size:" << label(bufSize) << " tag:" << tag << Foam::endl; @@ -152,7 +152,7 @@ bool Foam::UOPstream::write if (UPstream::debug) { - Pout<< "UOPstream::write : finished send to:" + Perr<< "UOPstream::write : finished send to:" << toProcNo << " size:" << label(bufSize) << " tag:" << tag << Foam::endl; @@ -191,7 +191,7 @@ bool Foam::UOPstream::write if (UPstream::debug) { - Pout<< "UOPstream::write : started non-blocking send to:" + Perr<< "UOPstream::write : started non-blocking send to:" << toProcNo << " size:" << label(bufSize) << " tag:" << tag << " request:" << diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C index b23c85d66c2..b3771d7d1ed 100644 --- a/src/Pstream/mpi/UPstream.C +++ b/src/Pstream/mpi/UPstream.C @@ -90,13 +90,13 @@ static void attachOurBuffers() if (Foam::UPstream::debug) { - Foam::Pout<< "UPstream::init : buffer-size " << len << '\n'; + Foam::Perr<< "UPstream::init : buffer-size " << len << '\n'; } } else { delete[] buf; - Foam::Pout<< "UPstream::init : could not attach buffer\n"; + Foam::Perr<< "UPstream::init : could not attach buffer\n"; } #endif } @@ -171,7 +171,7 @@ bool Foam::UPstream::initNull() { if (UPstream::debug) { - Pout<< "UPstream::initNull : was already initialized\n"; + Perr<< "UPstream::initNull : was already initialized\n"; } } else @@ -229,7 +229,7 @@ bool Foam::UPstream::init(int& argc, char**& argv, const bool needsThread) } else if (UPstream::debug) { - Pout<< "UPstream::init : was already initialized\n"; + Perr<< "UPstream::init : was already initialized\n"; } } else @@ -283,7 +283,7 @@ bool Foam::UPstream::init(int& argc, char**& argv, const bool needsThread) if (UPstream::debug) { - Pout<< "UPstream::init :" + Perr<< "UPstream::init :" << " thread-support : requested:" << needsThread << " obtained:" << ( @@ -390,7 +390,7 @@ bool Foam::UPstream::init(int& argc, char**& argv, const bool needsThread) &subRank ); - Pout<< "UPstream::init : in world:" << world + Perr<< "UPstream::init : in world:" << world << " using local communicator:" << subComm << " rank " << subRank << " of " << subNumProcs @@ -436,7 +436,7 @@ void Foam::UPstream::shutdown(int errNo) } else if (UPstream::debug && errNo == 0) { - Pout<< "UPstream::shutdown : was already finalized\n"; + Perr<< "UPstream::shutdown : was already finalized\n"; } ourMpi = false; return; @@ -465,7 +465,7 @@ void Foam::UPstream::shutdown(int errNo) if (UPstream::debug) { - Pout<< "UPstream::shutdown\n"; + Perr<< "UPstream::shutdown\n"; } // Check for any outstanding requests @@ -691,7 +691,7 @@ void Foam::UPstream::freeCommunicatorComponents(const label index) { if (UPstream::debug) { - Pout<< "freeCommunicatorComponents: " << index + Perr<< "freeCommunicatorComponents: " << index << " from " << PstreamGlobals::MPICommunicators_.size() << endl; } diff --git a/src/Pstream/mpi/UPstreamBroadcast.C b/src/Pstream/mpi/UPstreamBroadcast.C index f3b7fac7d4a..dcf9ca8ed9d 100644 --- a/src/Pstream/mpi/UPstreamBroadcast.C +++ b/src/Pstream/mpi/UPstreamBroadcast.C @@ -49,16 +49,16 @@ bool Foam::UPstream::broadcast if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) { - Pout<< "UPstream::broadcast : root:" << rootProcNo + Perr<< "UPstream::broadcast : root:" << rootProcNo << " comm:" << comm << " size:" << label(bufSize) << " warnComm:" << UPstream::warnComm << Foam::endl; - error::printStack(Pout); + error::printStack(Perr); } else if (UPstream::debug) { - Pout<< "UPstream::broadcast : root:" << rootProcNo + Perr<< "UPstream::broadcast : root:" << rootProcNo << " comm:" << comm << " size:" << label(bufSize) << Foam::endl; diff --git a/src/Pstream/mpi/UPstreamRequest.C b/src/Pstream/mpi/UPstreamRequest.C index 04947e20282..3ac8b8ff8ab 100644 --- a/src/Pstream/mpi/UPstreamRequest.C +++ b/src/Pstream/mpi/UPstreamRequest.C @@ -291,7 +291,7 @@ void Foam::UPstream::waitRequests(const label pos, label len) if (UPstream::debug) { - Pout<< "UPstream::waitRequests : starting wait for " + Perr<< "UPstream::waitRequests : starting wait for " << count << " requests starting at " << pos << endl; } @@ -328,7 +328,7 @@ void Foam::UPstream::waitRequests(const label pos, label len) if (UPstream::debug) { - Pout<< "UPstream::waitRequests : finished wait." << endl; + Perr<< "UPstream::waitRequests : finished wait." << endl; } } @@ -409,7 +409,7 @@ bool Foam::UPstream::waitAnyRequest(const label pos, label len) if (UPstream::debug) { - Pout<< "UPstream::waitAnyRequest : starting wait for any of " + Perr<< "UPstream::waitAnyRequest : starting wait for any of " << count << " requests starting at " << pos << endl; } @@ -470,7 +470,7 @@ bool Foam::UPstream::waitSomeRequests if (UPstream::debug) { - Pout<< "UPstream:waitSomeRequest : starting wait for some of " + Perr<< "UPstream:waitSomeRequest : starting wait for some of " << count << " requests starting at " << pos << endl; } @@ -563,7 +563,7 @@ bool Foam::UPstream::waitSomeRequests if (UPstream::debug) { - Pout<< "UPstream:waitSomeRequest : starting wait for some of " + Perr<< "UPstream:waitSomeRequest : starting wait for some of " << requests.size() << " requests" << endl; } @@ -753,7 +753,7 @@ void Foam::UPstream::waitRequest(const label i) if (UPstream::debug) { - Pout<< "UPstream::waitRequest : starting wait for request:" + Perr<< "UPstream::waitRequest : starting wait for request:" << i << endl; } @@ -771,7 +771,7 @@ void Foam::UPstream::waitRequest(const label i) if (UPstream::debug) { - Pout<< "UPstream::waitRequest : finished wait for request:" + Perr<< "UPstream::waitRequest : finished wait for request:" << i << endl; } } @@ -823,7 +823,7 @@ bool Foam::UPstream::finishedRequest(const label i) if (UPstream::debug) { - Pout<< "UPstream::finishedRequest : check request:" + Perr<< "UPstream::finishedRequest : check request:" << i << endl; } @@ -898,7 +898,7 @@ bool Foam::UPstream::finishedRequests(const label pos, label len) if (UPstream::debug) { - Pout<< "UPstream::finishedRequests : check " << count + Perr<< "UPstream::finishedRequests : check " << count << " requests starting at " << pos << endl; } diff --git a/src/Pstream/mpi/UPstreamWrapping.txx b/src/Pstream/mpi/UPstreamWrapping.txx index 94fc3025e19..97b0a95b4c5 100644 --- a/src/Pstream/mpi/UPstreamWrapping.txx +++ b/src/Pstream/mpi/UPstreamWrapping.txx @@ -80,18 +80,18 @@ void Foam::PstreamDetail::reduce0 if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) { - Pout<< "** MPI_Reduce (blocking):"; + Perr<< "** MPI_Reduce (blocking):"; if (count == 1) { - Pout<< (*values); + Perr<< (*values); } else { - Pout<< UList<Type>(values, count); + Perr<< UList<Type>(values, count); } - Pout<< " with comm:" << comm + Perr<< " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } profilingPstream::beginTiming(); @@ -138,23 +138,23 @@ void Foam::PstreamDetail::allReduce { if (immediate) { - Pout<< "** MPI_Iallreduce (non-blocking):"; + Perr<< "** MPI_Iallreduce (non-blocking):"; } else { - Pout<< "** MPI_Allreduce (blocking):"; + Perr<< "** MPI_Allreduce (blocking):"; } if (count == 1) { - Pout<< (*values); + Perr<< (*values); } else { - Pout<< UList<Type>(values, count); + Perr<< UList<Type>(values, count); } - Pout<< " with comm:" << comm + Perr<< " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } @@ -245,18 +245,18 @@ void Foam::PstreamDetail::allToAll { if (immediate) { - Pout<< "** MPI_Ialltoall (non-blocking):"; + Perr<< "** MPI_Ialltoall (non-blocking):"; } else { - Pout<< "** MPI_Alltoall (blocking):"; + Perr<< "** MPI_Alltoall (blocking):"; } - Pout<< " numProc:" << numProc + Perr<< " numProc:" << numProc << " sendData:" << sendData.size() << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } if @@ -376,18 +376,18 @@ void Foam::PstreamDetail::allToAllv { if (immediate) { - Pout<< "** MPI_Ialltoallv (non-blocking):"; + Perr<< "** MPI_Ialltoallv (non-blocking):"; } else { - Pout<< "** MPI_Alltoallv (blocking):"; + Perr<< "** MPI_Alltoallv (blocking):"; } - Pout<< " sendCounts:" << sendCounts + Perr<< " sendCounts:" << sendCounts << " sendOffsets:" << sendOffsets << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } if @@ -515,13 +515,13 @@ void Foam::PstreamDetail::allToAllConsensus if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) { - Pout<< "** non-blocking consensus Alltoall (list):"; - Pout<< " numProc:" << numProc + Perr<< "** non-blocking consensus Alltoall (list):"; + Perr<< " numProc:" << numProc << " sendData:" << sendData.size() << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } if (sendData.size() != numProc || recvData.size() != numProc) @@ -717,13 +717,13 @@ void Foam::PstreamDetail::allToAllConsensus if (UPstream::warnComm >= 0 && comm != UPstream::warnComm) { - Pout<< "** non-blocking consensus Alltoall (map):"; - Pout<< " numProc:" << numProc + Perr<< "** non-blocking consensus Alltoall (map):"; + Perr<< " numProc:" << numProc << " sendData:" << sendBufs.size() << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } // Initial: clear out everything @@ -917,18 +917,18 @@ void Foam::PstreamDetail::gather { if (immediate) { - Pout<< "** MPI_Igather (non-blocking):"; + Perr<< "** MPI_Igather (non-blocking):"; } else { - Pout<< "** MPI_Gather (blocking):"; + Perr<< "** MPI_Gather (blocking):"; } - Pout<< " numProc:" << numProc + Perr<< " numProc:" << numProc << " count:" << count << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } @@ -1024,18 +1024,18 @@ void Foam::PstreamDetail::scatter { if (immediate) { - Pout<< "** MPI_Iscatter (non-blocking):"; + Perr<< "** MPI_Iscatter (non-blocking):"; } else { - Pout<< "** MPI_Scatter (blocking):"; + Perr<< "** MPI_Scatter (blocking):"; } - Pout<< " numProc:" << numProc + Perr<< " numProc:" << numProc << " count:" << count << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } @@ -1132,19 +1132,19 @@ void Foam::PstreamDetail::gatherv { if (immediate) { - Pout<< "** MPI_Igatherv (non-blocking):"; + Perr<< "** MPI_Igatherv (non-blocking):"; } else { - Pout<< "** MPI_Gatherv (blocking):"; + Perr<< "** MPI_Gatherv (blocking):"; } - Pout<< " np:" << np + Perr<< " np:" << np << " recvCounts:" << recvCounts << " recvOffsets:" << recvOffsets << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } if @@ -1274,19 +1274,19 @@ void Foam::PstreamDetail::scatterv { if (immediate) { - Pout<< "** MPI_Iscatterv (non-blocking):"; + Perr<< "** MPI_Iscatterv (non-blocking):"; } else { - Pout<< "** MPI_Scatterv (blocking):"; + Perr<< "** MPI_Scatterv (blocking):"; } - Pout<< " np:" << np + Perr<< " np:" << np << " sendCounts:" << sendCounts << " sendOffsets:" << sendOffsets << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } if @@ -1400,17 +1400,17 @@ void Foam::PstreamDetail::allGather { if (immediate) { - Pout<< "** MPI_Iallgather (non-blocking):"; + Perr<< "** MPI_Iallgather (non-blocking):"; } else { - Pout<< "** MPI_Allgather (blocking):"; + Perr<< "** MPI_Allgather (blocking):"; } - Pout<< " numProc:" << UPstream::nProcs(comm) + Perr<< " numProc:" << UPstream::nProcs(comm) << " with comm:" << comm << " warnComm:" << UPstream::warnComm << endl; - error::printStack(Pout); + error::printStack(Perr); } -- GitLab From d9c73ae48933ef9b8253a3bc1af36231e000fafe Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 29 Apr 2024 09:09:50 +0200 Subject: [PATCH 159/231] ENH: improve handling of multi-pass send/recv (#3152) - the maxCommsSize variable is used to 'chunk' large data transfers (eg, with PstreamBuffers) into a multi-pass send/recv sequence. The send/recv windows for chunk-wise transfers: iter data window ---- ----------- 0 [0, 1*chunk] 1 [1*chunk, 2*chunk] 2 [2*chunk, 3*chunk] ... Since we mostly send/recv in bytes, the current internal limit for MPI counts (INT_MAX) can be hit rather quickly. The chunking limit should thus also be INT_MAX, but since it is rather tedious to specify such large numbers, can instead use maxCommsSize = -1 to specify (INT_MAX-1) as the limit. The default value of maxCommsSize = 0 (ie, no chunking). Note ~~~~ In previous versions, the number of chunks was determined by the sender sizes. This required an additional MPI_Allreduce to establish an overall consistent number of chunks to walk. This additional overhead each time meant that maxCommsSize was rarely actually enabled. We can, however, instead rely on the send/recv buffers having been consistently sized and simply walk through the local send/recvs until no further chunks need to be exchanged. As an additional enhancement, the message tags are connected to chunking iteration, which allows the setup of all send/recvs without an intermediate Allwait. ENH: extend UPstream::probeMessage to use int64 instead of int for sizes --- .../parallel-chunks/Test-parallel-chunks.C | 304 ++---- .../parallel-comm3b/Test-parallel-comm3b.C | 6 +- .../test/parallel-nbx2/Test-parallel-nbx2.C | 6 +- etc/controlDict | 19 +- .../db/IOstreams/Pstreams/PstreamExchange.C | 891 +++++++++--------- .../Pstreams/PstreamExchangeConsensus.C | 29 +- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H | 4 +- src/OpenFOAM/global/argList/argList.C | 2 + .../fileOperation/fileOperationBroadcast.C | 8 +- src/Pstream/dummy/UPstream.C | 4 +- src/Pstream/mpi/UPstream.C | 6 +- 11 files changed, 608 insertions(+), 671 deletions(-) diff --git a/applications/test/parallel-chunks/Test-parallel-chunks.C b/applications/test/parallel-chunks/Test-parallel-chunks.C index b5181bccec9..30e71a12c51 100644 --- a/applications/test/parallel-chunks/Test-parallel-chunks.C +++ b/applications/test/parallel-chunks/Test-parallel-chunks.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -44,175 +44,62 @@ Description using namespace Foam; -// Looks like Pstream::exchangeBuf -template<class T> -void do_exchangeBuf +//- Number of elements corresponding to max byte transfer. +// Normal upper limit is INT_MAX since MPI sizes are limited to <int>. +template<class Type> +inline std::size_t maxTransferCount ( - const label sendSize, - const char* sendData, - const label recvSize, - char* recvData, - const int tag, - const label comm, - const bool wait -) + const std::size_t max_bytes = std::size_t(0) +) noexcept { - const label startOfRequests = UPstream::nRequests(); - - // Set up receives - // ~~~~~~~~~~~~~~~ - - // forAll(recvSizes, proci) - { - // if (proci != Pstream::myProcNo(comm) && recvSizes[proci] > 0) - if (!Pstream::master(comm) && recvSize > 0) - { - UIPstream::read - ( - UPstream::commsTypes::nonBlocking, - UPstream::myProcNo(comm), // proci, - recvData, - recvSize*sizeof(T), - tag, - comm - ); - } - } - - - // Set up sends - // ~~~~~~~~~~~~ - - // forAll(sendBufs, proci) - for (const int proci : Pstream::subProcs(comm)) - { - if (sendSize > 0) - // if (proci != Pstream::myProcNo(comm) && sendSizes[proci] > 0) - { - if - ( - !UOPstream::write - ( - UPstream::commsTypes::nonBlocking, - proci, - sendData, - sendSize*sizeof(T), - tag, - comm - ) - ) - { - FatalErrorInFunction - << "Cannot send outgoing message. " - << "to:" << proci << " nBytes:" - << label(sendSize*sizeof(T)) - << Foam::abort(FatalError); - } - } - } - - - // Wait for all to finish - // ~~~~~~~~~~~~~~~~~~~~~~ - - if (wait) - { - UPstream::waitRequests(startOfRequests); - } + return + ( + (max_bytes == 0) // ie, unlimited + ? (std::size_t(0)) // + : (max_bytes > std::size_t(INT_MAX)) // MPI limit is <int> + ? (std::size_t(INT_MAX) / sizeof(Type)) // + : (max_bytes > sizeof(Type)) // require an integral number + ? (max_bytes / sizeof(Type)) // + : (std::size_t(1)) // min of one element + ); } -// Looks like Pstream::exchangeContainer -template<class Container, class T> -void do_exchangeContainer +//- Upper limit on number of transfer bytes. +// Max bytes is normally INT_MAX since MPI sizes are limited to <int>. +// Negative values indicate a subtraction from INT_MAX. +inline std::size_t PstreamDetail_maxTransferBytes ( - const Container& sendData, - const label recvSize, - Container& recvData, - const int tag, - const label comm, - const bool wait -) + const int64_t max_bytes +) noexcept { - const label startOfRequests = UPstream::nRequests(); - - // Set up receives - // ~~~~~~~~~~~~~~~ - - // for (const int proci : Pstream::allProcs(comm)) - { - if (!Pstream::master(comm) && recvSize > 0) - // if (proci != Pstream::myProcNo(comm) && recvSize > 0) - { - UIPstream::read - ( - UPstream::commsTypes::nonBlocking, - UPstream::myProcNo(comm), // proci, - recvData.data_bytes(), - recvSize*sizeof(T), - tag, - comm - ); - } - } - - - // Set up sends - // ~~~~~~~~~~~~ - - if (Pstream::master(comm) && sendData.size() > 0) - { - for (const int proci : Pstream::subProcs(comm)) - { - if - ( - !UOPstream::write - ( - UPstream::commsTypes::nonBlocking, - proci, - sendData.cdata_bytes(), - sendData.size_bytes(), - tag, - comm - ) - ) - { - FatalErrorInFunction - << "Cannot send outgoing message. " - << "to:" << proci << " nBytes:" - << label(sendData.size_bytes()) - << Foam::abort(FatalError); - } - } - } - - // Wait for all to finish - // ~~~~~~~~~~~~~~~~~~~~~~ - - if (wait) - { - UPstream::waitRequests(startOfRequests); - } + return + ( + (max_bytes < 0) // (numBytes fewer than INT_MAX) + ? std::size_t(INT_MAX + max_bytes) + : std::size_t(max_bytes) + ); } -template<class Container, class T> +template<class Container, class Type> void broadcast_chunks ( Container& sendData, const int tag = UPstream::msgType(), - const label comm = UPstream::worldComm, - const bool wait = true + const label comm = UPstream::worldComm + const int64_t maxComms_bytes = UPstream::maxCommsSize ) { // OR static_assert(is_contiguous<T>::value, "Contiguous data only!") - if (!is_contiguous<T>::value) + if (!is_contiguous<Type>::value) { FatalErrorInFunction - << "Contiguous data only." << sizeof(T) << Foam::abort(FatalError); + << "Contiguous data only." << sizeof(Type) + << Foam::abort(FatalError); } - if (UPstream::maxCommsSize <= 0) + if (maxComms_bytes == 0) { // Do in one go Info<< "send " << sendData.size() << " elements in one go" << endl; @@ -227,93 +114,90 @@ void broadcast_chunks sendData.resize_nocopy(recvSize); // A no-op on master - // Determine the number of chunks to send. Note that we - // only have to look at the sending data since we are - // guaranteed that some processor's sending size is some other - // processor's receive size. Also we can ignore any local comms. - // We need to send chunks so the number of iterations: - // maxChunkSize iterations - // ------------ ---------- - // 0 0 - // 1..maxChunkSize 1 - // maxChunkSize+1..2*maxChunkSize 2 - // ... - - const label maxChunkSize + // The chunk size (number of elements) corresponding to max byte transfer + // Is zero for non-chunked exchanges. + const std::size_t chunkSize ( - max + PstreamDetail_maxTransferCount<Type> ( - static_cast<label>(1), - static_cast<label>(UPstream::maxCommsSize/sizeof(T)) + PstreamDetail_maxTransferBytes(maxComms_bytes) ) ); - label nChunks(0); - { - // Get max send count (elements) - // forAll(sendBufs, proci) - // { - // if (proci != Pstream::myProcNo(comm)) - // { - // nChunks = max(nChunks, sendBufs[proci].size()); - // } - // } - nChunks = sendSize; + if (chunkSize) + { // Convert from send count (elements) to number of chunks. // Can normally calculate with (count-1), but add some safety - if (nChunks) - { - nChunks = 1 + (nChunks/maxChunkSize); - } - reduce(nChunks, maxOp<label>(), tag, comm); + label nChunks = 1 + (sendSize/label(chunkSize)); Info << "send " << sendSize << " elements (" - << (sendSize*sizeof(T)) << " bytes) in " << nChunks - << " chunks of " << maxChunkSize << " elements (" - << (maxChunkSize*sizeof(T)) << " bytes) for maxCommsSize:" - << Pstream::maxCommsSize + << (sendSize*sizeof(Type)) << " bytes) in " << nChunks + << " chunks of " << label(chunkSize) << " elements (" + << label(chunkSize*sizeof(Type)) << " bytes) for maxCommsSize:" + << label(maxComms_bytes) << endl; } + // stress-test with shortened sendSize // will produce useless loops, but no calls // sendSize /= 2; - label nSend(0); - label startSend(0); - char* charPtrSend; + typedef stdFoam::span<Type> sendType; - for (label iter = 0; iter < nChunks; ++iter) + do { - nSend = min - ( - maxChunkSize, - sendSize-startSend - ); + sendType payload(sendData.data(), sendData.size()); - charPtrSend = - ( - nSend > 0 - ? reinterpret_cast<char*>(&(sendData[startSend])) - : nullptr - ); + if (!chunkSize) + { + UPstream::broadcast + ( + payload.data_bytes(), + payload.size_bytes(), + comm + ); + break; + } - Info<< "iter " << iter - << ": beg=" << startSend << " len=" << nSend - << " (" << (nSend*sizeof(T)) << " bytes)" << endl; + // Dispatch chunk-wise until there is nothing left + for (int iter = 0; /*true*/; ++iter) + { + // The begin/end for the data window + const std::size_t beg = (std::size_t(iter)*chunkSize); + const std::size_t end = (std::size_t(iter+1)*chunkSize); - UPstream::broadcast(charPtrSend, nSend*sizeof(T), comm); + if (payload.size() <= beg) + { + // No more data windows + break; + } - // forAll(nSend, proci) - { - startSend += nSend; + sendType window + ( + (end < payload.size()) + ? payload.subspan(beg, end - beg) + : payload.subspan(beg) + ); + + Info<< "iter " << iter + << ": beg=" << label(beg) << " len=" << label(window.size()) + << " (" << label(window.size_bytes()) << " bytes)" << endl; + + UPstream::broadcast + ( + window.data_bytes(), + window.size_bytes(), + comm + ); } } + while (false); - Info<< "final: " << startSend << endl; + Info<< "final" << endl; } @@ -333,7 +217,7 @@ int main(int argc, char *argv[]) } labelList input1; - if (Pstream::master()) + if (UPstream::master()) { input1 = identity(500); } @@ -348,7 +232,7 @@ int main(int argc, char *argv[]) // Mostly the same with PstreamBuffers if (false) { - PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking); + PstreamBuffers pBufs; labelList sendData; if (Pstream::master()) diff --git a/applications/test/parallel-comm3b/Test-parallel-comm3b.C b/applications/test/parallel-comm3b/Test-parallel-comm3b.C index 0bbcc5da5e1..ea64880146d 100644 --- a/applications/test/parallel-comm3b/Test-parallel-comm3b.C +++ b/applications/test/parallel-comm3b/Test-parallel-comm3b.C @@ -130,7 +130,7 @@ int main(int argc, char *argv[]) for (bool barrier_active = false, done = false; !done; /*nil*/) { - std::pair<int, int> probed = + std::pair<int, int64_t> probed = UPstream::probeMessage ( UPstream::commsTypes::nonBlocking, @@ -143,8 +143,8 @@ int main(int argc, char *argv[]) { // Message found and had size: receive it - const label proci = probed.first; - const label count = probed.second; + const label proci(probed.first); + const label count(probed.second); recvBufs(proci).resize_nocopy(count); recvFromProc(recvRequests.size()) = proci; diff --git a/applications/test/parallel-nbx2/Test-parallel-nbx2.C b/applications/test/parallel-nbx2/Test-parallel-nbx2.C index bd3a4a224ee..9919c42c90b 100644 --- a/applications/test/parallel-nbx2/Test-parallel-nbx2.C +++ b/applications/test/parallel-nbx2/Test-parallel-nbx2.C @@ -119,7 +119,7 @@ int main(int argc, char *argv[]) for (bool barrier_active = false, done = false; !done; /*nil*/) { - std::pair<int, int> probed = + std::pair<int, int64_t> probed = UPstream::probeMessage ( UPstream::commsTypes::nonBlocking, @@ -132,8 +132,8 @@ int main(int argc, char *argv[]) { // Message found and had size: receive it - const label proci = probed.first; - const label count = probed.second; + const label proci(probed.first); + const label count(probed.second); if (optNonBlocking) { diff --git a/etc/controlDict b/etc/controlDict index d0ffb765522..552f12c5201 100644 --- a/etc/controlDict +++ b/etc/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -146,13 +146,18 @@ OptimisationSwitches // The default and minimum is (20000000). mpiBufferSize 0; - // Optional max size (bytes) for unstructured data exchanges. In some - // phases of OpenFOAM it can send over very large data chunks + // Optional max size (bytes) for unstructured data exchanges. + // In some phases of OpenFOAM it can send over very large data chunks // (e.g. in parallel load balancing) and some MPI implementations have - // problems with this. Setting this variable > 0 indicates that the - // data exchange needs to be done in multiple passes, each of maxCommsSize. - // This is not switched on by default since it requires an additional - // global reduction, even if multi-pass is not needed) + // problems with this. + // + // This tuning parameter specifies the max number of bytes before + // switching to a multi-pass send/recv + // (currently only affects PstreamBuffers exchanges). + // + // 0 : disabled + // >0 : limit exchanges to specified number of bytes + // <0 : limit exchanges to INT_MAX minus specified number of bytes maxCommsSize 0; // Optional (experimental) feature in lduMatrixUpdate diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchange.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchange.C index 034f6d3c33e..c3f271d643f 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchange.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchange.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -24,6 +24,21 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +Note + The send/recv windows for chunk-wise transfers: + + iter data window + ---- ----------- + 0 [0, 1*chunk] + 1 [1*chunk, 2*chunk] + 2 [2*chunk, 3*chunk] + ... + + In older versions (v2312 and earlier) the number of chunks was + determined by the sender sizes and used an extra MPI_Allreduce. + However instead rely on the send/recv buffers having been consistently + sized, which avoids the additional reduction. + \*---------------------------------------------------------------------------*/ #include "Pstream.H" @@ -37,23 +52,82 @@ namespace Foam namespace PstreamDetail { -//- Setup sends and receives, each specified as [rank, span] tuple -// The serial list of tuples can be populated from other lists, from maps -// of data or subsets of lists/maps etc. +//- Number of elements corresponding to max byte transfer. +// Normal upper limit is INT_MAX since MPI sizes are limited to <int>. +template<class Type> +inline std::size_t maxTransferCount +( + const std::size_t max_bytes = std::size_t(0) +) noexcept +{ + return + ( + (max_bytes == 0) // ie, unlimited + ? (std::size_t(0)) // + : (max_bytes > std::size_t(INT_MAX)) // MPI limit is <int> + ? (std::size_t(INT_MAX) / sizeof(Type)) // + : (max_bytes > sizeof(Type)) // require an integral number + ? (max_bytes / sizeof(Type)) // + : (std::size_t(1)) // min of one element + ); +} + + +//- Upper limit on number of transfer bytes. +// Max bytes is normally INT_MAX since MPI sizes are limited to <int>. +// Negative values indicate a subtraction from INT_MAX. +inline std::size_t maxTransferBytes(const int64_t max_bytes) noexcept +{ + return + ( + (max_bytes < 0) // (numBytes fewer than INT_MAX) + ? std::size_t(INT_MAX + max_bytes) + : std::size_t(max_bytes) + ); +} + + +//- Exchange of \em contiguous data, with or without chunking. +//- Setup sends and receives, each specified as [rank, span] tuple. +// The serial list of tuples can be populated from other lists, from +// maps of data or subsets of lists/maps etc. +// +// Any waiting for requests is done outside by the caller template<class Type> -void exchangeBuf +void exchangeBuffers ( const UList<std::pair<int, stdFoam::span<const Type>>>& sends, const UList<std::pair<int, stdFoam::span<Type>>>& recvs, - const int tag, const label comm, - const bool wait + const int64_t maxComms_bytes = UPstream::maxCommsSize ) { - const label startOfRequests = UPstream::nRequests(); + typedef stdFoam::span<const Type> sendType; + typedef stdFoam::span<Type> recvType; + + // Caller already checked for parRun + + if (sends.empty() && recvs.empty()) + { + // Nothing to do + return; + } + const int myProci = UPstream::myProcNo(comm); + + // The chunk size (number of elements) corresponding to max byte transfer. + // Is zero for non-chunked exchanges. + const std::size_t chunkSize + ( + PstreamDetail::maxTransferCount<Type> + ( + PstreamDetail::maxTransferBytes(maxComms_bytes) + ) + ); + + // Set up receives // ~~~~~~~~~~~~~~~ @@ -63,8 +137,14 @@ void exchangeBuf const auto proci = slot.first; auto& payload = slot.second; - if (proci != myProci && !payload.empty()) + // No self-communication or zero-size payload + if (proci == myProci || payload.empty()) + { + continue; + } + else if (!chunkSize) { + // Dispatch without chunks UIPstream::read ( UPstream::commsTypes::nonBlocking, @@ -74,212 +154,124 @@ void exchangeBuf tag, comm ); + continue; } - } - // Set up sends - // ~~~~~~~~~~~~ + // Dispatch chunk-wise until there is nothing left + for (int iter = 0; /*true*/; ++iter) + { + // The begin/end for the data window + const std::size_t beg = (std::size_t(iter)*chunkSize); + const std::size_t end = (std::size_t(iter+1)*chunkSize); - for (const auto& slot : sends) - { - // [rank, span] - const auto proci = slot.first; - const auto& payload = slot.second; + // The message tag augmented by the iteration number + // - avoids message collisions between different chunks + const int msgTagChunk = (tag + iter); - if (proci != myProci && !payload.empty()) - { - if - ( - !UOPstream::write - ( - UPstream::commsTypes::nonBlocking, - proci, - payload.cdata_bytes(), - payload.size_bytes(), - tag, - comm - ) - ) + if (payload.size() <= beg) { - FatalErrorInFunction - << "Cannot send outgoing message to:" - << proci << " nBytes:" - << label(payload.size_bytes()) - << Foam::abort(FatalError); + // No more data windows + break; } - } - } - // Wait for all to finish - // ~~~~~~~~~~~~~~~~~~~~~~ + recvType window + ( + (end < payload.size()) + ? payload.subspan(beg, end - beg) + : payload.subspan(beg) + ); - if (wait) - { - UPstream::waitRequests(startOfRequests); + UIPstream::read + ( + UPstream::commsTypes::nonBlocking, + proci, + window.data_bytes(), + window.size_bytes(), + msgTagChunk, + comm + ); + } } -} -//- Chunked exchange of \em contiguous data. -//- Setup sends and receives, each specified as [rank, span] tuple. -// The serial list of tuples can be populated from other lists, from -// maps of data or subsets of lists/maps etc. -template<class Type> -void exchangeChunkedBuf -( - const UList<std::pair<int, stdFoam::span<const Type>>>& sends, - const UList<std::pair<int, stdFoam::span<Type>>>& recvs, - - const int tag, - const label comm, - const bool wait -) -{ - typedef std::pair<int, stdFoam::span<const Type>> sendTuple; - typedef std::pair<int, stdFoam::span<Type>> recvTuple; - - // Caller already checked for parRun and maxChunkSize > 0 + // Set up sends + // ~~~~~~~~~~~~ + for (const auto& slot : sends) { - // Determine the number of chunks to send. Note that we - // only have to look at the sending data since we are - // guaranteed that some processor's sending size is some other - // processor's receive size. Also we can ignore any local comms. - // - // We need to send chunks so the number of iterations: - // maxChunkSize iterations - // ------------ ---------- - // 0 0 - // 1..maxChunkSize 1 - // maxChunkSize+1..2*maxChunkSize 2 - // ... - - const label maxChunkSize = - ( - max - ( - static_cast<label>(1), - static_cast<label>(UPstream::maxCommsSize/sizeof(Type)) - ) - ); - - const int myProci = UPstream::myProcNo(comm); + // [rank, span] + const auto proci = slot.first; + const auto& payload = slot.second; - label nChunks(0); + // No self-communication or zero-size payload + if (proci == myProci || payload.empty()) { - // Get max send count (elements) - auto maxCount = static_cast<stdFoam::span<char>::size_type>(0); - - for (const auto& slot : sends) - { - // [rank, span] - const auto proci = slot.first; - const auto count = slot.second.size(); - - if (proci != myProci && count > maxCount) - { - // Note: using max() can be ambiguous - maxCount = count; - } - } + continue; + } + else if (!chunkSize) + { + // Dispatch without chunks + bool ok = UOPstream::write + ( + UPstream::commsTypes::nonBlocking, + proci, + payload.cdata_bytes(), + payload.size_bytes(), + tag, + comm + ); - // Convert from send count (elements) to number of chunks. - // Can normally calculate with (count-1), but add some safety - if (maxCount) + if (!ok) { - nChunks = 1 + label(maxCount/maxChunkSize); + FatalErrorInFunction + << "Failure sending message to:" << proci + << " nBytes:" << label(payload.size_bytes()) << nl + << Foam::abort(FatalError); } - - // MPI reduce (message tag is irrelevant) - reduce(nChunks, maxOp<label>(), UPstream::msgType(), comm); + continue; } - - // Dispatch the exchanges chunk-wise - List<sendTuple> sendChunks(sends); - List<recvTuple> recvChunks(recvs); - - // Dispatch - for (label iter = 0; iter < nChunks; ++iter) + // Dispatch chunk-wise until there is nothing left + for (int iter = 0; /*true*/; ++iter) { // The begin/end for the data window - const auto beg = static_cast<std::size_t>(iter*maxChunkSize); - const auto end = static_cast<std::size_t>((iter+1)*maxChunkSize); + const std::size_t beg = (std::size_t(iter)*chunkSize); + const std::size_t end = (std::size_t(iter+1)*chunkSize); - forAll(sendChunks, sloti) - { - const auto& baseline = sends[sloti].second; - auto& payload = sendChunks[sloti].second; - - // Window the data - if (beg < baseline.size()) - { - payload = - ( - (end < baseline.size()) - ? baseline.subspan(beg, end - beg) - : baseline.subspan(beg) - ); - } - else - { - payload = baseline.first(0); // zero-sized - } - } + // The message tag augmented by the iteration number + // - avoids message collisions between different chunks + const int msgTagChunk = (tag + iter); - forAll(recvChunks, sloti) + if (payload.size() <= beg) { - const auto& baseline = recvs[sloti].second; - auto& payload = recvChunks[sloti].second; - - // Window the data - if (beg < baseline.size()) - { - payload = - ( - (end < baseline.size()) - ? baseline.subspan(beg, end - beg) - : baseline.subspan(beg) - ); - } - else - { - payload = baseline.first(0); // zero-sized - } + // No more data windows + break; } + sendType window + ( + (end < payload.size()) + ? payload.subspan(beg, end - beg) + : payload.subspan(beg) + ); - // Exchange data chunks - PstreamDetail::exchangeBuf<Type> + bool ok = UOPstream::write ( - sendChunks, - recvChunks, - tag, - comm, - wait + UPstream::commsTypes::nonBlocking, + proci, + window.cdata_bytes(), + window.size_bytes(), + msgTagChunk, + comm ); - // Debugging output - can report on master only... - #if 0 // ifdef Foam_PstreamExchange_debug_chunks - do + if (!ok) { - labelList sendStarts(sends.size()); - labelList sendCounts(sends.size()); - - forAll(sendChunks, sloti) - { - const auto& baseline = sends[sloti].second; - const auto& payload = sendChunks[sloti].second; - - sendStarts[sloti] = (payload.data() - baseline.data()); - sendCounts[sloti] = (payload.size()); - } - - Info<< "iter " << iter - << ": beg=" << flatOutput(sendStarts) - << " len=" << flatOutput(sendCounts) << endl; - } while (false); - #endif + FatalErrorInFunction + << "Failure sending message to:" << proci + << " nBytes:" << label(window.size_bytes()) << nl + << Foam::abort(FatalError); + } } } } @@ -298,30 +290,99 @@ void exchangeContainer UList<Container>& recvBufs, const int tag, const label comm, - const bool wait //!< Wait for requests to complete + const bool wait, //!< Wait for requests to complete + const int64_t maxComms_bytes = UPstream::maxCommsSize ) { + typedef stdFoam::span<const Type> sendType; + typedef stdFoam::span<Type> recvType; + + // Caller already checked for parRun + + if (sendBufs.empty() && recvBufs.empty()) + { + // Nothing to do + return; + } + const label startOfRequests = UPstream::nRequests(); - const label myProci = UPstream::myProcNo(comm); + const int myProci = UPstream::myProcNo(comm); + + // The chunk size (number of elements) corresponding to max byte transfer + const std::size_t chunkSize + ( + PstreamDetail::maxTransferCount<Type> + ( + PstreamDetail::maxTransferBytes(maxComms_bytes) + ) + ); + // Set up receives // ~~~~~~~~~~~~~~~ forAll(recvBufs, proci) { - auto& recvData = recvBufs[proci]; + // [rank, span] + recvType payload + ( + recvBufs[proci].data(), + std::size_t(recvBufs[proci].size()) + ); - if (proci != myProci && !recvData.empty()) + // No self-communication or zero-size payload + if (proci == myProci || payload.empty()) { + continue; + } + else if (!chunkSize) + { + // Dispatch without chunks UIPstream::read ( UPstream::commsTypes::nonBlocking, proci, - recvData.data_bytes(), - recvData.size_bytes(), + payload.data_bytes(), + payload.size_bytes(), tag, comm ); + continue; + } + + // Dispatch chunk-wise until there is nothing left + for (int iter = 0; /*true*/; ++iter) + { + // The begin/end for the data window + const std::size_t beg = (std::size_t(iter)*chunkSize); + const std::size_t end = (std::size_t(iter+1)*chunkSize); + + // The message tag augmented by the iteration number + // - avoids message collisions between different chunks + const int msgTagChunk = (tag + iter); + + if (payload.size() <= beg) + { + // No more data windows + break; + } + + recvType window + ( + (end < payload.size()) + ? payload.subspan(beg, end - beg) + : payload.subspan(beg) + ); + + UIPstream::read + ( + UPstream::commsTypes::nonBlocking, + proci, + window.data_bytes(), + window.size_bytes(), + msgTagChunk, + comm + ); } } @@ -331,35 +392,96 @@ void exchangeContainer forAll(sendBufs, proci) { - const auto& sendData = sendBufs[proci]; + // [rank, span] + sendType payload + ( + sendBufs[proci].cdata(), + std::size_t(sendBufs[proci].size()) + ); + + // No self-communication or zero-size payload + if (proci == myProci || payload.empty()) + { + continue; + } + else if (!chunkSize) + { + // Dispatch without chunks + bool ok = UOPstream::write + ( + UPstream::commsTypes::nonBlocking, + proci, + payload.cdata_bytes(), + payload.size_bytes(), + tag, + comm + ); - if (proci != myProci && !sendData.empty()) + if (!ok) + { + FatalErrorInFunction + << "Fallure sending message to:" << proci + << " nBytes:" << label(payload.size_bytes()) << nl + << Foam::abort(FatalError); + } + continue; + } + + // Dispatch chunk-wise until there is nothing left + for (int iter = 0; /*true*/; ++iter) { - if + // The begin/end for the data window + const std::size_t beg = (std::size_t(iter)*chunkSize); + const std::size_t end = (std::size_t(iter+1)*chunkSize); + + // The message tag augmented by the iteration number + // - avoids message collisions between different chunks + const int msgTagChunk = (tag + iter); + + if (payload.size() <= beg) + { + // No more data windows + break; + } + + sendType window + ( + (end < payload.size()) + ? payload.subspan(beg, end - beg) + : payload.subspan(beg) + ); + + bool ok = UOPstream::write ( - !UOPstream::write - ( - UPstream::commsTypes::nonBlocking, - proci, - sendData.cdata_bytes(), - sendData.size_bytes(), - tag, - comm - ) - ) + UPstream::commsTypes::nonBlocking, + proci, + window.cdata_bytes(), + window.size_bytes(), + msgTagChunk, + comm + ); + + if (!ok) { FatalErrorInFunction - << "Cannot send outgoing message. " - << "to:" << proci << " nBytes:" - << label(sendData.size_bytes()) + << "Failure sending message to:" << proci + << " nBytes:" << label(window.size_bytes()) << nl << Foam::abort(FatalError); } } } + // Wait for all to finish // ~~~~~~~~~~~~~~~~~~~~~~ + if (UPstream::debug) + { + Perr<< "Pstream::exchange with " + << (UPstream::nRequests() - startOfRequests) + << " requests" << nl; + } + if (wait) { UPstream::waitRequests(startOfRequests); @@ -380,70 +502,111 @@ void exchangeContainer Map<Container>& recvBufs, const int tag, const label comm, - const bool wait //!< Wait for requests to complete + const bool wait, //!< Wait for requests to complete + const int64_t maxComms_bytes = UPstream::maxCommsSize ) { + typedef stdFoam::span<const Type> sendType; + typedef stdFoam::span<Type> recvType; + + typedef std::pair<int, sendType> sendTuple; + typedef std::pair<int, recvType> recvTuple; + const label startOfRequests = UPstream::nRequests(); const label myProci = UPstream::myProcNo(comm); - // Set up receives - // ~~~~~~~~~~~~~~~ - - forAllIters(recvBufs, iter) + // Serialize recv sequences + DynamicList<recvTuple> recvs(recvBufs.size()); { - const label proci = iter.key(); - auto& recvData = iter.val(); - - if (proci != myProci && !recvData.empty()) + forAllIters(recvBufs, iter) { - UIPstream::read + const auto proci = iter.key(); + auto& recvData = recvBufs[proci]; + + recvType payload ( - UPstream::commsTypes::nonBlocking, - proci, - recvData.data_bytes(), - recvData.size_bytes(), - tag, - comm + recvData.data(), + std::size_t(recvData.size()) ); + + // No self-communication or zero-size payload + if (proci != myProci && !payload.empty()) + { + recvs.emplace_back(proci, payload); + } } - } + std::sort + ( + recvs.begin(), + recvs.end(), + [=](const recvTuple& a, const recvTuple& b) + { + // Sorted processor order + return (a.first < b.first); - // Set up sends - // ~~~~~~~~~~~~ + // OR: // Shorter messages first + // return (a.second.size() < b.second.size()); + } + ); + } - forAllConstIters(sendBufs, iter) + // Serialize send sequences + DynamicList<sendTuple> sends(sendBufs.size()); { - const label proci = iter.key(); - const auto& sendData = iter.val(); - - if (proci != myProci && !sendData.empty()) + forAllConstIters(sendBufs, iter) { - if + const auto proci = iter.key(); + const auto& sendData = iter.val(); + + sendType payload ( - !UOPstream::write - ( - UPstream::commsTypes::nonBlocking, - proci, - sendData.cdata_bytes(), - sendData.size_bytes(), - tag, - comm - ) - ) + sendData.cdata(), + std::size_t(sendData.size()) + ); + + // No self-communication or zero-size payload + if (proci != myProci && !payload.empty()) { - FatalErrorInFunction - << "Cannot send outgoing message to:" - << proci << " nBytes:" - << label(sendData.size_bytes()) - << Foam::abort(FatalError); + sends.emplace_back(proci, payload); } } + + std::sort + ( + sends.begin(), + sends.end(), + [=](const sendTuple& a, const sendTuple& b) + { + // Sorted processor order + return (a.first < b.first); + + // OR: // Shorter messages first + // return (a.second.size() < b.second.size()); + } + ); } + // Exchange buffers in chunk-wise transfers + PstreamDetail::exchangeBuffers<Type> + ( + sends, + recvs, + tag, + comm, + maxComms_bytes + ); + // Wait for all to finish // ~~~~~~~~~~~~~~~~~~~~~~ + if (UPstream::debug) + { + Perr<< "Pstream::exchange with " + << (UPstream::nRequests() - startOfRequests) + << " requests" << nl; + } + if (wait) { UPstream::waitRequests(startOfRequests); @@ -476,17 +639,17 @@ void Foam::Pstream::exchange } const label myProci = UPstream::myProcNo(comm); - const label numProcs = UPstream::nProcs(comm); + const label numProc = UPstream::nProcs(comm); - if (sendBufs.size() != numProcs) + if (sendBufs.size() != numProc) { FatalErrorInFunction - << "Size of list " << sendBufs.size() - << " does not equal the number of processors " << numProcs + << "List size " << sendBufs.size() + << " != number of ranks " << numProc << nl << Foam::abort(FatalError); } - recvBufs.resize_nocopy(numProcs); + recvBufs.resize_nocopy(numProc); if (UPstream::is_parallel(comm)) { @@ -505,72 +668,15 @@ void Foam::Pstream::exchange } } - typedef std::pair<int, stdFoam::span<const Type>> sendTuple; - typedef std::pair<int, stdFoam::span<Type>> recvTuple; - - if (UPstream::maxCommsSize <= 0) - { - // Do the exchanging in one go - PstreamDetail::exchangeContainer<Container, Type> - ( - sendBufs, - recvBufs, - tag, - comm, - wait - ); - } - else - { - // Dispatch using chunk-wise exchanges - // Populate send sequence - DynamicList<sendTuple> sends(sendBufs.size()); - forAll(sendBufs, proci) - { - const auto& sendData = sendBufs[proci]; - - if (proci != myProci && !sendData.empty()) - { - sends.push_back - ( - sendTuple - ( - proci, - { sendData.cdata(), std::size_t(sendData.size()) } - ) - ); - } - } - - // Populate recv sequence - DynamicList<recvTuple> recvs(recvBufs.size()); - forAll(recvBufs, proci) - { - auto& recvData = recvBufs[proci]; - - if (proci != myProci && !recvData.empty()) - { - recvs.push_back - ( - recvTuple - ( - proci, - { recvData.data(), std::size_t(recvData.size()) } - ) - ); - } - } - - // Exchange buffers in chunks - PstreamDetail::exchangeChunkedBuf<Type> - ( - sends, - recvs, - tag, - comm, - wait - ); - } + PstreamDetail::exchangeContainer<Container, Type> + ( + sendBufs, + recvBufs, + tag, + comm, + wait + // (default: UPstream::maxCommsSize) + ); } // Do myself. Already checked if in communicator @@ -617,100 +723,15 @@ void Foam::Pstream::exchange } } - // Define the exchange sequences as a flattened list. - // We add an additional step of ordering the send/recv list - // by message size, which can help with transfer speeds. - - typedef std::pair<int, stdFoam::span<const Type>> sendTuple; - typedef std::pair<int, stdFoam::span<Type>> recvTuple; - - // Populate send sequences - DynamicList<sendTuple> sends(sendBufs.size()); - forAllConstIters(sendBufs, iter) - { - const auto proci = iter.key(); - const auto& sendData = iter.val(); - - if (proci != myProci && !sendData.empty()) - { - sends.push_back - ( - sendTuple - ( - proci, - { sendData.cdata(), std::size_t(sendData.size()) } - ) - ); - } - } - - // Shorter messages first - std::sort + PstreamDetail::exchangeContainer<Container, Type> ( - sends.begin(), - sends.end(), - [=](const sendTuple& a, const sendTuple& b) - { - return (a.second.size() < b.second.size()); - } + sendBufs, + recvBufs, + tag, + comm, + wait + // (default: UPstream::maxCommsSize) ); - - // Populate recv sequences - DynamicList<recvTuple> recvs(recvBufs.size()); - forAllIters(recvBufs, iter) - { - const auto proci = iter.key(); - auto& recvData = recvBufs[proci]; - - if (proci != myProci && !recvData.empty()) - { - recvs.push_back - ( - recvTuple - ( - proci, - { recvData.data(), std::size_t(recvData.size()) } - ) - ); - } - } - - // Shorter messages first - std::sort - ( - recvs.begin(), - recvs.end(), - [=](const recvTuple& a, const recvTuple& b) - { - return (a.second.size() < b.second.size()); - } - ); - - - if (UPstream::maxCommsSize <= 0) - { - // Do the exchanging in a single go - PstreamDetail::exchangeBuf<Type> - ( - sends, - recvs, - tag, - comm, - wait - ); - } - else - { - // Exchange buffers in chunks - PstreamDetail::exchangeChunkedBuf<Type> - ( - sends, - recvs, - tag, - comm, - wait - ); - } } // Do myself (if actually in the communicator) @@ -758,23 +779,23 @@ void Foam::Pstream::exchangeSizes } const label myProci = UPstream::myProcNo(comm); - const label numProcs = UPstream::nProcs(comm); + const label numProc = UPstream::nProcs(comm); - if (sendBufs.size() != numProcs) + if (sendBufs.size() != numProc) { FatalErrorInFunction - << "Size of container " << sendBufs.size() - << " does not equal the number of processors " << numProcs + << "Container size " << sendBufs.size() + << " != number of ranks " << numProc << nl << Foam::abort(FatalError); } - labelList sendSizes(numProcs); - for (label proci = 0; proci < numProcs; ++proci) + labelList sendSizes(numProc); + for (label proci = 0; proci < numProc; ++proci) { sendSizes[proci] = sendBufs[proci].size(); } - recvSizes.resize_nocopy(numProcs); + recvSizes.resize_nocopy(numProc); recvSizes = 0; // Ensure non-received entries are properly zeroed // Preserve self-send, even if not described by neighbourhood @@ -856,7 +877,6 @@ void Foam::Pstream::exchangeSizes const label comm ) { - Map<label> sendSizes(2*sendBufs.size()); recvSizes.clear(); // Done in allToAllConsensus too, but be explicit here if (!UPstream::is_rank(comm)) @@ -864,6 +884,9 @@ void Foam::Pstream::exchangeSizes return; // Process not in communicator } + Map<label> sendSizes; + sendSizes.reserve(sendBufs.size()); + forAllConstIters(sendBufs, iter) { const label proci = iter.key(); @@ -899,17 +922,17 @@ void Foam::Pstream::exchangeSizes return; // Process not in communicator } - const label numProcs = UPstream::nProcs(comm); + const label numProc = UPstream::nProcs(comm); - if (sendBufs.size() != numProcs) + if (sendBufs.size() != numProc) { FatalErrorInFunction - << "Size of container " << sendBufs.size() - << " does not equal the number of processors " << numProcs + << "Container size " << sendBufs.size() + << " != number of ranks " << numProc << nl << Foam::abort(FatalError); } - labelList sendSizes(numProcs); + labelList sendSizes(numProc); forAll(sendBufs, proci) { sendSizes[proci] = sendBufs[proci].size(); @@ -919,7 +942,7 @@ void Foam::Pstream::exchangeSizes if ( UPstream::nProcsNonblockingExchange > 1 - && UPstream::nProcsNonblockingExchange <= numProcs + && UPstream::nProcsNonblockingExchange <= numProc ) { // Use algorithm NBX: Nonblocking Consensus Exchange @@ -955,9 +978,17 @@ void Foam::Pstream::exchange // non-zero sendcounts. Post all sends and wait. labelList recvSizes; - exchangeSizes(sendBufs, recvSizes, comm); + Pstream::exchangeSizes(sendBufs, recvSizes, comm); - exchange<Container, Type>(sendBufs, recvSizes, recvBufs, tag, comm, wait); + Pstream::exchange<Container, Type> + ( + sendBufs, + recvSizes, + recvBufs, + tag, + comm, + wait + ); } @@ -975,9 +1006,17 @@ void Foam::Pstream::exchange // but using nonblocking consensus exchange for the sizes Map<label> recvSizes; - exchangeSizes(sendBufs, recvSizes, tag, comm); + Pstream::exchangeSizes(sendBufs, recvSizes, tag, comm); - exchange<Container, Type>(sendBufs, recvSizes, recvBufs, tag, comm, wait); + Pstream::exchange<Container, Type> + ( + sendBufs, + recvSizes, + recvBufs, + tag, + comm, + wait + ); } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchangeConsensus.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchangeConsensus.C index de7ce5fa424..b26b1be61d1 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchangeConsensus.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamExchangeConsensus.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -82,7 +82,7 @@ void exchangeConsensus { buf.clear(); } - recvSizes = Zero; + recvSizes = Foam::zero{}; if (!UPstream::is_rank(comm)) { @@ -109,7 +109,7 @@ void exchangeConsensus recvBufs[myProci] = sendBufs[myProci]; if (myProci < recvSizes.size()) { - recvSizes[myProci] = recvBufs.size(); + recvSizes[myProci] = recvBufs[myProci].size(); } } @@ -175,7 +175,7 @@ void exchangeConsensus for (bool barrier_active = false, done = false; !done; /*nil*/) { - std::pair<int, int> probed = + std::pair<int, int64_t> probed = UPstream::probeMessage ( UPstream::commsTypes::nonBlocking, @@ -189,8 +189,8 @@ void exchangeConsensus // Message found and had size. // - receive into dest buffer location - const label proci = probed.first; - const label count = (probed.second / sizeof(Type)); + const label proci(probed.first); + const label count(probed.second / sizeof(Type)); auto& recvData = recvBufs[proci]; recvData.resize(count); // OK with resize() instead of _nocopy() @@ -254,10 +254,10 @@ void exchangeConsensus { static_assert(is_contiguous<Type>::value, "Contiguous data only!"); - // TDB: const bool initialBarrier = (UPstream::tuning_NBX_ > 0); + const bool initialBarrier = (UPstream::tuning_NBX_ > 0); const label myProci = UPstream::myProcNo(comm); - const label numProc = UPstream::myProcNo(comm); + const label numProc = UPstream::nProcs(comm); // Initial: clear all receive locations // Preferrable to clear out the map entries instead of the map itself @@ -300,7 +300,12 @@ void exchangeConsensus // Setup sends // ------------------------------------------------------------------------ - // TDB: initialBarrier ... + // An initial barrier may help to avoid synchronisation problems + // caused elsewhere + if (initialBarrier) + { + UPstream::barrier(comm); + } // Algorithm NBX: Nonblocking consensus with Map (HashTable) containers @@ -347,7 +352,7 @@ void exchangeConsensus for (bool barrier_active = false, done = false; !done; /*nil*/) { - std::pair<int, int> probed = + std::pair<int, int64_t> probed = UPstream::probeMessage ( UPstream::commsTypes::nonBlocking, @@ -361,8 +366,8 @@ void exchangeConsensus // Message found and had size. // - receive into dest buffer location - const label proci = probed.first; - const label count = (probed.second / sizeof(Type)); + const label proci(probed.first); + const label count(probed.second / sizeof(Type)); auto& recvData = recvBufs(proci); recvData.resize(count); // OK with resize() instead of _nocopy() diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H index ee446347708..089d7b6e828 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H @@ -565,14 +565,14 @@ public: //- Probe for an incoming message. // - // \param commsType Blocking or not + // \param commsType Non-blocking or not // \param fromProcNo The source rank (negative == ANY_SOURCE) // \param tag The source message tag // \param communicator The communicator index // // \returns source rank and message size (bytes) // and (-1, 0) on failure - static std::pair<int,int> probeMessage + static std::pair<int,int64_t> probeMessage ( const UPstream::commsTypes commsType, const int fromProcNo, diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index 05934efede7..557d4614a5a 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -2049,6 +2049,8 @@ void Foam::argList::parse Info<< "Pstream initialized with:" << nl << " floatTransfer : " << Switch::name(UPstream::floatTransfer) << nl + << " maxCommsSize : " + << UPstream::maxCommsSize << nl << " nProcsSimpleSum : " << UPstream::nProcsSimpleSum << nl << " nonBlockingExchange: " diff --git a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperationBroadcast.C b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperationBroadcast.C index f45eedbbd03..454df5ffd2f 100644 --- a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperationBroadcast.C +++ b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperationBroadcast.C @@ -146,15 +146,17 @@ static void broadcastFile_single const uint64_t maxChunkSize = ( - UPstream::maxCommsSize > 0 + (UPstream::maxCommsSize > 0) ? uint64_t(UPstream::maxCommsSize) - : uint64_t(pTraits<int>::max) + : (UPstream::maxCommsSize < 0) // (numBytes fewer than INT_MAX) + ? uint64_t(INT_MAX + UPstream::maxCommsSize) + : uint64_t(INT_MAX) // MPI limit is <int> ); while (fileLength > 0) { - const uint64_t sendSize = min(fileLength, maxChunkSize); + const uint64_t sendSize = std::min(fileLength, maxChunkSize); fileLength -= sendSize; // Read file contents into a character buffer diff --git a/src/Pstream/dummy/UPstream.C b/src/Pstream/dummy/UPstream.C index 573c0944696..c935914db63 100644 --- a/src/Pstream/dummy/UPstream.C +++ b/src/Pstream/dummy/UPstream.C @@ -91,7 +91,7 @@ void Foam::UPstream::barrier(const label communicator, UPstream::Request* req) {} -std::pair<int,int> +std::pair<int,int64_t> Foam::UPstream::probeMessage ( const UPstream::commsTypes commsType, @@ -100,7 +100,7 @@ Foam::UPstream::probeMessage const label communicator ) { - return std::pair<int,int>(-1, 0); + return std::pair<int,int64_t>(-1, 0); } diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C index b3771d7d1ed..5314d8027af 100644 --- a/src/Pstream/mpi/UPstream.C +++ b/src/Pstream/mpi/UPstream.C @@ -766,7 +766,7 @@ void Foam::UPstream::barrier(const label communicator, UPstream::Request* req) } -std::pair<int,int> +std::pair<int,int64_t> Foam::UPstream::probeMessage ( const UPstream::commsTypes commsType, @@ -775,7 +775,7 @@ Foam::UPstream::probeMessage const label communicator ) { - std::pair<int,int> result(-1, 0); + std::pair<int,int64_t> result(-1, 0); // No-op for non-parallel or not on communicator if (!UPstream::parRun() || !UPstream::is_rank(communicator)) @@ -869,7 +869,7 @@ Foam::UPstream::probeMessage result.first = status.MPI_SOURCE; - result.second = int(count); + result.second = int64_t(count); } return result; -- GitLab From a7538fab57a468e21346ea4126a1c3811ce25518 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 8 May 2024 11:20:34 +0100 Subject: [PATCH 160/231] BUG: interfaceHeight: fix header writing to output files (fixes #3115) --- src/functionObjects/field/interfaceHeight/interfaceHeight.C | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/functionObjects/field/interfaceHeight/interfaceHeight.C b/src/functionObjects/field/interfaceHeight/interfaceHeight.C index 5c0fe1998cd..655e3186008 100644 --- a/src/functionObjects/field/interfaceHeight/interfaceHeight.C +++ b/src/functionObjects/field/interfaceHeight/interfaceHeight.C @@ -242,6 +242,12 @@ Foam::functionObjects::interfaceHeight::interfaceHeight { read(dict); resetNames({"height", "position"}); + + if (Pstream::master()) + { + writeFileHeader(fileID::heightFile); + writeFileHeader(fileID::positionFile); + } } -- GitLab From eb17ff1ea36ed9b485248a3adb3fe1e0d061df16 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Sat, 18 May 2024 12:55:55 +0100 Subject: [PATCH 161/231] DOC: cyclicPeriodicAMI: bit of comment --- .../cyclicPeriodicAMIPolyPatch.H | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.H b/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.H index 00fa19cd6b4..40fce017e76 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.H +++ b/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.H @@ -29,6 +29,10 @@ Class Description Cyclic patch for periodic Arbitrary Mesh Interface (AMI) + Uses automated matching to fill all of the faces on owner and neighbour. + Can be used for translational periodic matching as well. Uses the + transforms from a specified periodic patch to transform the geometry. + SourceFiles cyclicPeriodicAMIPolyPatch.C @@ -59,7 +63,9 @@ private: // Private data - //- Current number of transformations (+ve forward, -ve backward) + //- Current number of transformations (+ve forward, -ve backward). + //- Used internally to stores the last state that gave a starting + //- match. Speeds up the automatic matching. mutable label nTransforms_; //- Number of sectors in a rotationally periodic geometry (optional) -- GitLab From 45ec64e6c8e1726247ef050d16a4985ae6d5e341 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 20 May 2024 12:17:04 +0100 Subject: [PATCH 162/231] BUG: STL: cannot handle files > 2Gb. Fixes #3171 --- src/fileFormats/stl/STLCore.C | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/fileFormats/stl/STLCore.C b/src/fileFormats/stl/STLCore.C index 69749a70ff1..7e0c2d0ee12 100644 --- a/src/fileFormats/stl/STLCore.C +++ b/src/fileFormats/stl/STLCore.C @@ -135,8 +135,9 @@ int Foam::fileFormats::STLCore::detectBinaryHeader bad = ( - nTris < int(dataFileSize - STLHeaderSize)/50 - || nTris > int(dataFileSize - STLHeaderSize)/25 + dataFileSize < STLHeaderSize + || nTris < (dataFileSize - STLHeaderSize)/50 + || nTris > (dataFileSize - STLHeaderSize)/25 ); } @@ -208,8 +209,9 @@ Foam::fileFormats::STLCore::readBinaryHeader bad = ( - nTris < int(dataFileSize - STLHeaderSize)/50 - || nTris > int(dataFileSize - STLHeaderSize)/25 + dataFileSize < STLHeaderSize + || nTris < (dataFileSize - STLHeaderSize)/50 + || nTris > (dataFileSize - STLHeaderSize)/25 ); } -- GitLab From 03fb8f043eebf9b4dac225ea69cc4e544866776b Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 22 May 2024 12:37:32 +0100 Subject: [PATCH 163/231] ENH: cyclicAMI: restart search with large bounding box. Fixes #3175 --- .../advancingFrontAMI/advancingFrontAMI.C | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMI.C b/src/meshTools/AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMI.C index fc7344e0e23..5d7e4573ec2 100644 --- a/src/meshTools/AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMI.C +++ b/src/meshTools/AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMI.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -335,9 +335,15 @@ Foam::label Foam::advancingFrontAMI::findTargetFace const point srcPt = srcFacePti == -1 ? bb.centre() : srcPts[srcFace[srcFacePti]]; - const pointIndexHit sample = + pointIndexHit sample = treePtr_->findNearest(srcPt, 0.25*bb.magSqr(), fnOp); + if (!sample.hit()) + { + // Fall-back for extreme cases. Should only occur sparsely + sample = treePtr_->findNearest(srcPt, Foam::sqr(GREAT), fnOp); + } + if (sample.hit() && isCandidate(srcFacei, sample.index())) { targetFacei = sample.index(); -- GitLab From 1ad1957c411b8144640c2c56a063f6ecb47dfa16 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 22 May 2024 18:02:28 +0100 Subject: [PATCH 164/231] ENH: GAMG: bit more testing of procAgglom+cyclicAMI --- .../implicitAMI-nonblocking/Allrun | 14 +++++++++++ .../system/controlDict | 2 +- .../system/decomposeParDict.random | 25 +++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict.random diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/Allrun b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/Allrun index db26364b0e5..5ca111a201a 100755 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/Allrun +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/Allrun @@ -11,4 +11,18 @@ runApplication decomposePar runParallel $(getApplication) -debug-switch GAMGAgglomeration + +# Try again with random decomposition. Needs a few more cells to create +# proper agglomeration - otherwise processorAgglomerator complains + +decompDict="-decomposeParDict system/decomposeParDict.random" + +runApplication -s random \ + decomposePar -force $decompDict + +runParallel -s random refineMesh -overwrite $decompDict + +runParallel -s random \ + $(getApplication) $decompDict -debug-switch GAMGAgglomeration + #------------------------------------------------------------------------------ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/controlDict b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/controlDict index 78a1986794e..cbe479735b4 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/controlDict +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/controlDict @@ -17,7 +17,7 @@ FoamFile application laplacianFoam; -startFrom latestTime; +startFrom startTime; //latestTime; startTime 0; diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict.random b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict.random new file mode 100644 index 00000000000..84e695a03f4 --- /dev/null +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict.random @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//- The total number of domains (mandatory) +numberOfSubdomains 4; + +//- The decomposition method (mandatory) +method random; + +// NOTE: no patch constraints! + +// ************************************************************************* // -- GitLab From 8d649d1737e8a528a9ee296622a8bf7e47fae31f Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 21 May 2024 17:17:52 +0200 Subject: [PATCH 165/231] FIX: additional shell quoting for foamInstallationTest (fixes #3163) - the PATH on WSL will usually contain spaces, so it needs quoting --- bin/foamInstallationTest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/foamInstallationTest b/bin/foamInstallationTest index 3949b094374..8adaabd6b8d 100755 --- a/bin/foamInstallationTest +++ b/bin/foamInstallationTest @@ -210,7 +210,7 @@ reportExecutable() { APP_NAME="$1" APP_SPEC="$2" - APP_PATH="$(findExec $PATH $1)" + APP_PATH="$(findExec "$PATH" "$1")" VERSION="unknown" if [ -z "$APP_PATH" ] -- GitLab From 3f1d181b42e1abddd8e252968808f067962ec38d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 13 May 2024 12:31:57 +0200 Subject: [PATCH 166/231] COMP: provide GeometricFieldFwd.H for internal/boundary/full field - simplifies forward declarations --- .../GeometricField/GeometricFieldFwd.H | 64 +++++++++++++++++++ .../pointFields/pointFieldsFwd.H | 37 +++++------ .../fields/areaFields/areaFieldsFwd.H | 37 ++++++----- .../fields/edgeFields/edgeFieldsFwd.H | 28 +++++--- .../surfaceFields/slicedSurfaceFieldsFwd.H | 27 +++----- .../fields/surfaceFields/surfaceFieldsFwd.H | 28 +++++--- .../fields/volFields/slicedVolFieldsFwd.H | 15 +++-- .../fields/volFields/volFieldsFwd.H | 36 ++++++----- .../fields/volume/polyMeshFieldsFwd.H | 23 +++++-- .../adjoint/global/boundaryFieldsFwd.H | 4 +- .../polySurface/fields/polySurfaceFieldsFwd.H | 36 +++++++---- src/surfMesh/surfMesh/fields/surfFieldsFwd.H | 36 +++++++---- .../triSurface/fields/triSurfaceFieldsFwd.H | 36 +++++++---- 13 files changed, 271 insertions(+), 136 deletions(-) create mode 100644 src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFwd.H diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFwd.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFwd.H new file mode 100644 index 00000000000..b62f469d4ec --- /dev/null +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFwd.H @@ -0,0 +1,64 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Description + Forward declarations related to GeometricField etc. + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_GeometricFieldFwd_H +#define Foam_GeometricFieldFwd_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Forward Declarations + + +// Geometric internal field +template<class Type, class GeoMesh> +class DimensionedField; + +// Geometric boundary field +template<class Type, template<class> class PatchField, class GeoMesh> +class GeometricBoundaryField; + +// Geometric field (internal + boundary) +template<class Type, template<class> class PatchField, class GeoMesh> +class GeometricField; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/OpenFOAM/fields/GeometricFields/pointFields/pointFieldsFwd.H b/src/OpenFOAM/fields/GeometricFields/pointFields/pointFieldsFwd.H index 7384c3c5407..5cfb8513863 100644 --- a/src/OpenFOAM/fields/GeometricFields/pointFields/pointFieldsFwd.H +++ b/src/OpenFOAM/fields/GeometricFields/pointFields/pointFieldsFwd.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -39,24 +39,13 @@ SourceFiles #define Foam_pointFieldsFwd_H #include "fieldTypes.H" +#include "GeometricFieldFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -// Geometric internal field -template<class Type, class GeoMesh> class DimensionedField; - -// Geometric boundary field -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricBoundaryField; - -// Geometric field (internal + boundary) -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricField; - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Forward Declarations @@ -80,13 +69,25 @@ using PointInternalField = DimensionedField<Type, pointMesh>; // Typedefs -typedef GeometricField<scalar, pointPatchField, pointMesh> pointScalarField; -typedef GeometricField<vector, pointPatchField, pointMesh> pointVectorField; -typedef GeometricField<sphericalTensor, pointPatchField, pointMesh> +typedef + GeometricField<scalar, pointPatchField, pointMesh> + pointScalarField; + +typedef + GeometricField<vector, pointPatchField, pointMesh> + pointVectorField; + +typedef + GeometricField<sphericalTensor, pointPatchField, pointMesh> pointSphericalTensorField; -typedef GeometricField<symmTensor, pointPatchField, pointMesh> + +typedef + GeometricField<symmTensor, pointPatchField, pointMesh> pointSymmTensorField; -typedef GeometricField<tensor, pointPatchField, pointMesh> pointTensorField; + +typedef + GeometricField<tensor, pointPatchField, pointMesh> + pointTensorField; /*---------------------------------------------------------------------------*\ diff --git a/src/finiteArea/fields/areaFields/areaFieldsFwd.H b/src/finiteArea/fields/areaFields/areaFieldsFwd.H index 202298c2d3b..382bb0bba95 100644 --- a/src/finiteArea/fields/areaFields/areaFieldsFwd.H +++ b/src/finiteArea/fields/areaFields/areaFieldsFwd.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016-2017 Wikki Ltd - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,23 +36,13 @@ SourceFiles #define Foam_areaFieldsFwd_H #include "fieldTypes.H" +#include "GeometricFieldFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -// Geometric internal field -template<class Type, class GeoMesh> class DimensionedField; - -// Geometric boundary field -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricBoundaryField; - -// Geometric field (internal + boundary) -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricField; - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Forward Declarations @@ -75,12 +65,25 @@ using AreaInternalField = DimensionedField<Type, areaMesh>; // Typedefs -typedef GeometricField<scalar, faPatchField, areaMesh> areaScalarField; -typedef GeometricField<vector, faPatchField, areaMesh> areaVectorField; -typedef GeometricField<sphericalTensor, faPatchField, areaMesh> +typedef + GeometricField<scalar, faPatchField, areaMesh> + areaScalarField; + +typedef + GeometricField<vector, faPatchField, areaMesh> + areaVectorField; + +typedef + GeometricField<sphericalTensor, faPatchField, areaMesh> areaSphericalTensorField; -typedef GeometricField<symmTensor, faPatchField, areaMesh> areaSymmTensorField; -typedef GeometricField<tensor, faPatchField, areaMesh> areaTensorField; + +typedef + GeometricField<symmTensor, faPatchField, areaMesh> + areaSymmTensorField; + +typedef + GeometricField<tensor, faPatchField, areaMesh> + areaTensorField; /*---------------------------------------------------------------------------*\ diff --git a/src/finiteArea/fields/edgeFields/edgeFieldsFwd.H b/src/finiteArea/fields/edgeFields/edgeFieldsFwd.H index e8ead27a34b..d0bdec0e250 100644 --- a/src/finiteArea/fields/edgeFields/edgeFieldsFwd.H +++ b/src/finiteArea/fields/edgeFields/edgeFieldsFwd.H @@ -35,16 +35,13 @@ Description #define Foam_edgeFieldsFwd_H #include "fieldTypes.H" +#include "GeometricFieldFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -// Geometric field (internal + boundary) -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricField; - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Forward Declarations @@ -60,12 +57,25 @@ template<class Type> class faePatchField; // Typedefs -typedef GeometricField<scalar, faePatchField, edgeMesh> edgeScalarField; -typedef GeometricField<vector, faePatchField, edgeMesh> edgeVectorField; -typedef GeometricField<sphericalTensor, faePatchField, edgeMesh> +typedef + GeometricField<scalar, faePatchField, edgeMesh> + edgeScalarField; + +typedef + GeometricField<vector, faePatchField, edgeMesh> + edgeVectorField; + +typedef + GeometricField<sphericalTensor, faePatchField, edgeMesh> edgeSphericalTensorField; -typedef GeometricField<symmTensor, faePatchField, edgeMesh> edgeSymmTensorField; -typedef GeometricField<tensor, faePatchField, edgeMesh> edgeTensorField; + +typedef + GeometricField<symmTensor, faePatchField, edgeMesh> + edgeSymmTensorField; + +typedef + GeometricField<tensor, faePatchField, edgeMesh> + edgeTensorField; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteVolume/fields/surfaceFields/slicedSurfaceFieldsFwd.H b/src/finiteVolume/fields/surfaceFields/slicedSurfaceFieldsFwd.H index 9434756da85..dfeb3bf6c37 100644 --- a/src/finiteVolume/fields/surfaceFields/slicedSurfaceFieldsFwd.H +++ b/src/finiteVolume/fields/surfaceFields/slicedSurfaceFieldsFwd.H @@ -66,35 +66,28 @@ SlicedGeometricField<Type, fvsPatchField, slicedFvsPatchField, surfaceMesh>; // Typedefs typedef -SlicedGeometricField<scalar, fvsPatchField, slicedFvsPatchField, surfaceMesh> + SlicedGeometricField + <scalar, fvsPatchField, slicedFvsPatchField, surfaceMesh> slicedSurfaceScalarField; typedef -SlicedGeometricField<vector, fvsPatchField, slicedFvsPatchField, surfaceMesh> + SlicedGeometricField + <vector, fvsPatchField, slicedFvsPatchField, surfaceMesh> slicedSurfaceVectorField; typedef -SlicedGeometricField -< - sphericalTensor, - fvsPatchField, - slicedFvsPatchField, - surfaceMesh -> + SlicedGeometricField + <sphericalTensor, fvsPatchField, slicedFvsPatchField, surfaceMesh> slicedSurfaceSphericalTensorField; typedef -SlicedGeometricField -< - symmTensor, - fvsPatchField, - slicedFvsPatchField, - surfaceMesh -> + SlicedGeometricField + <symmTensor, fvsPatchField, slicedFvsPatchField, surfaceMesh> slicedSurfaceSymmTensorField; typedef -SlicedGeometricField<tensor, fvsPatchField, slicedFvsPatchField, surfaceMesh> + SlicedGeometricField + <tensor, fvsPatchField, slicedFvsPatchField, surfaceMesh> slicedSurfaceTensorField; diff --git a/src/finiteVolume/fields/surfaceFields/surfaceFieldsFwd.H b/src/finiteVolume/fields/surfaceFields/surfaceFieldsFwd.H index 1a1dd8a3530..d0caef925e3 100644 --- a/src/finiteVolume/fields/surfaceFields/surfaceFieldsFwd.H +++ b/src/finiteVolume/fields/surfaceFields/surfaceFieldsFwd.H @@ -38,17 +38,13 @@ SourceFiles #define Foam_surfaceFieldsFwd_H #include "fieldTypes.H" +#include "GeometricFieldFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -// Geometric field (internal + boundary) -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricField; - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Forward Declarations @@ -63,13 +59,25 @@ using SurfaceField = GeometricField<Type, fvsPatchField, surfaceMesh>; // Typedefs -typedef GeometricField<scalar, fvsPatchField, surfaceMesh> surfaceScalarField; -typedef GeometricField<vector, fvsPatchField, surfaceMesh> surfaceVectorField; -typedef GeometricField<sphericalTensor, fvsPatchField, surfaceMesh> +typedef + GeometricField<scalar, fvsPatchField, surfaceMesh> + surfaceScalarField; + +typedef + GeometricField<vector, fvsPatchField, surfaceMesh> + surfaceVectorField; + +typedef + GeometricField<sphericalTensor, fvsPatchField, surfaceMesh> surfaceSphericalTensorField; -typedef GeometricField<symmTensor, fvsPatchField, surfaceMesh> + +typedef + GeometricField<symmTensor, fvsPatchField, surfaceMesh> surfaceSymmTensorField; -typedef GeometricField<tensor, fvsPatchField, surfaceMesh> surfaceTensorField; + +typedef + GeometricField<tensor, fvsPatchField, surfaceMesh> + surfaceTensorField; /*---------------------------------------------------------------------------*\ diff --git a/src/finiteVolume/fields/volFields/slicedVolFieldsFwd.H b/src/finiteVolume/fields/volFields/slicedVolFieldsFwd.H index 95e766c0478..b7f6eb962d5 100644 --- a/src/finiteVolume/fields/volFields/slicedVolFieldsFwd.H +++ b/src/finiteVolume/fields/volFields/slicedVolFieldsFwd.H @@ -65,23 +65,28 @@ SlicedGeometricField<Type, fvPatchField, slicedFvPatchField, volMesh>; // Typedefs typedef -SlicedGeometricField<scalar, fvPatchField, slicedFvPatchField, volMesh> + SlicedGeometricField + <scalar, fvPatchField, slicedFvPatchField, volMesh> slicedVolScalarField; typedef -SlicedGeometricField<vector, fvPatchField, slicedFvPatchField, volMesh> + SlicedGeometricField + <vector, fvPatchField, slicedFvPatchField, volMesh> slicedVolVectorField; typedef -SlicedGeometricField<sphericalTensor, fvPatchField, slicedFvPatchField, volMesh> + SlicedGeometricField + <sphericalTensor, fvPatchField, slicedFvPatchField, volMesh> slicedVolSphericalTensorField; typedef -SlicedGeometricField<symmTensor, fvPatchField, slicedFvPatchField, volMesh> + SlicedGeometricField + <symmTensor, fvPatchField, slicedFvPatchField, volMesh> slicedVolSymmTensorField; typedef -SlicedGeometricField<tensor, fvPatchField, slicedFvPatchField, volMesh> + SlicedGeometricField + <tensor, fvPatchField, slicedFvPatchField, volMesh> slicedVolTensorField; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteVolume/fields/volFields/volFieldsFwd.H b/src/finiteVolume/fields/volFields/volFieldsFwd.H index e4daf9f73b8..32bb8d658ee 100644 --- a/src/finiteVolume/fields/volFields/volFieldsFwd.H +++ b/src/finiteVolume/fields/volFields/volFieldsFwd.H @@ -36,24 +36,13 @@ SourceFiles #define Foam_volFieldsFwd_H #include "fieldTypes.H" +#include "GeometricFieldFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -// Geometric internal field -template<class Type, class GeoMesh> class DimensionedField; - -// Geometric boundary field -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricBoundaryField; - -// Geometric field (internal + boundary) -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricField; - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Forward Declarations @@ -76,12 +65,25 @@ using VolumeInternalField = DimensionedField<Type, volMesh>; // Typedefs -typedef GeometricField<scalar, fvPatchField, volMesh> volScalarField; -typedef GeometricField<vector, fvPatchField, volMesh> volVectorField; -typedef GeometricField<sphericalTensor, fvPatchField, volMesh> +typedef + GeometricField<scalar, fvPatchField, volMesh> + volScalarField; + +typedef + GeometricField<vector, fvPatchField, volMesh> + volVectorField; + +typedef + GeometricField<sphericalTensor, fvPatchField, volMesh> volSphericalTensorField; -typedef GeometricField<symmTensor, fvPatchField, volMesh> volSymmTensorField; -typedef GeometricField<tensor, fvPatchField, volMesh> volTensorField; + +typedef + GeometricField<symmTensor, fvPatchField, volMesh> + volSymmTensorField; + +typedef + GeometricField<tensor, fvPatchField, volMesh> + volTensorField; /*---------------------------------------------------------------------------*\ diff --git a/src/meshTools/fields/volume/polyMeshFieldsFwd.H b/src/meshTools/fields/volume/polyMeshFieldsFwd.H index 448e43e0c9b..1438b531ad6 100644 --- a/src/meshTools/fields/volume/polyMeshFieldsFwd.H +++ b/src/meshTools/fields/volume/polyMeshFieldsFwd.H @@ -42,12 +42,25 @@ template<class Type, class GeoMesh> class DimensionedField; class polyGeoMesh; -typedef DimensionedField<scalar, polyGeoMesh> polyMeshScalarField; -typedef DimensionedField<vector, polyGeoMesh> polyMeshVectorField; -typedef DimensionedField<sphericalTensor, polyGeoMesh> +typedef + DimensionedField<scalar, polyGeoMesh> + polyMeshScalarField; + +typedef + DimensionedField<vector, polyGeoMesh> + polyMeshVectorField; + +typedef + DimensionedField<sphericalTensor, polyGeoMesh> polyMeshSphericalTensorField; -typedef DimensionedField<symmTensor, polyGeoMesh> polyMeshSymmTensorField; -typedef DimensionedField<tensor, polyGeoMesh> polyMeshTensorField; + +typedef + DimensionedField<symmTensor, polyGeoMesh> + polyMeshSymmTensorField; + +typedef + DimensionedField<tensor, polyGeoMesh> + polyMeshTensorField; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/optimisation/adjointOptimisation/adjoint/global/boundaryFieldsFwd.H b/src/optimisation/adjointOptimisation/adjoint/global/boundaryFieldsFwd.H index 0b1feeb72fc..c2a4f36d407 100644 --- a/src/optimisation/adjointOptimisation/adjoint/global/boundaryFieldsFwd.H +++ b/src/optimisation/adjointOptimisation/adjoint/global/boundaryFieldsFwd.H @@ -36,8 +36,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef boundaryFieldsFwd_H -#define boundaryFieldsFwd_H +#ifndef Foam_boundaryFieldsFwd_H +#define Foam_boundaryFieldsFwd_H #include "fieldTypes.H" #include "volFields.H" diff --git a/src/surfMesh/polySurface/fields/polySurfaceFieldsFwd.H b/src/surfMesh/polySurface/fields/polySurfaceFieldsFwd.H index 8bf25faa3ab..6492e9cf980 100644 --- a/src/surfMesh/polySurface/fields/polySurfaceFieldsFwd.H +++ b/src/surfMesh/polySurface/fields/polySurfaceFieldsFwd.H @@ -49,22 +49,28 @@ using PolyFaceField = DimensionedField<Type, polySurfaceGeoMesh>; // Typedefs -typedef DimensionedField<label, polySurfaceGeoMesh> +typedef + DimensionedField<label, polySurfaceGeoMesh> polySurfaceLabelField; -typedef Foam::DimensionedField<scalar, polySurfaceGeoMesh> +typedef + DimensionedField<scalar, polySurfaceGeoMesh> polySurfaceScalarField; -typedef Foam::DimensionedField<vector, polySurfaceGeoMesh> +typedef + DimensionedField<vector, polySurfaceGeoMesh> polySurfaceVectorField; -typedef Foam::DimensionedField<sphericalTensor, polySurfaceGeoMesh> +typedef + DimensionedField<sphericalTensor, polySurfaceGeoMesh> polySurfaceSphericalTensorField; -typedef Foam::DimensionedField<symmTensor, polySurfaceGeoMesh> +typedef + DimensionedField<symmTensor, polySurfaceGeoMesh> polySurfaceSymmTensorField; -typedef Foam::DimensionedField<tensor, polySurfaceGeoMesh> +typedef + DimensionedField<tensor, polySurfaceGeoMesh> polySurfaceTensorField; @@ -79,22 +85,28 @@ using PolyPointField = DimensionedField<Type, polySurfacePointGeoMesh>; // Typedefs -typedef Foam::DimensionedField<label, polySurfacePointGeoMesh> +typedef + DimensionedField<label, polySurfacePointGeoMesh> polySurfacePointLabelField; -typedef Foam::DimensionedField<scalar, polySurfacePointGeoMesh> +typedef + DimensionedField<scalar, polySurfacePointGeoMesh> polySurfacePointScalarField; -typedef Foam::DimensionedField<vector, polySurfacePointGeoMesh> +typedef + DimensionedField<vector, polySurfacePointGeoMesh> polySurfacePointVectorField; -typedef Foam::DimensionedField<sphericalTensor, polySurfacePointGeoMesh> +typedef + DimensionedField<sphericalTensor, polySurfacePointGeoMesh> polySurfacePointSphericalTensorField; -typedef Foam::DimensionedField<symmTensor, polySurfacePointGeoMesh> +typedef + DimensionedField<symmTensor, polySurfacePointGeoMesh> polySurfacePointSymmTensorField; -typedef Foam::DimensionedField<tensor, polySurfacePointGeoMesh> +typedef + DimensionedField<tensor, polySurfacePointGeoMesh> polySurfacePointTensorField; diff --git a/src/surfMesh/surfMesh/fields/surfFieldsFwd.H b/src/surfMesh/surfMesh/fields/surfFieldsFwd.H index 6d0da8f573a..dccb1d346bf 100644 --- a/src/surfMesh/surfMesh/fields/surfFieldsFwd.H +++ b/src/surfMesh/surfMesh/fields/surfFieldsFwd.H @@ -45,22 +45,28 @@ template<class Type, class GeoMesh> class DimensionedField; class surfGeoMesh; // Typedefs -typedef DimensionedField<label, surfGeoMesh> +typedef + DimensionedField<label, surfGeoMesh> surfLabelField; -typedef DimensionedField<scalar, surfGeoMesh> +typedef + DimensionedField<scalar, surfGeoMesh> surfScalarField; -typedef DimensionedField<vector, surfGeoMesh> +typedef + DimensionedField<vector, surfGeoMesh> surfVectorField; -typedef DimensionedField<sphericalTensor, surfGeoMesh> +typedef + DimensionedField<sphericalTensor, surfGeoMesh> surfSphericalTensorField; -typedef DimensionedField<symmTensor, surfGeoMesh> +typedef + DimensionedField<symmTensor, surfGeoMesh> surfSymmTensorField; -typedef DimensionedField<tensor, surfGeoMesh> +typedef + DimensionedField<tensor, surfGeoMesh> surfTensorField; @@ -70,22 +76,28 @@ typedef DimensionedField<tensor, surfGeoMesh> class surfPointGeoMesh; // Typedefs -typedef DimensionedField<label, surfPointGeoMesh> +typedef + DimensionedField<label, surfPointGeoMesh> surfPointLabelField; -typedef DimensionedField<scalar, surfPointGeoMesh> +typedef + DimensionedField<scalar, surfPointGeoMesh> surfPointScalarField; -typedef DimensionedField<vector, surfPointGeoMesh> +typedef + DimensionedField<vector, surfPointGeoMesh> surfPointVectorField; -typedef DimensionedField<sphericalTensor, surfPointGeoMesh> +typedef + DimensionedField<sphericalTensor, surfPointGeoMesh> surfPointSphericalTensorField; -typedef DimensionedField<symmTensor, surfPointGeoMesh> +typedef + DimensionedField<symmTensor, surfPointGeoMesh> surfPointSymmTensorField; -typedef DimensionedField<tensor, surfPointGeoMesh> +typedef + DimensionedField<tensor, surfPointGeoMesh> surfPointTensorField; diff --git a/src/surfMesh/triSurface/fields/triSurfaceFieldsFwd.H b/src/surfMesh/triSurface/fields/triSurfaceFieldsFwd.H index 8cc9387ab20..b4bf8fee019 100644 --- a/src/surfMesh/triSurface/fields/triSurfaceFieldsFwd.H +++ b/src/surfMesh/triSurface/fields/triSurfaceFieldsFwd.H @@ -45,22 +45,28 @@ template<class Type, class GeoMesh> class DimensionedField; class triSurfaceGeoMesh; // Typedefs -typedef Foam::DimensionedField<label, triSurfaceGeoMesh> +typedef + DimensionedField<label, triSurfaceGeoMesh> triSurfaceLabelField; -typedef Foam::DimensionedField<scalar, triSurfaceGeoMesh> +typedef + DimensionedField<scalar, triSurfaceGeoMesh> triSurfaceScalarField; -typedef Foam::DimensionedField<vector, triSurfaceGeoMesh> +typedef + DimensionedField<vector, triSurfaceGeoMesh> triSurfaceVectorField; -typedef Foam::DimensionedField<sphericalTensor, triSurfaceGeoMesh> +typedef + DimensionedField<sphericalTensor, triSurfaceGeoMesh> triSurfaceSphericalTensorField; -typedef Foam::DimensionedField<symmTensor, triSurfaceGeoMesh> +typedef + DimensionedField<symmTensor, triSurfaceGeoMesh> triSurfaceSymmTensorField; -typedef Foam::DimensionedField<tensor, triSurfaceGeoMesh> +typedef + DimensionedField<tensor, triSurfaceGeoMesh> triSurfaceTensorField; @@ -69,22 +75,28 @@ typedef Foam::DimensionedField<tensor, triSurfaceGeoMesh> class triSurfacePointGeoMesh; -typedef Foam::DimensionedField<label, triSurfacePointGeoMesh> +typedef + DimensionedField<label, triSurfacePointGeoMesh> triSurfacePointLabelField; -typedef Foam::DimensionedField<scalar, triSurfacePointGeoMesh> +typedef + DimensionedField<scalar, triSurfacePointGeoMesh> triSurfacePointScalarField; -typedef Foam::DimensionedField<vector, triSurfacePointGeoMesh> +typedef + DimensionedField<vector, triSurfacePointGeoMesh> triSurfacePointVectorField; -typedef Foam::DimensionedField<sphericalTensor, triSurfacePointGeoMesh> +typedef + DimensionedField<sphericalTensor, triSurfacePointGeoMesh> triSurfacePointSphericalTensorField; -typedef Foam::DimensionedField<symmTensor, triSurfacePointGeoMesh> +typedef + DimensionedField<symmTensor, triSurfacePointGeoMesh> triSurfacePointSymmTensorField; -typedef Foam::DimensionedField<tensor, triSurfacePointGeoMesh> +typedef + DimensionedField<tensor, triSurfacePointGeoMesh> triSurfacePointTensorField; -- GitLab From 6a80d4de400da755f44fd95189af6aa45c5551dd Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 23 May 2024 09:55:06 +0200 Subject: [PATCH 167/231] ENH: reduce boundary face queries in streamFunction BUG: streamFunction used uninitialized values for symmetry patches - related to 8a8b5db977c3 changes (#3144) ENH: improve robustness of surface field flattening - vtk::surfaceFieldWriter --- .../output/ensightOutputVolFieldTemplates.C | 36 +- .../vtk/output/foamVtkSurfaceFieldWriter.C | 31 +- .../vtk/output/foamVtkSurfaceFieldWriter.H | 8 +- .../volPointInterpolate.C | 38 +- .../field/streamFunction/streamFunction.C | 332 ++++++++++-------- 5 files changed, 227 insertions(+), 218 deletions(-) diff --git a/src/conversion/ensight/output/ensightOutputVolFieldTemplates.C b/src/conversion/ensight/output/ensightOutputVolFieldTemplates.C index b940f11d23b..0a2cb59146e 100644 --- a/src/conversion/ensight/output/ensightOutputVolFieldTemplates.C +++ b/src/conversion/ensight/output/ensightOutputVolFieldTemplates.C @@ -49,7 +49,7 @@ bool Foam::ensightOutput::writeVolField bool parallel = Pstream::parRun(); const fvMesh& mesh = vf.mesh(); - const polyBoundaryMesh& bmesh = mesh.boundaryMesh(); + const polyBoundaryMesh& pbm = mesh.boundaryMesh(); const Map<ensightCells>& cellZoneParts = ensMesh.cellZoneParts(); const Map<ensightFaces>& faceZoneParts = ensMesh.faceZoneParts(); @@ -69,13 +69,13 @@ bool Foam::ensightOutput::writeVolField { const ensightFaces& part = boundaryParts[patchId]; - if (patchId < 0 || patchId >= bmesh.size()) + if (patchId < 0 || patchId >= pbm.size()) { // Future handling of combined patches? continue; } - const label patchStart = bmesh[patchId].start(); + const label patchStart = pbm[patchId].start(); // Either use a flat boundary field for all patches, // or patch-local face ids @@ -107,34 +107,28 @@ bool Foam::ensightOutput::writeVolField // Flat boundary field // similar to volPointInterpolation::flatBoundaryField() - Field<Type> flat(mesh.nBoundaryFaces(), Zero); + Field<Type> flat(pbm.nFaces(), Foam::zero{}); - const fvBoundaryMesh& bm = mesh.boundary(); forAll(vf.boundaryField(), patchi) { - const polyPatch& pp = bm[patchi].patch(); - const auto& bf = vf.boundaryField()[patchi]; + const polyPatch& pp = pbm[patchi]; + const auto& pfld = vf.boundaryField()[patchi]; - if (isA<processorFvPatch>(bm[patchi])) + // Note: restrict transcribing to actual size of the patch field + // - handles "empty" patch type etc. + + SubList<Type> slice(flat, pfld.size(), pp.offset()); + + if (isA<processorPolyPatch>(pp)) { // Use average value for processor faces // own cell value = patchInternalField // nei cell value = evaluated boundary values - SubList<Type> - ( - flat, - bf.size(), - pp.offset() - ) = (0.5 * (bf.patchInternalField() + bf)); + slice = (0.5 * (pfld.patchInternalField() + pfld)); } - else if (!isA<emptyFvPatch>(bm[patchi])) + else if (!isA<emptyPolyPatch>(pp)) { - SubList<Type> - ( - flat, - bf.size(), - pp.offset() - ) = bf; + slice = pfld; } } diff --git a/src/conversion/vtk/output/foamVtkSurfaceFieldWriter.C b/src/conversion/vtk/output/foamVtkSurfaceFieldWriter.C index 8bb1a1ee49e..c6494bd880d 100644 --- a/src/conversion/vtk/output/foamVtkSurfaceFieldWriter.C +++ b/src/conversion/vtk/output/foamVtkSurfaceFieldWriter.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,35 +26,40 @@ License \*---------------------------------------------------------------------------*/ #include "foamVtkSurfaceFieldWriter.H" -#include "emptyFvsPatchFields.H" #include "fvsPatchFields.H" #include "surfaceFields.H" -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // -Foam::List<Foam::vector> Foam::vtk::surfaceFieldWriter::flattenBoundary +namespace Foam +{ + +// Flatten boundary field values into a contiguous list +template<class Type> +static List<Type> flattenBoundary ( - const surfaceVectorField& field -) const + const GeometricField<Type, fvsPatchField, surfaceMesh>& field +) { - // Boundary field - flatten + const polyBoundaryMesh& pbm = field.mesh().boundaryMesh(); - List<vector> flat(mesh_.nBoundaryFaces(), Zero); + List<Type> flat(pbm.nFaces(), Foam::zero{}); forAll(field.boundaryField(), patchi) { - const polyPatch& pp = mesh_.boundaryMesh()[patchi]; + const polyPatch& pp = pbm[patchi]; const auto& pfld = field.boundaryField()[patchi]; - if (!isA<emptyFvsPatchVectorField>(pfld)) - { - SubList<vector>(flat, pp.size(), pp.offset()) = pfld; - } + // Note: restrict transcribing to actual size of the patch field + // - handles "empty" patch type etc. + SubList<Type>(flat, pfld.size(), pp.offset()) = pfld; } return flat; } +} // End namespace Foam + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // diff --git a/src/conversion/vtk/output/foamVtkSurfaceFieldWriter.H b/src/conversion/vtk/output/foamVtkSurfaceFieldWriter.H index 1dc5ca1c6d7..420fb0fca6d 100644 --- a/src/conversion/vtk/output/foamVtkSurfaceFieldWriter.H +++ b/src/conversion/vtk/output/foamVtkSurfaceFieldWriter.H @@ -82,11 +82,9 @@ class surfaceFieldWriter label numberOfPoints_; - // Private Member Functions - - //- Flatten boundary field values into a contiguous list - List<vector> flattenBoundary(const surfaceVectorField& field) const; +public: + // Generated Methods //- No copy construct surfaceFieldWriter(const surfaceFieldWriter&) = delete; @@ -95,8 +93,6 @@ class surfaceFieldWriter void operator=(const surfaceFieldWriter&) = delete; -public: - // Constructors //- Construct from mesh (default format INLINE_BASE64) diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C index fac2318f22d..3ef984cf4d7 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C @@ -224,42 +224,34 @@ void Foam::volPointInterpolation::interpolateDimensionedInternalField template<class Type> -Foam::tmp<Foam::Field<Type>> Foam::volPointInterpolation::flatBoundaryField +Foam::tmp<Foam::Field<Type>> +Foam::volPointInterpolation::flatBoundaryField ( const GeometricField<Type, fvPatchField, volMesh>& vf ) const { - const fvMesh& mesh = vf.mesh(); - const fvBoundaryMesh& bm = mesh.boundary(); + const polyBoundaryMesh& pbm = vf.mesh().boundaryMesh(); - auto tboundaryVals = tmp<Field<Type>>::New(mesh.nBoundaryFaces()); - auto& boundaryVals = tboundaryVals.ref(); + auto tboundaryVals = tmp<Field<Type>>::New(pbm.nFaces(), Foam::zero{}); + auto& values = tboundaryVals.ref(); forAll(vf.boundaryField(), patchi) { - label bFacei = bm[patchi].patch().start() - mesh.nInternalFaces(); + const auto& pp = pbm[patchi]; + const auto& pfld = vf.boundaryField()[patchi]; + + // Note: restrict transcribing to actual size of the patch field + // - handles "empty" patch type etc. + + SubList<Type> slice(values, pfld.size(), pp.offset()); if ( - !isA<emptyFvPatch>(bm[patchi]) - && !vf.boundaryField()[patchi].coupled() + !isA<emptyPolyPatch>(pp) + && !pfld.coupled() ) { - SubList<Type> - ( - boundaryVals, - vf.boundaryField()[patchi].size(), - bFacei - ) = vf.boundaryField()[patchi]; - } - else - { - const polyPatch& pp = bm[patchi].patch(); - - forAll(pp, i) - { - boundaryVals[bFacei++] = Zero; - } + slice = pfld; } } diff --git a/src/functionObjects/field/streamFunction/streamFunction.C b/src/functionObjects/field/streamFunction/streamFunction.C index 741efa28d4a..9380b1591d0 100644 --- a/src/functionObjects/field/streamFunction/streamFunction.C +++ b/src/functionObjects/field/streamFunction/streamFunction.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016 OpenFOAM Foundation - Copyright (C) 2019-2023 OpenCFD Ltd. + Copyright (C) 2019-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -77,9 +77,10 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc pMesh, dimensionedScalar(phi.dimensions(), Zero) ); - pointScalarField& streamFunction = tstreamFunction.ref(); + auto& streamFunction = tstreamFunction.ref(); - labelList visitedPoint(mesh_.nPoints(), Zero); + + bitSet visitedPoint(mesh_.nPoints()); label nVisited = 0; label nVisitedOld = 0; @@ -87,10 +88,10 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc const faceUList& faces = mesh_.faces(); const pointField& points = mesh_.points(); - label nInternalFaces = mesh_.nInternalFaces(); + const label nInternalFaces = mesh_.nInternalFaces(); vectorField unitAreas(mesh_.faceAreas()); - unitAreas /= mag(unitAreas); + unitAreas.normalise(); const polyPatchList& patches = mesh_.boundaryMesh(); @@ -104,44 +105,57 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc { found = false; + // Check boundary faces first forAll(patches, patchi) { - const primitivePatch& bouFaces = patches[patchi]; + const auto& pp = patches[patchi]; + const auto& patchPhi = phi.boundaryField()[patchi]; + + // Skip empty, symmetry patches etc + if + ( + patchPhi.empty() + || isType<emptyPolyPatch>(pp) + || isType<symmetryPlanePolyPatch>(pp) + || isType<symmetryPolyPatch>(pp) + || isType<wedgePolyPatch>(pp) + ) + { + continue; + } - if (!isType<emptyPolyPatch>(patches[patchi])) + forAll(pp, facei) { - forAll(bouFaces, facei) - { - if (magSqr(phi.boundaryField()[patchi][facei]) < SMALL) - { - const labelList& zeroPoints = bouFaces[facei]; + const auto& f = pp[facei]; - // Zero flux face found - found = true; + if (magSqr(patchPhi[facei]) < SMALL) + { + // Zero flux face found + found = true; - forAll(zeroPoints, pointi) + for (const label pointi : f) + { + if (visitedPoint.test(pointi)) { - if (visitedPoint[zeroPoints[pointi]] == 1) - { - found = false; - break; - } + found = false; + break; } + } - if (found) - { - Log << " Zero face: patch: " << patchi - << " face: " << facei << endl; + if (found) + { + Log << " Zero face: patch: " << patchi + << " face: " << facei << endl; - forAll(zeroPoints, pointi) - { - streamFunction[zeroPoints[pointi]] = 0; - visitedPoint[zeroPoints[pointi]] = 1; - nVisited++; - } + for (const label pointi : f) + { + visitedPoint.set(pointi); + ++nVisited; - break; + streamFunction[pointi] = 0; } + + break; } } } @@ -152,20 +166,17 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc if (!found) { Log << " Zero flux boundary face not found. " - << "Using cell as a reference." - << endl; - - const cellList& c = mesh_.cells(); + << "Using cell as a reference." << endl; - forAll(c, ci) + for (const cell& c : mesh_.cells()) { - labelList zeroPoints = c[ci].labels(mesh_.faces()); + labelList zeroPoints = c.labels(mesh_.faces()); bool found = true; - forAll(zeroPoints, pointi) + for (const label pointi : zeroPoints) { - if (visitedPoint[zeroPoints[pointi]] == 1) + if (visitedPoint.test(pointi)) { found = false; break; @@ -174,11 +185,12 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc if (found) { - forAll(zeroPoints, pointi) + for (const label pointi : zeroPoints) { - streamFunction[zeroPoints[pointi]] = 0.0; - visitedPoint[zeroPoints[pointi]] = 1; - nVisited++; + visitedPoint.set(pointi); + ++nVisited; + + streamFunction[pointi] = 0; } break; @@ -201,132 +213,136 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc { finished = true; - for (label facei = nInternalFaces; facei<faces.size(); facei++) - { - const labelList& curBPoints = faces[facei]; - bool bPointFound = false; + scalar currentStreamValue(0); + point currentStreamPoint(Zero); - scalar currentBStream = 0.0; - vector currentBStreamPoint(0, 0, 0); + // Boundary faces first + forAll(patches, patchi) + { + const auto& pp = patches[patchi]; + const auto& patchPhi = phi.boundaryField()[patchi]; + + // Skip empty, symmetry patches etc + if + ( + patchPhi.empty() + || isType<emptyPolyPatch>(pp) + || isType<symmetryPlanePolyPatch>(pp) + || isType<symmetryPolyPatch>(pp) + || isType<wedgePolyPatch>(pp) + ) + { + continue; + } - forAll(curBPoints, pointi) + forAll(pp, facei) { + const auto& f = pp[facei]; + // Check if the point has been visited - if (visitedPoint[curBPoints[pointi]] == 1) + bool pointFound = false; + + for (const label pointi : f) { - // The point has been visited - currentBStream = streamFunction[curBPoints[pointi]]; - currentBStreamPoint = points[curBPoints[pointi]]; + if (visitedPoint.test(pointi)) + { + // The point has been visited + currentStreamValue = streamFunction[pointi]; + currentStreamPoint = points[pointi]; - bPointFound = true; + pointFound = true; + break; + } + } - break; + if (!pointFound) + { + finished = false; + continue; } - } - if (bPointFound) - { + // Sort out other points on the face - forAll(curBPoints, pointi) + for (const label pointi : f) { - // Check if the point has been visited - if (visitedPoint[curBPoints[pointi]] == 0) + // If the point has not yet been visited + if (!visitedPoint.test(pointi)) { - label patchNo = - mesh_.boundaryMesh().whichPatch(facei); - - if + vector edgeHat = ( - !isType<emptyPolyPatch>(patches[patchNo]) - && !isType<symmetryPlanePolyPatch> - (patches[patchNo]) - && !isType<symmetryPolyPatch>(patches[patchNo]) - && !isType<wedgePolyPatch>(patches[patchNo]) - ) - { - label faceNo = - mesh_.boundaryMesh()[patchNo] - .whichFace(facei); - - vector edgeHat = - points[curBPoints[pointi]] - - currentBStreamPoint; - edgeHat.replace(slabDir, 0); - edgeHat.normalise(); + points[pointi] - currentStreamPoint + ); + edgeHat.replace(slabDir, 0); + edgeHat.normalise(); - vector nHat = unitAreas[facei]; + const vector& nHat = unitAreas[facei]; - if (edgeHat.y() > VSMALL) - { - visitedPoint[curBPoints[pointi]] = 1; - nVisited++; - - streamFunction[curBPoints[pointi]] = - currentBStream - + phi.boundaryField()[patchNo][faceNo] - *sign(nHat.x()); - } - else if (edgeHat.y() < -VSMALL) + if (edgeHat.y() > VSMALL) + { + visitedPoint.set(pointi); + ++nVisited; + + streamFunction[pointi] = + ( + currentStreamValue + + patchPhi[facei]*sign(nHat.x()) + ); + } + else if (edgeHat.y() < -VSMALL) + { + visitedPoint.set(pointi); + ++nVisited; + + streamFunction[pointi] = + ( + currentStreamValue + - patchPhi[facei]*sign(nHat.x()) + ); + } + else + { + if (edgeHat.x() > VSMALL) { - visitedPoint[curBPoints[pointi]] = 1; - nVisited++; - - streamFunction[curBPoints[pointi]] = - currentBStream - - phi.boundaryField()[patchNo][faceNo] - *sign(nHat.x()); + visitedPoint.set(pointi); + ++nVisited; + + streamFunction[pointi] = + ( + currentStreamValue + + patchPhi[facei]*sign(nHat.y()) + ); } - else + else if (edgeHat.x() < -VSMALL) { - if (edgeHat.x() > VSMALL) - { - visitedPoint[curBPoints[pointi]] = 1; - nVisited++; - - streamFunction[curBPoints[pointi]] = - currentBStream - + phi.boundaryField()[patchNo][faceNo] - *sign(nHat.y()); - } - else if (edgeHat.x() < -VSMALL) - { - visitedPoint[curBPoints[pointi]] = 1; - nVisited++; - - streamFunction[curBPoints[pointi]] = - currentBStream - - phi.boundaryField()[patchNo][faceNo] - *sign(nHat.y()); - } + visitedPoint.set(pointi); + ++nVisited; + + streamFunction[pointi] = + ( + currentStreamValue + - patchPhi[facei]*sign(nHat.y()) + ); } } } } } - else - { - finished = false; - } } - for (label facei=0; facei<nInternalFaces; facei++) + // Internal faces next + for (label facei = 0; facei < nInternalFaces; ++facei) { - // Get the list of point labels for the face - const labelList& curPoints = faces[facei]; + const auto& f = faces[facei]; bool pointFound = false; - scalar currentStream = 0.0; - point currentStreamPoint(0, 0, 0); - - forAll(curPoints, pointi) + for (const label pointi : f) { // Check if the point has been visited - if (visitedPoint[curPoints[pointi]] == 1) + if (visitedPoint.test(pointi)) { - // The point has been visited - currentStream = streamFunction[curPoints[pointi]]; - currentStreamPoint = points[curPoints[pointi]]; + currentStreamValue = streamFunction[pointi]; + currentStreamPoint = points[pointi]; pointFound = true; break; @@ -336,36 +352,42 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc if (pointFound) { // Sort out other points on the face - forAll(curPoints, pointi) + for (const label pointi : f) { - // Check if the point has been visited - if (visitedPoint[curPoints[pointi]] == 0) + // If the point has not yet been visited + if (!visitedPoint.test(pointi)) { vector edgeHat = - points[curPoints[pointi]] - currentStreamPoint; + ( + points[pointi] - currentStreamPoint + ); edgeHat.replace(slabDir, 0); edgeHat.normalise(); - vector nHat = unitAreas[facei]; + const vector& nHat = unitAreas[facei]; if (edgeHat.y() > VSMALL) { - visitedPoint[curPoints[pointi]] = 1; - nVisited++; - - streamFunction[curPoints[pointi]] = - currentStream - + phi[facei]*sign(nHat.x()); + visitedPoint.set(pointi); + ++nVisited; + + streamFunction[pointi] = + ( + currentStreamValue + + phi[facei]*sign(nHat.x()) + ); } else if (edgeHat.y() < -VSMALL) { - visitedPoint[curPoints[pointi]] = 1; - nVisited++; - - streamFunction[curPoints[pointi]] = - currentStream - - phi[facei]*sign(nHat.x()); + visitedPoint.set(pointi); + ++nVisited; + + streamFunction[pointi] = + ( + currentStreamValue + - phi[facei]*sign(nHat.x()) + ); } } } @@ -397,7 +419,7 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc const scalar thickness = vector(slabNormal) & mesh_.bounds().span(); streamFunction /= thickness; - streamFunction.boundaryFieldRef() = 0.0; + streamFunction.boundaryFieldRef() = Zero; return tstreamFunction; } -- GitLab From 3b9176665f7d08782918ba582b0dde707b213cba Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 13 May 2024 14:31:32 +0200 Subject: [PATCH 168/231] ENH: add dictionary::findStream() - symmetric with findDict() - can be used with this type of code: ITstream* streamPtr = dict.findStream(name); if (streamPtr) { auto& is = *streamPtr; ... } versus: const entry* eptr = dict.findEntry(name); if (eptr && eptr->isStream()) { auto& is = eptr->stream(); ... } ENH: add findStream(), streamPtr(), isStream() to dictionary search - symmetric with findDict(), dictPtr(), isDict() methods STYLE: use findDict() instead of found() + subDict() pairing COMP: define is_globalIOobject trait at top of IOobject header - more visibility, permits reuse for specializations etc. --- .../namedDictionary/Test-namedDictionary.C | 10 +-- .../foamDictionary/foamDictionary.C | 15 +++-- src/OpenFOAM/db/IOobject/IOobject.H | 13 ++-- src/OpenFOAM/db/dictionary/dictionary.H | 65 ++++++++++++------- src/OpenFOAM/db/dictionary/dictionaryI.H | 6 +- src/OpenFOAM/db/dictionary/entry/entry.H | 26 ++++---- src/OpenFOAM/db/dictionary/entry/entryIO.C | 2 +- .../primitiveEntry/primitiveEntry.C | 2 +- .../primitiveEntry/primitiveEntry.H | 8 +-- src/OpenFOAM/matrices/solution/solution.C | 9 +-- .../coordinate/systems/coordinateSystemNew.C | 4 +- src/conversion/common/tables/cellTable.C | 10 +-- .../blockMesh/blockMeshTools/blockMeshTools.C | 16 ++--- .../optimisationManager/optimisationManager.C | 24 +++---- .../surfaceTensionModelNew.C | 6 +- 15 files changed, 116 insertions(+), 100 deletions(-) diff --git a/applications/test/namedDictionary/Test-namedDictionary.C b/applications/test/namedDictionary/Test-namedDictionary.C index fc7e4185473..9a6b38c3d78 100644 --- a/applications/test/namedDictionary/Test-namedDictionary.C +++ b/applications/test/namedDictionary/Test-namedDictionary.C @@ -66,13 +66,13 @@ int main(int argc, char *argv[]) for (const entry& dEntry : dict) { - if (!dEntry.isStream()) + if (dEntry.isStream()) { - continue; + List<namedDictionary> list(dEntry.stream()); + + Info<< "input: " << dEntry << nl + << "list: " << list << nl; } - Info<< "input: " << dEntry << nl; - List<namedDictionary> list(dEntry.stream()); - Info<< "list: " << list << nl; } } } diff --git a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C index bff76e88fd2..35392b2ef5c 100644 --- a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C +++ b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C @@ -549,16 +549,17 @@ int main(int argc, char *argv[]) { Info<< finder.dict(); } - else if (finder.ref().isStream()) + else if (finder.isStream()) { - bool addSep = false; + bool separator = false; - const tokenList& tokens = finder.ref().stream(); - - for (const token& tok : tokens) + for (const token& tok : finder.stream()) { - if (addSep) Info<< token::SPACE; - addSep = true; + if (separator) + { + Info<< token::SPACE; + } + separator = true; Info<< tok; } Info<< endl; diff --git a/src/OpenFOAM/db/IOobject/IOobject.H b/src/OpenFOAM/db/IOobject/IOobject.H index b3452bb3823..2273848d60e 100644 --- a/src/OpenFOAM/db/IOobject/IOobject.H +++ b/src/OpenFOAM/db/IOobject/IOobject.H @@ -121,6 +121,12 @@ class IOobject; template<> Ostream& operator<<(Ostream&, const InfoProxy<IOobject>&); +// Traits + +//- Trait for specifying global vs. local IOobject file types +template<class T> +struct is_globalIOobject : std::false_type {}; + /*---------------------------------------------------------------------------*\ Class IOobject Declaration @@ -712,6 +718,8 @@ public: }; +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + //- Specialization for \c void always returns true (no headerClassName check). template<> inline bool IOobject::isHeaderClass<void>() const @@ -720,11 +728,6 @@ inline bool IOobject::isHeaderClass<void>() const } -//- Trait for specifying global vs. local file types -template<class T> -struct is_globalIOobject : std::false_type {}; - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/OpenFOAM/db/dictionary/dictionary.H b/src/OpenFOAM/db/dictionary/dictionary.H index 0f8b64394f9..e0c045b571e 100644 --- a/src/OpenFOAM/db/dictionary/dictionary.H +++ b/src/OpenFOAM/db/dictionary/dictionary.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -183,8 +183,7 @@ public: pointer eptr_; - //- Construct for the given dictionary context. - // Allow implicit conversion + //- Implicit construct for the given dictionary context Searcher(dict_pointer dict) noexcept : dict_(dict), @@ -212,6 +211,7 @@ public: bool good() const noexcept { return eptr_; } //- True if entry was found + // \deprecated(2019-01) - prefer good() method bool found() const noexcept { return eptr_; } //- The containing dictionary context @@ -229,19 +229,32 @@ public: return (eptr_ && eptr_->dictPtr()); } + //- True if found entry is a stream. + bool isStream() const noexcept + { + return (eptr_ && eptr_->streamPtr()); + } + //- Pointer to the found entry as a dictionary, nullptr otherwise dict_pointer dictPtr() const noexcept { - return eptr_ ? eptr_->dictPtr() : nullptr; + return (eptr_ ? eptr_->dictPtr() : nullptr); } - //- Reference the found entry as a dictionary. - // (Error if not found, or not a dictionary). - dict_reference dict() const + //- Pointer to the found entry as a stream, nullptr otherwise + ITstream* streamPtr() const noexcept { - return eptr_->dict(); + return (eptr_ ? eptr_->streamPtr() : nullptr); } + //- Return the found entry as a dictionary. + //- Error if not found, or not a dictionary. + dict_reference dict() const { return eptr_->dict(); } + + //- Return the found entry as a ITstream. + //- Error if not found, or not a stream. + ITstream& stream() const { return eptr_->stream(); } + //- Permit an explicit cast to the other (const/non-const) searcher explicit operator const Searcher<!Const>&() const { @@ -249,16 +262,10 @@ public: } //- A pointer to the entry (nullptr if not found) - pointer operator->() const noexcept - { - return eptr_; - } + pointer operator->() const noexcept { return eptr_; } //- A reference to the entry (Error if not found) - reference operator*() const - { - return *eptr_; - } + reference operator*() const { return *eptr_; } }; @@ -557,7 +564,7 @@ public: ) const; //- Find and return a sub-dictionary pointer if present - //- (and a sub-dictionary) otherwise return nullptr. + //- (and it is a dictionary) otherwise return nullptr. // // \param keyword the keyword to search for // \param matchOpt search mode (default: non-recursive with patterns) @@ -570,7 +577,7 @@ public: ) const; //- Find and return a sub-dictionary pointer if present - //- (and a sub-dictionary) otherwise return nullptr. + //- (and it is a dictionary) otherwise return nullptr. // // \param keyword the keyword to search for // \param matchOpt search mode (default: non-recursive with patterns) @@ -582,13 +589,14 @@ public: enum keyType::option matchOpt = keyType::REGEX ); - //- Find a sub-dictionary. + //- Find and return an entry stream if present + //- (and it is a stream) otherwise return nullptr. // // \param keyword the keyword to search for // \param matchOpt search mode (default: non-recursive with patterns) // - // \return true if the sub-dictionary was found - inline bool isDict + // \return pointer to ITstream or a nullptr + inline ITstream* findStream ( const word& keyword, enum keyType::option matchOpt = keyType::REGEX @@ -1283,7 +1291,7 @@ public: // Shortcuts - when a templated classes also inherits from a dictionary - #undef defineDictionaryGetter + #undef defineDictionaryGetter #define defineDictionaryGetter(Func, Type) \ /*! \brief Same as get\<Type\>(const word&, keyType::option) */ \ Type Func \ @@ -1307,6 +1315,18 @@ public: // Housekeeping + //- Check for existence of a sub-dictionary. + //- Generally prefer findDict() for more flexibility. + FOAM_DEPRECATED_STRICT(2024-05, "findDict()") + bool isDict + ( + const word& keyword, + enum keyType::option matchOpt = keyType::REGEX + ) const + { + return static_cast<bool>(findDict(keyword, matchOpt)); + } + //- Same as getOrDefault() template<class T> FOAM_DEPRECATED_STRICT(2019-06, "getOrDefault()") @@ -1320,7 +1340,6 @@ public: return getOrDefault<T>(keyword, deflt, matchOpt); } - //- Same as getOrAdd() template<class T> FOAM_DEPRECATED_STRICT(2019-06, "getOrAdd()") diff --git a/src/OpenFOAM/db/dictionary/dictionaryI.H b/src/OpenFOAM/db/dictionary/dictionaryI.H index 612e53acbb6..61568506a39 100644 --- a/src/OpenFOAM/db/dictionary/dictionaryI.H +++ b/src/OpenFOAM/db/dictionary/dictionaryI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -147,13 +147,13 @@ inline Foam::dictionary* Foam::dictionary::findDict } -inline bool Foam::dictionary::isDict +inline Foam::ITstream* Foam::dictionary::findStream ( const word& keyword, enum keyType::option matchOpt ) const { - return static_cast<bool>(findDict(keyword, matchOpt)); + return csearch(keyword, matchOpt).streamPtr(); } diff --git a/src/OpenFOAM/db/dictionary/entry/entry.H b/src/OpenFOAM/db/dictionary/entry/entry.H index 5846171fdb0..02742328897 100644 --- a/src/OpenFOAM/db/dictionary/entry/entry.H +++ b/src/OpenFOAM/db/dictionary/entry/entry.H @@ -214,32 +214,34 @@ public: virtual label endLineNumber() const = 0; - //- Return true if this entry is a stream - virtual bool isStream() const noexcept { return false; } + //- True if this entry is a stream + virtual bool isStream() const noexcept { return this->streamPtr(); } - //- Return pointer to token stream, if entry is a primitive entry - // Return nullptr if the entry is not a primitive entry - virtual ITstream* streamPtr() const { return nullptr; } + //- Return pointer to token stream, if it is a primitive entry, + //- otherwise return nullptr + virtual ITstream* streamPtr() const noexcept { return nullptr; } //- Return token stream, if entry is a primitive entry virtual ITstream& stream() const = 0; - //- Return true if this entry is a dictionary + //- True if this entry is a dictionary virtual bool isDict() const noexcept { return this->dictPtr(); } - //- Return pointer to dictionary, if entry is a dictionary. - // Return nullptr if the entry is not a dictionary. + //- Return pointer to dictionary, if entry is a dictionary, + //- otherwise return nullptr. virtual const dictionary* dictPtr() const noexcept { return nullptr; } - //- Return non-const pointer to dictionary, if entry is a dictionary - // Return nullptr if the entry is not a dictionary. + //- Return non-const pointer to dictionary, if entry is a dictionary, + //- otherwise return nullptr. virtual dictionary* dictPtr() noexcept { return nullptr; } - //- Return dictionary, if entry is a dictionary + //- Return dictionary, if entry is a dictionary, + //- otherwise Fatal. virtual const dictionary& dict() const = 0; - //- Return non-const access to dictionary, if entry is a dictionary + //- Return non-const access to dictionary, if entry is a dictionary, + //- otherwise Fatal. virtual dictionary& dict() = 0; diff --git a/src/OpenFOAM/db/dictionary/entry/entryIO.C b/src/OpenFOAM/db/dictionary/entry/entryIO.C index 1b5d9fab2aa..9b2d8312fca 100644 --- a/src/OpenFOAM/db/dictionary/entry/entryIO.C +++ b/src/OpenFOAM/db/dictionary/entry/entryIO.C @@ -247,7 +247,7 @@ bool Foam::entry::New if (finder.good()) { // Read as primitiveEntry - const keyType newKeyword(finder.ptr()->stream()); + const keyType newKeyword(finder.stream()); return parentDict.add ( diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C index 8c48b5161bd..7ec54d3db9e 100644 --- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C +++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C @@ -273,7 +273,7 @@ Foam::primitiveEntry::primitiveEntry // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::ITstream* Foam::primitiveEntry::streamPtr() const +Foam::ITstream* Foam::primitiveEntry::streamPtr() const noexcept { ITstream* ptr = const_cast<primitiveEntry*>(this); ptr->seek(0); diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.H b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.H index 346e849041a..082ec954549 100644 --- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.H +++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.H @@ -181,14 +181,8 @@ public: return ITstream::endLineNumber(); } - //- Return true - this entry is a stream - virtual bool isStream() const noexcept - { - return true; - } - //- Return pointer to token stream for this primitive entry - virtual ITstream* streamPtr() const; + virtual ITstream* streamPtr() const noexcept; //- Return token stream for this primitive entry virtual ITstream& stream() const; diff --git a/src/OpenFOAM/matrices/solution/solution.C b/src/OpenFOAM/matrices/solution/solution.C index 397bae49ae5..e62f9ee6057 100644 --- a/src/OpenFOAM/matrices/solution/solution.C +++ b/src/OpenFOAM/matrices/solution/solution.C @@ -241,7 +241,7 @@ Foam::label Foam::solution::upgradeSolverDict // recast primitive entries into dictionary entries for (const entry& dEntry : dict) { - if (!dEntry.isDict()) + if (dEntry.isStream()) { ITstream& is = dEntry.stream(); word name(is); @@ -256,11 +256,12 @@ Foam::label Foam::solution::upgradeSolverDict // transform primitiveEntry with settings -> dictionaryEntry for (const word& dictName : subDictNames) { - entry* eptr = subdict.findEntry(dictName, keyType::LITERAL); + ITstream* streamPtr = + subdict.findStream(dictName, keyType::LITERAL); - if (eptr && !eptr->isDict()) + if (streamPtr) { - ITstream& is = eptr->stream(); + auto& is = *streamPtr; is >> name; if (!is.eof()) diff --git a/src/OpenFOAM/primitives/coordinate/systems/coordinateSystemNew.C b/src/OpenFOAM/primitives/coordinate/systems/coordinateSystemNew.C index 3fc948b219b..c397adcc26d 100644 --- a/src/OpenFOAM/primitives/coordinate/systems/coordinateSystemNew.C +++ b/src/OpenFOAM/primitives/coordinate/systems/coordinateSystemNew.C @@ -129,9 +129,9 @@ Foam::coordinateSystem::New { dictPtr = finder.dictPtr(); } - else if (finder.good()) + else if (finder.isStream()) { - const word csName(finder.ref().stream()); + const word csName(finder.stream()); // Deprecated, unsupported syntax if (error::master()) diff --git a/src/conversion/common/tables/cellTable.C b/src/conversion/common/tables/cellTable.C index 082f8457935..ad4cf7929d2 100644 --- a/src/conversion/common/tables/cellTable.C +++ b/src/conversion/common/tables/cellTable.C @@ -522,9 +522,9 @@ void Foam::cellTable::combine(const dictionary& mapDict, labelList& tableIds) labelList mapping(identity(this->maxIndex() + 1)); bool remap = false; - forAllConstIters(mapDict, iter) + for (const entry& dEntry : mapDict) { - wordRes patterns(iter().stream()); + wordRes patterns(dEntry.stream()); // find all matches Map<word> matches; @@ -538,14 +538,14 @@ void Foam::cellTable::combine(const dictionary& mapDict, labelList& tableIds) if (matches.size()) { - label targetId = this->findIndex(iter().keyword()); + label targetId = this->findIndex(dEntry.keyword()); - Info<< "combine cellTable: " << iter().keyword(); + Info<< "combine cellTable: " << dEntry.keyword(); if (targetId < 0) { // not found - reuse 1st element but with different name targetId = min(matches.toc()); - operator[](targetId).set("Label", iter().keyword()); + operator[](targetId).set("Label", dEntry.keyword()); Info<< " = ("; } diff --git a/src/mesh/blockMesh/blockMeshTools/blockMeshTools.C b/src/mesh/blockMesh/blockMeshTools/blockMeshTools.C index 350635bc7cf..e01d1050b75 100644 --- a/src/mesh/blockMesh/blockMeshTools/blockMeshTools.C +++ b/src/mesh/blockMesh/blockMeshTools/blockMeshTools.C @@ -35,17 +35,11 @@ namespace Foam static inline const Foam::entry* resolveLabel(const entry& e, const label val) { - if (e.isStream()) - { - const tokenList& toks = e.stream(); - - if (!toks.empty() && toks[0].isLabel(val)) - { - return &e; - } - } - - return nullptr; + return + ( + (e.isStream() && e.stream().front().isLabel(val)) + ? &e : nullptr + ); } } // End namespace Foam diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/optimisationManager.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/optimisationManager.C index 6073e1e7d74..8384390a1b3 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/optimisationManager.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/optimisationManager.C @@ -323,29 +323,29 @@ Foam::optimisationManager::optimisationManager(fvMesh& mesh) "optimisationDict", mesh.time().system(), mesh, - IOobject::MUST_READ_IF_MODIFIED, + IOobject::READ_MODIFIED, IOobject::NO_WRITE, IOobject::REGISTER ) ), mesh_(mesh), time_(const_cast<Time&>(mesh.time())), - designVars_ - ( - this->subOrEmptyDict("optimisation").isDict("designVariables") ? - designVariables::New - ( - mesh_, - subDict("optimisation").subDict("designVariables") - ) : - nullptr - ), + designVars_(nullptr), primalSolvers_(), adjointSolverManagers_(), managerType_(get<word>("optimisationManager")), dvUpdate_(nullptr), shouldUpdateDesignVariables_(true) -{} +{ + // The "designVariables" sub-dictionary is optional + const dictionary* designVarsDictPtr = + this->subOrEmptyDict("optimisation").findDict("designVariables"); + + if (designVarsDictPtr) + { + designVars_ = designVariables::New(mesh_, *designVarsDictPtr); + } +} // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * // diff --git a/src/transportModels/interfaceProperties/surfaceTensionModels/surfaceTensionModel/surfaceTensionModelNew.C b/src/transportModels/interfaceProperties/surfaceTensionModels/surfaceTensionModel/surfaceTensionModelNew.C index e6c1f680af2..dd68bbb2208 100644 --- a/src/transportModels/interfaceProperties/surfaceTensionModels/surfaceTensionModel/surfaceTensionModelNew.C +++ b/src/transportModels/interfaceProperties/surfaceTensionModels/surfaceTensionModel/surfaceTensionModelNew.C @@ -37,9 +37,11 @@ Foam::autoPtr<Foam::surfaceTensionModel> Foam::surfaceTensionModel::New const fvMesh& mesh ) { - if (dict.isDict("sigma")) + const dictionary* sigmaDictPtr = dict.findDict("sigma"); + + if (sigmaDictPtr) { - const dictionary& sigmaDict = surfaceTensionModel::sigmaDict(dict); + const dictionary& sigmaDict = *sigmaDictPtr; const word modelType(sigmaDict.get<word>("type")); -- GitLab From bbde236be57e876de95b1eefed6d46241b609962 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 17 May 2024 10:12:41 +0200 Subject: [PATCH 169/231] ENH: simpler internal handling of stderr in message streams - delay construction of message buffer - OStringStream count() method to test if anything has been streamed STYLE: explicit use of std::ios_base in IOstreams - document the return information of set flag methods --- applications/test/OCountStream/Make/files | 2 +- ...t-OCountStream.C => Test-OCountStream.cxx} | 6 +- src/OpenFOAM/db/IOstreams/IOstreams/IOmanip.H | 4 +- .../db/IOstreams/IOstreams/IOstream.C | 12 +-- .../db/IOstreams/IOstreams/IOstream.H | 24 ++--- .../db/IOstreams/Pstreams/UIPstream.H | 14 +-- .../db/IOstreams/Pstreams/UOPstream.H | 25 +++-- src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H | 11 +- src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H | 11 +- .../db/IOstreams/StringStreams/StringStream.H | 3 + src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H | 14 +-- src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H | 14 +-- .../db/IOstreams/dummy/dummyISstream.H | 14 +-- src/OpenFOAM/db/error/IOerror.C | 13 +-- src/OpenFOAM/db/error/error.C | 40 ++++--- src/OpenFOAM/db/error/error.H | 16 ++- src/OpenFOAM/db/error/messageStream.C | 102 +++++++++++------- src/OpenFOAM/db/error/messageStream.H | 56 +++++++--- .../adjoint/objectives/objective/objective.C | 5 +- src/sampling/probes/probes.C | 2 +- 20 files changed, 238 insertions(+), 150 deletions(-) rename applications/test/OCountStream/{Test-OCountStream.C => Test-OCountStream.cxx} (96%) diff --git a/applications/test/OCountStream/Make/files b/applications/test/OCountStream/Make/files index 87df932eeaf..504d53099d2 100644 --- a/applications/test/OCountStream/Make/files +++ b/applications/test/OCountStream/Make/files @@ -1,3 +1,3 @@ -Test-OCountStream.C +Test-OCountStream.cxx EXE = $(FOAM_USER_APPBIN)/Test-OCountStream diff --git a/applications/test/OCountStream/Test-OCountStream.C b/applications/test/OCountStream/Test-OCountStream.cxx similarity index 96% rename from applications/test/OCountStream/Test-OCountStream.C rename to applications/test/OCountStream/Test-OCountStream.cxx index 85ffab4e0c2..1d073efe43b 100644 --- a/applications/test/OCountStream/Test-OCountStream.C +++ b/applications/test/OCountStream/Test-OCountStream.cxx @@ -65,11 +65,11 @@ int main(int argc, char *argv[]) OCountStream cnt; OCharStream cstr; - OStringStream str; + OStringStream sstr; ocountstream plain; generateOutput(cstr); - generateOutput(str); + generateOutput(sstr); generateOutput(cnt); generateOutput(plain); @@ -77,7 +77,7 @@ int main(int argc, char *argv[]) Info<< "counter state: " << (cnt.stdStream().rdstate()) << nl << "via char-stream: " << label(cstr.view().size()) << " chars" << nl - << "via string-stream: " << str.str().size() << " chars" << nl + << "via string-stream: " << label(sstr.count()) << " chars" << nl << "via ocountstream: " << plain.count() << " chars" << endl; fileName outputName; diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/IOmanip.H b/src/OpenFOAM/db/IOstreams/IOstreams/IOmanip.H index 4df38b3276d..08456800d5a 100644 --- a/src/OpenFOAM/db/IOstreams/IOstreams/IOmanip.H +++ b/src/OpenFOAM/db/IOstreams/IOstreams/IOmanip.H @@ -166,9 +166,9 @@ inline Ostream& operator<<(Ostream& os, const Omanip<T>& m) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -inline Smanip<ios_base::fmtflags> setf(const ios_base::fmtflags flags) +inline Smanip<std::ios_base::fmtflags> setf(std::ios_base::fmtflags flags) { - return Smanip<ios_base::fmtflags>(&IOstream::setf, flags); + return Smanip<std::ios_base::fmtflags>(&IOstream::setf, flags); } diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C index a627e382bfd..889b2e19f6b 100644 --- a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C +++ b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C @@ -114,23 +114,19 @@ void Foam::IOstream::print(Ostream& os, const int streamState) const { if (streamState == std::ios_base::goodbit) { - os << "ios_base::goodbit set : the last operation on stream succeeded" - << endl; + os << "goodbit set : the last operation on stream succeeded" << endl; } else if (streamState & std::ios_base::badbit) { - os << "ios_base::badbit set : characters possibly lost" - << endl; + os << "badbit set : characters possibly lost" << endl; } else if (streamState & std::ios_base::failbit) { - os << "ios_base::failbit set : some type of formatting error" - << endl; + os << "failbit set : some type of formatting error" << endl; } else if (streamState & std::ios_base::eofbit) { - os << "ios_base::eofbit set : at end of stream" - << endl; + os << "eofbit set : at end of stream" << endl; } } diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H index 01546afc1b5..b67807efcd9 100644 --- a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H +++ b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.H @@ -339,9 +339,6 @@ public: return old; } - //- Return flags of stream - virtual ios_base::fmtflags flags() const = 0; - //- Return the default precision static unsigned int defaultPrecision() noexcept { @@ -387,27 +384,30 @@ public: ioState_ |= std::ios_base::badbit; } - //- Set flags of stream - virtual ios_base::fmtflags flags(const ios_base::fmtflags f) = 0; + //- Return current stream flags + virtual std::ios_base::fmtflags flags() const = 0; + + //- Set stream flags, return old stream flags + virtual std::ios_base::fmtflags flags(std::ios_base::fmtflags) = 0; - //- Set flags of stream - ios_base::fmtflags setf(const ios_base::fmtflags f) + //- Set stream flag(s), return old stream flags + std::ios_base::fmtflags setf(std::ios_base::fmtflags f) { return flags(flags() | f); } - //- Set flags of given field of stream - ios_base::fmtflags setf + //- Set stream flag(s) with mask, return old stream flags + std::ios_base::fmtflags setf ( - const ios_base::fmtflags f, - const ios_base::fmtflags mask + const std::ios_base::fmtflags f, + const std::ios_base::fmtflags mask ) { return flags((flags() & ~mask) | (f & mask)); } //- Unset flags of stream - void unsetf(const ios_base::fmtflags f) + void unsetf(std::ios_base::fmtflags f) { flags(flags() & ~f); } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H index 138dc465a8c..eb2deb9a87d 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H @@ -151,16 +151,18 @@ public: // Stream State Functions - //- Return stream flags - virtual ios_base::fmtflags flags() const override + //- Return current stream flags. + //- Dummy for parallel stream, returns 0. + virtual std::ios_base::fmtflags flags() const override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); } - //- Set flags of stream flags - virtual ios_base::fmtflags flags(const ios_base::fmtflags) override + //- Set stream flags, return old stream flags. + //- Dummy for parallel stream, returns 0. + virtual std::ios_base::fmtflags flags(std::ios_base::fmtflags) override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H index 8519e03f818..e96a05d8754 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H @@ -144,12 +144,20 @@ public: // Member Functions - // Inquiry + // Stream State Functions - //- Return flags of output stream - virtual ios_base::fmtflags flags() const override + //- Return current stream flags. + //- Dummy for parallel stream, returns 0. + virtual std::ios_base::fmtflags flags() const override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); + } + + //- Set stream flags, return old stream flags. + //- Dummy for parallel stream, returns 0. + virtual std::ios_base::fmtflags flags(std::ios_base::fmtflags) override + { + return std::ios_base::fmtflags(0); } @@ -281,15 +289,6 @@ public: virtual void rewind(); - // Edit - - //- Set flags of stream - virtual ios_base::fmtflags flags(const ios_base::fmtflags) override - { - return ios_base::fmtflags(0); - } - - // Print //- Print stream description to Ostream diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H index cb09f060fe3..223784367a9 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H +++ b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H @@ -147,14 +147,17 @@ public: // Stream State - //- Return flags of output stream - virtual ios_base::fmtflags flags() const override + //- Return current stream flags + virtual std::ios_base::fmtflags flags() const override { return is_.flags(); } - //- Set stream flags - virtual ios_base::fmtflags flags(const ios_base::fmtflags f) override + //- Set stream flags, return old stream flags + virtual std::ios_base::fmtflags flags + ( + std::ios_base::fmtflags f + ) override { return is_.flags(f); } diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H index dd76e3d8b00..3344fc7739e 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H +++ b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H @@ -138,14 +138,17 @@ public: // Stream State - //- Get stream flags - virtual ios_base::fmtflags flags() const override + //- Get current stream flags + virtual std::ios_base::fmtflags flags() const override { return os_.flags(); } - //- Set stream flags - virtual ios_base::fmtflags flags(const ios_base::fmtflags f) override + //- Set stream flags, return old stream flags + virtual std::ios_base::fmtflags flags + ( + std::ios_base::fmtflags f + ) override { return os_.flags(f); } diff --git a/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H b/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H index 0950df267a0..63089e40e92 100644 --- a/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H +++ b/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H @@ -215,6 +215,9 @@ public: // Member Functions + //- The number of bytes outputted + std::streamsize count() { return stream_.tellp(); } + //- Get the string. //- As Foam::string instead of std::string (may change in future) Foam::string str() const { return Foam::string(stream_.str()); } diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H index 1ec2d0feb8f..37e5571e8dc 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H @@ -499,16 +499,18 @@ public: // Stream State Functions - //- Get stream flags - always 0 - virtual ios_base::fmtflags flags() const override + //- Return current stream flags. + //- Dummy for token stream, returns 0. + virtual std::ios_base::fmtflags flags() const override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); } - //- Set flags of stream - ignored - ios_base::fmtflags flags(const ios_base::fmtflags) override + //- Set stream flags, return old stream flags. + //- Dummy for token stream, returns 0. + std::ios_base::fmtflags flags(std::ios_base::fmtflags) override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); } diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H index b3696083264..7af4253e98f 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H @@ -181,16 +181,18 @@ public: // Stream State Functions - //- Get flags of output stream - virtual ios_base::fmtflags flags() const override + //- Return current stream flags. + //- Dummy for token stream, returns 0. + virtual std::ios_base::fmtflags flags() const override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); } - //- Set flags of stream - ignored - std::ios_base::fmtflags flags(const ios_base::fmtflags) override + //- Set stream flags, return old stream flags. + //- Dummy for token stream, returns 0. + std::ios_base::fmtflags flags(std::ios_base::fmtflags) override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); } //- Flush stream diff --git a/src/OpenFOAM/db/IOstreams/dummy/dummyISstream.H b/src/OpenFOAM/db/IOstreams/dummy/dummyISstream.H index 6b50f50c6b1..ba9fce33209 100644 --- a/src/OpenFOAM/db/IOstreams/dummy/dummyISstream.H +++ b/src/OpenFOAM/db/IOstreams/dummy/dummyISstream.H @@ -73,16 +73,18 @@ public: // Stream-state - //- Return flags of stream - virtual ios_base::fmtflags flags() const override + //- Return current stream flags. + //- Dummy for dummy stream, returns 0. + virtual std::ios_base::fmtflags flags() const override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); } - //- Set flags of stream - virtual ios_base::fmtflags flags(const ios_base::fmtflags) override + //- Set stream flags, return old stream flags. + //- Dummy for dummy stream, returns 0. + virtual std::ios_base::fmtflags flags(std::ios_base::fmtflags) override { - return ios_base::fmtflags(0); + return std::ios_base::fmtflags(0); } diff --git a/src/OpenFOAM/db/error/IOerror.C b/src/OpenFOAM/db/error/IOerror.C index ebde730a095..23029959ffc 100644 --- a/src/OpenFOAM/db/error/IOerror.C +++ b/src/OpenFOAM/db/error/IOerror.C @@ -30,15 +30,15 @@ Note \*---------------------------------------------------------------------------*/ #include "error.H" -#include "StringStream.H" #include "fileName.H" #include "dictionary.H" #include "JobInfo.H" #include "Pstream.H" +#include "StringStream.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::IOerror::IOerror(const string& title) +Foam::IOerror::IOerror(const char* title) : error(title), ioFileName_("unknown"), @@ -171,7 +171,7 @@ void Foam::IOerror::SafeFatalIOError const char* sourceFileName, const int sourceFileLineNumber, const IOstream& ioStream, - const string& msg + const std::string& msg ) { if (JobInfo::constructed) @@ -182,10 +182,11 @@ void Foam::IOerror::SafeFatalIOError sourceFileName, sourceFileLineNumber, ioStream - ) << msg << Foam::exit(FatalIOError); + ) << msg.c_str() << Foam::exit(FatalIOError); } else { + // Without (openfoam=API patch=NN) since it is rarely used std::cerr << nl << "--> FOAM FATAL IO ERROR:" << nl @@ -225,7 +226,7 @@ void Foam::IOerror::exiting(const int errNo, const bool isAbort) IOerror errorException(*this); // Reset the message buffer for the next error message - messageStreamPtr_->reset(); + error::clear(); throw errorException; return; @@ -297,7 +298,7 @@ void Foam::IOerror::write(Ostream& os, const bool withTitle) const const label lineNo = sourceFileLineNumber(); - if (IOerror::level >= 2 && lineNo && !functionName().empty()) + if (messageStream::level >= 2 && lineNo && !functionName().empty()) { os << nl << nl << " From " << functionName().c_str() << nl; diff --git a/src/OpenFOAM/db/error/error.C b/src/OpenFOAM/db/error/error.C index 120ac2427a2..c4f327c95d4 100644 --- a/src/OpenFOAM/db/error/error.C +++ b/src/OpenFOAM/db/error/error.C @@ -123,7 +123,7 @@ bool Foam::error::useAbort() // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::error::error(const string& title) +Foam::error::error(const char* title) : std::exception(), messageStream(title, messageStream::FATAL), @@ -131,7 +131,7 @@ Foam::error::error(const string& title) sourceFileName_("unknown"), sourceFileLineNumber_(0), throwing_(false), - messageStreamPtr_(new OStringStream()) + messageStreamPtr_(nullptr) {} @@ -143,7 +143,7 @@ Foam::error::error(const dictionary& errDict) sourceFileName_(errDict.get<string>("sourceFileName")), sourceFileLineNumber_(errDict.get<label>("sourceFileLineNumber")), throwing_(false), - messageStreamPtr_(new OStringStream()) + messageStreamPtr_(nullptr) {} @@ -155,8 +155,13 @@ Foam::error::error(const error& err) sourceFileName_(err.sourceFileName_), sourceFileLineNumber_(err.sourceFileLineNumber_), throwing_(err.throwing_), - messageStreamPtr_(new OStringStream(*err.messageStreamPtr_)) -{} + messageStreamPtr_(nullptr) +{ + if (err.messageStreamPtr_ && (err.messageStreamPtr_->count() > 0)) + { + messageStreamPtr_.reset(new OStringStream(*err.messageStreamPtr_)); + } +} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // @@ -176,7 +181,7 @@ Foam::OSstream& Foam::error::operator() sourceFileName_.clear(); sourceFileLineNumber_ = -1; - return operator OSstream&(); + return this->stream(); } @@ -251,7 +256,7 @@ void Foam::error::exiting(const int errNo, const bool isAbort) error errorException(*this); // Reset the message buffer for the next error message - messageStreamPtr_->reset(); + error::clear(); throw errorException; return; @@ -322,8 +327,11 @@ void Foam::error::simpleExit(const int errNo, const bool isAbort) Foam::OSstream& Foam::error::stream() { - // Don't need (messageStreamPtr_) check - always allocated - if (!messageStreamPtr_->good()) + if (!messageStreamPtr_) + { + messageStreamPtr_ = std::make_unique<OStringStream>(); + } + else if (!messageStreamPtr_->good()) { Perr<< nl << "error::stream() : error stream has failed" @@ -337,13 +345,21 @@ Foam::OSstream& Foam::error::stream() Foam::string Foam::error::message() const { - return messageStreamPtr_->str(); + if (messageStreamPtr_) + { + return messageStreamPtr_->str(); + } + + return string(); } void Foam::error::clear() const { - return messageStreamPtr_->reset(); + if (messageStreamPtr_) + { + messageStreamPtr_->reset(); + } } @@ -384,7 +400,7 @@ void Foam::error::write(Ostream& os, const bool withTitle) const const label lineNo = sourceFileLineNumber(); - if (error::level >= 2 && lineNo && !functionName().empty()) + if (messageStream::level >= 2 && lineNo && !functionName().empty()) { os << nl << nl << " From " << functionName().c_str() << nl; diff --git a/src/OpenFOAM/db/error/error.H b/src/OpenFOAM/db/error/error.H index 21dfea45f1f..22832dd8e4a 100644 --- a/src/OpenFOAM/db/error/error.H +++ b/src/OpenFOAM/db/error/error.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -120,7 +120,10 @@ public: // Constructors //- Construct from title string - explicit error(const string& title); + explicit error(const char* title); + + //- Construct from title string + explicit error(const std::string& title) : error(title.c_str()) {} //- Construct from dictionary explicit error(const dictionary& errDict); @@ -161,7 +164,7 @@ public: //- The accumulated error message string message() const; - //- Clear any messages + //- Clear any accumulated error messages void clear() const; //- The currently defined function name for output messages @@ -315,7 +318,10 @@ public: // Constructors //- Construct from title string - explicit IOerror(const string& title); + explicit IOerror(const char* title); + + //- Construct from title string + explicit IOerror(const std::string& title) : IOerror(title.c_str()) {} //- Construct from dictionary explicit IOerror(const dictionary& errDict); @@ -412,7 +418,7 @@ public: const char* sourceFileName, const int sourceFileLineNumber, const IOstream& ioStream, - const string& msg + const std::string& msg ); diff --git a/src/OpenFOAM/db/error/messageStream.C b/src/OpenFOAM/db/error/messageStream.C index 2401debdf44..04a3e907bdc 100644 --- a/src/OpenFOAM/db/error/messageStream.C +++ b/src/OpenFOAM/db/error/messageStream.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -49,22 +49,32 @@ int Foam::infoDetailLevel(1); Foam::messageStream::messageStream ( - const string& title, - const errorSeverity severity, - const int maxErrors + const char* title, + errorSeverity severity, + int maxErrors, + bool use_stderr ) : - title_(title), + title_(), severity_(severity), maxErrors_(maxErrors), errorCount_(0) -{} +{ + if (title) + { + title_ = title; + } + if (use_stderr) + { + severity_ |= errorSeverity::USE_STDERR; + } +} Foam::messageStream::messageStream(const dictionary& dict) : title_(dict.get<string>("title")), - severity_(FATAL), + severity_(errorSeverity::FATAL), maxErrors_(0), errorCount_(0) {} @@ -72,54 +82,56 @@ Foam::messageStream::messageStream(const dictionary& dict) // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::OSstream& Foam::messageStream::stream(OSstream* alternative) +Foam::OSstream& Foam::messageStream::stream +( + OSstream* alternative +) { if (level) { // Serlal (master only) output? const bool serialOnly ( - ( - severity_ == INFO - || severity_ == INFO_STDERR - || severity_ == WARNING - ) - || !UPstream::parRun() + !UPstream::parRun() + || ((severity_ & ~errorSeverity::USE_STDERR) == errorSeverity::INFO) + || ((severity_ & ~errorSeverity::USE_STDERR) == errorSeverity::WARNING) ); if (serialOnly && (UPstream::parRun() && !UPstream::master())) { - return Snull; // Non-serial, non-master: exit early + return Snull; // Non-serial, non-master: exit early } // Use stderr instead of stdout: // - requested via static <redirect> variable - // - explicit: INFO_STDERR + // - explicit: with USE_STDERR mask // - inferred: WARNING -> stderr when infoDetailLevel == 0 - const bool useStderr = + const bool use_stderr = ( (redirect == 2) - || (severity_ == INFO_STDERR) - || (severity_ == WARNING && Foam::infoDetailLevel == 0) + || (severity_ & errorSeverity::USE_STDERR) + || (severity_ == errorSeverity::WARNING && Foam::infoDetailLevel == 0) ); + OSstream* osptr; if (serialOnly) { // Use supplied alternative? Valid for serial only - osptr = alternative; - if (!osptr) - { - osptr = (useStderr ? &Serr : &Sout); - } + osptr = + ( + alternative + ? alternative + : (use_stderr ? &Serr : &Sout) + ); } else { // Non-serial - osptr = (useStderr ? &Perr : &Pout); + osptr = (use_stderr ? &Perr : &Pout); } if (!title_.empty()) @@ -220,13 +232,18 @@ Foam::OSstream& Foam::messageStream::deprecated } } - os << nl; + os << nl; if (functionName) // nullptr check { - os << " From " << functionName << nl - << " in file " << sourceFileName - << " at line " << sourceFileLineNumber << nl; + { + os << " From " << functionName << nl; + } + if (sourceFileName) + { + os << " in file " << sourceFileName + << " at line " << sourceFileLineNumber << nl; + } } os << " "; @@ -279,13 +296,14 @@ Foam::OSstream& Foam::messageStream::operator() const label ioEndLineNumber ) { - OSstream& os = this->stream(); + OSstream& os = operator() + ( + functionName, + sourceFileName, + sourceFileLineNumber + ); - os << nl - << " From " << functionName << nl - << " in file " << sourceFileName - << " at line " << sourceFileLineNumber << nl - << " Reading \"" << ioFileName.c_str() << '"'; + os << "Reading \"" << ioFileName.c_str() << '"'; if (ioStartLineNumber >= 0) { @@ -345,9 +363,19 @@ Foam::OSstream& Foam::messageStream::operator() // * * * * * * * * * * * * * * * Global Variables * * * * * * * * * * * * * // -Foam::messageStream Foam::Info("", Foam::messageStream::INFO); +Foam::messageStream Foam::Info +( + "", // No title + Foam::messageStream::INFO +); -Foam::messageStream Foam::InfoErr("", Foam::messageStream::INFO_STDERR); +Foam::messageStream Foam::InfoErr +( + "", // No title + Foam::messageStream::INFO, + 0, + true // use_stderr = true +); Foam::messageStream Foam::Warning ( diff --git a/src/OpenFOAM/db/error/messageStream.H b/src/OpenFOAM/db/error/messageStream.H index be382ec5363..9cc61264f0d 100644 --- a/src/OpenFOAM/db/error/messageStream.H +++ b/src/OpenFOAM/db/error/messageStream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -77,16 +77,18 @@ class messageStream public: //- Message type, error severity flags - enum errorSeverity + enum errorSeverity : int { // Serial-only output: INFO = 1, //!< General information output (stdout) - INFO_STDERR, //!< General information output (stderr) WARNING, //!< Warning of possible problem. // Parallel-aware output: SERIOUS, //!< A serious problem - eg, data corruption. - FATAL //!< A fatal error. + FATAL, //!< A fatal error. + + //! Bitmask for stderr output (for the above enums) + USE_STDERR = 0x80 }; @@ -94,9 +96,16 @@ protected: // Protected Data + //- The title of this error type string title_; - errorSeverity severity_; + + //- The message type / error severity, possibly with USE_STDERR mask + int severity_; + + //- The maximum number of errors before program termination int maxErrors_; + + //- The current number of errors counted int errorCount_; @@ -124,12 +133,26 @@ public: //- Construct from components messageStream ( - const string& title, - const errorSeverity severity, - const int maxErrors = 0 + const char* title, + errorSeverity severity, + int maxErrors = 0, + bool use_stderr = false ); - //- Construct as Fatal from dictionary, extracting the 'title'. + //- Construct from components + messageStream + ( + const std::string& title, + errorSeverity severity, + int maxErrors = 0, + bool use_stderr = false + ) + : + messageStream(title.c_str(), severity, maxErrors, use_stderr) + {} + + + //- Construct from dictionary as Fatal, extracting 'title'. explicit messageStream(const dictionary& dict); @@ -160,9 +183,11 @@ public: // Output //- Return OSstream for output operations. - //- Use the \c alternative stream for serial-only output - //- if it is a valid pointer. - OSstream& stream(OSstream* alternative = nullptr); + OSstream& stream + ( + //! An alternative output stream (serial-only) + OSstream* alternative = nullptr + ); //- Return OSstream for output operations on the master process only, //- Snull on other processes. @@ -177,11 +202,12 @@ public: OSstream& deprecated ( const int afterVersion, - const char* functionName, - const char* sourceFileName, + const char* functionName = nullptr, + const char* sourceFileName = nullptr, const int sourceFileLineNumber = 0 ); + //- Implicit cast to OSstream for << operations operator OSstream&() { @@ -261,7 +287,7 @@ public: //- Global for selective suppression of Info output. // This is normally accessed implicitly via the DetailInfo macro and is often -// associated applications with suppressed banners. For example, +// associated with applications with suppressed banners. For example, // // \code // DetailInfo << "Hello, I'm running from program xyz" << nl; diff --git a/src/optimisation/adjointOptimisation/adjoint/objectives/objective/objective.C b/src/optimisation/adjointOptimisation/adjoint/objectives/objective/objective.C index 6045ec353ba..fafdf44dcbb 100644 --- a/src/optimisation/adjointOptimisation/adjoint/objectives/objective/objective.C +++ b/src/optimisation/adjointOptimisation/adjoint/objectives/objective/objective.C @@ -538,9 +538,8 @@ bool objective::write(const bool valid) const { setObjectiveFilePtr(); OFstream& file = objFunctionFilePtr_(); - ios_base::fmtflags flags = file.flags(); - flags |= std::cout.left; - file.flags(flags); + file.setf(std::ios_base::left); + if (target_) { file<< setw(width_) << "#target" << " " diff --git a/src/sampling/probes/probes.C b/src/sampling/probes/probes.C index b4b8e5e95c7..01c3ce70d35 100644 --- a/src/sampling/probes/probes.C +++ b/src/sampling/probes/probes.C @@ -105,7 +105,7 @@ void Foam::probes::createProbeFiles(const wordList& fieldNames) DebugInfo<< "open probe stream: " << os.name() << endl; const unsigned int width(IOstream::defaultPrecision() + 7); - os << setf(ios_base::left); + os.setf(std::ios_base::left); forAll(*this, probei) { -- GitLab From b81fe708309e303ad7f888545d3be4560e1cdda2 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 22 May 2024 11:09:02 +0200 Subject: [PATCH 170/231] ENH: extend readContents IO factory methods - support wantedType for localIOdictionary::readContents() - add readContents() for GlobalIOList, GlobalIOField --- .../IOobjects/GlobalIOField/GlobalIOField.C | 25 +++++++++++++++++-- .../IOobjects/GlobalIOField/GlobalIOField.H | 10 ++++++-- .../db/IOobjects/GlobalIOList/GlobalIOList.C | 25 +++++++++++++++++-- .../db/IOobjects/GlobalIOList/GlobalIOList.H | 8 +++++- src/OpenFOAM/db/IOobjects/IOMap/IOMap.C | 3 +++ src/OpenFOAM/db/IOobjects/IOMap/IOMap.H | 7 +++--- .../db/IOobjects/IOdictionary/IOdictionary.C | 21 ++++++++++++++-- .../db/IOobjects/IOdictionary/IOdictionary.H | 17 ++++++++++--- .../IOobjects/IOdictionary/baseIOdictionary.C | 2 +- .../IOdictionary/localIOdictionary.C | 18 +++++++++++-- .../IOdictionary/localIOdictionary.H | 17 ++++++++++--- .../IOdictionary/unwatchedIOdictionary.H | 4 +-- 12 files changed, 132 insertions(+), 25 deletions(-) diff --git a/src/OpenFOAM/db/IOobjects/GlobalIOField/GlobalIOField.C b/src/OpenFOAM/db/IOobjects/GlobalIOField/GlobalIOField.C index 08853995bba..1cca2f17388 100644 --- a/src/OpenFOAM/db/IOobjects/GlobalIOField/GlobalIOField.C +++ b/src/OpenFOAM/db/IOobjects/GlobalIOField/GlobalIOField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -122,6 +122,26 @@ Foam::GlobalIOField<Type>::GlobalIOField } +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +template<class Type> +Foam::Field<Type> Foam::GlobalIOField<Type>::readContents(const IOobject& io) +{ + IOobject rio(io, IOobjectOption::NO_REGISTER); + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) + { + rio.readOpt(IOobjectOption::MUST_READ); + } + + // The object is global + rio.globalObject(true); + + GlobalIOField<Type> reader(rio); + + return Field<Type>(std::move(static_cast<Field<Type>&>(reader))); +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> @@ -135,7 +155,8 @@ bool Foam::GlobalIOField<Type>::readData(Istream& is) template<class Type> bool Foam::GlobalIOField<Type>::writeData(Ostream& os) const { - return (os << static_cast<const Field<Type>&>(*this)).good(); + os << static_cast<const Field<Type>&>(*this); + return os.good(); } diff --git a/src/OpenFOAM/db/IOobjects/GlobalIOField/GlobalIOField.H b/src/OpenFOAM/db/IOobjects/GlobalIOField/GlobalIOField.H index 95f7871ea0a..885429bee20 100644 --- a/src/OpenFOAM/db/IOobjects/GlobalIOField/GlobalIOField.H +++ b/src/OpenFOAM/db/IOobjects/GlobalIOField/GlobalIOField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2017 OpenFOAM Foundation - Copyright (C) 2016-2018 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -85,13 +85,19 @@ public: GlobalIOField(const IOobject& io, const tmp<Field<Type>>& tfld); + // Factory Methods + + //- Read and return contents. The IOobject is never registered + static Field<Type> readContents(const IOobject& io); + + //- Destructor virtual ~GlobalIOField() = default; // Member Functions - //- Is object global + //- The object is global virtual bool global() const { return true; diff --git a/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.C b/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.C index 754a607b90d..26148b39eb1 100644 --- a/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.C +++ b/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -106,6 +106,26 @@ Foam::GlobalIOList<Type>::GlobalIOList } +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +template<class Type> +Foam::List<Type> Foam::GlobalIOList<Type>::readContents(const IOobject& io) +{ + IOobject rio(io, IOobjectOption::NO_REGISTER); + if (rio.readOpt() == IOobjectOption::READ_MODIFIED) + { + rio.readOpt(IOobjectOption::MUST_READ); + } + + // The object is global + rio.globalObject(true); + + GlobalIOList<Type> reader(rio); + + return List<Type>(std::move(static_cast<List<Type>&>(reader))); +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> @@ -119,7 +139,8 @@ bool Foam::GlobalIOList<Type>::readData(Istream& is) template<class Type> bool Foam::GlobalIOList<Type>::writeData(Ostream& os) const { - return (os << *this).good(); + os << static_cast<const List<Type>&>(*this); + return os.good(); } diff --git a/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.H b/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.H index 44124a879f5..8c16dc2189b 100644 --- a/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.H +++ b/src/OpenFOAM/db/IOobjects/GlobalIOList/GlobalIOList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -85,6 +85,12 @@ public: GlobalIOList(const IOobject& io, List<Type>&& content); + // Factory Methods + + //- Read and return contents. The IOobject is never registered + static List<Type> readContents(const IOobject& io); + + //- Destructor virtual ~GlobalIOList() = default; diff --git a/src/OpenFOAM/db/IOobjects/IOMap/IOMap.C b/src/OpenFOAM/db/IOobjects/IOMap/IOMap.C index b88f08bab6b..53a6178a43e 100644 --- a/src/OpenFOAM/db/IOobjects/IOMap/IOMap.C +++ b/src/OpenFOAM/db/IOobjects/IOMap/IOMap.C @@ -105,6 +105,9 @@ Foam::Map<T> Foam::IOMap<T>::readContents(const IOobject& io) rio.readOpt(IOobjectOption::MUST_READ); } + // The object is global + rio.globalObject(true); + IOMap<T> reader(rio); return Map<T>(std::move(static_cast<Map<T>&>(reader))); diff --git a/src/OpenFOAM/db/IOobjects/IOMap/IOMap.H b/src/OpenFOAM/db/IOobjects/IOMap/IOMap.H index ede099d7f15..3743165afc8 100644 --- a/src/OpenFOAM/db/IOobjects/IOMap/IOMap.H +++ b/src/OpenFOAM/db/IOobjects/IOMap/IOMap.H @@ -101,9 +101,7 @@ public: // Member Functions - bool writeData(Ostream& os) const; - - //- Is object global + //- This object is global virtual bool global() const { return true; @@ -116,6 +114,9 @@ public: return globalFilePath(type()); } + //- The writeData method for regIOobject write operation + bool writeData(Ostream& os) const; + // Member Operators diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C index 375b12e211f..77fd7e7e56e 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -94,6 +94,16 @@ Foam::IOdictionary::IOdictionary // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // Foam::dictionary Foam::IOdictionary::readContents(const IOobject& io) +{ + return readContents(io, typeName); +} + + +Foam::dictionary Foam::IOdictionary::readContents +( + const IOobject& io, + const word& wantedType +) { IOobject rio(io, IOobjectOption::NO_REGISTER); if (rio.readOpt() == IOobjectOption::READ_MODIFIED) @@ -101,7 +111,14 @@ Foam::dictionary Foam::IOdictionary::readContents(const IOobject& io) rio.readOpt(IOobjectOption::MUST_READ); } - IOdictionary reader(rio); + // The object is global + rio.globalObject(true); + + IOdictionary reader + ( + rio, + (wantedType.empty() ? typeName : wantedType) + ); return dictionary(std::move(static_cast<dictionary&>(reader))); } diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.H b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.H index 5c10205622c..fc7d48205cb 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.H +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -89,9 +89,18 @@ public: // Factory Methods - //- Read and return contents. The IOobject will not be registered + //- Read and return contents, testing for "dictionary" type. + //- The IOobject will not be registered static dictionary readContents(const IOobject& io); + //- Read and return contents, testing for expected type. + //- The IOobject will not be registered + static dictionary readContents + ( + const IOobject& io, + const word& wantedType + ); + //- Destructor virtual ~IOdictionary() = default; @@ -99,14 +108,14 @@ public: // Member Functions - //- Is object global + //- The object is global virtual bool global() const { return true; } //- Return complete path + object name if the file exists - // either in the case/processor or case otherwise null + //- either in the case/processor or case otherwise null virtual fileName filePath() const { return globalFilePath(type()); diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/baseIOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/baseIOdictionary.C index 7007cf483e7..53edc6901ef 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/baseIOdictionary.C +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/baseIOdictionary.C @@ -92,7 +92,7 @@ bool Foam::baseIOdictionary::readData(Istream& is) { is >> *this; - if (writeDictionaries && Pstream::master() && !is.bad()) + if (writeDictionaries && UPstream::master() && !is.bad()) { Sout<< nl << "--- baseIOdictionary " << name() diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C index b938f054043..202fe42beb0 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2017 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -91,6 +91,16 @@ Foam::localIOdictionary::localIOdictionary // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // Foam::dictionary Foam::localIOdictionary::readContents(const IOobject& io) +{ + return readContents(io, typeName); +} + + +Foam::dictionary Foam::localIOdictionary::readContents +( + const IOobject& io, + const word& wantedType +) { IOobject rio(io, IOobjectOption::NO_REGISTER); if (rio.readOpt() == IOobjectOption::READ_MODIFIED) @@ -98,7 +108,11 @@ Foam::dictionary Foam::localIOdictionary::readContents(const IOobject& io) rio.readOpt(IOobjectOption::MUST_READ); } - localIOdictionary reader(rio); + localIOdictionary reader + ( + rio, + (wantedType.empty() ? typeName : wantedType) + ); return dictionary(std::move(static_cast<dictionary&>(reader))); } diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.H b/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.H index e151f258fc3..ed6bd785bc9 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.H +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2017 OpenFOAM Foundation - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -86,9 +86,18 @@ public: // Factory Methods - //- Read and return contents. The IOobject will not be registered + //- Read and return contents, testing for "dictionary" type. + //- The IOobject will not be registered static dictionary readContents(const IOobject& io); + //- Read and return contents, testing for expected type. + //- The IOobject will not be registered + static dictionary readContents + ( + const IOobject& io, + const word& wantedType + ); + //- Destructor virtual ~localIOdictionary() = default; @@ -96,14 +105,14 @@ public: // Member Functions - //- Is object global + //- The object is not global virtual bool global() const { return false; } //- Return complete path + object name if the file exists - // in the case otherwise null + //- in the case otherwise null virtual fileName filePath() const { // Use default (local only) search strategy diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.H b/src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.H index bded2b07770..521c482a010 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.H +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.H @@ -101,14 +101,14 @@ public: // Member Functions - //- Is object global + //- The object is global virtual bool global() const { return true; } //- Return complete path + object name if the file exists - // either in the case/processor or case otherwise null + //- either in the case/processor or case otherwise null virtual fileName filePath() const { return globalFilePath(type()); -- GitLab From 1406f9ec26b45d9cf721e98b604637e24b630ce8 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 23 May 2024 21:13:14 +0200 Subject: [PATCH 171/231] ENH: robuster handling of unknown stream/float formats --- src/OpenFOAM/db/options/IOstreamOption.C | 40 +++++++++++++++++------- src/OpenFOAM/primitives/enums/Enum.H | 9 ++++-- src/OpenFOAM/primitives/enums/EnumI.H | 16 +++++++++- 3 files changed, 51 insertions(+), 14 deletions(-) diff --git a/src/OpenFOAM/db/options/IOstreamOption.C b/src/OpenFOAM/db/options/IOstreamOption.C index 32e588aaa25..ad60be85ddb 100644 --- a/src/OpenFOAM/db/options/IOstreamOption.C +++ b/src/OpenFOAM/db/options/IOstreamOption.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -70,7 +70,7 @@ Foam::IOstreamOption::floatFormatEnum if (!fmtName.empty()) { - const auto iter = floatFormatNames.cfind(fmtName); + auto iter = floatFormatNames.cfind(fmtName); if (iter.good()) { @@ -79,10 +79,19 @@ Foam::IOstreamOption::floatFormatEnum // Fall-through to warning - WarningInFunction - << "Unknown float format specifier '" << fmtName - << "' using '" << floatFormatNames[deflt] - << "' from " << floatFormatNames << nl; + auto& err = WarningInFunction + << "Unknown float format '" << fmtName << "' using "; + + iter = floatFormatNames.cfind(deflt); + if (iter.good()) + { + err << '\'' << iter.key() << '\''; + } + else + { + err << "value=" << int(deflt); + } + err << " from " << floatFormatNames << nl; } return deflt; @@ -112,7 +121,7 @@ Foam::IOstreamOption::formatEnum if (!fmtName.empty()) { - const auto iter = formatNames.cfind(fmtName); + auto iter = formatNames.cfind(fmtName); if (iter.good()) { @@ -121,10 +130,19 @@ Foam::IOstreamOption::formatEnum // Fall-through to warning - WarningInFunction - << "Unknown stream format specifier '" << fmtName - << "' using '" << formatNames[deflt] - << "' from " << formatNames << nl; + auto& err = WarningInFunction + << "Unknown stream format '" << fmtName << "' using "; + + iter = formatNames.cfind(deflt); + if (iter.good()) + { + err << '\'' << iter.key() << '\''; + } + else + { + err << "value=" << int(deflt); + } + err << " from " << formatNames << nl; } return deflt; diff --git a/src/OpenFOAM/primitives/enums/Enum.H b/src/OpenFOAM/primitives/enums/Enum.H index d990c3ca474..0ee27e49a2f 100644 --- a/src/OpenFOAM/primitives/enums/Enum.H +++ b/src/OpenFOAM/primitives/enums/Enum.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -298,11 +298,16 @@ public: const_iterator begin() const noexcept { return cbegin(); } const_iterator end() const noexcept { return cend(); } - //- Find the enumeration by name. + //- Find key/value pair by enumeration name. // Equal to cend() if not found, or test if good() inline const_iterator cfind(const word& key) const; const_iterator find(const word& key) const { return cfind(key); } + //- Find key/value pair by enumeration value. + // Equal to cend() if not found, or test if good() + inline const_iterator cfind(const EnumType e) const; + const_iterator find(const EnumType e) const { return cfind(e); } + // Housekeeping diff --git a/src/OpenFOAM/primitives/enums/EnumI.H b/src/OpenFOAM/primitives/enums/EnumI.H index 891dbd7da99..06b175e1fc7 100644 --- a/src/OpenFOAM/primitives/enums/EnumI.H +++ b/src/OpenFOAM/primitives/enums/EnumI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -252,6 +252,20 @@ Foam::Enum<EnumType>::cfind(const word& key) const } +template<class EnumType> +inline typename Foam::Enum<EnumType>::const_iterator +Foam::Enum<EnumType>::cfind(const EnumType e) const +{ + const label idx = vals_.find(int(e)); + + return typename Enum<EnumType>::const_iterator + ( + this, + (idx >= 0 ? idx : this->size()) + ); +} + + // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // template<class EnumType> -- GitLab From ffc98940337246102800795186449c819e698d5d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 13 May 2024 12:31:57 +0200 Subject: [PATCH 172/231] STYLE: more consistency in writeEntry() signatures - boundary entries with writeEntry(const word&, ...) instead of writeEntry(const keyType&, ...) to match with most other writeEntry() signatures. Also, this content will not be used to supply regex matched sub-dictionaries. STYLE: more consistent patch initEvaluate()/evaluate() coding --- applications/test/dimField/Make/files | 3 - applications/test/dimField1/Make/files | 3 + .../test/{dimField => dimField1}/Make/options | 0 .../Test-dimField1.cxx} | 50 +++++++++-------- .../test/parallelOverset/Make/options | 1 + .../test/parallelOverset/laplacianDyMFoam.C | 2 + .../preProcessing/mapFieldsPar/MapVolFields.H | 47 +++++++--------- .../polyBoundaryMesh/polyBoundaryMesh.C | 2 +- .../polyBoundaryMesh/polyBoundaryMesh.H | 2 +- .../polyBoundaryMeshEntries.C | 2 +- .../polyBoundaryMeshEntries.H | 2 +- .../faMesh/faBoundaryMesh/faBoundaryMesh.C | 2 +- .../faMesh/faBoundaryMesh/faBoundaryMesh.H | 2 +- .../faBoundaryMesh/faBoundaryMeshEntries.C | 2 +- .../faBoundaryMesh/faBoundaryMeshEntries.H | 2 +- .../volPointInterpolate.C | 3 +- .../field/mapFields/mapFieldsTemplates.C | 43 ++++++-------- .../zeroGradient/zeroGradientTemplates.C | 6 +- .../cellSources/fieldToCell/fieldDictionary.H | 26 ++++----- .../cellCellStencilTemplates.C | 23 ++++---- src/overset/oversetFvMesh/oversetFvMeshBase.H | 2 +- .../oversetFvMeshBaseTemplates.C | 56 ++++++++++--------- 22 files changed, 136 insertions(+), 145 deletions(-) delete mode 100644 applications/test/dimField/Make/files create mode 100644 applications/test/dimField1/Make/files rename applications/test/{dimField => dimField1}/Make/options (100%) rename applications/test/{dimField/Test-dimField.C => dimField1/Test-dimField1.cxx} (80%) diff --git a/applications/test/dimField/Make/files b/applications/test/dimField/Make/files deleted file mode 100644 index 8289e2ec00d..00000000000 --- a/applications/test/dimField/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -Test-dimField.C - -EXE = $(FOAM_USER_APPBIN)/Test-dimField diff --git a/applications/test/dimField1/Make/files b/applications/test/dimField1/Make/files new file mode 100644 index 00000000000..226fc66a5d6 --- /dev/null +++ b/applications/test/dimField1/Make/files @@ -0,0 +1,3 @@ +Test-dimField1.cxx + +EXE = $(FOAM_USER_APPBIN)/Test-dimField1 diff --git a/applications/test/dimField/Make/options b/applications/test/dimField1/Make/options similarity index 100% rename from applications/test/dimField/Make/options rename to applications/test/dimField1/Make/options diff --git a/applications/test/dimField/Test-dimField.C b/applications/test/dimField1/Test-dimField1.cxx similarity index 80% rename from applications/test/dimField/Test-dimField.C rename to applications/test/dimField1/Test-dimField1.cxx index f711584883b..9eaf98fe95a 100644 --- a/applications/test/dimField/Test-dimField.C +++ b/applications/test/dimField1/Test-dimField1.cxx @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2020-2022 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -24,7 +24,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Application - Test-dimField + Test-dimField1 Description Simple tests for DimensionedField @@ -52,7 +52,12 @@ namespace Foam int main(int argc, char *argv[]) { + argList::addBoolOption("write", "write some test fields"); + #include "setRootCase.H" + + const bool doWrite = args.found("write"); + #include "createTime.H" #include "createMesh.H" @@ -60,19 +65,23 @@ int main(int argc, char *argv[]) Info<< "Tensor field\n" << endl; DimensionedField<tensor, volMesh> tensorfld ( - IOobject + mesh.newIOobject ( "tensor", - runTime.timeName(), - mesh, - { IOobject::READ_IF_PRESENT, IOobject::NO_REGISTER } + { IOobject::READ_IF_PRESENT, IOobject::NO_WRITE } ), mesh, dimensioned<tensor>(dimless, tensor(1,2,3,4,5,6,7,8,9)) ); - Info().beginBlock("transformed") - << tensorfld.T() << nl; + if (doWrite) + { + tensorfld.write(); + } + + + Info<< nl; + Info().beginBlock("transformed") << tensorfld.T(); Info().endBlock(); { @@ -84,8 +93,8 @@ int main(int argc, char *argv[]) dimensioned<scalar>(14) ); - Info().beginBlock(tfld().type()) - << tfld << nl; + Info<< nl; + Info().beginBlock(tfld().type()) << tfld; Info().endBlock(); } @@ -98,8 +107,8 @@ int main(int argc, char *argv[]) dimensioned<scalar>(5) ); - Info().beginBlock(tfld().type()) - << tfld() << nl; + Info<< nl; + Info().beginBlock(tfld().type()) << tfld(); Info().endBlock(); // From dissimilar types @@ -111,8 +120,8 @@ int main(int argc, char *argv[]) dimensioned<vector>(Zero) ); - Info().beginBlock(tfld2().type()) - << tfld2() << nl; + Info<< nl; + Info().beginBlock(tfld2().type()) << tfld2(); Info().endBlock(); } } @@ -122,20 +131,13 @@ int main(int argc, char *argv[]) Info<< "uint8 field\n" << endl; DimensionedField<uint8_t, volMesh> statefld ( - IOobject - ( - "state", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + mesh.newIOobject("state") mesh, dimensioned<uint8_t>(dimless, uint8_t{100}) ); - Info().beginBlock("stateField") - << statefld << nl; + Info<< nl; + Info().beginBlock("stateField") << statefld; Info().endBlock(); } #endif diff --git a/applications/test/parallelOverset/Make/options b/applications/test/parallelOverset/Make/options index b0aa2ef220d..db6c073e474 100644 --- a/applications/test/parallelOverset/Make/options +++ b/applications/test/parallelOverset/Make/options @@ -7,5 +7,6 @@ EXE_INC = \ EXE_LIBS = \ -lfiniteVolume \ + -ldynamicFvMesh \ -lsampling \ -loverset diff --git a/applications/test/parallelOverset/laplacianDyMFoam.C b/applications/test/parallelOverset/laplacianDyMFoam.C index 997ef3f590e..f94bbd2cafe 100644 --- a/applications/test/parallelOverset/laplacianDyMFoam.C +++ b/applications/test/parallelOverset/laplacianDyMFoam.C @@ -56,6 +56,7 @@ Description #include "fvCFD.H" #include "simpleControl.H" +#include "predicates.H" #include "dynamicFvMesh.H" #include "dynamicOversetFvMesh.H" @@ -97,6 +98,7 @@ int main(int argc, char *argv[]) component(T.ref(), mesh.C(), 1); // Interpolate + halo swap T.correctBoundaryConditions(); + // T.boundaryFieldRef().evaluate_if(predicates::always{}); // Check halo swap dynamicOversetFvMesh::checkCoupledBC(T); } diff --git a/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H b/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H index f3106def5c4..34b26b49edb 100644 --- a/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H +++ b/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H @@ -26,8 +26,8 @@ License \*---------------------------------------------------------------------------*/ -#ifndef MapConsistentVolFields_H -#define MapConsistentVolFields_H +#ifndef Foam_MapConsistentVolFields_H +#define Foam_MapConsistentVolFields_H #include "GeometricField.H" #include "meshToMesh.H" @@ -41,10 +41,9 @@ namespace Foam template<class Type> void evaluateConstraintTypes(GeometricField<Type, fvPatchField, volMesh>& fld) { - auto& fldBf = fld.boundaryFieldRef(); + auto& bfld = fld.boundaryFieldRef(); const UPstream::commsTypes commsType = UPstream::defaultCommsType; - const label startOfRequests = UPstream::nRequests(); if ( @@ -52,37 +51,32 @@ void evaluateConstraintTypes(GeometricField<Type, fvPatchField, volMesh>& fld) || commsType == UPstream::commsTypes::nonBlocking ) { - forAll(fldBf, patchi) - { - fvPatchField<Type>& tgtField = fldBf[patchi]; + const label startOfRequests = UPstream::nRequests(); + for (auto& pfld : bfld) + { if ( - tgtField.type() == tgtField.patch().patch().type() - && polyPatch::constraintType(tgtField.patch().patch().type()) + pfld.type() == pfld.patch().patch().type() + && polyPatch::constraintType(pfld.patch().patch().type()) ) { - tgtField.initEvaluate(commsType); + pfld.initEvaluate(commsType); } } - // Wait for outstanding requests - if (commsType == UPstream::commsTypes::nonBlocking) - { - UPstream::waitRequests(startOfRequests); - } + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); - forAll(fldBf, patchi) + for (auto& pfld : bfld) { - fvPatchField<Type>& tgtField = fldBf[patchi]; - if ( - tgtField.type() == tgtField.patch().patch().type() - && polyPatch::constraintType(tgtField.patch().patch().type()) + pfld.type() == pfld.patch().patch().type() + && polyPatch::constraintType(pfld.patch().patch().type()) ) { - tgtField.evaluate(commsType); + pfld.evaluate(commsType); } } } @@ -94,22 +88,21 @@ void evaluateConstraintTypes(GeometricField<Type, fvPatchField, volMesh>& fld) for (const auto& schedEval : patchSchedule) { const label patchi = schedEval.patch; - - fvPatchField<Type>& tgtField = fldBf[patchi]; + auto& pfld = bfld[patchi]; if ( - tgtField.type() == tgtField.patch().patch().type() - && polyPatch::constraintType(tgtField.patch().patch().type()) + pfld.type() == pfld.patch().patch().type() + && polyPatch::constraintType(pfld.patch().patch().type()) ) { if (schedEval.init) { - tgtField.initEvaluate(commsType); + pfld.initEvaluate(commsType); } else { - tgtField.evaluate(commsType); + pfld.evaluate(commsType); } } } diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C index f7332a19006..5d096e36f6a 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C @@ -1440,7 +1440,7 @@ void Foam::polyBoundaryMesh::writeEntry(Ostream& os) const void Foam::polyBoundaryMesh::writeEntry ( - const keyType& keyword, + const word& keyword, Ostream& os ) const { diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H index 93a059a06e6..d21d9cf0b59 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H @@ -379,7 +379,7 @@ public: //- Write as a primitive entry with given name. //- If the keyword is empty, revert to a plain list. - void writeEntry(const keyType& keyword, Ostream& os) const; + void writeEntry(const word& keyword, Ostream& os) const; //- The writeData member function required by regIOobject virtual bool writeData(Ostream& os) const; diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C index 7cf2f53abb9..e8c4cfe61c5 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C @@ -214,7 +214,7 @@ void Foam::polyBoundaryMeshEntries::writeEntry(Ostream& os) const void Foam::polyBoundaryMeshEntries::writeEntry ( - const keyType& keyword, + const word& keyword, Ostream& os ) const { diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H index 2fb5c6feae2..e614c0929ab 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H @@ -121,7 +121,7 @@ public: //- Write as a primitive entry with given name. //- If the keyword is empty, revert to a plain list. - void writeEntry(const keyType& keyword, Ostream& os) const; + void writeEntry(const word& keyword, Ostream& os) const; //- The writeData member function required by regIOobject virtual bool writeData(Ostream& os) const; diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C index 55ee4b2899a..e770328a70b 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.C @@ -1058,7 +1058,7 @@ void Foam::faBoundaryMesh::writeEntry(Ostream& os) const void Foam::faBoundaryMesh::writeEntry ( - const keyType& keyword, + const word& keyword, Ostream& os ) const { diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H index 9c3cc9d0e90..cad29247915 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMesh.H @@ -299,7 +299,7 @@ public: //- Write as a primitive entry with given name. //- If the keyword is empty, revert to a plain list. - void writeEntry(const keyType& keyword, Ostream& os) const; + void writeEntry(const word& keyword, Ostream& os) const; //- The writeData member function required by regIOobject virtual bool writeData(Ostream& os) const; diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C index 59ebacfe33f..2a07f2fd997 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.C @@ -183,7 +183,7 @@ void Foam::faBoundaryMeshEntries::writeEntry(Ostream& os) const void Foam::faBoundaryMeshEntries::writeEntry ( - const keyType& keyword, + const word& keyword, Ostream& os ) const { diff --git a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.H b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.H index c9f85716937..ccaebe01acc 100644 --- a/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.H +++ b/src/finiteArea/faMesh/faBoundaryMesh/faBoundaryMeshEntries.H @@ -108,7 +108,7 @@ public: //- Write as a primitive entry with given name. //- If the keyword is empty, revert to a plain list. - void writeEntry(const keyType& keyword, Ostream& os) const; + void writeEntry(const word& keyword, Ostream& os) const; //- The writeData member function required by regIOobject virtual bool writeData(Ostream& os) const; diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C index 3ef984cf4d7..f1b7fd0ff0a 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C @@ -107,8 +107,7 @@ void Foam::volPointInterpolation::addSeparated } } - // Wait for outstanding requests - // (commsType == UPstream::commsTypes::nonBlocking) + // Wait for outstanding requests (non-blocking) UPstream::waitRequests(startOfRequests); forAll(pfbf, patchi) diff --git a/src/functionObjects/field/mapFields/mapFieldsTemplates.C b/src/functionObjects/field/mapFields/mapFieldsTemplates.C index 2350ef32c0e..58bd9572dca 100644 --- a/src/functionObjects/field/mapFields/mapFieldsTemplates.C +++ b/src/functionObjects/field/mapFields/mapFieldsTemplates.C @@ -36,10 +36,9 @@ void Foam::functionObjects::mapFields::evaluateConstraintTypes GeometricField<Type, fvPatchField, volMesh>& fld ) const { - auto& fldBf = fld.boundaryFieldRef(); + auto& bfld = fld.boundaryFieldRef(); const UPstream::commsTypes commsType = UPstream::defaultCommsType; - const label startOfRequests = UPstream::nRequests(); if ( @@ -47,37 +46,32 @@ void Foam::functionObjects::mapFields::evaluateConstraintTypes || commsType == UPstream::commsTypes::nonBlocking ) { - forAll(fldBf, patchi) - { - fvPatchField<Type>& tgtField = fldBf[patchi]; + const label startOfRequests = UPstream::nRequests(); + for (auto& pfld : bfld) + { if ( - tgtField.type() == tgtField.patch().patch().type() - && polyPatch::constraintType(tgtField.patch().patch().type()) + pfld.type() == pfld.patch().patch().type() + && polyPatch::constraintType(pfld.patch().patch().type()) ) { - tgtField.initEvaluate(commsType); + pfld.initEvaluate(commsType); } } - // Wait for outstanding requests - if (commsType == UPstream::commsTypes::nonBlocking) - { - UPstream::waitRequests(startOfRequests); - } + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); - forAll(fldBf, patchi) + for (auto& pfld : bfld) { - fvPatchField<Type>& tgtField = fldBf[patchi]; - if ( - tgtField.type() == tgtField.patch().patch().type() - && polyPatch::constraintType(tgtField.patch().patch().type()) + pfld.type() == pfld.patch().patch().type() + && polyPatch::constraintType(pfld.patch().patch().type()) ) { - tgtField.evaluate(commsType); + pfld.evaluate(commsType); } } } @@ -89,22 +83,21 @@ void Foam::functionObjects::mapFields::evaluateConstraintTypes for (const auto& schedEval : patchSchedule) { const label patchi = schedEval.patch; - - fvPatchField<Type>& tgtField = fldBf[patchi]; + auto& pfld = bfld[patchi]; if ( - tgtField.type() == tgtField.patch().patch().type() - && polyPatch::constraintType(tgtField.patch().patch().type()) + pfld.type() == pfld.patch().patch().type() + && polyPatch::constraintType(pfld.patch().patch().type()) ) { if (schedEval.init) { - tgtField.initEvaluate(commsType); + pfld.initEvaluate(commsType); } else { - tgtField.evaluate(commsType); + pfld.evaluate(commsType); } } } diff --git a/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C b/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C index 0894b199d55..0c6dcd4ecb9 100644 --- a/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C +++ b/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C @@ -37,11 +37,9 @@ bool Foam::functionObjects::zeroGradient::accept const GeometricField<Type, fvPatchField, volMesh>& input ) { - const auto& patches = input.boundaryField(); - - forAll(patches, patchi) + for (const auto& pfld : input.boundaryField()) { - if (!polyPatch::constraintType(patches[patchi].patch().patch().type())) + if (!polyPatch::constraintType(pfld.patch().patch().type())) { return true; } diff --git a/src/meshTools/topoSet/cellSources/fieldToCell/fieldDictionary.H b/src/meshTools/topoSet/cellSources/fieldToCell/fieldDictionary.H index 999f5a8862c..c04f5bfb384 100644 --- a/src/meshTools/topoSet/cellSources/fieldToCell/fieldDictionary.H +++ b/src/meshTools/topoSet/cellSources/fieldToCell/fieldDictionary.H @@ -32,11 +32,11 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef fieldDictionary_H -#define fieldDictionary_H +#ifndef Foam_fieldDictionary_H +#define Foam_fieldDictionary_H -#include "regIOobject.H" #include "dictionary.H" +#include "regIOobject.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,22 +52,22 @@ class fieldDictionary public regIOobject, public dictionary { - // Private Data - const word type_; + //- The specified field type + const word fieldType_; public: // Constructors - //- Construct from ioobject and overloaded typename. - fieldDictionary(const IOobject& io, const word& type) + //- Construct from IOobject and specified (overloaded) type name + fieldDictionary(const IOobject& io, const word& fieldType) : regIOobject(io), - dictionary(readStream(type)), - type_(type) + dictionary(readStream(fieldType)), + fieldType_(fieldType) { close(); } @@ -78,13 +78,13 @@ public: //- Redefine type name to be of the instantiated type virtual const word& type() const { - return type_; + return fieldType_; } - bool writeData(Ostream& os) const + //- The writeData function required by regIOobject write operation + virtual bool writeData(Ostream& os) const { - static_cast<const dictionary&>(*this).write(os, false); - + dictionary::write(os, false); return os.good(); } }; diff --git a/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C b/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C index 80237911108..f110df64632 100644 --- a/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C +++ b/src/overset/cellCellStencil/cellCellStencil/cellCellStencilTemplates.C @@ -185,29 +185,26 @@ void Foam::cellCellStencil::correctBoundaryConditions // Version of GeoField::correctBoundaryConditions that exclude evaluation // of oversetFvPatchFields - typename GeoField::Boundary& bfld = psi.boundaryFieldRef(); + auto& bfld = psi.boundaryFieldRef(); - const label nReq = Pstream::nRequests(); + const label startOfRequests = UPstream::nRequests(); - forAll(bfld, patchi) + for (auto& pfld : bfld) { - if (!isA<SuppressBC>(bfld[patchi])) + if (!isA<SuppressBC>(pfld)) { - bfld[patchi].initEvaluate(Pstream::commsTypes::nonBlocking); + pfld.initEvaluate(UPstream::commsTypes::nonBlocking); } } - // Block for any outstanding requests - if (Pstream::parRun()) - { - Pstream::waitRequests(nReq); - } + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); - forAll(bfld, patchi) + for (auto& pfld : bfld) { - if (!isA<SuppressBC>(bfld[patchi])) + if (!isA<SuppressBC>(pfld)) { - bfld[patchi].evaluate(Pstream::commsTypes::nonBlocking); + pfld.evaluate(UPstream::commsTypes::nonBlocking); } } } diff --git a/src/overset/oversetFvMesh/oversetFvMeshBase.H b/src/overset/oversetFvMesh/oversetFvMeshBase.H index 49513221954..b0678b1a24b 100644 --- a/src/overset/oversetFvMesh/oversetFvMeshBase.H +++ b/src/overset/oversetFvMesh/oversetFvMeshBase.H @@ -256,7 +256,7 @@ public: static void checkCoupledBC(const GeoField& fld); //- Correct boundary conditions of certain type (typeOnly = true) - // or explicitly not of the type (typeOnly = false) + //- or explicitly not of the type (typeOnly = false) template<class GeoField, class PatchType> static void correctBoundaryConditions ( diff --git a/src/overset/oversetFvMesh/oversetFvMeshBaseTemplates.C b/src/overset/oversetFvMesh/oversetFvMeshBaseTemplates.C index c57a6358188..471cbee742f 100644 --- a/src/overset/oversetFvMesh/oversetFvMeshBaseTemplates.C +++ b/src/overset/oversetFvMesh/oversetFvMeshBaseTemplates.C @@ -80,28 +80,36 @@ void Foam::oversetFvMeshBase::correctBoundaryConditions const bool typeOnly ) { + // Alternative (C++14) + // + // bfld.evaluate_if + // ( + // [typeOnly](const auto& pfld) -> bool + // { + // return (typeOnly == bool(isA<PatchType>(pfld))); + // }, + // UPstream::defaultCommsType + // ); + const UPstream::commsTypes commsType = UPstream::defaultCommsType; const label startOfRequests = UPstream::nRequests(); - forAll(bfld, patchi) + for (auto& pfld : bfld) { - if (typeOnly == (isA<PatchType>(bfld[patchi]) != nullptr)) + if (typeOnly == bool(isA<PatchType>(pfld))) { - bfld[patchi].initEvaluate(commsType); + pfld.initEvaluate(commsType); } } - // Wait for outstanding requests - if (commsType == UPstream::commsTypes::nonBlocking) - { - Pstream::waitRequests(startOfRequests); - } + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); - forAll(bfld, patchi) + for (auto& pfld : bfld) { - if (typeOnly == (isA<PatchType>(bfld[patchi]) != nullptr)) + if (typeOnly == bool(isA<PatchType>(pfld))) { - bfld[patchi].evaluate(commsType); + pfld.evaluate(commsType); } } } @@ -989,32 +997,30 @@ void Foam::oversetFvMeshBase::write template<class GeoField> void Foam::oversetFvMeshBase::correctCoupledBoundaryConditions(GeoField& fld) { - typename GeoField::Boundary& bfld = fld.boundaryFieldRef(); + auto& bfld = fld.boundaryFieldRef(); const UPstream::commsTypes commsType = UPstream::defaultCommsType; + const label startOfRequests = UPstream::nRequests(); - forAll(bfld, patchi) + for (auto& pfld : bfld) { - if (bfld[patchi].coupled()) + if (pfld.coupled()) { - //Pout<< "initEval of " << bfld[patchi].patch().name() << endl; - bfld[patchi].initEvaluate(commsType); + //Pout<< "initEval of " << pfld.patch().name() << endl; + pfld.initEvaluate(commsType); } } - // Wait for outstanding requests - if (commsType == UPstream::commsTypes::nonBlocking) - { - Pstream::waitRequests(startOfRequests); - } + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); - forAll(bfld, patchi) + for (auto& pfld : bfld) { - if (bfld[patchi].coupled()) + if (pfld.coupled()) { - //Pout<< "eval of " << bfld[patchi].patch().name() << endl; - bfld[patchi].evaluate(commsType); + //Pout<< "eval of " << pfld.patch().name() << endl; + pfld.evaluate(commsType); } } } -- GitLab From 9335b641f1d38bfa56a22c844ad64810b0bb1a8a Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 13 May 2024 12:31:57 +0200 Subject: [PATCH 173/231] ENH: GeometricBoundaryField evaluate with specified communication type - evaluate() the communication type is exposed as a parameter to allow for more tuning, but default parameter remains defaultCommsType so there is no change in behaviour for existing code - evaluate_if() supports a general selection predicate - evaluateSelected() now does initEvaluate() for all patches, waits and then calls evaluate(). This avoids potential deadlocks when multiple patches are inter-communicating. ENH: align DimensionedField reading with GeometricField treatment - use localIOdictionary to obtain the dictionary contents ENH: update GeometricField code - change GeometricField writeData() as primary output method (not operator<<) for better clarity of purpose - use unique_ptr for GeometricField demand-driven data --- .../DimensionedField/DimensionedField.H | 10 +- .../DimensionedField/DimensionedFieldIO.C | 58 +++-- .../GeometricField/GeometricBoundaryField.C | 220 +++++++++++------- .../GeometricField/GeometricBoundaryField.H | 58 +++-- .../GeometricField/GeometricField.C | 159 ++++--------- .../GeometricField/GeometricField.H | 21 +- 6 files changed, 283 insertions(+), 243 deletions(-) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H index e7b4d21c6f1..d37b651781d 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H @@ -115,8 +115,12 @@ private: //- Assert that non-zero field size == mesh size void checkFieldSize() const; + //- Read from file if it is present. Checks the readOption flag void readIfPresent(const word& fieldDictEntry = "value"); + //- Read the field - create the field dictionary on-the-fly + void readField(const word& fieldDictEntry = "value"); + //- Implementation for 'New' with specified registerObject preference. // For LEGACY_REGISTER, registration is determined by // objectRegistry::is_cacheTemporaryObject(). @@ -580,8 +584,8 @@ public: bool writeData(Ostream& os, const word& fieldDictEntry) const; //- The writeData function (required by regIOobject), - //- call writeData with dictionary entry name = "value" - bool writeData(Ostream& os) const; + //- calls writeData with dictionary entry name = "value" + bool writeData(Ostream& os) const { return writeData(os, "value"); } // Member Operators @@ -613,12 +617,14 @@ public: // Ostream Operators + //- Calls DimensionedField::writeData() friend Ostream& operator<< <Type, GeoMesh> ( Ostream& os, const DimensionedField<Type, GeoMesh>& df ); + //- Calls DimensionedField::writeData() friend Ostream& operator<< <Type, GeoMesh> ( Ostream& os, diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldIO.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldIO.C index 57a0da9e664..7ad8544616f 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldIO.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldIO.C @@ -28,6 +28,7 @@ License #include "DimensionedField.H" #include "IOstreams.H" +#include "localIOdictionary.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -58,15 +59,49 @@ void Foam::DimensionedField<Type, GeoMesh>::readField } +template<class Type, class GeoMesh> +void Foam::DimensionedField<Type, GeoMesh>::readField +( + const word& fieldDictEntry +) +{ + dictionary dict + ( + localIOdictionary::readContents + ( + IOobject + ( + this->name(), + this->instance(), + this->local(), + this->db(), + IOobjectOption::MUST_READ, + IOobjectOption::NO_WRITE, + IOobjectOption::NO_REGISTER + ), + typeName + ) + ); + + this->close(); + + readField(dict, fieldDictEntry); +} + + template<class Type, class GeoMesh> void Foam::DimensionedField<Type, GeoMesh>::readIfPresent ( const word& fieldDictEntry ) { - if (this->isReadRequired() || (this->isReadOptional() && this->headerOk())) + if + ( + this->isReadRequired() + || (this->isReadOptional() && this->headerOk()) + ) { - readField(dictionary(readStream(typeName)), fieldDictEntry); + readField(fieldDictEntry); } } @@ -87,7 +122,7 @@ Foam::DimensionedField<Type, GeoMesh>::DimensionedField dimensions_(dimless), oriented_() { - readField(dictionary(readStream(typeName)), fieldDictEntry); + readField(fieldDictEntry); } @@ -134,23 +169,16 @@ bool Foam::DimensionedField<Type, GeoMesh>::writeData } -template<class Type, class GeoMesh> -bool Foam::DimensionedField<Type, GeoMesh>::writeData(Ostream& os) const -{ - return writeData(os, "value"); -} - - // * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // template<class Type, class GeoMesh> Foam::Ostream& Foam::operator<< ( Ostream& os, - const DimensionedField<Type, GeoMesh>& df + const DimensionedField<Type, GeoMesh>& fld ) { - df.writeData(os); + fld.writeData(os); return os; } @@ -160,11 +188,11 @@ template<class Type, class GeoMesh> Foam::Ostream& Foam::operator<< ( Ostream& os, - const tmp<DimensionedField<Type, GeoMesh>>& tdf + const tmp<DimensionedField<Type, GeoMesh>>& tfld ) { - tdf().writeData(os); - tdf.clear(); + tfld().writeData(os); + tfld.clear(); return os; } diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C index 70d5ce25560..aff9204eefe 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C @@ -91,7 +91,7 @@ bool Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::checkConsistency } } - // Wait for outstanding requests + // Wait for outstanding requests (non-blocking) UPstream::waitRequests(startOfRequests); for (auto& pfld : bfld) @@ -193,10 +193,7 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::readField const dictionary& dict ) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} + // DebugInFunction << nl; // Clear the boundary field if already initialised this->clear(); @@ -363,10 +360,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField FieldField<PatchField, Type>(bmesh.size()), bmesh_(bmesh) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} + // DebugInFunction << nl; forAll(bmesh_, patchi) { @@ -396,10 +390,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField FieldField<PatchField, Type>(bmesh.size()), bmesh_(bmesh) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} + // DebugInFunction << nl; if ( @@ -462,10 +453,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField FieldField<PatchField, Type>(bmesh.size()), bmesh_(bmesh) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} + // DebugInFunction << nl; forAll(bmesh_, patchi) { @@ -484,10 +472,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField FieldField<PatchField, Type>(btf.size()), bmesh_(btf.bmesh_) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} + // DebugInFunction << nl; forAll(bmesh_, patchi) { @@ -508,10 +493,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField FieldField<PatchField, Type>(btf.size()), bmesh_(btf.bmesh_) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} + // DebugInFunction << nl; for (const label patchi : patchIDs) { @@ -545,12 +527,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField : FieldField<PatchField, Type>(btf), bmesh_(btf.bmesh_) -{ - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} -} +{} template<class Type, template<class> class PatchField, class GeoMesh> @@ -573,10 +550,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::GeometricBoundaryField template<class Type, template<class> class PatchField, class GeoMesh> void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::updateCoeffs() { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} + // DebugInFunction << nl; for (auto& pfld : *this) { @@ -586,32 +560,26 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::updateCoeffs() template<class Type, template<class> class PatchField, class GeoMesh> -void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluate() +void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluate +( + const UPstream::commsTypes commsType +) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} - - const UPstream::commsTypes commsType = UPstream::defaultCommsType; - const label startOfRequests = UPstream::nRequests(); - if ( commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { + const label startOfRequests = UPstream::nRequests(); + for (auto& pfld : *this) { pfld.initEvaluate(commsType); } - // Wait for outstanding requests - if (commsType == Pstream::commsTypes::nonBlocking) - { - UPstream::waitRequests(startOfRequests); - } + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); for (auto& pfld : *this) { @@ -641,8 +609,74 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluate() else { FatalErrorInFunction - << "Unsupported communications type " - << UPstream::commsTypeNames[commsType] + << "Unsupported communications type " << int(commsType) << nl + << exit(FatalError); + } +} + + +template<class Type, template<class> class PatchField, class GeoMesh> +template<class UnaryPredicate> +void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluate_if +( + const UnaryPredicate& pred, + const UPstream::commsTypes commsType +) +{ + if + ( + commsType == UPstream::commsTypes::buffered + || commsType == UPstream::commsTypes::nonBlocking + ) + { + const label startOfRequests = UPstream::nRequests(); + + for (auto& pfld : *this) + { + if (pred(pfld)) + { + pfld.initEvaluate(commsType); + } + } + + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); + + for (auto& pfld : *this) + { + if (pred(pfld)) + { + pfld.evaluate(commsType); + } + } + } + else if (commsType == UPstream::commsTypes::scheduled) + { + const lduSchedule& patchSchedule = + bmesh_.mesh().globalData().patchSchedule(); + + for (const auto& schedEval : patchSchedule) + { + const label patchi = schedEval.patch; + auto& pfld = (*this)[patchi]; + + if (pred(pfld)) + { + if (schedEval.init) + { + pfld.initEvaluate(commsType); + } + else + { + pfld.evaluate(commsType); + } + } + } + } + else + { + FatalErrorInFunction + << "Unsupported communications type " << int(commsType) << nl << exit(FatalError); } } @@ -651,58 +685,60 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluate() template<class Type, template<class> class PatchField, class GeoMesh> void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluateSelected ( - const UList<label>& patchIDs + const labelUList& patchIDs ) { + const label startOfRequests = UPstream::nRequests(); + for (const label patchi : patchIDs) { - auto& pf = (*this)[patchi]; + auto& pfld = (*this)[patchi]; - DebugInfo<< "Updating " << pf.patch().name() << endl; + DebugInfo<< "Updating " << pfld.patch().name() << endl; - const label startOfRequests = UPstream::nRequests(); + pfld.initEvaluate(UPstream::commsTypes::nonBlocking); + } - pf.initEvaluate(UPstream::commsTypes::nonBlocking); + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); - UPstream::waitRequests(startOfRequests); + for (const label patchi : patchIDs) + { + auto& pfld = (*this)[patchi]; - pf.evaluate(UPstream::commsTypes::nonBlocking); + pfld.evaluate(UPstream::commsTypes::nonBlocking); } } template<class Type, template<class> class PatchField, class GeoMesh> -void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluateLocal() +void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluateLocal +( + const UPstream::commsTypes commsType +) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} + // DebugInFunction << nl; if (!localConsistency) { return; } - const UPstream::commsTypes commsType = UPstream::defaultCommsType; - const label startOfRequests = UPstream::nRequests(); - if ( commsType == UPstream::commsTypes::buffered || commsType == UPstream::commsTypes::nonBlocking ) { + const label startOfRequests = UPstream::nRequests(); + for (auto& pfld : *this) { pfld.initEvaluateLocal(commsType); } - // Wait for outstanding requests - if (commsType == Pstream::commsTypes::nonBlocking) - { - UPstream::waitRequests(startOfRequests); - } + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); for (auto& pfld : *this) { @@ -732,8 +768,7 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluateLocal() else { FatalErrorInFunction - << "Unsupported communications type " - << UPstream::commsTypeNames[commsType] + << "Unsupported communications type " << int(commsType) << nl << exit(FatalError); } } @@ -741,17 +776,24 @@ void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluateLocal() template<class Type, template<class> class PatchField, class GeoMesh> template<class CoupledPatchType> -void -Foam::GeometricBoundaryField<Type, PatchField, GeoMesh> -::evaluateCoupled() +void Foam::GeometricBoundaryField<Type, PatchField, GeoMesh>::evaluateCoupled +( + const UPstream::commsTypes commsType +) { - ///if (GeometricField<Type, PatchField, GeoMesh::debug) - ///{ - /// InfoInFunction << nl; - ///} - - const UPstream::commsTypes commsType = UPstream::defaultCommsType; - const label startOfRequests = UPstream::nRequests(); + // Alternative (C++14) + // + // this->evaluate_if + // ( + // [](const auto& pfld) -> bool + // { + // const auto* cpp = isA<CoupledPatchType>(pfld.patch()); + // return (cpp && cpp->coupled()); + // }, + // commsType + // ); + + // DebugInFunction << nl; if ( @@ -759,6 +801,8 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh> || commsType == UPstream::commsTypes::nonBlocking ) { + const label startOfRequests = UPstream::nRequests(); + for (auto& pfld : *this) { const auto* cpp = isA<CoupledPatchType>(pfld.patch()); @@ -769,11 +813,8 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh> } } - // Wait for outstanding requests - if (commsType == UPstream::commsTypes::nonBlocking) - { - UPstream::waitRequests(startOfRequests); - } + // Wait for outstanding requests (non-blocking) + UPstream::waitRequests(startOfRequests); for (auto& pfld : *this) { @@ -813,8 +854,7 @@ Foam::GeometricBoundaryField<Type, PatchField, GeoMesh> else { FatalErrorInFunction - << "Unsupported communications type " - << UPstream::commsTypeNames[commsType] + << "Unsupported communications type " << int(commsType) << nl << exit(FatalError); } } diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.H index 3e327184099..28834c39ced 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017,2022 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -49,12 +49,6 @@ SourceFiles namespace Foam { -// Forward Declarations -class dictionary; - -template<class Type, template<class> class PatchField, class GeoMesh> -class GeometricField; - /*---------------------------------------------------------------------------*\ Class GeometricBoundaryField Declaration \*---------------------------------------------------------------------------*/ @@ -74,6 +68,9 @@ public: //- The internal field type associated with the boundary fields typedef DimensionedField<Type, GeoMesh> Internal; + //- This boundary field type + typedef GeometricBoundaryField<Type, PatchField, GeoMesh> Boundary; + //- The patch field type for the boundary fields typedef PatchField<Type> Patch; @@ -182,18 +179,40 @@ public: //- Update the boundary condition coefficients void updateCoeffs(); - //- Evaluate boundary conditions - void evaluate(); + //- Evaluate boundary conditions for each patch field. + //- Uses specified or default comms. + void evaluate + ( + const UPstream::commsTypes commsType = UPstream::defaultCommsType + ); - //- Evaluate boundary conditions after change in local values - void evaluateLocal(); + //- Evaluate boundary conditions for patch fields matching the + //- given predicate. Uses specified or default comms. + template<class UnaryPredicate> + void evaluate_if + ( + const UnaryPredicate& pred, + const UPstream::commsTypes commsType = UPstream::defaultCommsType + ); + + //- Evaluate boundary conditions after change in local values. + //- Uses specified or default comms. + void evaluateLocal + ( + const UPstream::commsTypes commsType = UPstream::defaultCommsType + ); - //- Evaluate boundary conditions on a subset of coupled patches + //- Evaluate boundary conditions on coupled patches of given type. + //- Uses specified or default comms. template<class CoupledPatchType> - void evaluateCoupled(); + void evaluateCoupled + ( + const UPstream::commsTypes commsType = UPstream::defaultCommsType + ); - //- Evaluate boundary conditions for selected patches - void evaluateSelected(const UList<label>& patchIDs); + //- Evaluate boundary conditions for selected patches. + //- Uses non-blocking comms. + void evaluateSelected(const labelUList& patchIDs); //- Return a list of the patch types wordList types() const; @@ -209,15 +228,18 @@ public: //- pointing to interfaces being set lduInterfaceFieldPtrsList scalarInterfaces() const; + //- Helper: check if field has been evaluated. See instantiations. + bool check() const; + + + // Write + //- Write boundary field as dictionary entry void writeEntry(const word& keyword, Ostream& os) const; //- Write dictionary entries of the individual boundary fields. void writeEntries(Ostream& os) const; - //- Helper: check if field has been evaluated. See instantiations. - bool check() const; - // Member Operators diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C index 12603e72ef5..2ec59ff2d74 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,6 @@ License #include "GeometricField.H" #include "Time.H" -#include "demandDrivenData.H" #include "dictionary.H" #include "localIOdictionary.H" #include "meshState.H" @@ -77,19 +76,22 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::readFields template<class Type, template<class> class PatchField, class GeoMesh> void Foam::GeometricField<Type, PatchField, GeoMesh>::readFields() { - const localIOdictionary dict + dictionary dict ( - IOobject + localIOdictionary::readContents ( - this->name(), - this->instance(), - this->local(), - this->db(), - IOobjectOption::MUST_READ, - IOobjectOption::NO_WRITE, - IOobjectOption::NO_REGISTER - ), - typeName + IOobject + ( + this->name(), + this->instance(), + this->local(), + this->db(), + IOobjectOption::MUST_READ, + IOobjectOption::NO_WRITE, + IOobjectOption::NO_REGISTER + ), + typeName + ) ); this->close(); @@ -111,10 +113,7 @@ bool Foam::GeometricField<Type, PatchField, GeoMesh>::readIfPresent() else if ( this->isReadOptional() - && this->template typeHeaderOk<GeometricField<Type, PatchField, GeoMesh>> - ( - true - ) + && this->template typeHeaderOk<this_type>(true) // checkType = true ) { readFields(); @@ -143,20 +142,13 @@ bool Foam::GeometricField<Type, PatchField, GeoMesh>::readOldTimeIfPresent() if ( - field0.template typeHeaderOk<GeometricField<Type, PatchField, GeoMesh>> - ( - true - ) + field0.template typeHeaderOk<this_type>(true) // checkType = true ) { DebugInFunction << "Reading old time level for field" << nl << this->info() << endl; - field0Ptr_ = new GeometricField<Type, PatchField, GeoMesh> - ( - field0, - this->mesh() - ); + field0Ptr_ = std::make_unique<this_type>(field0, this->mesh()); // Ensure the old time field oriented flag is set to the parent's state // Note: required for backwards compatibility in case of restarting from @@ -190,8 +182,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dims, false), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, patchFieldType) { DebugInFunction @@ -213,8 +203,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dims, false), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, patchFieldTypes, actualPatchTypes) { DebugInFunction @@ -236,8 +224,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, value, dims, false), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, patchFieldType) { DebugInFunction @@ -262,8 +248,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, value, dims, false), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, patchFieldTypes, actualPatchTypes) { DebugInFunction @@ -327,8 +311,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, diField), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(this->mesh().boundary(), *this, ptfl) { DebugInFunction @@ -348,8 +330,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, std::move(diField)), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(this->mesh().boundary(), *this, ptfl) { DebugInFunction @@ -369,8 +349,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, tfield), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(this->mesh().boundary(), *this, ptfl) { DebugInFunction @@ -389,8 +367,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(diField), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(this->mesh().boundary(), *this, ptfl) { DebugInFunction @@ -409,8 +385,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(std::move(diField)), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(this->mesh().boundary(), *this, ptfl) { DebugInFunction @@ -432,8 +406,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dims, iField), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, patchFieldType) { DebugInFunction @@ -455,8 +427,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dims, std::move(iField)), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, patchFieldType) { DebugInFunction @@ -478,8 +448,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dims, iField), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, ptfl) { DebugInFunction @@ -501,8 +469,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dims, std::move(iField)), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, ptfl) { DebugInFunction @@ -524,8 +490,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dims, tfield), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary(), *this, ptfl) { DebugInFunction @@ -545,8 +509,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dimless, false), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary()) { DebugInFunction @@ -584,8 +546,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, mesh, dimless, false), timeIndex_(this->time().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(mesh.boundary()) { readFields(dict); @@ -603,8 +563,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(gf), timeIndex_(gf.timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(*this, gf.boundaryField_) { DebugInFunction @@ -612,10 +570,7 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField if (gf.field0Ptr_) { - field0Ptr_ = new GeometricField<Type, PatchField, GeoMesh> - ( - *gf.field0Ptr_ - ); + field0Ptr_ = std::make_unique<this_type>(*gf.field0Ptr_); } this->writeOpt(IOobjectOption::NO_WRITE); @@ -630,8 +585,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(tgf.constCast(), tgf.movable()), timeIndex_(tgf().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(*this, tgf().boundaryField_) { DebugInFunction @@ -652,8 +605,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, gf), timeIndex_(gf.timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(*this, gf.boundaryField_) { DebugInFunction @@ -662,7 +613,7 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField if (!readIfPresent() && gf.field0Ptr_) { - field0Ptr_ = new GeometricField<Type, PatchField, GeoMesh> + field0Ptr_ = std::make_unique<this_type> ( io.name() + "_0", *gf.field0Ptr_ @@ -680,8 +631,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, tgf.constCast(), tgf.movable()), timeIndex_(tgf().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(*this, tgf().boundaryField_) { DebugInFunction @@ -703,8 +652,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(newName, gf), timeIndex_(gf.timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(*this, gf.boundaryField_) { DebugInFunction @@ -713,7 +660,7 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField if (!readIfPresent() && gf.field0Ptr_) { - field0Ptr_ = new GeometricField<Type, PatchField, GeoMesh> + field0Ptr_ = std::make_unique<this_type> ( newName + "_0", *gf.field0Ptr_ @@ -731,8 +678,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(newName, tgf.constCast(), tgf.movable()), timeIndex_(tgf().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(*this, tgf().boundaryField_) { DebugInFunction @@ -753,8 +698,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, gf), timeIndex_(gf.timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(this->mesh().boundary(), *this, patchFieldType) { DebugInFunction @@ -765,7 +708,7 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField if (!readIfPresent() && gf.field0Ptr_) { - field0Ptr_ = new GeometricField<Type, PatchField, GeoMesh> + field0Ptr_ = std::make_unique<this_type> ( io.name() + "_0", *gf.field0Ptr_ @@ -785,8 +728,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, gf), timeIndex_(gf.timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_ ( this->mesh().boundary(), @@ -803,7 +744,7 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField if (!readIfPresent() && gf.field0Ptr_) { - field0Ptr_ = new GeometricField<Type, PatchField, GeoMesh> + field0Ptr_ = std::make_unique<this_type> ( io.name() + "_0", *gf.field0Ptr_ @@ -823,8 +764,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, gf), timeIndex_(gf.timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_(*this, gf.boundaryField_, patchIDs, patchFieldType) { DebugInFunction @@ -834,7 +773,7 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField if (!readIfPresent() && gf.field0Ptr_) { - field0Ptr_ = new GeometricField<Type, PatchField, GeoMesh> + field0Ptr_ = std::make_unique<this_type> ( io.name() + "_0", *gf.field0Ptr_ @@ -854,8 +793,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField : Internal(io, tgf.constCast(), tgf.movable()), timeIndex_(tgf().timeIndex()), - field0Ptr_(nullptr), - fieldPrevIterPtr_(nullptr), boundaryField_ ( this->mesh().boundary(), @@ -897,13 +834,8 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::~GeometricField() } */ - deleteDemandDrivenData(field0Ptr_); - deleteDemandDrivenData(fieldPrevIterPtr_); - // FUTURE: register cache field info // // this->db().cacheTemporaryObject(*this); - - clearOldTimes(); } @@ -1014,7 +946,7 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::oldTime() const { if (!field0Ptr_) { - field0Ptr_ = new GeometricField<Type, PatchField, GeoMesh> + field0Ptr_ = std::make_unique<this_type> ( IOobject ( @@ -1068,7 +1000,7 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::storePrevIter() const << "Allocating previous iteration field" << nl << this->info() << endl; - fieldPrevIterPtr_ = new GeometricField<Type, PatchField, GeoMesh> + fieldPrevIterPtr_ = std::make_unique<this_type> ( this->name() + "PrevIter", *this @@ -1101,8 +1033,8 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::prevIter() const template<class Type, template<class> class PatchField, class GeoMesh> void Foam::GeometricField<Type, PatchField, GeoMesh>::clearOldTimes() { - deleteDemandDrivenData(field0Ptr_); - deleteDemandDrivenData(fieldPrevIterPtr_); + field0Ptr_.reset(nullptr); + fieldPrevIterPtr_.reset(nullptr); } @@ -1110,8 +1042,11 @@ template<class Type, template<class> class PatchField, class GeoMesh> void Foam::GeometricField<Type, PatchField, GeoMesh>:: correctBoundaryConditions() { - this->setUpToDate(); - storeOldTimes(); + // updateAccessTime + { + this->setUpToDate(); + storeOldTimes(); + } boundaryField_.evaluate(); } @@ -1120,8 +1055,11 @@ template<class Type, template<class> class PatchField, class GeoMesh> void Foam::GeometricField<Type, PatchField, GeoMesh>:: correctLocalBoundaryConditions() { - this->setUpToDate(); - storeOldTimes(); + // updateAccessTime + { + this->setUpToDate(); + storeOldTimes(); + } boundaryField_.evaluateLocal(); } @@ -1208,7 +1146,11 @@ template<class Type, template<class> class PatchField, class GeoMesh> bool Foam::GeometricField<Type, PatchField, GeoMesh>:: writeData(Ostream& os) const { - os << *this; + this->internalField().writeData(os, "internalField"); + os << nl; + this->boundaryField().writeEntry("boundaryField", os); + + os.check(FUNCTION_NAME); return os.good(); } @@ -1540,14 +1482,10 @@ template<class Type, template<class> class PatchField, class GeoMesh> Foam::Ostream& Foam::operator<< ( Ostream& os, - const GeometricField<Type, PatchField, GeoMesh>& gf + const GeometricField<Type, PatchField, GeoMesh>& fld ) { - gf.internalField().writeData(os, "internalField"); - os << nl; - gf.boundaryField().writeEntry("boundaryField", os); - - os.check(FUNCTION_NAME); + fld.writeData(os); return os; } @@ -1556,11 +1494,12 @@ template<class Type, template<class> class PatchField, class GeoMesh> Foam::Ostream& Foam::operator<< ( Ostream& os, - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld ) { - os << tgf(); - tgf.clear(); + tfld().writeData(os); + tfld.clear(); + return os; } diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H index 427009b2455..8cb500f580c 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H @@ -41,7 +41,6 @@ SourceFiles #ifndef Foam_GeometricField_H #define Foam_GeometricField_H -#include "regIOobject.H" #include "GeometricBoundaryField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -50,7 +49,6 @@ namespace Foam { // Forward Declarations -class dictionary; template<class Type, template<class> class PatchField, class GeoMesh> class GeometricField; @@ -104,6 +102,12 @@ public: private: + // Private Typedefs + + //- The GeometricField type + typedef GeometricField<Type, PatchField, GeoMesh> this_type; + + // Private Data //- Current time index. @@ -111,10 +115,10 @@ private: mutable label timeIndex_; //- Pointer to old time field - mutable GeometricField<Type, PatchField, GeoMesh>* field0Ptr_; + mutable std::unique_ptr<this_type> field0Ptr_; //- Pointer to previous iteration (used for under-relaxation) - mutable GeometricField<Type, PatchField, GeoMesh>* fieldPrevIterPtr_; + mutable std::unique_ptr<this_type> fieldPrevIterPtr_; //- Boundary field containing boundary field values Boundary boundaryField_; @@ -871,8 +875,8 @@ public: //- Correct boundary field void correctBoundaryConditions(); - //- Correct boundary conditions after a purely local operation. Is - // dummy for e.g. processor boundary conditions + //- Correct boundary conditions after a purely local operation. + // Is dummy for processor boundary conditions etc void correctLocalBoundaryConditions(); //- Does the field need a reference level for solution @@ -1008,19 +1012,20 @@ public: // Write - //- The writeData function (required by regIOobject), - //- calls operator<< + //- The writeData function (required by regIOobject) bool writeData(Ostream& os) const; // Ostream Operators + //- Calls GeometricField::writeData() friend Ostream& operator<< <Type, PatchField, GeoMesh> ( Ostream&, const GeometricField<Type, PatchField, GeoMesh>& ); + //- Calls GeometricField::writeData() friend Ostream& operator<< <Type, PatchField, GeoMesh> ( Ostream&, -- GitLab From 10b0c3cfcacf05721e5759c839d4fcb01b6bd13f Mon Sep 17 00:00:00 2001 From: Mattijs Janssens <ext-mjanssens@esi-group.com> Date: Wed, 29 May 2024 10:11:18 +0000 Subject: [PATCH 174/231] ENH: shm: blockLevel through ray-shooting --- .../meshRefinement/meshRefinement.H | 17 +- .../meshRefinement/meshRefinementBlock.C | 1006 +++++++++++++---- .../refinementSurfaces/refinementSurfaces.C | 53 + .../refinementSurfaces/refinementSurfaces.H | 11 + 4 files changed, 864 insertions(+), 223 deletions(-) diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H index 40607fbe18e..7e3b43f9cbb 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H @@ -555,8 +555,21 @@ private: label& nRefine ) const; - //- Mark cells for surface proximity based refinement. - label markProximityRefinementWave + //- Mark faces for additional proximity based testing. Extends + // testFaces + void markProximityCandidateFaces + ( + const labelList& blockedSurfaces, + const List<scalarList>& regionToBlockSize, + const labelList& neiLevel, + const pointField& neiCc, + + labelList& testFaces + ) const; + + //- Mark cells for surface proximity based refinement. Uses + // ray-shooting from markInternalGapRefinement. + label markFakeGapRefinement ( const scalar planarCos, const labelList& blockedSurfaces, diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C index fc27ab08afb..435cadd56d7 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2022 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -455,16 +455,14 @@ void Foam::meshRefinement::growSet //} -Foam::label Foam::meshRefinement::markProximityRefinementWave +void Foam::meshRefinement::markProximityCandidateFaces ( - const scalar planarCos, const labelList& blockedSurfaces, - const label nAllowRefine, + const List<scalarList>& regionToBlockSize, const labelList& neiLevel, const pointField& neiCc, - labelList& refineCell, - label& nRefine + labelList& testFaces ) const { labelListList faceZones(surfaces_.surfaces().size()); @@ -498,35 +496,6 @@ Foam::label Foam::meshRefinement::markProximityRefinementWave } - // Re-work the blockLevel of the blockedSurfaces into a length scale - // and a number of cells to cross - List<scalarList> regionToBlockSize(surfaces_.surfaces().size()); - for (const label surfi : blockedSurfaces) - { - const label geomi = surfaces_.surfaces()[surfi]; - const searchableSurface& s = surfaces_.geometry()[geomi]; - const label nRegions = s.regions().size(); - regionToBlockSize[surfi].setSize(nRegions); - for (label regioni = 0; regioni < nRegions; regioni++) - { - const label globalRegioni = surfaces_.globalRegion(surfi, regioni); - const label bLevel = surfaces_.blockLevel()[globalRegioni]; - regionToBlockSize[surfi][regioni] = - meshCutter_.level0EdgeLength()/pow(2.0, bLevel); - - //const label mLevel = surfaces_.maxLevel()[globalRegioni]; - //// TBD: check for higher cached level of surface due to vol - //// refinement. Problem: might still miss refinement bubble - //// fully inside thin channel - //if (isA<triSurfaceMesh>(s) && !isA<distributedTriSurfaceMesh>(s)) - //{ - // const triSurfaceMesh& surf = refCast<const triSurfaceMesh>(s); - //} - - //nIters = max(nIters, (2<<(mLevel-bLevel))); - } - } - // Clever limiting of the number of iterations (= max cells in the channel) // since it has too many problematic issues, e.g. with volume refinement // and the real check uses the proper distance anyway just disable. @@ -535,7 +504,7 @@ Foam::label Foam::meshRefinement::markProximityRefinementWave // Collect candidate faces (i.e. intersecting any surface and // owner/neighbour not yet refined) - const labelList testFaces(getRefineCandidateFaces(refineCell)); + //const labelList testFaces(getRefineCandidateFaces(refineCell)); // Collect segments pointField start(testFaces.size()); @@ -729,212 +698,313 @@ Foam::label Foam::meshRefinement::markProximityRefinementWave wallDistCalc.iterate(nIters); - if (debug&meshRefinement::MESH) + // Extract faces of visited cells + + bitSet isProximityFace(mesh_.nFaces(), false); + + // Make sure to include initial intersected ones + isProximityFace.set(testFaces); + + forAll(allCellInfo, celli) { - // Dump current nearest opposite surfaces - volScalarField distance + if (allCellInfo[celli].valid(wallDistCalc.data())) + { + isProximityFace.set(mesh_.cells()[celli]); + } + } + + syncTools::syncFaceList + ( + mesh_, + isProximityFace, + orEqOp<unsigned int>(), + 0u + ); + + testFaces = isProximityFace.toc(); +} + + +Foam::label Foam::meshRefinement::markFakeGapRefinement +( + const scalar planarCos, + const labelList& blockedSurfaces, + const label nAllowRefine, + const labelList& neiLevel, + const pointField& neiCc, + + labelList& refineCell, + label& nRefine +) const +{ + // Re-work the blockLevel of the blockedSurfaces into a length scale + // and a number of cells to cross + List<scalarList> regionToBlockSize(surfaces_.surfaces().size()); + scalar maxBlockSize(-1); + for (const label surfi : blockedSurfaces) + { + const label geomi = surfaces_.surfaces()[surfi]; + const searchableSurface& s = surfaces_.geometry()[geomi]; + const label nRegions = s.regions().size(); + + regionToBlockSize[surfi].setSize(nRegions, -1); + for (label regioni = 0; regioni < nRegions; regioni++) + { + const label globalRegioni = surfaces_.globalRegion(surfi, regioni); + const label bLevel = surfaces_.blockLevel()[globalRegioni]; + + // If valid blockLevel specified + if (bLevel != labelMax) + { + regionToBlockSize[surfi][regioni] = + meshCutter_.level0EdgeLength()/pow(2.0, bLevel); + } + + maxBlockSize = max(maxBlockSize, regionToBlockSize[surfi][regioni]); + + //const label mLevel = surfaces_.maxLevel()[globalRegioni]; + //// TBD: check for higher cached level of surface due to vol + //// refinement. Problem: might still miss refinement bubble + //// fully inside thin channel + //if (isA<triSurfaceMesh>(s) && !isA<distributedTriSurfaceMesh>(s)) + //{ + // const triSurfaceMesh& surf = refCast<const triSurfaceMesh>(s); + //} + } + } + + // Collect candidate faces (i.e. intersecting any surface and + // owner/neighbour not yet refined) and their cells + labelList cellMap; + { + labelList testFaces(getRefineCandidateFaces(refineCell)); + + // Extend the set by faceCellFace wave upto given 3*blockLevel size + markProximityCandidateFaces ( - IOobject - ( - "gapSize", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar - ( - "zero", - dimLength, //dimensionSet(0, 1, 0, 0, 0), - -1 - ) + blockedSurfaces, + regionToBlockSize, + neiLevel, + neiCc, + testFaces ); - forAll(allCellInfo, celli) + + bitSet isTestCell(mesh_.nCells()); + for (const label facei : testFaces) { - if (allCellInfo[celli].valid(wallDistCalc.data())) + const label own = mesh_.faceOwner()[facei]; + if (refineCell[own] == -1) { - const point& cc = mesh_.cellCentres()[celli]; - // Nearest surface points - const List<point>& origin = allCellInfo[celli].origin(); - - // Find 'opposite' pair with minimum distance - for (label i = 0; i < origin.size(); i++) + isTestCell.set(own); + } + if (mesh_.isInternalFace(facei)) + { + const label nei = mesh_.faceNeighbour()[facei]; + if (refineCell[nei] == -1) { - for (label j = i + 1; j < origin.size(); j++) - { - if (((cc-origin[i]) & (cc-origin[j])) < 0) - { - const scalar d(mag(origin[i]-origin[j])); - if (distance[celli] < 0) - { - distance[celli] = d; - } - else - { - distance[celli] = min(distance[celli], d); - } - } - } + isTestCell.set(nei); } } } - distance.correctBoundaryConditions(); - - Info<< "Writing measured gap distance to " - << distance.name() << endl; - distance.write(); + cellMap = isTestCell.sortedToc(); } + // Shoot rays in all 6 directions + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // + // Almost exact copy of meshRefinement::markInternalGapRefinement. + // Difference is only in the length scale (now based on blockLevel) - // Detect tight gaps: - // - cell is inbetween the two surfaces - // - two surfaces are planarish - // - two surfaces are not too far apart - // (number of walking iterations is a too-coarse measure) - scalarField smallGapDistance(mesh_.nCells(), 0.0); - label nMulti = 0; - label nSmallGap = 0; + // Find per cell centre the nearest point and normal on the surfaces + List<pointIndexHit> nearInfo; + vectorField nearNormal; + labelList nearSurface; + labelList nearRegion; + { + surfaces_.findNearestRegion + ( + blockedSurfaces, + pointField(mesh_.cellCentres(), cellMap), + scalarField(cellMap.size(), maxBlockSize), // use uniform for now + nearSurface, + nearInfo, + nearRegion, + nearNormal + ); + } - //OBJstream str(mesh_.time().timePath()/"multiRegion.obj"); + DynamicList<label> map(nearInfo.size()); + DynamicField<point> rayStart(nearInfo.size()); + DynamicField<point> rayEnd(nearInfo.size()); + DynamicField<scalar> gapSize(nearInfo.size()); - forAll(allCellInfo, celli) + DynamicField<point> rayStart2(nearInfo.size()); + DynamicField<point> rayEnd2(nearInfo.size()); + DynamicField<scalar> gapSize2(nearInfo.size()); + + label nTestCells = 0; + + forAll(nearInfo, i) { - if (allCellInfo[celli].valid(wallDistCalc.data())) + if (nearInfo[i].hit()) { - const point& cc = mesh_.cellCentres()[celli]; - - const List<point>& origin = allCellInfo[celli].origin(); - const List<FixedList<label, 3>>& surface = - allCellInfo[celli].surface(); + const label globalRegioni = surfaces_.globalRegion + ( + nearSurface[i], + nearRegion[i] + ); - // Find pair with minimum distance - for (label i = 0; i < origin.size(); i++) + // Combine info from shell and surface + const label bLevel = surfaces_.blockLevel()[globalRegioni]; + const FixedList<label, 3> gapInfo + ({ + 100, + bLevel, + 100 + }); + const volumeType gapMode(volumeType::MIXED); + + // Store wanted number of cells in gap + const label celli = cellMap[i]; + const label cLevel = meshCutter_.cellLevel()[celli]; + + // Construct one or more rays to test for oppositeness + const label nRays = generateRays + ( + false, // ignore actual surface normal + nearInfo[i].hitPoint(), + nearNormal[i], + gapInfo, + gapMode, + + mesh_.cellCentres()[celli], + cLevel, + + rayStart, + rayEnd, + gapSize, + + rayStart2, + rayEnd2, + gapSize2 + ); + if (nRays > 0) { - for (label j = i + 1; j < origin.size(); j++) + nTestCells++; + for (label j = 0; j < nRays; j++) { - //if (isMultiRegion[celli]) - //{ - // // The intersection locations are too inaccurate - // // (since not proper nearest, just a cell-cell ray - // // intersection) so include always - // - // smallGapDistance[celli] = - // max(smallGapDistance[celli], maxDist); - // - // - // str.writeLine(cc, origin[i]); - // str.writeLine(cc, origin[j]); - // - // nMulti++; - //} - //else - if (((cc-origin[i]) & (cc-origin[j])) < 0) - { - const label surfi = surface[i][0]; - const label regioni = surface[i][1]; + map.append(i); + } + } + } + } - const label surfj = surface[j][0]; - const label regionj = surface[j][1]; + Info<< "Selected " << returnReduce(nTestCells, sumOp<label>()) + << " cells for testing out of " + << mesh_.globalData().nTotalCells() << endl; + map.shrink(); + rayStart.shrink(); + rayEnd.shrink(); + gapSize.shrink(); - const scalar maxSize = max - ( - regionToBlockSize[surfi][regioni], - regionToBlockSize[surfj][regionj] - ); + rayStart2.shrink(); + rayEnd2.shrink(); + gapSize2.shrink(); - if + cellMap = labelUIndList(cellMap, map)(); + nearNormal = UIndirectList<vector>(nearNormal, map)(); + nearInfo.clear(); + nearSurface.clear(); + nearRegion.clear(); + + + // Do intersections in pairs + labelList surf1; + labelList region1; + List<pointIndexHit> hit1; + vectorField normal1; + surfaces_.findNearestIntersection + ( + rayStart, + rayEnd, + surf1, + region1, + hit1, + normal1 + ); + + labelList surf2; + labelList region2; + List<pointIndexHit> hit2; + vectorField normal2; + surfaces_.findNearestIntersection + ( + rayStart2, + rayEnd2, + surf2, + region2, + hit2, + normal2 + ); + + // Extract cell based gap size + const label oldNRefine = nRefine; + forAll(surf1, i) + { + if (surf1[i] != -1 && surf2[i] != -1) + { + // Found intersections with surface. Check for + // - small gap + // - coplanar normals + + const label celli = cellMap[i]; + if (celli != -1 && refineCell[celli] == -1) + { + const scalar d2 = magSqr(hit1[i].hitPoint()-hit2[i].hitPoint()); + + const scalar maxGapSize + ( + max + ( + regionToBlockSize[surf1[i]][region1[i]], + regionToBlockSize[surf2[i]][region2[i]] + ) + ); + + if + ( + (mag(normal1[i]&normal2[i]) > planarCos) + && (d2 < Foam::sqr(maxGapSize)) + ) + { + if + ( + !markForRefine ( - magSqr(origin[i]-origin[j]) - < Foam::sqr(2*maxSize) + 0, // mark level + nAllowRefine, + refineCell[celli], + nRefine ) + ) + { + if (debug) { - const scalar maxDist - ( - max - ( - mag(cc-origin[i]), - mag(cc-origin[j]) - ) - ); - - smallGapDistance[celli] = - max(smallGapDistance[celli], maxDist); - nSmallGap++; + Pout<< "Stopped refining since reaching my cell" + << " limit of " << mesh_.nCells()+7*nRefine + << endl; } + break; } } } } } - - if (debug) - { - Info<< "Marked for blocking due to intersecting multiple surfaces : " - << returnReduce(nMulti, sumOp<label>()) << " cells." << endl; - Info<< "Marked for blocking due to close opposite surfaces : " - << returnReduce(nSmallGap, sumOp<label>()) << " cells." << endl; - } - - if (debug&meshRefinement::MESH) - { - volScalarField distance - ( - IOobject - ( - "smallGapDistance", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE, - IOobject::NO_REGISTER - ), - mesh_, - dimensionedScalar(dimLength, Zero) - ); - distance.field() = smallGapDistance; - distance.correctBoundaryConditions(); - - Info<< "Writing all small-gap cells to " - << distance.name() << endl; - distance.write(); - } - - - // Mark refinement - const label oldNRefine = nRefine; - forAll(smallGapDistance, celli) - { - if (smallGapDistance[celli] > SMALL) - { - if - ( - !markForRefine - ( - 0, // mark level - nAllowRefine, - refineCell[celli], - nRefine - ) - ) - { - if (debug) - { - Pout<< "Stopped refining since reaching my cell" - << " limit of " << mesh_.nCells()+7*nRefine - << endl; - } - break; - } - } - } - if ( returnReduce(nRefine, sumOp<label>()) @@ -1006,7 +1076,20 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::removeGapCells } - markProximityRefinementWave + //markProximityRefinementWave + //( + // Foam::cos(degToRad(planarAngle)), + // surfToBlockLevel.sortedToc(), + // + // labelMax/Pstream::nProcs(), //nAllowRefine, + // neiLevel, + // neiCc, + // + // refineCell, + // nRefine + //); + + markFakeGapRefinement ( Foam::cos(degToRad(planarAngle)), surfToBlockLevel.sortedToc(), @@ -1020,20 +1103,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::removeGapCells ); - //// Mark big-gap refinement - //markFakeGapRefinement - //( - // Foam::cos(degToRad(planarAngle)), - // - // labelMax/Pstream::nProcs(), //nAllowRefine, - // neiLevel, - // neiCc, - // - // refineCell, - // nRefine - //); - - Info<< "Marked for blocking due to close opposite surfaces : " << returnReduce(nRefine, sumOp<label>()) << " cells." << endl; @@ -2147,4 +2216,499 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::blockLeakFaces } + +/* +Foam::label Foam::meshRefinement::markProximityRefinementWave +( + const scalar planarCos, + const labelList& blockedSurfaces, + const label nAllowRefine, + const labelList& neiLevel, + const pointField& neiCc, + + labelList& refineCell, + label& nRefine +) const +{ + labelListList faceZones(surfaces_.surfaces().size()); + { + // If triSurface do additional zoning based on connectivity + for (const label surfi : blockedSurfaces) + { + const label geomi = surfaces_.surfaces()[surfi]; + const searchableSurface& s = surfaces_.geometry()[geomi]; + if (isA<triSurfaceMesh>(s) && !isA<distributedTriSurfaceMesh>(s)) + { + const triSurfaceMesh& surf = refCast<const triSurfaceMesh>(s); + const labelListList& edFaces = surf.edgeFaces(); + boolList isOpenEdge(edFaces.size(), false); + forAll(edFaces, i) + { + if (edFaces[i].size() == 1) + { + isOpenEdge[i] = true; + } + } + + labelList faceZone; + const label nZones = surf.markZones(isOpenEdge, faceZone); + if (nZones > 1) + { + faceZones[surfi].transfer(faceZone); + } + } + } + } + + + // Re-work the blockLevel of the blockedSurfaces into a length scale + // and a number of cells to cross + List<scalarList> regionToBlockSize(surfaces_.surfaces().size()); + for (const label surfi : blockedSurfaces) + { + const label geomi = surfaces_.surfaces()[surfi]; + const searchableSurface& s = surfaces_.geometry()[geomi]; + const label nRegions = s.regions().size(); + regionToBlockSize[surfi].setSize(nRegions); + for (label regioni = 0; regioni < nRegions; regioni++) + { + const label globalRegioni = surfaces_.globalRegion(surfi, regioni); + const label bLevel = surfaces_.blockLevel()[globalRegioni]; + regionToBlockSize[surfi][regioni] = + meshCutter_.level0EdgeLength()/pow(2.0, bLevel); + + //const label mLevel = surfaces_.maxLevel()[globalRegioni]; + //// TBD: check for higher cached level of surface due to vol + //// refinement. Problem: might still miss refinement bubble + //// fully inside thin channel + //if (isA<triSurfaceMesh>(s) && !isA<distributedTriSurfaceMesh>(s)) + //{ + // const triSurfaceMesh& surf = refCast<const triSurfaceMesh>(s); + //} + + //nIters = max(nIters, (2<<(mLevel-bLevel))); + } + } + + // Clever limiting of the number of iterations (= max cells in the channel) + // since it has too many problematic issues, e.g. with volume refinement + // and the real check uses the proper distance anyway just disable. + const label nIters = mesh_.globalData().nTotalCells(); + + + // Collect candidate faces (i.e. intersecting any surface and + // owner/neighbour not yet refined) + const labelList testFaces(getRefineCandidateFaces(refineCell)); + + // Collect segments + pointField start(testFaces.size()); + pointField end(testFaces.size()); + labelList minLevel(testFaces.size()); + + calcCellCellRays + ( + neiCc, + neiLevel, + testFaces, + start, + end, + minLevel + ); + // TBD. correct nIters for actual cellLevel (since e.g. volume refinement + // might add to cell level). Unfortunately we only have minLevel, + // not maxLevel. Problem: what if volume refinement only in middle of + // channel? Say channel 1m wide with a 0.1m sphere of refinement + // Workaround: have dummy surface with e.g. maxLevel 100 to + // force nIters to be high enough. + + + // Test for all intersections (with surfaces of higher gap level than + // minLevel) and cache per cell the max surface level and the local normal + // on that surface. + + labelList surface1; + List<pointIndexHit> hit1; + labelList region1; + vectorField normal1; + + labelList surface2; + List<pointIndexHit> hit2; + labelList region2; + vectorField normal2; + + surfaces_.findNearestIntersection + ( + blockedSurfaces, + start, + end, + + surface1, + hit1, + region1, // local region + normal1, + + surface2, + hit2, + region2, // local region + normal2 + ); + + + // Detect cells that are using multiple surface regions + //bitSet isMultiRegion; + //detectMultiRegionCells + //( + // faceZones, + // testFaces, + // + // surface1, + // hit1, + // region1, + // + // surface2, + // hit2, + // region2, + // + // isMultiRegion + //); + + + label n = 0; + forAll(testFaces, i) + { + if (hit1[i].hit()) + { + n++; + } + } + + List<wallPoints> faceDist(n); + labelList changedFaces(n); + n = 0; + + DynamicList<point> originLocation(2); + DynamicList<scalar> originDistSqr(2); + DynamicList<FixedList<label, 3>> originSurface(2); + //DynamicList<point> originNormal(2); + + + //- To avoid walking through surfaces we mark all faces that have been + // intersected. We can either mark only those faces intersecting + // blockedSurfaces (i.e. with a 'blockLevel') or mark faces intersecting + // any (refinement) surface (this includes e.g. faceZones). This is + // much easier since that information is already cached + // (meshRefinement::intersectedFaces()) + + //bitSet isBlockedFace(mesh_.nFaces()); + forAll(testFaces, i) + { + if (hit1[i].hit()) + { + const label facei = testFaces[i]; + //isBlockedFace.set(facei); + const point& fc = mesh_.faceCentres()[facei]; + const labelList& fz1 = faceZones[surface1[i]]; + + originLocation.clear(); + originDistSqr.clear(); + //originNormal.clear(); + originSurface.clear(); + + originLocation.append(hit1[i].point()); + originDistSqr.append(hit1[i].point().distSqr(fc)); + //originNormal.append(normal1[i]); + originSurface.append + ( + FixedList<label, 3> + ({ + surface1[i], + region1[i], + (fz1.size() ? fz1[hit1[i].index()] : region1[i]) + }) + ); + + if (hit2[i].hit() && hit1[i] != hit2[i]) + { + const labelList& fz2 = faceZones[surface2[i]]; + originLocation.append(hit2[i].point()); + originDistSqr.append(hit2[i].point().distSqr(fc)); + //originNormal.append(normal2[i]); + originSurface.append + ( + FixedList<label, 3> + ({ + surface2[i], + region2[i], + (fz2.size() ? fz2[hit2[i].index()] : region2[i]) + }) + ); + } + + // Collect all seed data. Currently walking does not look at + // surface direction - if so pass in surface normal as well + faceDist[n] = wallPoints + ( + originLocation, // origin + originDistSqr, // distance to origin + originSurface // surface+region+zone + //originNormal // normal at origin + ); + changedFaces[n] = facei; + n++; + } + } + + + // Clear intersection info + surface1.clear(); + hit1.clear(); + region1.clear(); + normal1.clear(); + surface2.clear(); + hit2.clear(); + region2.clear(); + normal2.clear(); + + + List<wallPoints> allFaceInfo(mesh_.nFaces()); + List<wallPoints> allCellInfo(mesh_.nCells()); + + // Any refinement surface (even a faceZone) should stop the gap walking. + // This is exactly the information which is cached in the surfaceIndex_ + // field. + const bitSet isBlockedFace(intersectedFaces()); + + wallPoints::trackData td(isBlockedFace, regionToBlockSize); + FaceCellWave<wallPoints, wallPoints::trackData> wallDistCalc + ( + mesh_, + changedFaces, + faceDist, + allFaceInfo, + allCellInfo, + 0, // max iterations + td + ); + wallDistCalc.iterate(nIters); + + + if (debug&meshRefinement::MESH) + { + // Dump current nearest opposite surfaces + volScalarField distance + ( + IOobject + ( + "gapSize", + mesh_.time().timeName(), + mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + mesh_, + dimensionedScalar + ( + "zero", + dimLength, //dimensionSet(0, 1, 0, 0, 0), + -1 + ) + ); + + forAll(allCellInfo, celli) + { + if (allCellInfo[celli].valid(wallDistCalc.data())) + { + const point& cc = mesh_.cellCentres()[celli]; + // Nearest surface points + const List<point>& origin = allCellInfo[celli].origin(); + + // Find 'opposite' pair with minimum distance + for (label i = 0; i < origin.size(); i++) + { + for (label j = i + 1; j < origin.size(); j++) + { + if (((cc-origin[i]) & (cc-origin[j])) < 0) + { + const scalar d(mag(origin[i]-origin[j])); + if (distance[celli] < 0) + { + distance[celli] = d; + } + else + { + distance[celli] = min(distance[celli], d); + } + } + } + } + } + } + distance.correctBoundaryConditions(); + + Info<< "Writing measured gap distance to " + << distance.name() << endl; + distance.write(); + } + + + + // Detect tight gaps: + // - cell is inbetween the two surfaces + // - two surfaces are planarish + // - two surfaces are not too far apart + // (number of walking iterations is a too-coarse measure) + + scalarField smallGapDistance(mesh_.nCells(), 0.0); + label nMulti = 0; + label nSmallGap = 0; + + //OBJstream str(mesh_.time().timePath()/"multiRegion.obj"); + + + forAll(allCellInfo, celli) + { + if (allCellInfo[celli].valid(wallDistCalc.data())) + { + const point& cc = mesh_.cellCentres()[celli]; + + const List<point>& origin = allCellInfo[celli].origin(); + const List<FixedList<label, 3>>& surface = + allCellInfo[celli].surface(); + + // Find pair with minimum distance + for (label i = 0; i < origin.size(); i++) + { + for (label j = i + 1; j < origin.size(); j++) + { + //if (isMultiRegion[celli]) + //{ + // // The intersection locations are too inaccurate + // // (since not proper nearest, just a cell-cell ray + // // intersection) so include always + // + // smallGapDistance[celli] = + // max(smallGapDistance[celli], maxDist); + // + // + // str.writeLine(cc, origin[i]); + // str.writeLine(cc, origin[j]); + // + // nMulti++; + //} + //else + if (((cc-origin[i]) & (cc-origin[j])) < 0) + { + const label surfi = surface[i][0]; + const label regioni = surface[i][1]; + + const label surfj = surface[j][0]; + const label regionj = surface[j][1]; + + const scalar maxSize = max + ( + regionToBlockSize[surfi][regioni], + regionToBlockSize[surfj][regionj] + ); + + if + ( + magSqr(origin[i]-origin[j]) + < Foam::sqr(2*maxSize) + ) + { + const scalar maxDist + ( + max + ( + mag(cc-origin[i]), + mag(cc-origin[j]) + ) + ); + + smallGapDistance[celli] = + max(smallGapDistance[celli], maxDist); + nSmallGap++; + } + } + } + } + } + } + + + if (debug) + { + Info<< "Marked for blocking due to intersecting multiple surfaces : " + << returnReduce(nMulti, sumOp<label>()) << " cells." << endl; + Info<< "Marked for blocking due to close opposite surfaces : " + << returnReduce(nSmallGap, sumOp<label>()) << " cells." << endl; + } + + if (debug&meshRefinement::MESH) + { + volScalarField distance + ( + IOobject + ( + "smallGapDistance", + mesh_.time().timeName(), + mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ), + mesh_, + dimensionedScalar(dimLength, Zero) + ); + distance.field() = smallGapDistance; + distance.correctBoundaryConditions(); + + Info<< "Writing all small-gap cells to " + << distance.name() << endl; + distance.write(); + } + + + // Mark refinement + const label oldNRefine = nRefine; + forAll(smallGapDistance, celli) + { + if (smallGapDistance[celli] > SMALL) + { + if + ( + !markForRefine + ( + 0, // mark level + nAllowRefine, + refineCell[celli], + nRefine + ) + ) + { + if (debug) + { + Pout<< "Stopped refining since reaching my cell" + << " limit of " << mesh_.nCells()+7*nRefine + << endl; + } + break; + } + } + } + + if + ( + returnReduce(nRefine, sumOp<label>()) + > returnReduce(nAllowRefine, sumOp<label>()) + ) + { + Info<< "Reached refinement limit." << endl; + } + + return returnReduce(nRefine-oldNRefine, sumOp<label>()); +} +*/ + // ************************************************************************* // diff --git a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C index 81b70f72e94..5b32ac72cfc 100644 --- a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C +++ b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C @@ -1954,6 +1954,59 @@ void Foam::refinementSurfaces::findNearestIntersection } +void Foam::refinementSurfaces::findNearestIntersection +( +// const labelList& surfacesToTest, + const pointField& start, + const pointField& end, + + labelList& surface1, + labelList& region1, + List<pointIndexHit>& hitInfo1, + vectorField& normal1 +) const +{ + // Initialize arguments + surface1.setSize(start.size()); + surface1 = -1; + region1.setSize(start.size()); + region1 = -1; + hitInfo1.setSize(start.size()); + hitInfo1 = pointIndexHit(); + normal1.setSize(start.size()); + normal1 = Zero; + + // Current end of segment to test. + pointField nearest(end); + // Work array + List<pointIndexHit> nearestInfo(start.size()); + labelList region; + vectorField normal; + + forAll(surfaces_, surfI) + { + const searchableSurface& geom = allGeometry_[surfaces_[surfI]]; + + // See if any intersection between start and current nearest + geom.findLine(start, nearest, nearestInfo); + geom.getRegion(nearestInfo, region); + geom.getNormal(nearestInfo, normal); + + forAll(nearestInfo, pointI) + { + if (nearestInfo[pointI].hit()) + { + surface1[pointI] = surfI; + region1[pointI] = region[pointI]; + hitInfo1[pointI] = nearestInfo[pointI]; + normal1[pointI] = normal[pointI]; + nearest[pointI] = nearestInfo[pointI].point(); + } + } + } +} + + void Foam::refinementSurfaces::findNearestIntersection ( const pointField& start, diff --git a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.H b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.H index 2c4ff38380f..8f022033584 100644 --- a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.H +++ b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.H @@ -437,6 +437,17 @@ public: vectorField& normal ) const; + //- Find nearest (to start only) intersection of edge + void findNearestIntersection + ( + const pointField& start, + const pointField& end, + labelList& surfaces, + labelList& regions, + List<pointIndexHit>&, + vectorField& normal + ) const; + //- Find nearest (to start only) intersection of edge void findNearestIntersection ( -- GitLab From ee895577ae9ee11f00b860f5a773f367cc64eb30 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 23 May 2024 21:41:33 +0200 Subject: [PATCH 175/231] ENH: improve OFstream append behaviour (#3160) - previous support for file appending (largely unused) always specified opening with the std::ios_base::app flag. Now differentiate between append behaviours: APPEND_APP ~~~~~~~~~~ Corresponds to std::ios_base::app behaviour: - Existing files will be preserved and a seek-to-end is performed at every write. With this mode seeks/repositioning within the file will effectively be ignored on output. APPEND_ATE ~~~~~~~~~~ Largely approximates std::ios_base::ate behaviour: - Existing files will be preserved and a seek-to-end is performed immediately after opening, but not subsequently. Can use seekp() to overwrite parts of a file. --- applications/test/OFstream/Test-OFstream.cxx | 218 +++++++++++++----- src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H | 3 +- src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C | 4 +- src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H | 65 ++++-- .../db/IOstreams/Fstreams/fstreamPointer.H | 65 +++++- .../db/IOstreams/Fstreams/fstreamPointers.C | 144 +++++++++--- .../db/IOstreams/Fstreams/masterOFstream.H | 8 +- src/OpenFOAM/db/options/IOstreamOption.H | 14 +- .../collatedFileOperation/OFstreamCollator.C | 2 +- .../collatedFileOperation.C | 6 +- .../threadedCollatedOFstream.C | 2 +- .../masterUncollatedFileOperation.C | 4 +- .../movement/lumpedPointMovement.C | 8 +- 13 files changed, 412 insertions(+), 131 deletions(-) diff --git a/applications/test/OFstream/Test-OFstream.cxx b/applications/test/OFstream/Test-OFstream.cxx index ac108699b0f..62d371ae8ae 100644 --- a/applications/test/OFstream/Test-OFstream.cxx +++ b/applications/test/OFstream/Test-OFstream.cxx @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,10 +32,14 @@ Description #include "IOstreams.H" #include "OSspecific.H" #include "argList.H" +#include "clock.H" +#include "Switch.H" #include "ListOps.H" using namespace Foam; +std::string time_stamp; + void listFiles(const fileName& dir) { wordList files = ListOps::create<word> @@ -55,25 +59,150 @@ void listFiles(const fileName& dir) } +OSstream& printInfo(OFstream& os) +{ + InfoErr + << "open: " << os.name() << nl + << "appending: " << Switch::name(os.is_appending()) + << " tellp: "<< os.stdStream().tellp() + << " gz: " << Switch::name(os.compression()) << nl; + + return InfoErr.stream(); +} + + +void withHeader(OFstream& os) +{ + const auto tellp = os.stdStream().tellp(); + + if (tellp <= 0) + { + InfoErr + << "Add header" << nl; + os << "HEADER: " << time_stamp.c_str() << nl; + } +} + + +template<class OSstreamType> +void generateLines(OSstreamType& os, label count = 1) +{ + for (label line = 1; line <= count; ++line) + { + os << "[" << line + << "] =============================================" << nl; + } +} + + +template<class OSstreamType> +void generateContent +( + OSstreamType& os, + const bool with_seekend, + const bool test_overwrite = false, + const int64_t seek_out = -1 +) +{ + if (with_seekend) + { + os.stdStream().seekp(0, std::ios_base::end); + // OR? os.seek_end(); + } + + printInfo(os); + + withHeader(os); + + if (test_overwrite && seek_out >= 0) + { + InfoErr<< "... seekp(" << seek_out << ")" << nl; + + auto& oss = os.stdStream(); + + // Actually std::streampos, but cannot increment that + + int64_t pos(seek_out); + + const int64_t tellp_end = oss.tellp(); + + if (pos >= 0 && pos < tellp_end) + { + InfoErr + << "... fill from " << label(pos) + << " to " << label(tellp_end) << nl; + + oss.seekp(pos); + + while (pos < tellp_end) + { + // Fill with char 'X', rely on streambuf buffering + oss << 'X'; + ++pos; + } + + oss.seekp(seek_out); + os << "More content [at " << seek_out << ']' << endl; + } + } + + generateLines(os, 4); + + printInfo(os) + << "... sleep" << endl; + + listFiles(os.name().path()); + + sleep(2); + + os << "[new content] +++++++++++++++++++++++++++++++++++" << endl; +} + + +template<class OSstreamType> +void generateOverwriteContent +( + OSstreamType& os, + const bool with_seekend, + const int64_t seek_out = -1 +) +{ + generateContent(os, with_seekend, true, seek_out); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Main program: int main(int argc, char *argv[]) { argList::addBoolOption("gz", "Use compression"); - argList::addBoolOption("append", "Use append mode"); + argList::addBoolOption("append-app", "Use append app mode"); + argList::addBoolOption("append-ate", "Use append ate mode"); + argList::addBoolOption("seekend", "Seek to end after non-append open"); + argList::addOption("seek", "value", "Seek from start (default: 100)"); argList::addBoolOption("atomic", "Use atomic"); argList::addBoolOption("keep", "Do not remove test directory"); argList::addOption("write", "file", "test writing to file"); #include "setRootCase.H" + // Same time-stamp for all generated files + time_stamp = clock::dateTime(); + const fileName baseDir("Test-OFstream-directory"); Foam::mkDir(baseDir); InfoErr<< "mkdir: " << baseDir << endl; + Info<< "start:" << nl; + listFiles(baseDir); + + const bool with_seekend = args.found("seekend"); + + const int seek_out = args.getOrDefault<int>("seek", 100); + IOstreamOption streamOpt; if (args.found("gz")) @@ -83,10 +212,11 @@ int main(int argc, char *argv[]) IOstreamOption::appendType append = ( - args.found("append") - ? IOstreamOption::APPEND - : IOstreamOption::NON_APPEND + args.found("append-app") ? IOstreamOption::APPEND_APP + : args.found("append-ate") ? IOstreamOption::APPEND_ATE + : IOstreamOption::NO_APPEND ); + IOstreamOption::atomicType atomic = ( args.found("atomic") @@ -97,7 +227,6 @@ int main(int argc, char *argv[]) { OFstream(baseDir/"dummy")() << "Some file content" << endl; - Foam::ln("dummy", baseDir/"Test2.txt"); Foam::ln("dummy", baseDir/"Test3.txt"); Foam::ln("dummy", baseDir/"Test4.txt"); Foam::ln("dummy", baseDir/"Test4.txt.gz"); @@ -114,16 +243,31 @@ int main(int argc, char *argv[]) append ); - os << "=========================" << endl; + generateOverwriteContent(os, with_seekend, seek_out); + } - InfoErr<< "open: " << os.name() << endl; - InfoErr<< "... sleep" << endl; + { + OFstream os + ( + atomic, + baseDir/"Test1-app.txt", + streamOpt, + IOstreamOption::APPEND_APP + ); - listFiles(baseDir); + generateOverwriteContent(os, with_seekend, seek_out); + } - sleep(2); + { + OFstream os + ( + atomic, + baseDir/"Test1-ate.txt", + streamOpt, + IOstreamOption::APPEND_ATE + ); - os << "+++++++++++++++++++++++++++++++++++" << endl; + generateOverwriteContent(os, with_seekend, seek_out); } { @@ -132,39 +276,21 @@ int main(int argc, char *argv[]) atomic, baseDir/"Test2.txt", streamOpt - // NON_APPEND ); - os << "=========================" << endl; - - InfoErr<< "open: " << os.name() << endl; - InfoErr<< "... sleep" << endl; - - listFiles(baseDir); - - sleep(2); - - os << "+++++++++++++++++++++++++++++++++++" << endl; + generateContent(os, with_seekend); } + { OFstream os ( atomic, baseDir/"Test3.txt", streamOpt, - IOstreamOption::APPEND + IOstreamOption::APPEND_APP ); - os << "=========================" << endl; - - InfoErr<< "open: " << os.name() << endl; - InfoErr<< "... sleep" << endl; - - listFiles(baseDir); - - sleep(2); - - os << "+++++++++++++++++++++++++++++++++++" << endl; + generateContent(os, with_seekend, with_seekend); } { OFstream os @@ -174,35 +300,17 @@ int main(int argc, char *argv[]) IOstreamOption::COMPRESSED ); - os << "=========================" << endl; - - InfoErr<< "open: " << os.name() << endl; - InfoErr<< "... sleep" << endl; - - listFiles(baseDir); - - sleep(2); - - os << "+++++++++++++++++++++++++++++++++++" << endl; + // No seekend with COMPRESSED + generateContent(os, false); } { OFstream os ( IOstreamOption::ATOMIC, baseDir/"Test5.txt" - // ASCII UNCOMPRESSED NON_APPEND ); - os << "=========================" << endl; - - InfoErr<< "open: " << os.name() << endl; - InfoErr<< "... sleep" << endl; - - listFiles(baseDir); - - sleep(2); - - os << "+++++++++++++++++++++++++++++++++++" << endl; + generateContent(os, with_seekend); } Info<< nl << "done:" << endl; diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H index 244c2d361f5..958af45aae9 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H @@ -28,7 +28,8 @@ Class Foam::IFstream Description - Input from file stream, using an ISstream + Input from file stream as an ISstream, normally using \c std::ifstream + for the actual input. SourceFiles IFstream.C diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C b/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C index bc162c94f3a..e0bf8edec30 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C +++ b/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -66,7 +66,7 @@ Foam::OFstream::OFstream ( pathname, streamOpt, - (IOstreamOption::appendType::APPEND == append), + append, (IOstreamOption::atomicType::ATOMIC == atomic) ), OSstream(*(ofstreamPointer::get()), pathname, streamOpt) diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H b/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H index ca0819ff430..e0c4a17a967 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2023 OpenCFD Ltd. + Copyright (C) 2017-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,29 @@ Class Foam::OFstream Description - Output to file stream, using an OSstream + Output to file stream as an OSstream, normally using \c std::ofstream + for the actual output. + +Note + The atomic output works by creating an intermediate temporary file, + which is renamed as an atomic operation when closing. It is not + possible, or particularly desirable, to have an atomic in combination + with append behaviour. If both are specified, append has priority. + +Note + An output file can be opened in two different \c append modes, both of + which preserve existing files: + -# A common append mode is APPEND_APP, which corresponds to the + \c std::ios_base::app flag. + A seek-to-end is performed at \em every write. + It is thus not possible to use any manual seeks to overwrite parts + of the file. + -# The other append mode is APPEND_ATE, which roughly corresponds to the + \c std::ios_base::ate flag behaviour. + A seek-to-end is performed immediately after opening, + but not subsequently. + Manual seeks can be used to overwrite parts of the file. + . SourceFiles OFstream.C @@ -64,53 +86,55 @@ public: // Constructors - //- Construct a null output file stream. - // Behaves like \c /dev/null and is named accordingly + //- Construct a null output file stream that behaves like \c /dev/null explicit OFstream(std::nullptr_t); //- Construct with specified atomic behaviour - //- from pathname, stream option, optional append + //- from pathname, stream option, optional append (see note). OFstream ( IOstreamOption::atomicType atomic, const fileName& pathname, IOstreamOption streamOpt = IOstreamOption(), - IOstreamOption::appendType append = IOstreamOption::NON_APPEND + IOstreamOption::appendType append = IOstreamOption::NO_APPEND ); - //- Construct from pathname and other specifications + //- Construct from pathname and other specifications. + // See note on append mode. explicit OFstream ( const fileName& pathname, IOstreamOption streamOpt = IOstreamOption(), - IOstreamOption::appendType append = IOstreamOption::NON_APPEND + IOstreamOption::appendType append = IOstreamOption::NO_APPEND ) : OFstream(IOstreamOption::NON_ATOMIC, pathname, streamOpt, append) {} - //- Construct from pathname, format (uncompressed), optional append, + //- Construct from pathname, format (uncompressed), + //- optional append (see note), //- atomic behaviour as per system default OFstream ( const fileName& pathname, IOstreamOption::streamFormat fmt, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED, - IOstreamOption::appendType append = IOstreamOption::NON_APPEND + IOstreamOption::appendType append = IOstreamOption::NO_APPEND ) : OFstream(pathname, IOstreamOption(fmt, cmp), append) {} //- Construct with specified atomic behaviour - //- from pathname, format (uncompressed), optional append + //- from pathname, format (uncompressed), + //- optional append (see note). OFstream ( IOstreamOption::atomicType atomic, const fileName& pathname, IOstreamOption::streamFormat fmt, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED, - IOstreamOption::appendType append = IOstreamOption::NON_APPEND + IOstreamOption::appendType append = IOstreamOption::NO_APPEND ) : OFstream(atomic, pathname, IOstreamOption(fmt, cmp), append) @@ -141,6 +165,21 @@ public: virtual void rewind(); + // Output stream modes + + //- True if opened in append mode \em and file already existed + bool is_appending() const noexcept + { + return ofstreamPointer::is_appending(); + } + + //- True if file creation behaves as atomic + bool is_atomic() const noexcept + { + return ofstreamPointer::is_atomic(); + } + + // Print //- Print stream description @@ -158,7 +197,7 @@ public: IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED, - IOstreamOption::appendType append = IOstreamOption::NON_APPEND + IOstreamOption::appendType append = IOstreamOption::NO_APPEND ) : OFstream(pathname, IOstreamOption(fmt, ver, cmp), append) diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H index e3c98907936..1fbbabb2531 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H @@ -194,20 +194,37 @@ public: class ofstreamPointer { + // Private Data Types + + //- The file open/creation type (bitmask) + enum modeType : char + { + NONE = 0, // Regular open (truncates existing) + ATOMIC = 0x1, // Atomic file creation + APPENDING = 0x2 // Is appending to an existing file + }; + + // Private Data //- The stream pointer (ofstream | ogzstream | ocountstream, ...) std::unique_ptr<std::ostream> ptr_; - //- Atomic file creation - bool atomic_; + //- File output/creation type (atomic, append etc) + char mode_; + + + // Private Member Functions + + //- Clear any output mode information + void clear_mode() noexcept { mode_ = modeType::NONE; } protected: // Protected Member Functions - //- Reopen for compressed/non-compressed + //- Reopen for compressed/non-compressed. Discards append status. void reopen(const std::string& pathname); //- Close stream and rename file @@ -245,16 +262,20 @@ public: //- Construct from pathname, option, append, file handling atomic // \param pathname The file name to open for writing // \param streamOpt Respects (UNCOMPRESSED | COMPRESSED) - // \param append Open in append mode + // \param append Open in specified append mode // \param atomic Write into temporary file (not target file). // This option should only be used with a stream wrapper // (eg, OFstream) that handles the final renaming. + // + // \note + // There are two different append modes: + // append at every write, or only append after opening. explicit ofstreamPointer ( const fileName& pathname, IOstreamOption streamOpt = IOstreamOption(), - const bool append = false, - const bool atomic = false + IOstreamOption::appendType append = IOstreamOption::NO_APPEND, + bool atomic = false ); //- Construct from pathname, compression, append, file handling atomic @@ -268,12 +289,12 @@ public: ( const fileName& pathname, IOstreamOption::compressionType comp, - const bool append = false, - const bool atomic = false + IOstreamOption::appendType append = IOstreamOption::NO_APPEND, + bool atomic = false ); - // Member Functions + // Static Functions //- True if compiled with libz support static bool supports_gz() noexcept; @@ -293,14 +314,34 @@ public: //- Which compression type? IOstreamOption::compressionType whichCompression() const; + //- True if opened in append mode \em and file already existed + bool is_appending() const noexcept + { + return (mode_ & modeType::APPENDING); + } + + //- True if file creation behaves as atomic + bool is_atomic() const noexcept + { + return (mode_ & modeType::ATOMIC); + } + // Edit - //- Return managed pointer and release ownership - std::ostream* release() noexcept { return ptr_.release(); } + //- Return managed pointer and release ownership. + std::ostream* release() noexcept + { + clear_mode(); + return ptr_.release(); + } //- Replace the managed pointer - void reset(std::ostream* ptr) noexcept { ptr_.reset(ptr); } + void reset(std::ostream* ptr) noexcept + { + clear_mode(); + ptr_.reset(ptr); + } // Operators diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C index 01b9f460b65..7e8d3282f0e 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C +++ b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointers.C @@ -88,14 +88,14 @@ Foam::ifstreamPointer::ifstreamPointer Foam::ofstreamPointer::ofstreamPointer() noexcept : ptr_(), - atomic_(false) + mode_(modeType::NONE) {} Foam::ofstreamPointer::ofstreamPointer(std::nullptr_t) : ptr_(new Foam::ocountstream), - atomic_(false) + mode_(modeType::NONE) {} @@ -103,27 +103,44 @@ Foam::ofstreamPointer::ofstreamPointer ( const fileName& pathname, IOstreamOption streamOpt, - const bool append, - const bool atomic + IOstreamOption::appendType append, + bool atomic ) : ptr_(), - atomic_(atomic) + mode_(modeType::NONE) { - std::ios_base::openmode mode + // Leave std::ios_base::trunc implicitly handled to make things + // easier for append mode. + + std::ios_base::openmode openmode ( std::ios_base::out | std::ios_base::binary ); - if (append) + if (append == IOstreamOption::APPEND_APP) { - mode |= std::ios_base::app; + openmode |= std::ios_base::app; + + // Cannot append to gzstream + streamOpt.compression(IOstreamOption::UNCOMPRESSED); + + // Cannot use append + atomic operation, without lots of extra work + atomic = false; + } + else if (append == IOstreamOption::APPEND_ATE) + { + // Handle an "append-like" mode by opening "r+b" and NOT as "ab" + // - file already exists: Sets read position to start + // - file does not exist: Error + + openmode |= std::ios_base::in; // [SIC] - use read bit, not append! // Cannot append to gzstream streamOpt.compression(IOstreamOption::UNCOMPRESSED); // Cannot use append + atomic operation, without lots of extra work - atomic_ = false; + atomic = false; } @@ -146,9 +163,9 @@ Foam::ofstreamPointer::ofstreamPointer #ifdef HAVE_LIBZ // TBD: - // atomic_ = true; // Always treat COMPRESSED like an atomic + // atomic = true; // Always treat COMPRESSED like an atomic - const fileName& target = (atomic_ ? pathname_tmp : pathname_gz); + const fileName& target = (atomic ? pathname_tmp : pathname_gz); // Remove old uncompressed version (if any) fType = Foam::type(pathname, false); @@ -158,7 +175,7 @@ Foam::ofstreamPointer::ofstreamPointer } // Avoid writing into symlinked files (non-append mode) - if (!append || atomic_) + if (atomic || (append == IOstreamOption::NO_APPEND)) { fType = Foam::type(target, false); if (fType == fileName::SYMLINK) @@ -167,7 +184,7 @@ Foam::ofstreamPointer::ofstreamPointer } } - ptr_.reset(new ogzstream(target, mode)); + ptr_.reset(new ogzstream(target, openmode)); #else /* HAVE_LIBZ */ @@ -184,7 +201,7 @@ Foam::ofstreamPointer::ofstreamPointer if (IOstreamOption::COMPRESSED != streamOpt.compression()) { - const fileName& target = (atomic_ ? pathname_tmp : pathname); + const fileName& target = (atomic ? pathname_tmp : pathname); // Remove old compressed version (if any) fType = Foam::type(pathname_gz, false); @@ -194,7 +211,7 @@ Foam::ofstreamPointer::ofstreamPointer } // Avoid writing into symlinked files (non-append mode) - if (!append || atomic_) + if (atomic || (append == IOstreamOption::NO_APPEND)) { fType = Foam::type(target, false); if (fType == fileName::SYMLINK) @@ -203,7 +220,75 @@ Foam::ofstreamPointer::ofstreamPointer } } - ptr_.reset(new std::ofstream(target, mode)); + // File pointer (std::ofstream) + auto filePtr = std::make_unique<std::ofstream>(target, openmode); + + if (append == IOstreamOption::APPEND_APP) + { + // Final handling for append 'app' (always non-atomic) + + // Set output position to the end (like std::ios_base::ate) + // but only to test if the file had a size. + // No real performance problem since any subsequent write + // will do the same anyhow. + + filePtr->seekp(0, std::ios_base::end); + if (filePtr->tellp() <= 0) + { + // Did not open an existing file + append = IOstreamOption::NO_APPEND; + } + } + else if (append == IOstreamOption::APPEND_ATE) + { + // Final handling for append 'ate' (always non-atomic) + + if (filePtr->good()) + { + // Success if file already exists. + // Set output position to the end - like std::ios_base::ate + + filePtr->seekp(0, std::ios_base::end); + + if (filePtr->tellp() <= 0) + { + // Did not open an existing file + append = IOstreamOption::NO_APPEND; + } + } + else + { + // Error if file does not already exist. + // Reopen as regular output mode only. + + // Did not open an existing file + append = IOstreamOption::NO_APPEND; + + if (filePtr->is_open()) + { + filePtr->close(); + } + filePtr->clear(); + filePtr->open + ( + target, + (std::ios_base::out | std::ios_base::binary) + ); + } + } + ptr_.reset(filePtr.release()); + } + + // Is appending to an existing file + if (append != IOstreamOption::NO_APPEND) + { + mode_ = modeType::APPENDING; + } + + // An atomic output operation (normally not appending!) + if (atomic) + { + mode_ |= modeType::ATOMIC; } } @@ -212,8 +297,8 @@ Foam::ofstreamPointer::ofstreamPointer ( const fileName& pathname, IOstreamOption::compressionType comp, - const bool append, - const bool atomic + IOstreamOption::appendType append, + bool atomic ) : ofstreamPointer @@ -237,12 +322,12 @@ void Foam::ifstreamPointer::open // Forcibly close old stream (if any) ptr_.reset(nullptr); - const std::ios_base::openmode mode + const std::ios_base::openmode openmode ( std::ios_base::in | std::ios_base::binary ); - ptr_.reset(new std::ifstream(pathname, mode)); + ptr_.reset(new std::ifstream(pathname, openmode)); if (!ptr_->good()) { @@ -254,7 +339,7 @@ void Foam::ifstreamPointer::open { #ifdef HAVE_LIBZ - ptr_.reset(new igzstream(pathname_gz, mode)); + ptr_.reset(new igzstream(pathname_gz, openmode)); #else /* HAVE_LIBZ */ @@ -311,7 +396,7 @@ void Foam::ofstreamPointer::reopen(const std::string& pathname) gz->close(); gz->clear(); - if (atomic_) + if (mode_ & modeType::ATOMIC) { gz->open ( @@ -341,10 +426,11 @@ void Foam::ofstreamPointer::reopen(const std::string& pathname) } file->clear(); - // Don't need original request to append since rewind implies - // trashing that anyhow. + // Invalidate the appending into existing file information + // since rewind usually means overwrite + mode_ &= ~modeType::APPENDING; - if (atomic_) + if (mode_ & modeType::ATOMIC) { file->open ( @@ -367,7 +453,13 @@ void Foam::ofstreamPointer::reopen(const std::string& pathname) void Foam::ofstreamPointer::close(const std::string& pathname) { - if (!atomic_ || pathname.empty()) return; + // Invalidate the appending into existing file information + mode_ &= ~modeType::APPENDING; + + if (pathname.empty() || !(mode_ & modeType::ATOMIC)) + { + return; + } #ifdef HAVE_LIBZ auto* gz = dynamic_cast<ogzstream*>(ptr_.get()); diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.H b/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.H index c139e00e0de..c8ee2618cdc 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.H @@ -107,7 +107,7 @@ public: const label comm, const fileName& pathname, IOstreamOption streamOpt = IOstreamOption(), - IOstreamOption::appendType append = IOstreamOption::NON_APPEND, + IOstreamOption::appendType append = IOstreamOption::NO_APPEND, const bool writeOnProc = true ); @@ -118,7 +118,7 @@ public: const label comm, const fileName& pathname, IOstreamOption streamOpt = IOstreamOption(), - IOstreamOption::appendType append = IOstreamOption::NON_APPEND, + IOstreamOption::appendType append = IOstreamOption::NO_APPEND, const bool writeOnProc = true ) : @@ -140,7 +140,7 @@ public: IOstreamOption::atomicType atomic, const fileName& pathname, IOstreamOption streamOpt = IOstreamOption(), - IOstreamOption::appendType append = IOstreamOption::NON_APPEND, + IOstreamOption::appendType append = IOstreamOption::NO_APPEND, const bool writeOnProc = true ) : @@ -161,7 +161,7 @@ public: ( const fileName& pathname, IOstreamOption streamOpt = IOstreamOption(), - IOstreamOption::appendType append = IOstreamOption::NON_APPEND, + IOstreamOption::appendType append = IOstreamOption::NO_APPEND, const bool writeOnProc = true ) : diff --git a/src/OpenFOAM/db/options/IOstreamOption.H b/src/OpenFOAM/db/options/IOstreamOption.H index 15f243eb245..5c9f6ebb8cb 100644 --- a/src/OpenFOAM/db/options/IOstreamOption.H +++ b/src/OpenFOAM/db/options/IOstreamOption.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,9 +36,6 @@ Description The compression (UNCOMPRESSED | COMPRESSED) is typically controlled by switch values (true/false, on/off, ...). - Additionally, some enumerations are defined (APPEND, NON_APPEND, ...) - that are useful, verbose alternatives to bool values. - SourceFiles IOstreamOption.C @@ -84,11 +81,14 @@ public: COMPRESSED //!< compression = true }; - //- File appending (NON_APPEND | APPEND) + //- File appending (NO_APPEND | APPEND_APP | APPEND_ATE) enum appendType : char { - NON_APPEND = 0, //!< append = false - APPEND //!< append = true + NO_APPEND = 0, //!< no append (truncates existing) + APPEND_APP, //!< append (seek end each write) + APPEND_ATE, //!< append (seek end after open) + NON_APPEND = NO_APPEND, //!< old name for NO_APPEND + APPEND = APPEND_APP //!< old name for APPEND_APP }; //- Atomic operations (output) diff --git a/src/OpenFOAM/global/fileOperations/collatedFileOperation/OFstreamCollator.C b/src/OpenFOAM/global/fileOperations/collatedFileOperation/OFstreamCollator.C index 6ee4bb36a87..5aa41da1200 100644 --- a/src/OpenFOAM/global/fileOperations/collatedFileOperation/OFstreamCollator.C +++ b/src/OpenFOAM/global/fileOperations/collatedFileOperation/OFstreamCollator.C @@ -80,7 +80,7 @@ bool Foam::OFstreamCollator::writeFile osPtr.reset(new OFstream(atomic, fName, streamOpt, append)); auto& os = *osPtr; - if (append == IOstreamOption::NON_APPEND) + if (append == IOstreamOption::NO_APPEND) { // No IOobject so cannot use IOobject::writeHeader diff --git a/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C b/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C index bb0b861f955..71303704958 100644 --- a/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C @@ -190,7 +190,7 @@ bool Foam::fileOperations::collatedFileOperation::appendObject // UNCOMPRESSED (binary only) IOstreamOption(IOstreamOption::BINARY, streamOpt.version()), // Append on sub-ranks - (isIOmaster ? IOstreamOption::NON_APPEND : IOstreamOption::APPEND) + (isIOmaster ? IOstreamOption::NO_APPEND : IOstreamOption::APPEND_APP) ); if (!os.good()) @@ -384,7 +384,7 @@ bool Foam::fileOperations::collatedFileOperation::writeObject comm_, pathName, streamOpt, - IOstreamOption::NON_APPEND, + IOstreamOption::NO_APPEND, writeOnProc ); @@ -431,7 +431,7 @@ bool Foam::fileOperations::collatedFileOperation::writeObject comm_, pathName, streamOpt, - IOstreamOption::NON_APPEND, + IOstreamOption::NO_APPEND, writeOnProc ); diff --git a/src/OpenFOAM/global/fileOperations/collatedFileOperation/threadedCollatedOFstream.C b/src/OpenFOAM/global/fileOperations/collatedFileOperation/threadedCollatedOFstream.C index 57af56c2682..d9b0ddc0bb8 100644 --- a/src/OpenFOAM/global/fileOperations/collatedFileOperation/threadedCollatedOFstream.C +++ b/src/OpenFOAM/global/fileOperations/collatedFileOperation/threadedCollatedOFstream.C @@ -81,7 +81,7 @@ Foam::threadedCollatedOFstream::~threadedCollatedOFstream() str(), IOstreamOption(IOstreamOption::BINARY, version(), compression_), atomic_, - IOstreamOption::NON_APPEND, + IOstreamOption::NO_APPEND, useThread_, headerEntries_ ); diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index 20c9511aa0d..1d610096901 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -2505,7 +2505,7 @@ Foam::fileOperations::masterUncollatedFileOperation::NewOFstream comm_, pathName, streamOpt, - IOstreamOption::NON_APPEND, + IOstreamOption::NO_APPEND, writeOnProc ) ); @@ -2529,7 +2529,7 @@ Foam::fileOperations::masterUncollatedFileOperation::NewOFstream comm_, pathName, streamOpt, - IOstreamOption::NON_APPEND, + IOstreamOption::NO_APPEND, writeOnProc ) ); diff --git a/src/lumpedPointMotion/movement/lumpedPointMovement.C b/src/lumpedPointMotion/movement/lumpedPointMovement.C index c749c856a1a..524e2be769f 100644 --- a/src/lumpedPointMotion/movement/lumpedPointMovement.C +++ b/src/lumpedPointMotion/movement/lumpedPointMovement.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1291,7 +1291,7 @@ bool Foam::lumpedPointMovement::writeData const Tuple2<scalar, scalar>* timesWritten ) const { - if (!Pstream::master()) + if (!UPstream::master()) { return false; } @@ -1306,13 +1306,13 @@ bool Foam::lumpedPointMovement::writeData writeData(os, forces, moments, outputFormat_, timesWritten); } - // Log output + // Log output - simple append to existing { OFstream os ( coupler().resolveFile(logName_), IOstreamOption(), - IOstreamOption::APPEND + IOstreamOption::APPEND_ATE ); writeData(os, forces, moments, outputFormatType::PLAIN, timesWritten); -- GitLab From dfc9a8923a07b6f75b4d05d2e69c9245a2a0f3d4 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 13 May 2024 18:57:38 +0200 Subject: [PATCH 176/231] ENH: read support for EnSight single-file transient (#3154) - the ensightReadFile init() now automatically sets up binary/ascii (for geometry files) and checks for the transient "BEGIN TIME STEP" marker. If found, will also populate the file offsets for each of the timesteps. If no corresponding footer is found (which would be very inefficient), it simply pretends that there is only a single time step instead of performing a costly file scan. - parsing of the ensight case file now also supports the use of filename numbers: as an alternative to filename start number: filename increment: - improved parsing robustness of "time values:" entry. Can now also have contents on the same line as the introducer. ENH: base-level adjustments for writing transient single-file - beginGeometry() is now separated out from file creation. - in append mode, ensightFile and ensightGeoFile will attempt to parse existing time-step information. --- applications/test/ensightFile/Make/files | 3 - applications/test/ensightFile/Make/options | 8 - applications/test/ensightFile1/Make/files | 3 + applications/test/ensightFile1/Make/options | 5 + .../test/ensightFile1/Test-ensightFile1.cxx | 137 ++++ applications/test/ensightFileName/Make/files | 3 + .../test/ensightFileName/Make/options | 5 + .../Test-ensightFileName.cxx} | 4 +- .../ensightToFoam/ensightMeshReader.C | 399 ++++++----- .../foamToEnsight/foamToEnsight.C | 6 +- src/fileFormats/ensight/file/ensightCase.C | 69 +- src/fileFormats/ensight/file/ensightCase.H | 28 +- src/fileFormats/ensight/file/ensightCaseI.H | 4 +- .../ensight/file/ensightCaseTemplates.C | 31 +- src/fileFormats/ensight/file/ensightFile.C | 327 +++++++-- src/fileFormats/ensight/file/ensightFile.H | 140 +++- src/fileFormats/ensight/file/ensightGeoFile.C | 69 +- src/fileFormats/ensight/file/ensightGeoFile.H | 82 ++- src/fileFormats/ensight/mesh/ensightMesh.C | 5 + src/fileFormats/ensight/mesh/ensightMesh.H | 5 +- .../ensight/name/ensightFileName.H | 7 +- .../ensight/name/ensightFileNameI.H | 14 +- src/fileFormats/ensight/name/ensightVarName.H | 7 +- .../ensight/name/ensightVarNameI.H | 15 +- .../ensight/part/cells/ensightCells.H | 2 + .../ensight/part/faces/ensightFaces.C | 2 +- .../ensight/part/faces/ensightFaces.H | 1 + .../ensight/part/part/ensightPart.C | 4 +- .../ensight/part/part/ensightPart.H | 4 +- .../part/surface/ensightOutputSurface.H | 16 +- .../ensight/read/ensightReadFile.C | 475 ++++++++++--- .../ensight/read/ensightReadFile.H | 121 +++- src/finiteArea/output/ensight/ensightFaMesh.C | 7 +- src/finiteArea/output/ensight/ensightFaMesh.H | 9 +- .../ensightCloud/ensightCloudWriteObject.cxx | 5 + .../utilities/ensightWrite/ensightWrite.C | 2 +- .../ensight/ensightCoordSetWriterCollated.C | 16 +- .../ensight/ensightCoordSetWriterUncollated.C | 12 +- .../readers/ensight/ensightSurfaceReader.C | 663 +++++++++++++----- .../readers/ensight/ensightSurfaceReader.H | 76 +- .../ensight/ensightSurfaceReaderTemplates.C | 52 +- .../ensight/ensightSurfaceWriterCollated.C | 19 +- .../ensight/ensightSurfaceWriterUncollated.C | 60 +- 43 files changed, 2091 insertions(+), 831 deletions(-) delete mode 100644 applications/test/ensightFile/Make/files delete mode 100644 applications/test/ensightFile/Make/options create mode 100644 applications/test/ensightFile1/Make/files create mode 100644 applications/test/ensightFile1/Make/options create mode 100644 applications/test/ensightFile1/Test-ensightFile1.cxx create mode 100644 applications/test/ensightFileName/Make/files create mode 100644 applications/test/ensightFileName/Make/options rename applications/test/{ensightFile/Test-ensightFile.C => ensightFileName/Test-ensightFileName.cxx} (96%) diff --git a/applications/test/ensightFile/Make/files b/applications/test/ensightFile/Make/files deleted file mode 100644 index 856556c3169..00000000000 --- a/applications/test/ensightFile/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -Test-ensightFile.C - -EXE = $(FOAM_USER_APPBIN)/Test-ensightFile diff --git a/applications/test/ensightFile/Make/options b/applications/test/ensightFile/Make/options deleted file mode 100644 index 6684cce1e75..00000000000 --- a/applications/test/ensightFile/Make/options +++ /dev/null @@ -1,8 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/fileFormats/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/conversion/lnInclude - -EXE_LIBS = \ - -lmeshTools \ - -lconversion diff --git a/applications/test/ensightFile1/Make/files b/applications/test/ensightFile1/Make/files new file mode 100644 index 00000000000..aa5fb561522 --- /dev/null +++ b/applications/test/ensightFile1/Make/files @@ -0,0 +1,3 @@ +Test-ensightFile1.cxx + +EXE = $(FOAM_USER_APPBIN)/Test-ensightFile1 diff --git a/applications/test/ensightFile1/Make/options b/applications/test/ensightFile1/Make/options new file mode 100644 index 00000000000..7ce182425d9 --- /dev/null +++ b/applications/test/ensightFile1/Make/options @@ -0,0 +1,5 @@ +EXE_INC = \ + -I$(LIB_SRC)/fileFormats/lnInclude + +EXE_LIBS = \ + -lfileFormats diff --git a/applications/test/ensightFile1/Test-ensightFile1.cxx b/applications/test/ensightFile1/Test-ensightFile1.cxx new file mode 100644 index 00000000000..9be1b4f3ab2 --- /dev/null +++ b/applications/test/ensightFile1/Test-ensightFile1.cxx @@ -0,0 +1,137 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Application + Test-ensightFile + +Description + check cleanup of ensight file and variable names + +\*---------------------------------------------------------------------------*/ + +#include "argList.H" +#include "ensightFile.H" +#include "ensightGeoFile.H" +#include "Switch.H" +#include "IOstreams.H" + +using namespace Foam; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Main program: + +int main(int argc, char *argv[]) +{ + argList::noBanner(); + argList::noParallel(); + argList::addBoolOption("ascii", "open as ascii instead of binary"); + argList::addBoolOption("binary", "(default)"); + argList::addBoolOption("clear", "force clear of time-steps"); + argList::addBoolOption("no-end", "skip use of endTimeStep"); + argList::addBoolOption("append", "open in append mode"); + argList::addOption("geom", "geometry file"); + argList::addOption("field", "field file"); + + #include "setRootCase.H" + + const bool with_ascii = args.found("ascii") && !args.found("binary"); + // const bool with_binary = args.found("binary"); + const bool with_append = args.found("append"); + const bool with_clear = args.found("clear"); + const bool without_end = args.found("no-end"); + + const IOstreamOption::streamFormat fmt = + ( + with_ascii + ? IOstreamOption::ASCII + : IOstreamOption::BINARY + ); + + const IOstreamOption::appendType append = + ( + with_append + ? IOstreamOption::APPEND_ATE + : IOstreamOption::NO_APPEND + ); + + + fileName file; + if (args.readIfPresent("geom", file)) + { + Info<< "Open " << file << " as geometry " + << " format:" << (with_ascii ? "ASCII" : "BINARY") + << " append:" << Switch::name(with_append) << nl; + + ensightGeoFile ensFile(append, file, fmt); + + if (append) + { + ensFile.beginTimeStep(); + + // At the moment need to pair begin/end time-step calls + if (!without_end) + { + ensFile.endTimeStep(); + } + } + + if (with_clear) + { + ensFile.clearTimeSteps(); + } + } + + if (args.readIfPresent("field", file)) + { + Info<< "Open " << file << " as field" + << " format:" << (with_ascii ? "ASCII" : "BINARY") + << " append:" << Switch::name(with_append) << nl; + + ensightFile ensFile(append, file, fmt); + + if (append) + { + ensFile.beginTimeStep(); + + // At the moment need to pair begin/end time-step calls + if (!without_end) + { + ensFile.endTimeStep(); + } + } + + if (with_clear) + { + ensFile.clearTimeSteps(); + } + } + + + Info<< "\nEnd\n" << endl; + return 0; +} + + +// ************************************************************************* // diff --git a/applications/test/ensightFileName/Make/files b/applications/test/ensightFileName/Make/files new file mode 100644 index 00000000000..f2b4af2f482 --- /dev/null +++ b/applications/test/ensightFileName/Make/files @@ -0,0 +1,3 @@ +Test-ensightFileName.cxx + +EXE = $(FOAM_USER_APPBIN)/Test-ensightFileName diff --git a/applications/test/ensightFileName/Make/options b/applications/test/ensightFileName/Make/options new file mode 100644 index 00000000000..7ce182425d9 --- /dev/null +++ b/applications/test/ensightFileName/Make/options @@ -0,0 +1,5 @@ +EXE_INC = \ + -I$(LIB_SRC)/fileFormats/lnInclude + +EXE_LIBS = \ + -lfileFormats diff --git a/applications/test/ensightFile/Test-ensightFile.C b/applications/test/ensightFileName/Test-ensightFileName.cxx similarity index 96% rename from applications/test/ensightFile/Test-ensightFile.C rename to applications/test/ensightFileName/Test-ensightFileName.cxx index 927bb845452..57bcc306a64 100644 --- a/applications/test/ensightFile/Test-ensightFile.C +++ b/applications/test/ensightFileName/Test-ensightFileName.cxx @@ -24,10 +24,10 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Application - Test-ensightFile + Test-ensightFileName Description - check cleanup of ensight file and variable names + Check cleanup of ensight file and variable names \*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/mesh/conversion/ensightToFoam/ensightMeshReader.C b/applications/utilities/mesh/conversion/ensightToFoam/ensightMeshReader.C index 91be645d685..85de4979915 100644 --- a/applications/utilities/mesh/conversion/ensightToFoam/ensightMeshReader.C +++ b/applications/utilities/mesh/conversion/ensightToFoam/ensightMeshReader.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022-2023 OpenCFD Ltd. + Copyright (C) 2022-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -93,29 +93,34 @@ void Foam::fileFormats::ensightMeshReader::readIDs ( ensightReadFile& is, const bool doRead, - const label nShapes, + const label elemCount, labelList& foamToElem, Map<label>& elemToFoam ) const { - const label sz = foamToElem.size(); - foamToElem.resize(sz+nShapes); + const label begElem = foamToElem.size(); + const label endElem = begElem + elemCount; + + foamToElem.resize(foamToElem.size()+elemCount); + if (doRead) { - elemToFoam.reserve(elemToFoam.size()+nShapes); - for (label shapei = 0; shapei < nShapes; shapei++) + elemToFoam.reserve(elemToFoam.size()+elemCount); + + for (label elemi = begElem; elemi < endElem; ++elemi) { - label elemi; - is.read(elemi); - foamToElem[sz+shapei] = elemi; - elemToFoam.insert(elemi, sz+shapei); + label id; + is.read(id); + foamToElem[elemi] = id; + elemToFoam.insert(id, elemi); } } else { - for (label shapei = 0; shapei < nShapes; shapei++) + // identity + for (label elemi = begElem; elemi < endElem; ++elemi) { - foamToElem[sz+shapei] = sz+shapei; + foamToElem[elemi] = elemi; } } } @@ -209,37 +214,54 @@ bool Foam::fileFormats::ensightMeshReader::readGoldPart // Work DynamicList<label> verts; - string line; + string buffer; while (is.good()) { do { - is.readKeyword(line); + // Get entire line/string + is.read(buffer); } - while (line.empty() && is.good()); + while (buffer.empty() && is.good()); - const auto split = stringOps::splitSpace(line); + if (!is.good()) + { + break; + } + else if (buffer.contains("BEGIN TIME STEP")) + { + // Graciously handle a miscued start + continue; + } + else if (buffer.contains("END TIME STEP")) + { + // END TIME STEP is a valid means to terminate input + break; + } + const auto split = stringOps::splitSpace(buffer); - if (split.size() == 0) + if (split.empty()) { continue; } - if (split[0] == "part") + const auto keyword(split[0].str()); + + if (keyword == "part") { return false; } - else if (split[0] == "node_ids") + else if (keyword == "node_ids") { const label nPoints = points.size(); - // Ignore for now - for (label i = 0; i < nPoints; i++) + // Ignore point ids + for (label pointi = 0; pointi < nPoints; ++pointi) { - label index; - is.read(index); + label id; + is.read(id); } } - else if (split[0] == "coordinates") + else if (keyword == "coordinates") { label nPoints; is.read(nPoints); @@ -257,207 +279,205 @@ bool Foam::fileFormats::ensightMeshReader::readGoldPart nodeIdToPoints ); - points.setSize(nPoints); - for (label pointi = 0; pointi < nPoints; pointi++) - { - is.read(points[pointi].x()); - } - for (label pointi = 0; pointi < nPoints; pointi++) - { - is.read(points[pointi].y()); - } - for (label pointi = 0; pointi < nPoints; pointi++) - { - is.read(points[pointi].z()); - } + is.readPoints(nPoints, points); } - else if (split[0] == "tetra4") + else if (keyword == "tetra4") { - label nShapes; - is.read(nShapes); + label elemCount; + is.read(elemCount); - Pout<< indent<< "tetra4 " << nShapes + Pout<< indent<< "tetra4 " << elemCount << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; - const label celli = cells.size(); - cells.resize(celli+nShapes); - readIDs ( is, read_elem_ids, - nShapes, + elemCount, cellToElemIds, elemIdToCells ); + // Extend and fill the new trailing portion + const label startElemi = cells.size(); + cells.resize(startElemi+elemCount); + faceListList::subList myElements = cells.slice(startElemi); + const auto& model = cellModel::ref(cellModel::TET); - for (label shapei = 0; shapei < nShapes; shapei++) + for (auto& cellFaces : myElements) { readVerts(is, 4, nodeIdToPoints, verts); if (setHandedness_) { setHandedness(model, verts, points); } - const cellShape cellVerts(model, verts); - cells[celli+shapei] = cellVerts.faces(); + cellFaces = cellShape(model, verts).faces(); } } - else if (split[0] == "pyramid5") + else if (keyword == "pyramid5") { - label nShapes; - is.read(nShapes); + label elemCount; + is.read(elemCount); - Pout<< indent<< "pyramid5 " << nShapes + Pout<< indent<< "pyramid5 " << elemCount << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; - const label celli = cells.size(); - cells.resize(celli+nShapes); - readIDs ( is, read_elem_ids, - nShapes, + elemCount, cellToElemIds, elemIdToCells ); + // Extend and fill the new trailing portion + const label startElemi = cells.size(); + cells.resize(startElemi+elemCount); + faceListList::subList myElements = cells.slice(startElemi); + const auto& model = cellModel::ref(cellModel::PYR); - for (label shapei = 0; shapei < nShapes; shapei++) + for (auto& cellFaces : myElements) { readVerts(is, 5, nodeIdToPoints, verts); if (setHandedness_) { setHandedness(model, verts, points); } - const cellShape cellVerts(model, verts); - cells[celli+shapei] = cellVerts.faces(); + cellFaces = cellShape(model, verts).faces(); } } - else if (split[0] == "penta6") + else if (keyword == "penta6") { - label nShapes; - is.read(nShapes); + label elemCount; + is.read(elemCount); - Pout<< indent<< "penta6 " << nShapes + Pout<< indent<< "penta6 " << elemCount << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; - const label celli = cells.size(); - cells.resize(celli+nShapes); - readIDs ( is, read_elem_ids, - nShapes, + elemCount, cellToElemIds, elemIdToCells ); + // Extend and fill the new trailing portion + const label startElemi = cells.size(); + cells.resize(startElemi+elemCount); + faceListList::subList myElements = cells.slice(startElemi); + const auto& model = cellModel::ref(cellModel::PRISM); - for (label shapei = 0; shapei < nShapes; shapei++) + for (auto& cellFaces : myElements) { readVerts(is, 6, nodeIdToPoints, verts); if (setHandedness_) { setHandedness(model, verts, points); } - const cellShape cellVerts(model, verts); - cells[celli+shapei] = cellVerts.faces(); + cellFaces = cellShape(model, verts).faces(); } } - else if (split[0] == "hexa8") + else if (keyword == "hexa8") { - label nShapes; - is.read(nShapes); + label elemCount; + is.read(elemCount); - Pout<< indent<< "hexa8 " << nShapes + Pout<< indent<< "hexa8 " << elemCount << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; - const label celli = cells.size(); - cells.resize(celli+nShapes); - readIDs ( is, read_elem_ids, - nShapes, + elemCount, cellToElemIds, elemIdToCells ); + // Extend and fill the new trailing portion + const label startElemi = cells.size(); + cells.resize(startElemi+elemCount); + faceListList::subList myElements = cells.slice(startElemi); + const auto& model = cellModel::ref(cellModel::HEX); - for (label shapei = 0; shapei < nShapes; shapei++) + for (auto& cellFaces : myElements) { readVerts(is, 8, nodeIdToPoints, verts); if (setHandedness_) { setHandedness(model, verts, points); } - const cellShape cellVerts(model, verts); - cells[celli+shapei] = cellVerts.faces(); + cellFaces = cellShape(model, verts).faces(); } } - else if (split[0] == "nfaced") + else if (keyword == "nfaced") { - label nShapes; - is.read(nShapes); + label elemCount; + is.read(elemCount); - Pout<< indent<< "nfaced " << nShapes + Pout<< indent<< "nfaced " << elemCount << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; - const label celli = cells.size(); - cells.resize(celli+nShapes); - readIDs ( is, read_elem_ids, - nShapes, + elemCount, cellToElemIds, elemIdToCells ); - for (label shapei = 0; shapei < nShapes; shapei++) + // Extend and fill the new trailing portion + const label startElemi = cells.size(); + cells.resize(startElemi+elemCount); + faceListList::subList myElements = cells.slice(startElemi); + + for (auto& cellFaces : myElements) { label nFaces; is.read(nFaces); - faceList& cellFaces = cells[celli+shapei]; - cellFaces.setSize(nFaces); + cellFaces.resize(nFaces); } - for (label shapei = 0; shapei < nShapes; shapei++) + for (auto& cellFaces : myElements) { - faceList& cellFaces = cells[celli+shapei]; - forAll(cellFaces, cellFacei) + for (face& f : cellFaces) { label nVerts; is.read(nVerts); - cellFaces[cellFacei].setSize(nVerts); + f.resize(nVerts); } } - for (label shapei = 0; shapei < nShapes; shapei++) + for (faceList& cellFaces : myElements) { - faceList& cellFaces = cells[celli+shapei]; - forAll(cellFaces, cellFacei) + for (face& f : cellFaces) { - face& f = cellFaces[cellFacei]; readVerts(is, f.size(), nodeIdToPoints, verts); f.labelList::operator=(verts); + } + } - forAll(f, fp) + // Full check + forAll(myElements, elemi) + { + for (const face& f : myElements[elemi]) + { + for (label pointi : f) { - if (f[fp] < 0 || f[fp] >= points.size()) + if (pointi < 0 || pointi >= points.size()) { - FatalErrorInFunction<< "Face:" << shapei + FatalErrorInFunction + << "Face:" << elemi << " verts:" << f << " indexes outside points:" << points.size() << exit(FatalError); @@ -466,107 +486,104 @@ bool Foam::fileFormats::ensightMeshReader::readGoldPart } } } - else if (split[0] == "tria3") + else if (keyword == "tria3") { - label nShapes; - is.read(nShapes); + label elemCount; + is.read(elemCount); - Pout<< indent << "tria3 " << nShapes + Pout<< indent << "tria3 " << elemCount << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; - const label facei = faces.size(); - readIDs ( is, read_elem_ids, - nShapes, + elemCount, faceToElemIDs, elemIdToFaces ); - faces.setSize(facei+nShapes); + // Extend and fill the new trailing portion + const label startElemi = cells.size(); + faces.resize(startElemi+elemCount, face(3)); // <- tria3 + faceList::subList myElements = faces.slice(startElemi); - for (label shapei = 0; shapei < nShapes; shapei++) + for (face& f : myElements) { - auto& f = faces[facei+shapei]; - f.setSize(3); readVerts(is, f.size(), nodeIdToPoints, verts); f.labelList::operator=(verts); } } - else if (split[0] == "quad4") + else if (keyword == "quad4") { - label nShapes; - is.read(nShapes); + label elemCount; + is.read(elemCount); - Pout<< indent << "quad4 " << nShapes + Pout<< indent << "quad4 " << elemCount << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; - const label facei = faces.size(); - readIDs ( is, read_elem_ids, - nShapes, + elemCount, faceToElemIDs, elemIdToFaces ); - faces.setSize(facei+nShapes); + // Extend and fill the new trailing portion + const label startElemi = cells.size(); + faces.resize(startElemi+elemCount, face(4)); // <- quad4 + faceList::subList myElements = faces.slice(startElemi); - for (label shapei = 0; shapei < nShapes; shapei++) + for (face& f : myElements) { - auto& f = faces[facei+shapei]; - f.setSize(4); readVerts(is, f.size(), nodeIdToPoints, verts); f.labelList::operator=(verts); } } - else if (split[0] == "nsided") + else if (keyword == "nsided") { - label nShapes; - is.read(nShapes); + label elemCount; + is.read(elemCount); - Pout<< indent << "nsided " << nShapes + Pout<< indent << "nsided " << elemCount << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; - const label facei = faces.size(); - readIDs ( is, read_elem_ids, - nShapes, + elemCount, faceToElemIDs, elemIdToFaces ); - faces.setSize(facei+nShapes); + // Extend and fill the new trailing portion + const label startElemi = cells.size(); + faces.resize(startElemi+elemCount); + faceList::subList myElements = faces.slice(startElemi); - for (label shapei = 0; shapei < nShapes; shapei++) + for (face& f : myElements) { - auto& f = faces[facei+shapei]; label nVerts; is.read(nVerts); - f.setSize(nVerts); + f.resize(nVerts); } - for (label shapei = 0; shapei < nShapes; shapei++) + for (face& f : myElements) { - auto& f = faces[facei+shapei]; readVerts(is, f.size(), nodeIdToPoints, verts); f.labelList::operator=(verts); } } else { - WarningInFunction << "Unhandled key " << string(split[0]) - << " from line " << line + WarningInFunction << "Unhandled key " << keyword + << " from line " << buffer << " starting at line " << is.lineNumber() << " position " << is.stdStream().tellg() << endl; } @@ -584,16 +601,21 @@ bool Foam::fileFormats::ensightMeshReader::readGeometry const scalar scaleFactor ) { + // Auto-detect ascii/binary format, + // skips any initial "BEGIN TIME STEP" + ensightReadFile is(geometryFile_); - // Skip 'binary' tag - is.readBinaryHeader(); - string header; - is.read(header); - Info<< "Ensight : " << header << endl; - is.read(header); - Info<< "Ensight : " << header << endl; + string buffer; + + // Ensight Geometry File + is.read(buffer); + Info<< "Ensight : " << buffer << nl; + + // Description - 1 + is.read(buffer); + Info<< "Ensight : " << buffer << nl; bool read_node_ids = false; @@ -623,61 +645,72 @@ bool Foam::fileFormats::ensightMeshReader::readGeometry // Parse all - string line; + SubStrings<string> split; + while (is.good()) { do { - is.readKeyword(line); + // Get entire line/string + is.read(buffer); + } + while (buffer.empty() && is.good()); + if (buffer.contains("END TIME STEP")) + { + // END TIME STEP is a valid means to terminate input + break; } - while (line.empty() && is.good()); - const auto split = stringOps::splitSpace(line); + split = stringOps::splitSpace(buffer); - if (split[0] == "extents") + if (split.empty()) { - point min; - point max; - is.read(min.x()); - is.read(max.x()); - is.read(min.y()); - is.read(max.y()); - is.read(min.z()); - is.read(max.z()); - Pout<< indent - << "Read extents " << boundBox(min, max) - << endl; + continue; + } + + const auto keyword(split[0].str()); + + if (keyword == "extents") + { + // Optional extents (xmin, xmax, ymin, ymax, zmin, zmax) + + boundBox bb; + point& min = bb.min(); + point& max = bb.max(); + + is.read(min.x()); is.read(max.x()); + is.read(min.y()); is.read(max.y()); + is.read(min.z()); is.read(max.z()); + + Pout<< indent << "Read extents " << bb << endl; } - else if (split[0] == "node") + else if (keyword == "node") { - word id(split[1]); - word op(split[2]); + // "node id (off|assign|given|ignore)" + std::string op(split[2]); if (op == "given" || op == "ignore") { Pout<< indent << "Reading node ids" << endl; read_node_ids = true; } } - else if (split[0] == "element") + else if (keyword == "element") { - word id(split[1]); - word op(split[2]); + // "element id (off|assign|given|ignore)" + std::string op(split[2]); if (op == "given" || op == "ignore") { Pout<< indent << "Reading element ids" << endl; read_elem_ids = true; } } - else if (split[0] == "part") + else if (keyword == "part") { bool finished = false; do { - // Make space - partIDs.emplace_back(); - is.read(partIDs.back()); - - partNames.emplace_back(); - is.read(partNames.back()); + // Read part id and name + is.read(partIDs.emplace_back()); + is.read(partNames.emplace_back()); Pout<< indent << "Reading part " << partIDs.back() @@ -954,7 +987,7 @@ bool Foam::fileFormats::ensightMeshReader::readGeometry const face& f = rotateFace(cFaces[cFacei], rotatedFace); const auto fFnd = vertsToCell.find(f); - if (fFnd) + if (fFnd.good()) { // Already inserted. Internal face. vertsToCell.erase(fFnd); @@ -1026,7 +1059,12 @@ bool Foam::fileFormats::ensightMeshReader::readGeometry ) ); - if (!cAndF) + if (cAndF.good()) + { + partCellAndFace[patchFacei++] = cAndF.val(); + vertsToCell.erase(cAndF); + } + else { //WarningInFunction // << "Did not find face " << facei @@ -1036,11 +1074,6 @@ bool Foam::fileFormats::ensightMeshReader::readGeometry // << " in part " << parti // << endl; } - else - { - partCellAndFace[patchFacei++] = cAndF(); - vertsToCell.erase(cAndF); - } } partCellAndFace.setSize(patchFacei); } diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C index c9b6456ba1d..48a12613156 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C @@ -554,7 +554,8 @@ int main(int argc, char *argv[]) { autoPtr<ensightGeoFile> os = ensCase.newGeometry(hasMovingMesh); - ensMesh.write(os); + + ensMesh.write(os.ref()); } // finite-area @@ -562,7 +563,8 @@ int main(int argc, char *argv[]) { autoPtr<ensightGeoFile> os = ensFaCasePtr->newGeometry(hasMovingMesh); - ensFaMeshPtr->write(os); + + ensFaMeshPtr->write(os.ref()); } } diff --git a/src/fileFormats/ensight/file/ensightCase.C b/src/fileFormats/ensight/file/ensightCase.C index 648ae075f78..58e38f2119c 100644 --- a/src/fileFormats/ensight/file/ensightCase.C +++ b/src/fileFormats/ensight/file/ensightCase.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,7 +26,6 @@ License \*---------------------------------------------------------------------------*/ #include "ensightCase.H" -#include "ensightGeoFile.H" #include "Time.H" #include "cloud.H" #include "IOmanip.H" @@ -42,15 +41,26 @@ const char* Foam::ensightCase::geometryName = "geometry"; // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // -Foam::word Foam::ensightCase::padded(const int nwidth, const label value) +Foam::word Foam::ensightCase::mask(const int nwidth) { if (nwidth < 1) { - return Foam::name(value); + return word(); + } + + return word(std::string(nwidth, '*'), false); // stripping=false +} + + +Foam::word Foam::ensightCase::padded(const int nwidth, const label index) +{ + if (nwidth < 1) + { + return Foam::name(index); } std::ostringstream oss; - oss << std::setfill('0') << std::setw(nwidth) << value; + oss << std::setfill('0') << std::setw(nwidth) << index; return word(oss.str(), false); // stripping=false } @@ -230,7 +240,7 @@ void Foam::ensightCase::initialize() // eg, convert new results or a particular time interval // OR remove everything - if (isDir(ensightDir_)) + if (Foam::isDir(ensightDir_)) { if (options_->overwrite()) { @@ -245,7 +255,7 @@ void Foam::ensightCase::initialize() } // Create ensight and data directories - mkDir(dataDir()); + Foam::mkDir(dataDir()); // The case file is always ASCII os_.reset(new OFstream(ensightDir_/caseName_, IOstreamOption::ASCII)); @@ -508,7 +518,7 @@ Foam::ensightCase::createDataFile // Note that data/ITER is indeed a valid ensight::FileName const fileName outdir = dataDir()/padded(timeIndex_); - mkDir(outdir); + Foam::mkDir(outdir); return autoPtr<ensightFile>::New(outdir, name, format()); } @@ -537,7 +547,7 @@ Foam::ensightCase::createCloudFile : (dataDir() / padded(timeIndex_) / cloud::prefix / cloudName) ); - mkDir(outdir); // should be unnecessary after newCloud() + Foam::mkDir(outdir); // should be unnecessary after newCloud() return autoPtr<ensightFile>::New(outdir, name, format()); } @@ -561,13 +571,7 @@ Foam::ensightCase::ensightCase caseName_(caseName + ".case"), changed_(false), timeIndex_(0), - timeValue_(0), - timesUsed_(), - geomTimes_(), - cloudTimes_(), - variables_(), - nodeVariables_(), - cloudVars_() + timeValue_(0) { initialize(); } @@ -586,13 +590,7 @@ Foam::ensightCase::ensightCase caseName_(caseName + ".case"), changed_(false), timeIndex_(0), - timeValue_(0), - timesUsed_(), - geomTimes_(), - cloudTimes_(), - variables_(), - nodeVariables_(), - cloudVars_() + timeValue_(0) { initialize(); } @@ -624,7 +622,7 @@ void Foam::ensightCase::setTime(const scalar value, const label index) // Note that data/ITER is indeed a valid ensight::FileName const fileName outdir = dataDir()/padded(timeIndex_); - mkDir(outdir); + Foam::mkDir(outdir); // place a timestamp in the directory for future reference OFstream timeStamp(outdir/"time"); @@ -842,7 +840,7 @@ Foam::ensightCase::newGeometry bool moving ) const { - autoPtr<Foam::ensightGeoFile> output; + autoPtr<ensightGeoFile> filePtr; if (UPstream::master()) { @@ -859,14 +857,16 @@ Foam::ensightCase::newGeometry // Static mesh: write as "data/constant/geometry" path = dataDir()/word("constant"); } - mkDir(path); + Foam::mkDir(path); noteGeometry(moving); // note for later use - return autoPtr<ensightGeoFile>::New(path, geometryName, format()); + filePtr.reset(new ensightGeoFile(path, geometryName, format())); + + // Before 2024-05 also implicitly called beginGeometry() } - return nullptr; + return filePtr; } @@ -876,23 +876,24 @@ Foam::ensightCase::newCloud const word& cloudName ) const { - autoPtr<Foam::ensightFile> output; + autoPtr<ensightFile> filePtr; if (UPstream::master()) { - output = createCloudFile(cloudName, "positions"); + filePtr = createCloudFile(cloudName, "positions"); + auto& os = filePtr(); // Tag binary format (just like geometry files) - output().writeBinaryHeader(); + os.writeBinaryHeader(); // Description - output().write(cloud::prefix/cloudName); - output().newline(); + os.write(cloud::prefix/cloudName); + os.newline(); noteCloud(cloudName); // note for later use } - return output; + return filePtr; } diff --git a/src/fileFormats/ensight/file/ensightCase.H b/src/fileFormats/ensight/file/ensightCase.H index 185e59dcfbb..e07601d9548 100644 --- a/src/fileFormats/ensight/file/ensightCase.H +++ b/src/fileFormats/ensight/file/ensightCase.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,13 +42,11 @@ SourceFiles #define Foam_ensightCase_H #include "autoPtr.H" -#include "HashSet.H" #include "InfoProxy.H" -#include "Map.H" #include "HashSet.H" +#include "Map.H" #include "Pstream.H" #include "ensightGeoFile.H" -#include <memory> // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -195,6 +193,10 @@ private: ) const; +public: + + // Generated Methods + //- No copy construct ensightCase(const ensightCase&) = delete; @@ -202,8 +204,6 @@ private: void operator=(const ensightCase&) = delete; -public: - // Constructors //- Construct from components @@ -229,8 +229,19 @@ public: // Static Functions - //- Stringified zero-padded integer value - static word padded(const int nwidth, const label value); + //- A '*' mask of specified width + static word mask(const int nwidth); + + //- Stringified zero-padded integer value of specified width + static word padded(const int nwidth, const label index); + + //- Replace the '*' mask chars with zero-padded integer value + template<class StringType> + static StringType expand_mask + ( + const StringType& input, + const label index + ); // Member Functions @@ -285,6 +296,7 @@ public: // Addition of entries to case file //- Open stream for new geometry file (on master). + //- Does not include beginGeometry() marker. autoPtr<ensightGeoFile> newGeometry(bool moving = false) const; //- Open stream for new cloud positions (on master). diff --git a/src/fileFormats/ensight/file/ensightCaseI.H b/src/fileFormats/ensight/file/ensightCaseI.H index 9008c1bde2f..f1160416911 100644 --- a/src/fileFormats/ensight/file/ensightCaseI.H +++ b/src/fileFormats/ensight/file/ensightCaseI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -73,7 +73,7 @@ inline bool Foam::ensightCase::separateCloud() const inline Foam::Ostream& Foam::ensightCase::operator()() const { - return *os_; + return (os_ ? *os_ : Foam::Snull); } diff --git a/src/fileFormats/ensight/file/ensightCaseTemplates.C b/src/fileFormats/ensight/file/ensightCaseTemplates.C index 8b1105ead66..8bd3fe5e842 100644 --- a/src/fileFormats/ensight/file/ensightCaseTemplates.C +++ b/src/fileFormats/ensight/file/ensightCaseTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,6 +28,35 @@ License #include "cloud.H" #include "ensightPTraits.H" +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +template<class StringType> +StringType Foam::ensightCase::expand_mask +( + const StringType& input, + const label timeIndex +) +{ + StringType result(input); + + const auto nMask = std::count(input.begin(), input.end(), '*'); + + // If there are any '*' chars, they are assumed to be contiguous + // Eg, data/******/geometry + + if (nMask) + { + result.replace + ( + ensightCase::mask(nMask), + ensightCase::padded(nMask, timeIndex) + ); + } + + return result; +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> diff --git a/src/fileFormats/ensight/file/ensightFile.C b/src/fileFormats/ensight/file/ensightFile.C index 6ee8f464baf..b1d477881d4 100644 --- a/src/fileFormats/ensight/file/ensightFile.C +++ b/src/fileFormats/ensight/file/ensightFile.C @@ -27,6 +27,7 @@ License \*---------------------------------------------------------------------------*/ #include "ensightFile.H" +#include "ensightReadFile.H" #include "error.H" #include "List.H" #include <cstring> @@ -41,6 +42,37 @@ float Foam::ensightFile::undefValue_ = Foam::floatScalarVGREAT; const char* const Foam::ensightFile::coordinates = "coordinates"; +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Put integers, floats etc in binary or ascii. +template<class Type> +static inline void putPrimitive +( + const Type& value, + OFstream& os, + const int fieldWidth +) +{ + auto& oss = os.stdStream(); + + if (os.format() == IOstreamOption::BINARY) + { + oss.write(reinterpret_cast<const char*>(&value), sizeof(Type)); + } + else + { + oss.width(fieldWidth); + oss << value; + } + os.syncState(); +} + +} // End namespace Foam + + // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // bool Foam::ensightFile::hasUndef(const UList<float>& field) @@ -82,6 +114,51 @@ void Foam::ensightFile::init() std::ios_base::floatfield ); precision(5); + + // Handle transient single-file timestep information + auto& oss = OFstream::stdStream(); + + if (OFstream::is_appending()) + { + // Already positioned at the EOF (in append mode), but be certain + oss.seekp(0, std::ios_base::end); + origFileSize_ = oss.tellp(); + } + else + { + origFileSize_ = 0; + } + + int64_t begin_footer(-1); + List<int64_t> offsets; + + if (OFstream::is_appending()) + { + // Temporarily open for reading as well. + // No race condition since no writing is done concurrently with the + // reading + IFstream is(OFstream::name(), OFstream::format()); + + begin_footer = + ensightReadFile::getTimeStepFooter + ( + is, + offsets + ); + } + + timeStepOffsets_ = std::move(offsets); + + if (OFstream::is_appending() && begin_footer > 0) + { + oss.seekp(begin_footer); + OFstream::syncState(); + } + + // InfoErr << "output at: " << label(begin_footer) << nl; + // InfoErr + // << "footer: " << label(begin_footer) + // << " time-steps: " << offsets.size() << nl; } @@ -89,11 +166,30 @@ void Foam::ensightFile::init() Foam::ensightFile::ensightFile ( + std::nullptr_t, // dispatch tag + IOstreamOption::appendType append, const fileName& pathname, IOstreamOption::streamFormat fmt ) : - OFstream(IOstreamOption::ATOMIC, ensight::FileName(pathname), fmt) + OFstream + ( + ( + // Only use atomic when not appending + (append == IOstreamOption::NO_APPEND) + ? IOstreamOption::ATOMIC + : IOstreamOption::NON_ATOMIC + ), + pathname, + fmt, + ( + // Change APPEND_APP -> APPEND_ATE (file rewriting) + (append == IOstreamOption::APPEND_APP) + ? IOstreamOption::APPEND_ATE + : append + ) + ), + origFileSize_(0) { init(); } @@ -101,14 +197,44 @@ Foam::ensightFile::ensightFile Foam::ensightFile::ensightFile ( + IOstreamOption::appendType append, + const fileName& pathname, + IOstreamOption::streamFormat fmt +) +: + ensightFile + ( + nullptr, + append, + ensight::FileName(pathname), + fmt + ) +{} + + +Foam::ensightFile::ensightFile +( + IOstreamOption::appendType append, const fileName& path, const fileName& name, IOstreamOption::streamFormat fmt ) : - OFstream(IOstreamOption::ATOMIC, path/ensight::FileName(name), fmt) + ensightFile + ( + nullptr, + append, + path/ensight::FileName(name), + fmt + ) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::ensightFile::~ensightFile() { - init(); + (void) writeTimeStepFooter(); } @@ -158,9 +284,11 @@ void Foam::ensightFile::writeString(const char* str, size_t len) std::copy_n(str, len, buf); std::fill_n(buf + len, (80 - len), '\0'); // Pad trailing with nul + auto& oss = stdStream(); + if (format() == IOstreamOption::BINARY) { - write(buf, 80); + oss.write(buf, 80); } else { @@ -170,9 +298,10 @@ void Foam::ensightFile::writeString(const char* str, size_t len) // char* p = ::strchr(buf, '\n'); // if (p) *p = 0; - stdStream() << buf; - syncState(); + oss << buf; } + + syncState(); } @@ -209,6 +338,7 @@ Foam::Ostream& Foam::ensightFile::write(const std::string& str) } +// Same as OFstream::writeRaw(buf, count) Foam::Ostream& Foam::ensightFile::write ( const char* buf, @@ -223,82 +353,56 @@ Foam::Ostream& Foam::ensightFile::write void Foam::ensightFile::writeInt(const int32_t val, const int fieldWidth) { - if (format() == IOstreamOption::BINARY) - { - write - ( - reinterpret_cast<const char *>(&val), - sizeof(int32_t) - ); - } - else - { - stdStream().width(fieldWidth); - stdStream() << val; - syncState(); - } + putPrimitive<int32_t>(val, *this, fieldWidth); } void Foam::ensightFile::writeInt(const int64_t val, const int fieldWidth) { - int32_t work(narrowInt32(val)); - - writeInt(work, fieldWidth); + putPrimitive<int32_t>(narrowInt32(val), *this, fieldWidth); } void Foam::ensightFile::writeFloat(const float val, const int fieldWidth) { - if (format() == IOstreamOption::BINARY) - { - write - ( - reinterpret_cast<const char *>(&val), - sizeof(float) - ); - } - else - { - stdStream().width(fieldWidth); - stdStream() << val; - syncState(); - } + putPrimitive<float>(val, *this, fieldWidth); } void Foam::ensightFile::writeFloat(const double val, const int fieldWidth) { - float work(narrowFloat(val)); - - writeFloat(work, fieldWidth); + putPrimitive<float>(narrowFloat(val), *this, fieldWidth); } Foam::Ostream& Foam::ensightFile::write(const int32_t val) { - writeInt(val, 10); + putPrimitive<int32_t>(val, *this, 10); + return *this; } Foam::Ostream& Foam::ensightFile::write(const int64_t val) { - writeInt(val, 10); + putPrimitive<int32_t>(narrowInt32(val), *this, 10); + return *this; } Foam::Ostream& Foam::ensightFile::write(const float val) { - writeFloat(val, 12); + putPrimitive<float>(val, *this, 12); + return *this; } Foam::Ostream& Foam::ensightFile::write(const double val) { - writeFloat(val, 12); + putPrimitive<float>(narrowFloat(val), *this, 12); + return *this; } @@ -307,8 +411,7 @@ void Foam::ensightFile::newline() { if (format() == IOstreamOption::ASCII) { - stdStream() << nl; - syncState(); + OFstream::write('\n'); } } @@ -343,28 +446,124 @@ void Foam::ensightFile::writeBinaryHeader() if (format() == IOstreamOption::BINARY) { writeString("C Binary"); - // Is binary: newline() is a no-op + // newline(); // A no-op in binary } } -void Foam::ensightFile::beginTimeStep() +// Footer information looks like this +// +/* |---------------|---------------|-----------------------| + * | ASCII | BINARY | element | + * |---------------|---------------|-----------------------| + * | "%20lld\n" | int32 | nSteps | + * | "%20lld\n" | int64 | offset step 1 | + * | "%20lld\n" | int64 | offset step 2 | + * | "%20lld\n" | .. | | + * | "%20lld\n" | int64 | offset step n | + * | "%20lld\n" | int32 | flag (unused) | + * | "%20lld\n" | int64 | offset to nSteps | + * | "%s\n" | char[80] | 'FILE_INDEX' | + * |---------------|---------------|-----------------------| + */ + +int64_t Foam::ensightFile::writeTimeStepFooter() +{ + if (timeStepOffsets_.empty()) + { + return -1; + } + + auto& oss = OFstream::stdStream(); + + // The footer begin, which is also the current position + const int64_t footer_begin(oss.tellp()); + + // nSteps + putPrimitive<int32_t>(int32_t(timeStepOffsets_.size()), *this, 20); + newline(); + + // offset step 1, 2, ... N + for (int64_t off : timeStepOffsets_) + { + putPrimitive<int64_t>(off, *this, 20); + newline(); + } + + // flag (unused) + putPrimitive<int32_t>(0, *this, 20); + newline(); + + // The footer begin == position of nSteps + putPrimitive<int64_t>(footer_begin, *this, 20); + newline(); + + // FILE_INDEX is "%s\n", not "%79s\n" + // but our ASCII strings are truncated (nul-padded) anyhow + + writeString("FILE_INDEX"); + newline(); + + // Reposition to begin of footer so that any subsequent output + // will overwrite the footer too + oss.seekp(footer_begin); + + return footer_begin; +} + + +// +// Convenience Output Methods +// + +int64_t Foam::ensightFile::beginTimeStep() { writeString("BEGIN TIME STEP"); newline(); + + auto& oss = OFstream::stdStream(); + + const int64_t curr_pos(oss.tellp()); + timeStepOffsets_.push_back(curr_pos); + + // To avoid partly incomplete/incorrect footer information, + // overwrite original footer if needed. + + if (curr_pos >= 0 && curr_pos < origFileSize_) + { + const char fill[] = "deadbeef"; + + for + ( + int64_t pos = curr_pos; + pos < origFileSize_ && bool(oss); + pos += 8 + ) + { + // Overwrite with specified "junk" to avoid/detect corrupt + // files etc. Don't worry about slightly increasing the + // file size (ie, max 7 bytes) - it's unimportant + oss.write(fill, 8); + } + + // Maintain the original output position + oss.seekp(curr_pos); + + OFstream::syncState(); + } + + return curr_pos; } -void Foam::ensightFile::endTimeStep() +int64_t Foam::ensightFile::endTimeStep() { writeString("END TIME STEP"); newline(); -} + return int64_t(stdStream().tellp()); +} -// -// Convenience Output Methods -// void Foam::ensightFile::beginPart(const label index) { @@ -375,6 +574,28 @@ void Foam::ensightFile::beginPart(const label index) } +void Foam::ensightFile::beginPart +( + const label index, + const std::string& description +) +{ + beginPart(index); + writeString(description); + newline(); +} + + +void Foam::ensightFile::beginCoordinates(const label npoints) +{ + writeString("coordinates"); + newline(); + + write(npoints); + newline(); +} + + void Foam::ensightFile::beginParticleCoordinates(const label nparticles) { writeString("particle coordinates"); diff --git a/src/fileFormats/ensight/file/ensightFile.H b/src/fileFormats/ensight/file/ensightFile.H index 79ed2f0a7b5..a0231593c1f 100644 --- a/src/fileFormats/ensight/file/ensightFile.H +++ b/src/fileFormats/ensight/file/ensightFile.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,8 +28,8 @@ Class Foam::ensightFile Description - Ensight output with specialized write() for strings, integers and floats. - Correctly handles binary write as well. + A variant of OFstream with specialised handling for Ensight writing + of strings, integers and floats (ASCII and BINARY). \*---------------------------------------------------------------------------*/ @@ -39,6 +39,7 @@ Description #include "OFstream.H" #include "ensightFileName.H" #include "ensightVarName.H" +#include "DynamicList.H" #include "IndirectListBase.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -62,17 +63,36 @@ class ensightFile //- Value to represent undef in results (default: 1e+37, floatVGREAT) static float undefValue_; + //- Transient single-file: + //- the original file size when opened in append mode, zero otherwise + int64_t origFileSize_; + + //- Transient single-file: + //- the time-step file-offsets (position after "BEGIN TIME STEP"). + // Set on initial reading and added to by beginTimeStep(). + DynamicList<int64_t> timeStepOffsets_; + // Private Member Functions - //- Initialize sets the ASCII output formatting + //- Set the ASCII output formatting etc, + //- and handle transient single-file timestep information void init(); - //- No copy construct - ensightFile(const ensightFile&) = delete; - //- No copy assignment - void operator=(const ensightFile&) = delete; + // Constructors + + //- Construct with file name, no ensight file naming adjustment. + // Created as an atomic or in append-mode (single-file format). + // In append-mode, attempts to parse existing time-step information. + // Changes APPEND_APP to APPEND_ATE (file rewriting). + ensightFile + ( + std::nullptr_t, // dispatch tag + IOstreamOption::appendType append, // (NO_APPEND or APPEND_ATE) + const fileName& pathname, + IOstreamOption::streamFormat fmt + ); public: @@ -98,30 +118,70 @@ public: } + // Generated Methods + + //- No copy construct + ensightFile(const ensightFile&) = delete; + + //- No copy assignment + void operator=(const ensightFile&) = delete; + + // Constructors //- Construct from path-name. // The path-name is adjusted for valid ensight file naming. - // Always created as an atomic - explicit ensightFile + // Created as an atomic or in append mode (single-file format). + // In append mode, attempts to parse existing time-step information. + ensightFile ( + //! Append mode: NO_APPEND or APPEND_ATE + IOstreamOption::appendType append, const fileName& pathname, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); //- Construct from path and name. // Only the name portion is adjusted for valid ensight file naming. - // Always created as an atomic + // Created as an atomic or in append mode (single-file format). + // In append mode, attempts to parse existing time-step information. ensightFile ( + //! Append mode: NO_APPEND or APPEND_ATE + IOstreamOption::appendType append, const fileName& path, const fileName& name, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); + //- Construct from path-name. + // The path-name is adjusted for valid ensight file naming. + // Created as an atomic, non-append mode. + explicit ensightFile + ( + const fileName& pathname, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + : + ensightFile(IOstreamOption::NO_APPEND, pathname, fmt) + {} + + //- Construct from path and name. + // Only the name portion is adjusted for valid ensight file naming. + // Created as an atomic, non-append mode. + ensightFile + ( + const fileName& path, + const fileName& name, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + : + ensightFile(IOstreamOption::NO_APPEND, path, name, fmt) + {} - //- Destructor - ~ensightFile() = default; + + //- Destructor. Commits the time-step footer information (if any) + ~ensightFile(); // Member Functions @@ -148,12 +208,6 @@ public: //- Write "C Binary" string for binary files (eg, geometry/measured) void writeBinaryHeader(); - //- Write "BEGIN TIME STEP" string and newline - void beginTimeStep(); - - //- Write "END TIME STEP" string and newline - void endTimeStep(); - //- Write character/string content as "%79s" or as binary (max 80 chars) void writeString(const char* str, size_t len); @@ -225,11 +279,59 @@ public: void newline(); + // Transient single-file format + + //- Write "BEGIN TIME STEP" string and newline + //- (for transient single-file format). + // \returns file position after the write + int64_t beginTimeStep(); + + //- Write "END TIME STEP" string and newline + //- (for transient single-file format) + // \returns file position after the write + int64_t endTimeStep(); + + //- Transient single-file: + //- write the time-step file-offsets as footer information. + // Maintains the current file position to allow manual use + // and seamless overwriting. + // \return the output file position at the start of the footer + int64_t writeTimeStepFooter(); + + //- Transient single-file: + //- forget time-step file positions (advanced use) + void clearTimeSteps() noexcept + { + timeStepOffsets_.clear(); + } + + //- Transient single-file: + //- the current number of time steps + label nTimes() const noexcept + { + return timeStepOffsets_.size(); + } + + //- Transient single-file: + //- the current file-offsets for time steps within the file + const UList<int64_t>& timeStepOffets() const noexcept + { + return timeStepOffsets_; + } + + // Convenience Output Methods //- Begin a part (0-based index internally). void beginPart(const label index); + //- Begin a part (0-based index internally), with a description. + //- Only used for geometry files + void beginPart(const label index, const std::string& description); + + //- Begin a "coordinates" block. Only used for geometry files. + void beginCoordinates(const label nparticles); + //- Begin a "particle coordinates" block (measured data) void beginParticleCoordinates(const label nparticles); diff --git a/src/fileFormats/ensight/file/ensightGeoFile.C b/src/fileFormats/ensight/file/ensightGeoFile.C index f5da0c33ca1..ef28bcef3c1 100644 --- a/src/fileFormats/ensight/file/ensightGeoFile.C +++ b/src/fileFormats/ensight/file/ensightGeoFile.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,61 +29,38 @@ License #include "ensightGeoFile.H" #include "foamVersion.H" -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // - -void Foam::ensightGeoFile::init() -{ - writeBinaryHeader(); - beginGeometry(); -} - - -void Foam::ensightGeoFile::beginGeometry() -{ - // Description line 1 - writeString("Ensight Geometry File"); - newline(); - - // Description line 2 - writeString("Written by OpenFOAM " + std::to_string(foamVersion::api)); - newline(); - - writeString("node id assign"); - newline(); - - writeString("element id assign"); - newline(); -} - - -void Foam::ensightGeoFile::endGeometry() -{} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::ensightGeoFile::ensightGeoFile ( + IOstreamOption::appendType append, const fileName& pathname, IOstreamOption::streamFormat fmt ) : - ensightFile(pathname, fmt) + ensightFile(append, pathname, fmt) { - init(); + if (!OFstream::is_appending()) + { + writeBinaryHeader(); // Mandatory for geometry files + } } Foam::ensightGeoFile::ensightGeoFile ( + IOstreamOption::appendType append, const fileName& path, const fileName& name, IOstreamOption::streamFormat fmt ) : - ensightFile(path, name, fmt) + ensightFile(append, path, name, fmt) { - init(); + if (!OFstream::is_appending()) + { + writeBinaryHeader(); // Mandatory for geometry files + } } @@ -102,24 +79,20 @@ Foam::Ostream& Foam::ensightGeoFile::writeKeyword(const keyType& key) // Convenience Output Methods // -void Foam::ensightGeoFile::beginPart -( - const label index, - const std::string& description -) +void Foam::ensightGeoFile::beginGeometry() { - beginPart(index); - writeString(description); + // Description line 1 + writeString("Ensight Geometry File"); newline(); -} + // Description line 2 + writeString("Written by OpenFOAM " + std::to_string(foamVersion::api)); + newline(); -void Foam::ensightGeoFile::beginCoordinates(const label npoints) -{ - writeString(ensightFile::coordinates); + writeString("node id assign"); newline(); - write(npoints); + writeString("element id assign"); newline(); } diff --git a/src/fileFormats/ensight/file/ensightGeoFile.H b/src/fileFormats/ensight/file/ensightGeoFile.H index 54c8078a6a7..6eed4f02707 100644 --- a/src/fileFormats/ensight/file/ensightGeoFile.H +++ b/src/fileFormats/ensight/file/ensightGeoFile.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,8 @@ Class Foam::ensightGeoFile Description - Specialized Ensight output with extra geometry file header + A variant of ensightFile (Ensight writing) that includes + the extra geometry file header information. \*---------------------------------------------------------------------------*/ @@ -50,23 +51,6 @@ class ensightGeoFile : public ensightFile { - // Private Member Functions - - //- Initialize outputs the header information and beginGeometry - void init(); - - //- Start of geometry information - void beginGeometry(); - - //- End of geometry information - void endGeometry(); - - //- No copy construct - ensightGeoFile(const ensightGeoFile&) = delete; - - //- No copy assignment - void operator=(const ensightGeoFile&) = delete; - public: // Static Functions @@ -78,25 +62,67 @@ public: } + // Generated Methods + + //- No copy construct + ensightGeoFile(const ensightGeoFile&) = delete; + + //- No copy assignment + void operator=(const ensightGeoFile&) = delete; + + // Constructors - //- Construct from path-name. + //- Construct from path-name and initialise the binary header. // The path-name is adjusted for valid ensight file naming. - explicit ensightGeoFile + // Created as an atomic or in append mode (single-file format). + ensightGeoFile ( + //! Append mode: NO_APPEND or APPEND_ATE + IOstreamOption::appendType append, const fileName& pathname, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); - //- Construct from path and name. + //- Construct from path / name and initialise the binary header. // Only the name portion is adjusted for valid ensight file naming. + // Created as an atomic or in append mode (single-file format). ensightGeoFile ( + //! Append mode: NO_APPEND or APPEND_ATE + IOstreamOption::appendType append, const fileName& path, const fileName& name, IOstreamOption::streamFormat fmt = IOstreamOption::BINARY ); + //- Construct from path-name and initialise the binary header. + // The path-name is adjusted for valid ensight file naming. + // Created as an atomic, non-append mode. + // \note Since 2024-05 does \em not call beginGeometry() !! + explicit ensightGeoFile + ( + const fileName& pathname, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + : + ensightGeoFile(IOstreamOption::NO_APPEND, pathname, fmt) + {} + + //- Construct from path / name and initialise the binary header. + // Only the name portion is adjusted for valid ensight file naming. + // Created as an atomic, non-append mode. + // \note Since 2024-05 does \em not call beginGeometry() !! + ensightGeoFile + ( + const fileName& path, + const fileName& name, + IOstreamOption::streamFormat fmt = IOstreamOption::BINARY + ) + : + ensightGeoFile(IOstreamOption::NO_APPEND, path, name, fmt) + {} + //- Destructor ~ensightGeoFile() = default; @@ -107,19 +133,13 @@ public: // Output //- Write keyword with trailing newline - virtual Ostream& writeKeyword(const keyType& key); + virtual Ostream& writeKeyword(const keyType& key) override; // Convenience Output Methods - //- Begin a part (0-based index). - using ensightFile::beginPart; - - //- Begin a "part" (0-based index), with a description. - void beginPart(const label index, const std::string& description); - - //- Begin a "coordinates" block - void beginCoordinates(const label npoints); + //- Start of geometry information + void beginGeometry(); }; diff --git a/src/fileFormats/ensight/mesh/ensightMesh.C b/src/fileFormats/ensight/mesh/ensightMesh.C index 233bb449d64..dd5652b3d69 100644 --- a/src/fileFormats/ensight/mesh/ensightMesh.C +++ b/src/fileFormats/ensight/mesh/ensightMesh.C @@ -433,6 +433,11 @@ void Foam::ensightMesh::write bool parallel ) const { + if (UPstream::master()) + { + os.beginGeometry(); + } + // The internalMesh, cellZones for (const label id : cellZoneParts_.sortedToc()) { diff --git a/src/fileFormats/ensight/mesh/ensightMesh.H b/src/fileFormats/ensight/mesh/ensightMesh.H index a0cc1cbf54d..55101f15d41 100644 --- a/src/fileFormats/ensight/mesh/ensightMesh.H +++ b/src/fileFormats/ensight/mesh/ensightMesh.H @@ -217,6 +217,7 @@ public: // Output //- Write geometry to file (normally in parallel). + //- Adds beginGeometry() marker. // If all geometry is disabled, it will simply writes the mesh // bounding box (to ensure that the geometry file is non-empty) void write @@ -226,8 +227,8 @@ public: ) const; //- Write geometry to file (normally in parallel). - // If all geometry is disabled, it will simply writes the mesh - // bounding box (to ensure that the geometry file is non-empty) + //- Adds beginGeometry() marker. + FOAM_DEPRECATED_FOR(2024-05, "write(ensightGeoFile&, ...") inline void write ( autoPtr<ensightGeoFile>& os, diff --git a/src/fileFormats/ensight/name/ensightFileName.H b/src/fileFormats/ensight/name/ensightFileName.H index 0e15cb19192..d4240a8bd71 100644 --- a/src/fileFormats/ensight/name/ensightFileName.H +++ b/src/fileFormats/ensight/name/ensightFileName.H @@ -41,8 +41,8 @@ Note \*---------------------------------------------------------------------------*/ -#ifndef ensightFileName_H -#define ensightFileName_H +#ifndef Foam_ensightFileName_H +#define Foam_ensightFileName_H #include "fileName.H" #include "word.H" @@ -81,6 +81,9 @@ public: //- Copy construct from std::string inline explicit FileName(const std::string& s); + //- Move construct from std::string + inline explicit FileName(std::string&& s); + // Member Functions diff --git a/src/fileFormats/ensight/name/ensightFileNameI.H b/src/fileFormats/ensight/name/ensightFileNameI.H index 193c546eb09..7d76cf5aa20 100644 --- a/src/fileFormats/ensight/name/ensightFileNameI.H +++ b/src/fileFormats/ensight/name/ensightFileNameI.H @@ -46,6 +46,14 @@ inline Foam::ensight::FileName::FileName(const std::string& s) } +inline Foam::ensight::FileName::FileName(std::string&& s) +: + fileName(std::move(s), false) +{ + stripInvalid(); +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // inline bool Foam::ensight::FileName::valid(char c) @@ -65,11 +73,11 @@ inline void Foam::ensight::FileName::stripInvalid() // Avoid characters that upset Windows or others string::replaceAny(":<>[]", '_'); - removeRepeated('_'); + string::removeRepeated('_'); // Minor cleanup of fileName - removeRepeated('/'); - removeEnd('/'); + string::removeRepeated('/'); + string::removeEnd('/'); if (empty()) { diff --git a/src/fileFormats/ensight/name/ensightVarName.H b/src/fileFormats/ensight/name/ensightVarName.H index dab88dd446c..f818e554e3d 100644 --- a/src/fileFormats/ensight/name/ensightVarName.H +++ b/src/fileFormats/ensight/name/ensightVarName.H @@ -41,8 +41,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef ensightVarName_H -#define ensightVarName_H +#ifndef Foam_ensightVarName_H +#define Foam_ensightVarName_H #include "word.H" @@ -80,6 +80,9 @@ public: //- Copy construct from std::string inline explicit VarName(const std::string& s); + //- Move construct from std::string + inline explicit VarName(std::string&& s); + // Member Functions diff --git a/src/fileFormats/ensight/name/ensightVarNameI.H b/src/fileFormats/ensight/name/ensightVarNameI.H index 49ffb145a24..45ce8d3ed31 100644 --- a/src/fileFormats/ensight/name/ensightVarNameI.H +++ b/src/fileFormats/ensight/name/ensightVarNameI.H @@ -46,6 +46,14 @@ inline Foam::ensight::VarName::VarName(const std::string& s) } +inline Foam::ensight::VarName::VarName(std::string&& s) +: + word(std::move(s), false) +{ + stripInvalid(); +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // inline bool Foam::ensight::VarName::valid(char c) @@ -73,7 +81,7 @@ inline bool Foam::ensight::VarName::valid(char c) inline void Foam::ensight::VarName::stripInvalid() { - string::stripInvalid<VarName>(*this); + string::stripInvalid<ensight::VarName>(*this); if (empty()) { @@ -83,10 +91,9 @@ inline void Foam::ensight::VarName::stripInvalid() } // Prefix with '_' to avoid starting with leading digits - std::string::iterator iter = begin(); - if (isdigit(*iter)) + if (std::isdigit(front())) { - insert(iter, '_'); + insert(0, 1, '_'); } } diff --git a/src/fileFormats/ensight/part/cells/ensightCells.H b/src/fileFormats/ensight/part/cells/ensightCells.H index 5b2197a2069..6ad3b1b426d 100644 --- a/src/fileFormats/ensight/part/cells/ensightCells.H +++ b/src/fileFormats/ensight/part/cells/ensightCells.H @@ -274,6 +274,7 @@ public: virtual void writeDict(Ostream& os, const bool full=false) const; //- Write geometry, using a mesh reference (serial only) + //- No beginGeometry() marker. virtual void write ( ensightGeoFile& os, @@ -283,6 +284,7 @@ public: //- Write bounding box geometry. //- All parameters are only relevant on master + //- No beginGeometry() marker. static void writeBox ( ensightGeoFile& os, diff --git a/src/fileFormats/ensight/part/faces/ensightFaces.C b/src/fileFormats/ensight/part/faces/ensightFaces.C index 404a4e3f343..4b41a67fd20 100644 --- a/src/fileFormats/ensight/part/faces/ensightFaces.C +++ b/src/fileFormats/ensight/part/faces/ensightFaces.C @@ -54,7 +54,7 @@ namespace { // Trivial shape classifier -inline Foam::ensightFaces::elemType whatType(const Foam::face& f) +inline Foam::ensightFaces::elemType whatType(const Foam::face& f) noexcept { return ( diff --git a/src/fileFormats/ensight/part/faces/ensightFaces.H b/src/fileFormats/ensight/part/faces/ensightFaces.H index 0243ba510ec..7109ce0588f 100644 --- a/src/fileFormats/ensight/part/faces/ensightFaces.H +++ b/src/fileFormats/ensight/part/faces/ensightFaces.H @@ -266,6 +266,7 @@ public: virtual void writeDict(Ostream& os, const bool full=false) const; //- Write geometry, using a mesh reference + //- No beginGeometry() marker. virtual void write ( ensightGeoFile& os, diff --git a/src/fileFormats/ensight/part/part/ensightPart.C b/src/fileFormats/ensight/part/part/ensightPart.C index 4f218b78645..d40b45e6e2a 100644 --- a/src/fileFormats/ensight/part/part/ensightPart.C +++ b/src/fileFormats/ensight/part/part/ensightPart.C @@ -61,9 +61,7 @@ void Foam::ensightPart::decrAddressing(const label off) Foam::ensightPart::ensightPart() : index_(0), - identifier_(-1), - name_(), - address_() + identifier_(-1) {} diff --git a/src/fileFormats/ensight/part/part/ensightPart.H b/src/fileFormats/ensight/part/part/ensightPart.H index a420b6bb1e3..e6244e9df58 100644 --- a/src/fileFormats/ensight/part/part/ensightPart.H +++ b/src/fileFormats/ensight/part/part/ensightPart.H @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef ensightPart_H -#define ensightPart_H +#ifndef Foam_ensightPart_H +#define Foam_ensightPart_H #include "ensightGeoFile.H" #include "labelList.H" diff --git a/src/fileFormats/ensight/part/surface/ensightOutputSurface.H b/src/fileFormats/ensight/part/surface/ensightOutputSurface.H index fd3fd37d73d..90b9ed1808d 100644 --- a/src/fileFormats/ensight/part/surface/ensightOutputSurface.H +++ b/src/fileFormats/ensight/part/surface/ensightOutputSurface.H @@ -42,8 +42,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef ensightOutputSurface_H -#define ensightOutputSurface_H +#ifndef Foam_ensightOutputSurface_H +#define Foam_ensightOutputSurface_H #include "ensightFaces.H" @@ -69,7 +69,9 @@ class ensightOutputSurface const faceList& faces_; - // Private Member Functions +public: + + // Generated Methods //- No copy construct ensightOutputSurface(const ensightOutputSurface&) = delete; @@ -78,8 +80,6 @@ class ensightOutputSurface void operator=(const ensightOutputSurface&) = delete; -public: - // Constructors //- Construct from points and faces. @@ -98,7 +98,8 @@ public: // Member Functions - //- Write processor-local geometry (serial-only) + //- Write processor-local geometry (serial-only). + //- No beginGeometry() marker. void write(ensightGeoFile& os) const; //- Write a field of face or point values (serial-only) @@ -121,7 +122,8 @@ public: // Housekeeping - //- Cannot write geometry with a mesh reference + //- Cannot write geometry with a mesh reference. + //- No beginGeometry() marker. virtual void write(ensightGeoFile&, const polyMesh&, bool) const {} }; diff --git a/src/fileFormats/ensight/read/ensightReadFile.C b/src/fileFormats/ensight/read/ensightReadFile.C index 1ceb274c32e..bdb2642c5ad 100644 --- a/src/fileFormats/ensight/read/ensightReadFile.C +++ b/src/fileFormats/ensight/read/ensightReadFile.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2022 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,50 +26,300 @@ License \*---------------------------------------------------------------------------*/ #include "ensightReadFile.H" +#include "stringOps.H" +#include "defineDebugSwitch.H" +#include "registerSwitch.H" -// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +defineDebugSwitchWithName(Foam::ensightReadFile, "ensightReadFile", 0); + +registerDebugSwitchWithName(Foam::ensightReadFile, ensight, "ensightReadFile"); + + +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // + +namespace Foam +{ -Foam::IOstreamOption::streamFormat -Foam::ensightReadFile::detectBinaryHeader(const fileName& pathname) +// Get integers, floats etc in binary or ascii. +template<class Type> +static inline Type getPrimitive(IFstream& is) { - IOstreamOption::streamFormat fmt(IOstreamOption::BINARY); + Type value(0); - // Detect BINARY vs ASCII by testing for initial "(C|Fortran) Binary" + auto& iss = is.stdStream(); + + if (is.format() == IOstreamOption::BINARY) + { + iss.read(reinterpret_cast<char*>(&value), sizeof(Type)); + } + else { - IFstream ifs(pathname, IOstreamOption::BINARY); + iss >> value; + } + is.syncState(); + + return value; +} - if (!ifs.good()) - { - FatalErrorInFunction - << "Cannot read file " << ifs.name() << nl - << exit(FatalError); - } - istream& iss = ifs.stdStream(); +// Get an Ensight string value (binary or ascii). +static inline void readEnsightString(IFstream& is, std::string& value) +{ + if (is.format() == IOstreamOption::BINARY) + { + auto& iss = is.stdStream(); // Binary string is *exactly* 80 characters - string buf(size_t(80), '\0'); - iss.read(&buf[0], 80); + value.resize(80, '\0'); + iss.read(&value[0], 80); const std::streamsize gcount = iss.gcount(); - buf.erase(gcount <= 0 ? 0 : gcount); // Truncated? + value.erase(gcount <= 0 ? 0 : gcount); // Truncated? // Could exit on truncated input, but no real advantage // Truncate at the first embedded '\0' - const auto endp = buf.find('\0'); + const auto endp = value.find('\0'); + if (endp != std::string::npos) { - buf.erase(endp); + value.erase(endp); + } + + // May have been padded with trailing spaces - remove those + stringOps::inplaceTrimRight(value); + + is.syncState(); + } + else + { + value.clear(); + while (value.empty() && !is.eof()) + { + is.getLine(value); + } + } +} + + +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +// Footer information looks like this +// +/* |---------------|---------------|-----------------------| + * | ASCII | BINARY | element | + * |---------------|---------------|-----------------------| + * | "%20lld\n" | int32 | nSteps | + * | "%20lld\n" | int64 | offset step 1 | + * | "%20lld\n" | int64 | offset step 2 | + * | "%20lld\n" | .. | | + * | "%20lld\n" | int64 | offset step n | + * | "%20lld\n" | int32 | flag (unused) | + * | "%20lld\n" | int64 | offset to nSteps | + * | "%s\n" | char[80] | 'FILE_INDEX' | + * |---------------|---------------|-----------------------| + */ + +int64_t Foam::ensightReadFile::getTimeStepFooter +( + IFstream& is, + // File offsets for each time step (if any) + List<int64_t>& offsets +) +{ + std::string buffer; + + auto& iss = is.stdStream(); + const auto lineNum = is.lineNumber(); + const auto curr_pos = iss.tellg(); + + if (curr_pos < 0) + { + // Impossible positioning - exit + is.lineNumber(lineNum); // Restore line number + offsets.clear(); + return -1; + } + + iss.seekg(0, std::ios_base::end); + const auto end_pos = iss.tellg(); + + // As a minimum, expect at least 1 time step, so have four integers + // (nSteps, offset step 1, flag, file offset) and the string (10 chars). + // Thus always at least 80+ chars. + + if (end_pos <= 80) + { + // Looks quite impossible - exit + + is.lineNumber(lineNum); // Restore line number + iss.seekg(curr_pos); // Restore file position + + offsets.clear(); + return -1; + } + + // Get the last 80 chars as a character string + iss.seekg(-80, std::ios_base::end); + + const auto fmt = is.format(IOstreamOption::BINARY); + readEnsightString(is, buffer); + is.format(fmt); + + int64_t footer_begin(0); + + const auto endp = buffer.find("FILE_INDEX"); + + if (endp == std::string::npos) + { + // Not found + + is.lineNumber(lineNum); // Restore line number + iss.seekg(curr_pos); // Restore file position + + offsets.clear(); + return -1; + } + else if (fmt == IOstreamOption::ASCII) + { + // In ASCII, the last 80 chars will also include a few integers + buffer.erase(endp); // Remove FILE_INDEX ... + auto split = stringOps::splitSpace(buffer); + + if (!split.empty()) + { + footer_begin = Foam::readInt64(split.back().str()); + } + } + else + { + // Position before string (80 bytes) and int64 value (8 bytes) + iss.seekg(-88, std::ios_base::end); + footer_begin = getPrimitive<int64_t>(is); + } + + + // The number of steps is stored as int32 at the beginning of the footer + int32_t nSteps(0); + + if (footer_begin) + { + iss.seekg(footer_begin); + nSteps = getPrimitive<int32_t>(is); + } + + offsets.resize_nocopy(nSteps); + + // Next footer entries are the offsets per time-step + for (int32_t step = 0; step < nSteps; ++step) + { + offsets[step] = getPrimitive<int64_t>(is); + } + + is.lineNumber(lineNum); // Restore line number + iss.seekg(curr_pos); // Restore file position + + return footer_begin; +} + +} // End namespace Foam + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +void Foam::ensightReadFile::readString(std::string& value) +{ + readEnsightString(*this, value); +} + + +void Foam::ensightReadFile::init(bool detectFormat) +{ + if (!IFstream::good()) + { + FatalErrorInFunction + << "Cannot read file " << IFstream::name() << nl + << exit(FatalError); + } + + auto& iss = stdStream(); + + auto lineNum = lineNumber(); + auto curr_pos = iss.tellg(); // The starting position (should be 0) + + string buffer; + + if (detectFormat) + { + // Read initial string as BINARY + IFstream::format(IOstreamOption::BINARY); + + readEnsightString(*this, buffer); + + // Detect BINARY vs ASCII by testing for initial "(C|Fortran) Binary" + if (buffer.contains("Binary") || buffer.contains("binary")) + { + // Format is BINARY + IFstream::format(IOstreamOption::BINARY); + + // New backtracking point is after the initial "C Binary" string + curr_pos = iss.tellg(); + + // Get the next (optional) line after the "C Binary" (if any) + // and before the description. + readEnsightString(*this, buffer); + } + else + { + // Not binary => ASCII + IFstream::format(IOstreamOption::ASCII); + + // Rewind to the beginning again + iss.seekg(curr_pos); } + } + else + { + // Get the next line. + // It is either the description line or "BEGIN TIME STEP". + readEnsightString(*this, buffer); + } + + + // The buffer string now either contains the description line + // or "BEGIN TIME STEP" + + if (buffer.starts_with("BEGIN TIME STEP")) + { + // Transient single file. + // File position is now after the "BEGIN TIME STEP" string + + curr_pos = iss.tellg(); // Fallback value - // ASCII if it does not contain "C Binary" - if (!buf.contains("Binary") && !buf.contains("binary")) + timeStepFooterBegin_ = getTimeStepFooter(*this, timeStepOffsets_); + + if (timeStepOffsets_.empty()) { - fmt = IOstreamOption::ASCII; + // Treat like a single time step + timeStepOffsets_.resize(1, int64_t(curr_pos)); } } + else + { + // A description line and not "BEGIN TIME STEP" + // so backtrack to before it was read + + lineNumber(lineNum); // Restore line number + iss.seekg(curr_pos); // Restore file position - return fmt; + timeStepFooterBegin_ = -1; // safety + timeStepOffsets_.clear(); // safety + } + + DebugInfo<< "Time-steps: " << timeStepOffsets_.size() << endl; + + syncState(); } @@ -80,8 +330,11 @@ Foam::ensightReadFile::ensightReadFile const fileName& pathname ) : - IFstream(pathname, ensightReadFile::detectBinaryHeader(pathname)) -{} + IFstream(pathname, IOstreamOption::BINARY), // Start as BINARY + timeStepFooterBegin_(-1) +{ + init(true); // detectFormat = true +} Foam::ensightReadFile::ensightReadFile @@ -90,12 +343,16 @@ Foam::ensightReadFile::ensightReadFile IOstreamOption::streamFormat fmt ) : - IFstream(pathname, fmt) -{} + IFstream(pathname, fmt), + timeStepFooterBegin_(-1) +{ + init(false); // detectFormat = false +} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +// Same as IFstream::readRaw(buf, count) Foam::Istream& Foam::ensightReadFile::read ( char* buf, @@ -108,133 +365,123 @@ Foam::Istream& Foam::ensightReadFile::read } -Foam::Istream& Foam::ensightReadFile::read(string& value) -{ - if (format() == IOstreamOption::BINARY) - { - auto& iss = stdStream(); +// TBD +// Foam::Istream& Foam::ensightReadFile::read(word& value) +// { +// readString(value); +// string::stripInvalid<word>(value); +// return *this; +// } - // Binary string is *exactly* 80 characters - value.resize(80, '\0'); - iss.read(&value[0], 80); - const std::streamsize gcount = iss.gcount(); - value.erase(gcount <= 0 ? 0 : gcount); // Truncated? - - // Could exit on truncated input, but no real advantage - - syncState(); - // Truncate at the first embedded '\0' - auto endp = value.find('\0'); +Foam::Istream& Foam::ensightReadFile::read(string& value) +{ + readString(value); + return *this; +} - if (endp != std::string::npos) - { - value.erase(endp); - } - // May have been padded with trailing spaces - remove those - endp = value.find_last_not_of(" \t\f\v\n\r"); +Foam::Istream& Foam::ensightReadFile::read(label& value) +{ + value = getPrimitive<int>(*this); + return *this; +} - if (endp != std::string::npos) - { - value.erase(endp + 1); - } - } - else - { - value.clear(); - while (value.empty() && !eof()) - { - getLine(value); - } - } +Foam::Istream& Foam::ensightReadFile::read(float& value) +{ + value = getPrimitive<float>(*this); return *this; } -Foam::Istream& Foam::ensightReadFile::read(label& value) +Foam::Istream& Foam::ensightReadFile::read(double& value) { - int ivalue; + value = getPrimitive<float>(*this); + return *this; +} - if (format() == IOstreamOption::BINARY) - { - read - ( - reinterpret_cast<char*>(&ivalue), - sizeof(ivalue) - ); - } - else - { - stdStream() >> ivalue; - syncState(); - } - value = ivalue; +Foam::Istream& Foam::ensightReadFile::readKeyword(string& key) +{ + read(key); return *this; } -Foam::Istream& Foam::ensightReadFile::read(float& value) +void Foam::ensightReadFile::readPoints +( + const label nPoints, + List<floatVector>& points +) { - if (format() == IOstreamOption::BINARY) + points.resize_nocopy(nPoints); + + for (auto& p : points) { - read - ( - reinterpret_cast<char*>(&value), - sizeof(value) - ); + read(p.x()); } - else + for (auto& p : points) { - stdStream() >> value; - syncState(); + read(p.y()); + } + for (auto& p : points) + { + read(p.z()); } - - return *this; } -Foam::Istream& Foam::ensightReadFile::read(double& value) +void Foam::ensightReadFile::readPoints +( + const label nPoints, + List<doubleVector>& points +) { - float fvalue; + points.resize_nocopy(nPoints); - if (format() == IOstreamOption::BINARY) + for (auto& p : points) { - read - ( - reinterpret_cast<char*>(&fvalue), - sizeof(fvalue) - ); + read(p.x()); } - else + for (auto& p : points) { - stdStream() >> fvalue; - syncState(); + read(p.y()); + } + for (auto& p : points) + { + read(p.z()); } - - value = fvalue; - return *this; } -Foam::Istream& Foam::ensightReadFile::readKeyword(string& key) +bool Foam::ensightReadFile::seekTime(const label timeIndex) { - read(key); - return *this; -} + if (timeIndex >= 0 && timeIndex < timeStepOffsets_.size()) + { + auto& iss = stdStream(); + iss.seekg(timeStepOffsets_[timeIndex]); + syncState(); -Foam::Istream& Foam::ensightReadFile::readBinaryHeader() -{ - if (format() == IOstreamOption::BINARY) + if (debug) + { + Info<< "seek time " + << timeIndex << '/' << nTimes() + << " offset:" << label(timeStepOffsets_[timeIndex]) << nl; + } + + return true; + } + + if (debug) { - string buffer; - read(buffer); + Info<< "seek time " + << timeIndex << '/' << nTimes() + << " ignored" << nl; } - return *this; + return false; } diff --git a/src/fileFormats/ensight/read/ensightReadFile.H b/src/fileFormats/ensight/read/ensightReadFile.H index f11cead56ef..f0f47170b57 100644 --- a/src/fileFormats/ensight/read/ensightReadFile.H +++ b/src/fileFormats/ensight/read/ensightReadFile.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2023 OpenCFD Ltd. + Copyright (C) 2016-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,9 +27,8 @@ Class Foam::ensightReadFile Description - A variant of IFstream with specialised read() for - strings, integers and floats. - Correctly handles binary read as well. + A variant of IFstream with specialised handling for Ensight reading + of strings, integers and floats (ASCII and BINARY). \*---------------------------------------------------------------------------*/ @@ -38,6 +37,7 @@ Description #include "IFstream.H" #include "IOstream.H" +#include "vector.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,9 +52,28 @@ class ensightReadFile : public IFstream { -public: + // Private Data + + //- Transient single-file: + //- beginning of time-step footer + //- as read from the file + int64_t timeStepFooterBegin_; + + //- Transient single-file: + //- the time-step file-offsets (position after "BEGIN TIME STEP") + //- as read from the file + List<int64_t> timeStepOffsets_; + - // Generated Methods + // Private Member Functions + + //- Read string as "%80s" or as binary + void readString(std::string& value); + + //- Initializes read information + //- (optional detection of "C Binary" header) + //- and scan for transient single-file format. + void init(bool detectFormat); //- No copy construct ensightReadFile(const ensightReadFile&) = delete; @@ -63,10 +82,20 @@ public: void operator=(const ensightReadFile&) = delete; +public: + + //- Debug switch + static int debug; + + // Constructors - //- Construct from pathname, auto-detect the format - explicit ensightReadFile(const fileName& pathname); + //- Construct a geometry reader, auto-detecting the "C Binary" header + //- for binary files and skipping past it. + explicit ensightReadFile + ( + const fileName& pathname + ); //- Construct from pathname, use the specified (ascii/binary) format ensightReadFile @@ -82,11 +111,13 @@ public: // Static Functions - //- Detect if the file is \em binary by testing for initial - //- "(C|Fortran) Binary" - static IOstreamOption::streamFormat detectBinaryHeader + //- Extract time step footer information (if any). + // \return the begin of footer position. + static int64_t getTimeStepFooter ( - const fileName& pathname + IFstream& is, + //! [out] File offsets for each time step (if any) + List<int64_t>& offsets ); @@ -101,7 +132,7 @@ public: //- Read string as "%80s" or as binary virtual Istream& read(string& value) override; - //- Read integer as "%10d" or as binary + //- Read integer as "%10d" or as binary (narrowed) int virtual Istream& read(label& value) override; //- Read floating-point as "%12.5e" or as binary @@ -113,8 +144,68 @@ public: //- Read element keyword. Currently the same as read(string) Istream& readKeyword(string& key); - //- Read "C Binary" for binary files (eg, geometry/measured) - Istream& readBinaryHeader(); + + // Special Read Functions + + //- Component-wise reading of points/coordinates. + //- Read all x components, y components and z components. + void readPoints(const label nPoints, List<floatVector>& points); + + //- Component-wise reading of points/coordinates. + //- Reads x components, y components and z components. + void readPoints(const label nPoints, List<doubleVector>& points); + + //- Read and discard specified number of elements + template<class Type> + void skip(label n = 1) + { + Type dummy; + for (; n > 0; --n) + { + this->read(dummy); + } + } + + + // Transient single-file format + + //- Transient single-file: + //- the position of the FILE_INDEX footer + int64_t timeStepFooterBegin() const noexcept + { + return timeStepFooterBegin_; + } + + //- Transient single-file: + //- the number of time steps within the file + label nTimes() const noexcept + { + return timeStepOffsets_.size(); + } + + //- Transient single-file: + //- the file-offsets for time steps within the file + const UList<int64_t>& timeStepOffets() const noexcept + { + return timeStepOffsets_; + } + + //- Transient single-file: + //- seek to the file position corresponding to the given time index. + bool seekTime(const label timeIndex); + + + // Housekeeping + + //- Detect if the file is \em binary by testing for initial + //- "(C|Fortran) Binary" + FOAM_DEPRECATED_FOR(2024-05, "detected on construct") + static IOstreamOption::streamFormat + detectBinaryHeader(const fileName& pathname) + { + ensightReadFile reader(pathname); + return reader.format(); + } }; diff --git a/src/finiteArea/output/ensight/ensightFaMesh.C b/src/finiteArea/output/ensight/ensightFaMesh.C index 601aa319989..60347e366dc 100644 --- a/src/finiteArea/output/ensight/ensightFaMesh.C +++ b/src/finiteArea/output/ensight/ensightFaMesh.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -125,6 +125,11 @@ void Foam::ensightFaMesh::write bool parallel ) const { + if (UPstream::master()) + { + os.beginGeometry(); + } + // Area meshes (currently only one) // const label areaId = 0; areaPart_.write(os, mesh_.mesh(), parallel); diff --git a/src/finiteArea/output/ensight/ensightFaMesh.H b/src/finiteArea/output/ensight/ensightFaMesh.H index ae30d33ea76..11d6db97acf 100644 --- a/src/finiteArea/output/ensight/ensightFaMesh.H +++ b/src/finiteArea/output/ensight/ensightFaMesh.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -147,14 +147,17 @@ public: // Output - //- Write geometry to file. Normally in parallel + //- Write geometry to file (normally in parallel). + //- Adds beginGeometry() marker. void write ( ensightGeoFile& os, bool parallel = UPstream::parRun() ) const; - //- Write geometry to file. Normally in parallel + //- Write geometry to file (normally in parallel). + //- Adds beginGeometry() marker. + FOAM_DEPRECATED_FOR(2024-05, "write(ensightGeoFile&, ...") inline void write ( autoPtr<ensightGeoFile>& os, diff --git a/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.cxx b/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.cxx index 01b6cdb083d..c9a78982ea2 100644 --- a/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.cxx +++ b/src/functionObjects/lagrangian/ensightCloud/ensightCloudWriteObject.cxx @@ -391,6 +391,11 @@ bool Foam::functionObjects::ensightCloudWriteObject::write() // Generate a (non-moving) dummy geometry // - ParaView ensight-reader needs this, and usually ensight does too autoPtr<ensightGeoFile> os = ensCase().newGeometry(false); + + if (os) + { + os->beginGeometry(); + } ensightCells::writeBox(os.ref(), mesh_.bounds()); } diff --git a/src/functionObjects/utilities/ensightWrite/ensightWrite.C b/src/functionObjects/utilities/ensightWrite/ensightWrite.C index fcbca27eeb9..9023f151bcf 100644 --- a/src/functionObjects/utilities/ensightWrite/ensightWrite.C +++ b/src/functionObjects/utilities/ensightWrite/ensightWrite.C @@ -237,7 +237,7 @@ bool Foam::functionObjects::ensightWrite::write() // Treat all geometry as moving, since we do not know a priori // if the simulation has mesh motion later on. autoPtr<ensightGeoFile> os = ensCase_().newGeometry(true); - ensMesh_().write(os); + ensMesh_().write(os.ref()); } diff --git a/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C b/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C index 7e9303eced8..1a1ff7ae2c5 100644 --- a/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C +++ b/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C @@ -92,9 +92,9 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeCollated merge(); { - if (!isDir(outputFile.path())) + if (!Foam::isDir(outputFile.path())) { - mkDir(outputFile.path()); + Foam::mkDir(outputFile.path()); } const bool stateChanged = @@ -131,12 +131,12 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeCollated ); // As per mkdir -p "data/00000000" - mkDir(dataDir); + Foam::mkDir(dataDir); const fileName geomFile(baseDir/geometryName); - if (!exists(geomFile)) + if (!Foam::exists(geomFile)) { if (verbose_) { @@ -151,6 +151,7 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeCollated caseOpts_.format() ); + osGeom.beginGeometry(); writeGeometry(osGeom, elemOutput); } @@ -176,7 +177,12 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeCollated // Update case file if (stateChanged) { - OFstream osCase(outputFile, IOstreamOption::ASCII); + OFstream osCase + ( + IOstreamOption::ATOMIC, + outputFile, + IOstreamOption::ASCII + ); ensightCase::setTimeFormat(osCase, caseOpts_); // time-format if (verbose_) diff --git a/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterUncollated.C b/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterUncollated.C index f4a56dcce84..d133314e967 100644 --- a/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterUncollated.C +++ b/src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterUncollated.C @@ -91,9 +91,9 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeUncollated merge(); { - if (!isDir(outputFile.path())) + if (!Foam::isDir(outputFile.path())) { - mkDir(outputFile.path()); + Foam::mkDir(outputFile.path()); } // Two-argument form for path-name to avoid validating base-dir @@ -110,6 +110,7 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeUncollated caseOpts_.format() ); + osGeom.beginGeometry(); writeGeometry(osGeom, elemOutput); // Write field (serial only) @@ -118,7 +119,12 @@ Foam::fileName Foam::coordSetWriters::ensightWriter::writeUncollated // Update case file { - OFstream osCase(outputFile, IOstreamOption::ASCII); + OFstream osCase + ( + IOstreamOption::ATOMIC, + outputFile, + IOstreamOption::ASCII + ); ensightCase::setTimeFormat(osCase, caseOpts_); // time-format osCase diff --git a/src/surfMesh/readers/ensight/ensightSurfaceReader.C b/src/surfMesh/readers/ensight/ensightSurfaceReader.C index e0515ec6640..29fbc5af5c6 100644 --- a/src/surfMesh/readers/ensight/ensightSurfaceReader.C +++ b/src/surfMesh/readers/ensight/ensightSurfaceReader.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -44,54 +44,57 @@ namespace Foam namespace Foam { -// Read and discard specified number of elements -template<class Type> -static inline void discard(label n, ensightReadFile& is) +// Extract timeset and fileset from split line information +// when the minElements has been satisfied. +// For example, +// ---- +// model: 1 some-geometry +// model: 1 1 some-geometry +// ---- +// would be split *after* the 'model:' resulting in these sub-strings: +// +// ("1" "some-geometry") +// ("1" "1" some-geometry") +// +// thus call extractTimeset with minElements == 2 +// +template<class StringType> +static inline labelPair extractTimeset +( + const SubStrings<StringType>& split, + const std::size_t minElements +) { - Type val; + ISpanStream is; - while (n > 0) + labelPair result(-1, -1); + if (split.size() >= minElements) { - is.read(val); - --n; + is.reset(split[0]); + is >> result.first(); + + if (split.size() > minElements) + { + is.reset(split[1]); + is >> result.second(); + } } + + return result; } } // End namespace Foam -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // +// * * * * * * * * * * Protected Static Member Functions * * * * * * * * * * // -void Foam::ensightSurfaceReader::skip(const label n, Istream& is) const -{ - label i = 0; - token tok; - while (is.good() && (i < n)) - { - is >> tok; - ++i; - - DebugInfo - << "Skipping token " << tok << nl; - } - - if (i != n) - { - WarningInFunction - << "Requested to skip " << n << " tokens, but stream exited after " - << i << " tokens. Last token read: " << tok - << nl; - } -} - - -void Foam::ensightSurfaceReader::readLine(ISstream& is, string& line) const +bool Foam::ensightSurfaceReader::readLine(ISstream& is, std::string& line) { do { is.getLine(line); - // Trim out any '#' comments + // Trim out any '#' comments (trailing or otherwise) const auto pos = line.find('#'); if (pos != std::string::npos) { @@ -100,61 +103,56 @@ void Foam::ensightSurfaceReader::readLine(ISstream& is, string& line) const stringOps::inplaceTrimRight(line); } while (line.empty() && is.good()); + + return !line.empty(); } -void Foam::ensightSurfaceReader::debugSection +void Foam::ensightSurfaceReader::checkSection ( const word& expected, - ISstream& is -) const + const string& buffer, + const ISstream& is +) { - string actual; - readLine(is, actual); + // Be more generous with our expectations. + // Eg, ensight specifies the "VARIABLE" entry, + // but accepts "VARIABLES" as well. - if (expected != actual) + if (!expected.empty() && !buffer.starts_with(expected)) { FatalIOErrorInFunction(is) << "Expected section header '" << expected - << "' but read " << actual << nl + << "' but read " << buffer << nl << exit(FatalIOError); } DebugInfo - << "Read section header: " << expected << nl; + << "Read section header: " << buffer.c_str() << nl; } -Foam::fileName Foam::ensightSurfaceReader::replaceMask +void Foam::ensightSurfaceReader::debugSection ( - const fileName& fName, - const label timeIndex + const word& expected, + ISstream& is ) { - fileName result(fName); - - const auto nMask = stringOps::count(fName, '*'); - - // If there are any '*' chars, they are assumed to be contiguous - // Eg, data/******/geometry - - if (nMask) - { - const std::string maskStr(nMask, '*'); - const Foam::word indexStr(ensightCase::padded(nMask, timeIndex)); - result.replace(maskStr, indexStr); - } + string buffer; + readLine(is, buffer); - return result; + checkSection(expected, buffer, is); } +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + Foam::Pair<Foam::ensightSurfaceReader::idTypes> -Foam::ensightSurfaceReader::readGeometryHeader(ensightReadFile& is) const +Foam::ensightSurfaceReader::readGeometryHeader +( + ensightReadFile& is +) const { - // Binary flag string if applicable - is.readBinaryHeader(); - string buffer; Pair<idTypes> idHandling(idTypes::NONE, idTypes::NONE); @@ -203,17 +201,17 @@ Foam::ensightSurfaceReader::readGeometryHeader(ensightReadFile& is) const // Optional extents - read and discard 6 floats // (xmin, xmax, ymin, ymax, zmin, zmax) - discard<scalar>(6, is); + is.skip<scalar>(6); - // Part + // "part" is.read(buffer); DebugInfo<< "buffer [" << buffer.length() << "] " << buffer << nl; } // The part number - label ivalue; - is.read(ivalue); - DebugInfo<< "ivalue: " << ivalue << nl; + label intValue; + is.read(intValue); + DebugInfo<< "part number: " << intValue << nl; // Part description / name is.read(buffer); @@ -231,6 +229,8 @@ void Foam::ensightSurfaceReader::readCase(ISstream& is) { DebugInFunction << endl; + enum ParseSection { UNKNOWN, FORMAT, GEOMETRY, VARIABLE, TIME, FILE }; + if (!is.good()) { FatalErrorInFunction @@ -239,99 +239,366 @@ void Foam::ensightSurfaceReader::readCase(ISstream& is) } string buffer; + SubStrings<string> split; - // Read the file + ParseSection parseState = ParseSection::UNKNOWN; + + // FORMAT + // ~~~~~~ debugSection("FORMAT", is); readLine(is, buffer); // type: ensight gold + parseState = ParseSection::FORMAT; + // GEOMETRY + // ~~~~~~~~ debugSection("GEOMETRY", is); - readLine(is, buffer); + parseState = ParseSection::GEOMETRY; - // GEOMETRY with any of these - // model: 1 xxx.0000.mesh - // model: xxx.0000.mesh - // model: data/directory/geometry - // - // - use the last entry - meshFileName_ = stringOps::splitSpace(buffer).back().str(); + do + { + readLine(is, buffer); - DebugInfo << "mesh file:" << meshFileName_ << endl; + if (buffer.starts_with("VARIABLE")) + { + parseState = ParseSection::VARIABLE; + break; + } + + if (buffer.contains("change_coords_only")) + { + FatalIOErrorInFunction(is) + << "No support for moving points, only topology change" << nl + << exit(FatalIOError); + } + + // Extract filename from GEOMETRY section + // ==== + // model: [ts] [fs] filename [change_coords_only [cstep]] + // + // ==== + + // TBD: + // check for "model:" vs "measured:" ? + + const auto pos_colon = buffer.find(':'); + + if + ( + (pos_colon == std::string::npos) + ) + { + FatalIOErrorInFunction(is) + << "Error reading geometry 'model:'" << nl + << exit(FatalIOError); + } + + split = stringOps::splitSpace(buffer, pos_colon+1); + + if (split.empty()) + { + FatalIOErrorInFunction(is) + << "Error reading geometry 'model:'" << nl + << exit(FatalIOError); + } + + // With timeset? - need at least 2 entries + meshTimeset_ = extractTimeset(split, 2); + meshFileName_ = split[split.size()-1].str(); - debugSection("VARIABLE", is); + DebugInfo << "mesh file:" << meshFileName_ << endl; + } + while (false); + + + if (parseState != ParseSection::VARIABLE) + { + debugSection("VARIABLE", is); + parseState = ParseSection::VARIABLE; + } // Read the field description - DynamicList<word> fieldNames(16); - DynamicList<string> fieldFileNames(16); + DynamicList<labelPair> dynFieldTimesets(16); + DynamicList<word> dynFieldNames(16); + DynamicList<string> dynFieldFileNames(16); + + // VARIABLE + // ~~~~~~~~ while (is.good()) { readLine(is, buffer); - if (buffer == "TIME") + if (buffer.starts_with("TIME")) { + parseState = ParseSection::TIME; break; } - // Read the field name and associated file name. Eg, - // scalar per element: 1 p data/********/p + // Read the field name and associated file name. + // Eg, + // scalar per element: [ts] [fs] p data/********/p + // but ignore + // scalar per node: [ts] [fs] other data/********/other - const auto parsed = stringOps::splitSpace(buffer); + const auto pos_colon = buffer.find(':'); - if (!buffer.contains(':') || parsed.size() < 4) + if (pos_colon == std::string::npos) + { + DebugInfo<< "ignore variable line: " << buffer << nl; + continue; + } + + // TODO? handle variable descriptions with spaces (they are quoted) + + split = stringOps::splitSpace(buffer, pos_colon+1); + + if (split.size() < 2) { WarningInFunction - << "Error reading field file name. Current buffer: " + << "Error reading field file name, variable line: " << buffer << endl; continue; } - else if (debug) + + auto pos_key = buffer.find("element"); + if ((pos_key == std::string::npos) || (pos_colon < pos_key)) { - Info<< "variable line: " << parsed.size(); - for (const auto& s : parsed) - { - Info<< " " << s.str(); - } - Info<< nl; + DebugInfo<< "ignore variable line: " << buffer << nl; + continue; } - fieldNames.push_back(parsed[parsed.size()-2].str()); - fieldFileNames.push_back(parsed.back().str()); + DebugInfo<< "variable line: " << buffer << nl; + + // With timeset? - need at least 3 entries + dynFieldTimesets.push_back(extractTimeset(split, 3)); + + dynFieldNames.push_back(split[split.size()-2].str()); + dynFieldFileNames.push_back(split[split.size()-1].str()); } - fieldNames_.transfer(fieldNames); - fieldFileNames_.transfer(fieldFileNames); + fieldTimesets_.transfer(dynFieldTimesets); + fieldNames_.transfer(dynFieldNames); + fieldFileNames_.transfer(dynFieldFileNames); DebugInfo << "fieldNames: " << fieldNames_ << nl << "fieldFileNames: " << fieldFileNames_ << nl; - // Start reading time information - readLine(is, buffer); // time set: <int> - readLine(is, buffer); - readFromLine(3, buffer, nTimeSteps_); // number of steps: <int> - readLine(is, buffer); - readFromLine(3, buffer, timeStartIndex_); // filename start number: <int> - readLine(is, buffer); - readFromLine(2, buffer, timeIncrement_); // filename increment: <int> + if (parseState != ParseSection::TIME) + { + FatalIOErrorInFunction(is) + << "Did not find section header 'TIME'" << nl + << exit(FatalIOError); + } + + + // Determine which unique timeset or fileset to expect + + labelHashSet expectTimeset; + labelHashSet expectFileset; + + expectTimeset.insert(meshTimeset_.first()); + expectFileset.insert(meshTimeset_.second()); + + for (const auto& tup : fieldTimesets_) + { + expectTimeset.insert(tup.first()); + expectFileset.insert(tup.second()); + } + + // Remove placeholders + expectTimeset.erase(-1); + expectFileset.erase(-1); + DebugInfo - << "nTimeSteps: " << nTimeSteps_ << nl - << "timeStartIndex: " << timeStartIndex_ << nl - << "timeIncrement: " << timeIncrement_ << nl; - - // Read the time values - readLine(is, buffer); // time values: - timeValues_.resize_nocopy(nTimeSteps_); - for (label i = 0; i < nTimeSteps_; ++i) + << "expect timesets: " << flatOutput(expectTimeset) << nl + << "expect filesets: " << flatOutput(expectFileset) << nl; + + + // TIME + // ~~~~ + // style 1: + // ==== + // time set: <int> [description] + // number of steps: <int> + // filename start number: <int> + // filename increment: <int> + // time values: time_1 .. time_N + // ==== + // + // style 2: + // ==== + // time set: <int> [description] + // number of steps: <int> + // filename numbers: int_1 .. int_N + // time values: time_1 .. time_N + // ==== + // + // style 3: + // ==== + // time set: <int> [description] + // number of steps: <int> + // filename numbers file: <filename> + // time values file: <filename> + // ==== + + + // Currently only handling style 1, style 2 + // and only a single time set + + // time set = 1 { - scalar t(readScalar(is)); + // time set: <int> + { + readLine(is, buffer); + } + + // number of steps: <int> + label nTimes = 0; + { + readLine(is, buffer); + split = stringOps::splitSpace(buffer); + readFrom(split.back(), nTimes); + } + + // filename start number: <int> + // filename increment: <int> + // + // OR: + // filename numbers: ... + + readLine(is, buffer); + auto pos_colon = buffer.find(':'); + + if (buffer.contains("numbers:")) + { + // Split out trailing values... + split = stringOps::splitSpace(buffer, pos_colon+1); + + fileNumbers_.resize_nocopy(nTimes); + + label numRead = 0; + while (numRead < nTimes) + { + for (const auto& chunk : split) + { + std::string str(chunk.str()); + + if (!Foam::readLabel(str, fileNumbers_[numRead])) + { + FatalIOErrorInFunction(is) + << "Could not parse label: " << str << nl + << exit(FatalIOError); + } + ++numRead; + + if (numRead == nTimes) + { + break; + } + } + + // Get more input + if (numRead < nTimes) + { + readLine(is, buffer); + split = stringOps::splitSpace(buffer); + } + } + + timeStartIndex_ = 0; + timeIncrement_ = 0; + fileNumbers_.resize(numRead); + } + else + { + // filename start number: <int> + split = stringOps::splitSpace(buffer); + readFrom(split.back(), timeStartIndex_); + + // filename increment: <int> + readLine(is, buffer); + split = stringOps::splitSpace(buffer); + readFrom(split.back(), timeIncrement_); + + fileNumbers_.clear(); + } + + DebugInfo + << "nTimes: " << nTimes + << " start-index: " << timeStartIndex_ + << " increment: " << timeIncrement_ + << " file numbers: " << flatOutput(fileNumbers_) << nl; + + + // time values: time_1 .. time_N + readLine(is, buffer); + + // Split out trailing values... + { + const auto pos_colon = buffer.find(':'); + const auto pos_key = buffer.find("values"); + + if + ( + (pos_colon == std::string::npos) + || (pos_key == std::string::npos) || (pos_colon < pos_key) + ) + { + split.clear(); + } + else + { + split = stringOps::splitSpace(buffer, pos_colon+1); + } + } + + timeValues_.resize_nocopy(nTimes); + + label numRead = 0; + while (numRead < nTimes) + { + for (const auto& chunk : split) + { + auto& inst = timeValues_[numRead]; + + // Retain character representation + inst.name() = word(chunk.str()); + + if (!Foam::readScalar(inst.name(), inst.value())) + { + FatalIOErrorInFunction(is) + << "Could not parse scalar: " << inst.name() << nl + << exit(FatalIOError); + } + ++numRead; + + if (numRead == nTimes) + { + break; + } + } + + // Get more input + if (numRead < nTimes) + { + readLine(is, buffer); + split = stringOps::splitSpace(buffer); + } + } - timeValues_[i].value() = t; - // TODO: use character representation of t directly instead of - // regenerating from scalar value - timeValues_[i].name() = Foam::name(t); + timeValues_.resize(numRead); } + + // Not yet: + + // FILE + // ~~~~ + // file set: <int> + // filename index: <int> - file index number in the file name + // number of steps: <int> } @@ -351,14 +618,9 @@ Foam::ensightSurfaceReader::ensightSurfaceReader ), readFormat_(IOstreamOption::ASCII), // Placeholder value baseDir_(fName.path()), - meshFileName_(), - fieldNames_(), - fieldFileNames_(), - nTimeSteps_(0), + meshTimeset_(-1,-1), timeStartIndex_(0), - timeIncrement_(1), - timeValues_(), - surfPtr_(nullptr) + timeIncrement_(1) { if (options.getOrDefault("debug", false)) { @@ -376,12 +638,14 @@ Foam::ensightSurfaceReader::ensightSurfaceReader Pstream::broadcasts ( UPstream::worldComm, + meshTimeset_, meshFileName_, + fieldTimesets_, fieldNames_, fieldFileNames_, - nTimeSteps_, timeStartIndex_, timeIncrement_, + fileNumbers_, timeValues_ ); } @@ -392,7 +656,8 @@ Foam::ensightSurfaceReader::ensightSurfaceReader Foam::meshedSurface Foam::ensightSurfaceReader::readGeometry ( - const fileName& geometryFile + const fileName& geometryFile, + const label timeIndex ) { DebugInFunction << endl; @@ -404,6 +669,9 @@ Foam::meshedSurface Foam::ensightSurfaceReader::readGeometry // Format detected from the geometry readFormat_ = is.format(); + // For transient single-file + is.seekTime(timeIndex); + DebugInfo << "File: " << is.name() << " format: " @@ -433,52 +701,59 @@ Foam::meshedSurface Foam::ensightSurfaceReader::readGeometry << "Ignore " << nPoints << " node ids" << nl; // Read and discard labels - discard<label>(nPoints, is); + is.skip<label>(nPoints); } - pointField points(nPoints); - for (direction cmpt = 0; cmpt < vector::nComponents; ++cmpt) - { - for (point& p : points) - { - is.read(p[cmpt]); - } - } + pointField points; + is.readPoints(nPoints, points); // Read faces - may be a mix of tria3, quad4, nsided DynamicList<face> dynFaces(nPoints/3); DynamicList<faceInfoTuple> faceTypeInfo(16); - string faceType; - label faceCount = 0; + string buffer; - while (is.good()) // (is.peek() != EOF) + while (is.good()) { // The element type - is.read(faceType); + is.read(buffer); if (!is.good()) { break; } + else if (buffer.contains("BEGIN TIME STEP")) + { + // Graciously handle a miscued start + continue; + } + else if (buffer.contains("END TIME STEP")) + { + // END TIME STEP is a valid means to terminate input + break; + } if ( - faceType + buffer == ensightFaces::elemNames[ensightFaces::elemType::TRIA3] ) { - is.read(faceCount); + label elemCount; + is.read(elemCount); - faceTypeInfo.push_back + faceTypeInfo.emplace_back ( - faceInfoTuple(ensightFaces::elemType::TRIA3, faceCount) + ensightFaces::elemType::TRIA3, + elemCount ); DebugInfo - << "faceType <" << faceType.c_str() << "> count: " - << faceCount << nl; + << "faceType <" + << ensightFaces::elemNames[ensightFaces::elemType::TRIA3] + << "> count: " + << elemCount << nl; if ( @@ -487,39 +762,45 @@ Foam::meshedSurface Foam::ensightSurfaceReader::readGeometry ) { DebugInfo - << "Ignore " << faceCount << " element ids" << nl; + << "Ignore " << elemCount << " element ids" << nl; // Read and discard labels - discard<label>(faceCount, is); + is.skip<label>(elemCount); } - for (label facei = 0; facei < faceCount; ++facei) + // Extend and fill the new trailing portion + const label startElemi = dynFaces.size(); + dynFaces.resize(startElemi+elemCount, face(3)); // tria3 + faceList::subList myElements = dynFaces.slice(startElemi); + + for (auto& f : myElements) { - face f(3); for (label& fp : f) { is.read(fp); } - - dynFaces.push_back(std::move(f)); } } else if ( - faceType + buffer == ensightFaces::elemNames[ensightFaces::elemType::QUAD4] ) { - is.read(faceCount); + label elemCount; + is.read(elemCount); - faceTypeInfo.push_back + faceTypeInfo.emplace_back ( - faceInfoTuple(ensightFaces::elemType::QUAD4, faceCount) + ensightFaces::elemType::QUAD4, + elemCount ); DebugInfo - << "faceType <" << faceType.c_str() << "> count: " - << faceCount << nl; + << "faceType <" + << ensightFaces::elemNames[ensightFaces::elemType::QUAD4] + << "> count: " + << elemCount << nl; if ( @@ -528,39 +809,44 @@ Foam::meshedSurface Foam::ensightSurfaceReader::readGeometry ) { DebugInfo - << "Ignore " << faceCount << " element ids" << nl; + << "Ignore " << elemCount << " element ids" << nl; // Read and discard labels - discard<label>(faceCount, is); + is.skip<label>(elemCount); } - for (label facei = 0; facei < faceCount; ++facei) + // Extend and fill the new trailing portion + const label startElemi = dynFaces.size(); + dynFaces.resize(startElemi + elemCount, face(4)); // quad4 + faceList::subList myElements = dynFaces.slice(startElemi); + + for (auto& f : myElements) { - face f(4); for (label& fp : f) { is.read(fp); } - - dynFaces.push_back(std::move(f)); } } else if ( - faceType + buffer == ensightFaces::elemNames[ensightFaces::elemType::NSIDED] ) { - is.read(faceCount); + label elemCount; + is.read(elemCount); - faceTypeInfo.push_back + faceTypeInfo.emplace_back ( - faceInfoTuple(ensightFaces::elemType::NSIDED, faceCount) + ensightFaces::elemType::NSIDED, + elemCount ); DebugInfo - << "faceType <" << faceType.c_str() << "> count: " - << faceCount << nl; + << "faceType <" + << ensightFaces::elemNames[ensightFaces::elemType::NSIDED] + << "> count: " << elemCount << nl; if ( @@ -569,26 +855,31 @@ Foam::meshedSurface Foam::ensightSurfaceReader::readGeometry ) { DebugInfo - << "Ignore " << faceCount << " element ids" << nl; + << "Ignore " << elemCount << " element ids" << nl; // Read and discard labels - discard<label>(faceCount, is); + is.skip<label>(elemCount); } - labelList np(faceCount); - for (label facei = 0; facei < faceCount; ++facei) + // Extend and fill the new trailing portion + const label startElemi = dynFaces.size(); + dynFaces.resize(startElemi + elemCount); + faceList::subList myElements = dynFaces.slice(startElemi); + + for (auto& f : myElements) { - is.read(np[facei]); + label nVerts; + is.read(nVerts); + + f.resize(nVerts); } - for (label facei = 0; facei < faceCount; ++facei) + + for (auto& f : myElements) { - face f(np[facei]); for (label& fp : f) { is.read(fp); } - - dynFaces.push_back(std::move(f)); } } else @@ -596,7 +887,7 @@ Foam::meshedSurface Foam::ensightSurfaceReader::readGeometry if (debug) { WarningInFunction - << "Unknown face type: <" << faceType.c_str() + << "Unknown face type: <" << buffer.c_str() << ">. Stopping read and continuing with current " << "elements only" << endl; } @@ -605,7 +896,7 @@ Foam::meshedSurface Foam::ensightSurfaceReader::readGeometry } // From 1-based Ensight addressing to 0-based OF addressing - for (face& f : dynFaces) + for (auto& f : dynFaces) { for (label& fp : f) { @@ -637,11 +928,15 @@ const Foam::meshedSurface& Foam::ensightSurfaceReader::geometry surfPtr_.reset(new meshedSurface); auto& surf = *surfPtr_; - fileName geomFile(baseDir_/replaceMask(meshFileName_, timeIndex)); + fileName geomFile + ( + baseDir_ + / ensightCase::expand_mask(meshFileName_, timeIndex) + ); if (!masterOnly_ || UPstream::master(UPstream::worldComm)) { - surf = readGeometry(geomFile); + surf = readGeometry(geomFile, timeIndex); } if (masterOnly_ && UPstream::parRun()) diff --git a/src/surfMesh/readers/ensight/ensightSurfaceReader.H b/src/surfMesh/readers/ensight/ensightSurfaceReader.H index b364d4f15f0..e8921db814d 100644 --- a/src/surfMesh/readers/ensight/ensightSurfaceReader.H +++ b/src/surfMesh/readers/ensight/ensightSurfaceReader.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,6 +57,7 @@ SourceFiles #define Foam_ensightSurfaceReader_H #include "surfaceReader.H" +#include "ensightCase.H" #include "ensightFaces.H" #include "ensightReadFile.H" #include "Pair.H" @@ -103,24 +104,30 @@ protected: //- Base directory fileName baseDir_; + //- The timeset/fileset (if any) associated with the mesh + labelPair meshTimeset_; + //- Name of mesh file, including any subdirectory fileName meshFileName_; + //- The timeset/fileset (if any) associated with fields + List<labelPair> fieldTimesets_; + //- Field names List<word> fieldNames_; //- Field file names List<string> fieldFileNames_; - //- Number of time steps - label nTimeSteps_; - //- Start time index label timeStartIndex_; //- Time increment label timeIncrement_; + //- Numbers for files + labelList fileNumbers_; + //- Times instantList timeValues_; @@ -131,23 +138,30 @@ protected: List<faceInfoTuple> faceTypeInfo_; - // Private Member Functions + // Static Member Functions - //- Helper function to skip forward n steps in stream - void skip(const label n, Istream& is) const; + //- Helper function to read an ascii line from file, + //- skipping blank lines and comments. + // \return True if reading was successful + static bool readLine(ISstream& is, std::string& line); - //- Helper function to read an ascii line from file - void readLine(ISstream& is, string& buffer) const; + //- Check a section header + static void checkSection + ( + const word& expected, + const string& buffer, + const ISstream& is // For errors + ); //- Read and check a section header - void debugSection(const word& expected, ISstream& is) const; + static void debugSection(const word& expected, ISstream& is); + + //- Helper function to return Type from string + template<class Type> + static void readFrom(const std::string& buffer, Type& value); - //- Replace the '*' mask chars with a 0 padded string. - static fileName replaceMask - ( - const fileName& fName, - const label timeIndex - ); + + // Protected Member Functions //- Read (and discard) geometry file header. // \return information about node/element id handling @@ -157,27 +171,20 @@ protected: void readCase(ISstream& is); //- Read and return surface geometry. Updates faceTypeInfo_ - meshedSurface readGeometry(const fileName& geometryFile); - - //- Helper function to return Type after skipping n tokens - template<class Type> - void readFromLine(const label nSkip, Istream& is, Type& value) const; - - //- Helper function to return Type after skipping n tokens - template<class Type> - void readFromLine + meshedSurface readGeometry ( - const label nSkip, - const string& buffer, - Type& value - ) const; + const fileName& geometryFile, + //! Optional index for transient single-file format + const label timeIndex = 0 + ); //- Helper function to return a field template<class Type> tmp<Field<Type>> readField ( const fileName& dataFile, - const word& fieldName + const word& fieldName, + const label timeIndex = 0 ) const; //- Helper function to return a field @@ -191,6 +198,15 @@ protected: public: + // Generated Methods + + //- No copy construct + ensightSurfaceReader(const ensightSurfaceReader&) = delete; + + //- No copy assignment + void operator=(const ensightSurfaceReader&) = delete; + + //- Runtime type information TypeName("ensight"); diff --git a/src/surfMesh/readers/ensight/ensightSurfaceReaderTemplates.C b/src/surfMesh/readers/ensight/ensightSurfaceReaderTemplates.C index 8f6dbbb8af9..a67dbe82474 100644 --- a/src/surfMesh/readers/ensight/ensightSurfaceReaderTemplates.C +++ b/src/surfMesh/readers/ensight/ensightSurfaceReaderTemplates.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,41 +28,28 @@ License #include "SpanStream.H" #include "ensightPTraits.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * Protected Static Member Functions * * * * * * * * * * // template<class Type> -void Foam::ensightSurfaceReader::readFromLine +void Foam::ensightSurfaceReader::readFrom ( - const label nSkip, - Istream& is, + const std::string& buffer, Type& value -) const +) { - skip(nSkip, is); - + ISpanStream is(buffer.data(), buffer.size()); is >> value; } -template<class Type> -void Foam::ensightSurfaceReader::readFromLine -( - const label nSkip, - const string& buffer, - Type& value -) const -{ - ISpanStream is(buffer.data(), buffer.length()); - - readFromLine(nSkip, is, value); -} - +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // template<class Type> Foam::tmp<Foam::Field<Type>> Foam::ensightSurfaceReader::readField ( const fileName& dataFile, - const word& fieldName + const word& fieldName, + const label timeIndex ) const { auto tfield = tmp<Field<Type>>::New(surfPtr_->nFaces(), Zero); @@ -81,6 +68,10 @@ Foam::tmp<Foam::Field<Type>> Foam::ensightSurfaceReader::readField << exit(FatalError); } + // If transient single-file + is.seekTime(timeIndex); + + // Check that data type is as expected // (assuming OpenFOAM generated the data set) string primitiveType; @@ -104,11 +95,11 @@ Foam::tmp<Foam::Field<Type>> Foam::ensightSurfaceReader::readField } string strValue; - label iValue; + label intValue; // Read header info: part index, e.g. part 1 is.read(strValue); - is.read(iValue); + is.read(intValue); label begFace = 0; @@ -183,11 +174,18 @@ Foam::tmp<Foam::Field<Type>> Foam::ensightSurfaceReader::readField } const word& fieldName = fieldNames_[fieldIndex]; - const label fileIndex = timeStartIndex_ + timeIndex*timeIncrement_; + + const label fileIndex = + ( + (timeIndex >= 0 && timeIndex < fileNumbers_.size()) + ? fileNumbers_[timeIndex] + : (timeStartIndex_ + timeIndex*timeIncrement_) + ); const fileName dataFile ( - baseDir_/replaceMask(fieldFileNames_[fieldIndex], fileIndex) + baseDir_ + / ensightCase::expand_mask(fieldFileNames_[fieldIndex], fileIndex) ); if (debug) @@ -196,7 +194,7 @@ Foam::tmp<Foam::Field<Type>> Foam::ensightSurfaceReader::readField << dataFile << endl; } - return readField<Type>(dataFile, fieldName); + return readField<Type>(dataFile, fieldName, timeIndex); } diff --git a/src/surfMesh/writers/ensight/ensightSurfaceWriterCollated.C b/src/surfMesh/writers/ensight/ensightSurfaceWriterCollated.C index 6e27fe3bee4..1cc730e2577 100644 --- a/src/surfMesh/writers/ensight/ensightSurfaceWriterCollated.C +++ b/src/surfMesh/writers/ensight/ensightSurfaceWriterCollated.C @@ -99,9 +99,9 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated if (UPstream::master() || !parallel_) { - if (!isDir(outputFile.path())) + if (!Foam::isDir(outputFile.path())) { - mkDir(outputFile.path()); + Foam::mkDir(outputFile.path()); } const bool stateChanged = @@ -138,7 +138,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated ); // As per mkdir -p "data/00000000" - mkDir(dataDir); + Foam::mkDir(dataDir); const fileName geomFile(baseDir/geometryName); @@ -151,7 +151,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated geomFile.name() ); - if (!exists(geomFile)) + if (!Foam::exists(geomFile)) { if (verbose_) { @@ -165,7 +165,9 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated geomFile.name(), caseOpts_.format() ); - part.write(osGeom); // serial + + osGeom.beginGeometry(); + part.write(osGeom); // serial } // Write field @@ -190,7 +192,12 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated // Update case file if (stateChanged) { - OFstream osCase(outputFile, IOstreamOption::ASCII); + OFstream osCase + ( + IOstreamOption::ATOMIC, + outputFile, + IOstreamOption::ASCII + ); ensightCase::setTimeFormat(osCase, caseOpts_); // time-format if (verbose_) diff --git a/src/surfMesh/writers/ensight/ensightSurfaceWriterUncollated.C b/src/surfMesh/writers/ensight/ensightSurfaceWriterUncollated.C index 27f5e9e6d51..f9cce2978f9 100644 --- a/src/surfMesh/writers/ensight/ensightSurfaceWriterUncollated.C +++ b/src/surfMesh/writers/ensight/ensightSurfaceWriterUncollated.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2014 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -64,11 +64,20 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated() if (UPstream::master() || !parallel_) { - if (!isDir(outputDir)) + if (!Foam::isDir(outputDir)) { - mkDir(outputDir); + Foam::mkDir(outputDir); } + // The geometry + ensightOutputSurface part + ( + surf.points(), + surf.faces(), + baseName + ); + + // Two-argument form for path-name to avoid validating outputDir ensightGeoFile osGeom ( outputDir, @@ -76,16 +85,16 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated() caseOpts_.format() ); - ensightOutputSurface part - ( - surf.points(), - surf.faces(), - osGeom.name().name() - ); - part.write(osGeom); // serial + osGeom.beginGeometry(); + part.write(osGeom); // serial // Update case file - OFstream osCase(outputFile, IOstreamOption::ASCII); + OFstream osCase + ( + IOstreamOption::ATOMIC, + outputFile, + IOstreamOption::ASCII + ); ensightCase::setTimeFormat(osCase, caseOpts_); // time-format osCase @@ -168,11 +177,19 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated if (UPstream::master() || !parallel_) { - if (!isDir(outputFile.path())) + if (!Foam::isDir(outputFile.path())) { - mkDir(outputFile.path()); + Foam::mkDir(outputFile.path()); } + // The geometry + ensightOutputSurface part + ( + surf.points(), + surf.faces(), + baseName + ); + // Two-argument form for path-name to avoid validating base-dir ensightGeoFile osGeom ( @@ -187,14 +204,8 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated caseOpts_.format() ); - // Ensight Geometry - ensightOutputSurface part - ( - surf.points(), - surf.faces(), - osGeom.name().name() - ); - part.write(osGeom); // serial + osGeom.beginGeometry(); + part.write(osGeom); // serial // Write field (serial) osField.write(ensightPTraits<Type>::typeName); @@ -204,7 +215,12 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated // Update case file { - OFstream osCase(outputFile, IOstreamOption::ASCII); + OFstream osCase + ( + IOstreamOption::ATOMIC, + outputFile, + IOstreamOption::ASCII + ); ensightCase::setTimeFormat(osCase, caseOpts_); // time-format osCase -- GitLab From c07997d816b8dba1ea6926f59760c0b948c5ea16 Mon Sep 17 00:00:00 2001 From: Mattijs Janssens <ext-mjanssens@esi-group.com> Date: Thu, 30 May 2024 10:25:24 +0000 Subject: [PATCH 177/231] Function1: added 'lookup' Function1 --- src/OpenFOAM/matrices/solution/solution.C | 33 ++- .../strainRateFunction/strainRateFunction.C | 6 + src/engine/engineTime/freePiston/freePiston.C | 2 +- .../uniformFixedGradientFaPatchField.C | 3 +- .../uniformMixed/uniformMixedFaPatchField.C | 9 +- src/finiteVolume/Make/files | 3 + .../PatchFunction1/lookup/Lookup.C | 89 ++++++++ .../PatchFunction1/lookup/Lookup.H | 142 +++++++++++++ .../PatchFunction1/lookup/LookupField.C | 198 ++++++++++++++++++ .../PatchFunction1/lookup/LookupField.H | 171 +++++++++++++++ .../PatchFunction1/lookup/lookupBase.C | 52 +++++ .../PatchFunction1/lookup/lookupBase.H | 97 +++++++++ .../PatchFunction1/lookup/makeLookupFields.C | 40 ++++ .../PatchFunction1/lookup/makeLookups.C | 46 ++++ src/mesh/extrudeModel/radial/radial.C | 2 - .../PatchFunction1/MappedFile/MappedFile.C | 10 +- .../coordinateScaling/coordinateScaling.C | 2 +- ...allBoilingWallFunctionFvPatchScalarField.C | 2 +- .../restraints/externalForce/externalForce.C | 2 +- .../enthalpySorptionFvPatchScalarField.C | 2 +- tutorials/mesh/blockMesh/pipe/0.orig/U | 49 +++++ tutorials/mesh/blockMesh/pipe/0.orig/epsilon | 50 +++++ tutorials/mesh/blockMesh/pipe/0.orig/k | 50 +++++ tutorials/mesh/blockMesh/pipe/0.orig/nuTilda | 49 +++++ tutorials/mesh/blockMesh/pipe/0.orig/nut | 51 +++++ tutorials/mesh/blockMesh/pipe/0.orig/omega | 50 +++++ tutorials/mesh/blockMesh/pipe/0.orig/p | 48 +++++ tutorials/mesh/blockMesh/pipe/Allclean | 2 +- tutorials/mesh/blockMesh/pipe/Allrun | 4 + .../pipe/constant/transportProperties | 22 ++ .../pipe/constant/turbulenceProperties | 31 +++ .../mesh/blockMesh/pipe/system/controlDict | 73 ++++++- .../mesh/blockMesh/pipe/system/fvSchemes | 39 +++- .../mesh/blockMesh/pipe/system/fvSolution | 55 +++++ 34 files changed, 1456 insertions(+), 28 deletions(-) create mode 100644 src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.C create mode 100644 src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.H create mode 100644 src/finiteVolume/expressions/PatchFunction1/lookup/LookupField.C create mode 100644 src/finiteVolume/expressions/PatchFunction1/lookup/LookupField.H create mode 100644 src/finiteVolume/expressions/PatchFunction1/lookup/lookupBase.C create mode 100644 src/finiteVolume/expressions/PatchFunction1/lookup/lookupBase.H create mode 100644 src/finiteVolume/expressions/PatchFunction1/lookup/makeLookupFields.C create mode 100644 src/finiteVolume/expressions/PatchFunction1/lookup/makeLookups.C create mode 100644 tutorials/mesh/blockMesh/pipe/0.orig/U create mode 100644 tutorials/mesh/blockMesh/pipe/0.orig/epsilon create mode 100644 tutorials/mesh/blockMesh/pipe/0.orig/k create mode 100644 tutorials/mesh/blockMesh/pipe/0.orig/nuTilda create mode 100644 tutorials/mesh/blockMesh/pipe/0.orig/nut create mode 100644 tutorials/mesh/blockMesh/pipe/0.orig/omega create mode 100644 tutorials/mesh/blockMesh/pipe/0.orig/p create mode 100644 tutorials/mesh/blockMesh/pipe/constant/transportProperties create mode 100644 tutorials/mesh/blockMesh/pipe/constant/turbulenceProperties diff --git a/src/OpenFOAM/matrices/solution/solution.C b/src/OpenFOAM/matrices/solution/solution.C index e62f9ee6057..401b35393e7 100644 --- a/src/OpenFOAM/matrices/solution/solution.C +++ b/src/OpenFOAM/matrices/solution/solution.C @@ -36,6 +36,7 @@ License namespace Foam { defineDebugSwitchWithName(solution, "solution", 0); + registerDebugSwitchWithName(solution, solution, "solution"); } // List of sub-dictionaries to rewrite @@ -113,7 +114,7 @@ void Foam::solution::read(const dictionary& dict) { fieldRelaxDefault_.reset ( - new Function1Types::Constant<scalar>("default", 0) + new Function1Types::Constant<scalar>("default", 0, &db()) ); } @@ -127,7 +128,7 @@ void Foam::solution::read(const dictionary& dict) { eqnRelaxDefault_.reset ( - new Function1Types::Constant<scalar>("default", 0) + new Function1Types::Constant<scalar>("default", 0, &db()) ); } @@ -348,15 +349,29 @@ bool Foam::solution::relaxField(const word& name, scalar& factor) const &db() )().value(time().timeOutputValue()); + DebugInfo + << "Field relaxation factor for " << name + << " is " << factor + << " (from Function1)" << endl; + return true; } else if (fieldRelaxDict_.found("default") && fieldRelaxDefault_) { factor = fieldRelaxDefault_->value(time().timeOutputValue()); + + DebugInfo + << "Field relaxation factor for " << name + << " is " << factor + << " (from default " << eqnRelaxDefault_->type() << ')' << endl; + return true; } // Fallthrough - nothing found + + DebugInfo<< "No field relaxation factor for " << name << endl; + return false; } @@ -376,15 +391,29 @@ bool Foam::solution::relaxEquation(const word& name, scalar& factor) const &db() )().value(time().timeOutputValue()); + DebugInfo + << "Equation relaxation factor for " << name + << " is " << factor + << " (from Function1)" << endl; + return true; } else if (eqnRelaxDict_.found("default") && eqnRelaxDefault_) { factor = eqnRelaxDefault_->value(time().timeOutputValue()); + + DebugInfo + << "Equation relaxation factor for " << name + << " is " << factor + << " (from default " << eqnRelaxDefault_->type() << ')' << endl; + return true; } // Fallthrough - nothing found + + DebugInfo<< "No equation relaxation factor for " << name << endl; + return false; } diff --git a/src/TurbulenceModels/turbulenceModels/laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/strainRateFunction/strainRateFunction.C b/src/TurbulenceModels/turbulenceModels/laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/strainRateFunction/strainRateFunction.C index 04d3792a9d8..a32f5e630b7 100644 --- a/src/TurbulenceModels/turbulenceModels/laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/strainRateFunction/strainRateFunction.C +++ b/src/TurbulenceModels/turbulenceModels/laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/strainRateFunction/strainRateFunction.C @@ -110,6 +110,12 @@ nu dimensionedScalar(dimViscosity, Zero) ); + // Set the database - could not be done in constructor + const_cast<Function1<scalar>&>(strainRateFunction_()).resetDb + ( + nu0.mesh().thisDb() + ); + tnu.ref().primitiveFieldRef() = strainRateFunction_->value(strainRate); volScalarField::Boundary& nuBf = tnu.ref().boundaryFieldRef(); diff --git a/src/engine/engineTime/freePiston/freePiston.C b/src/engine/engineTime/freePiston/freePiston.C index ff490dcf110..e29ae83c5b8 100644 --- a/src/engine/engineTime/freePiston/freePiston.C +++ b/src/engine/engineTime/freePiston/freePiston.C @@ -59,7 +59,7 @@ Foam::freePiston::freePiston ), pistonPositionTime_ ( - Function1<scalar>::New("pistonPositionTime", dict_) + Function1<scalar>::New("pistonPositionTime", dict_, &db()) ) {} diff --git a/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.C b/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.C index 650cdbef1af..2ddafdbe8ce 100644 --- a/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/derived/uniformFixedGradient/uniformFixedGradientFaPatchField.C @@ -69,7 +69,8 @@ Foam::uniformFixedGradientFaPatchField<Type>::uniformFixedGradientFaPatchField ( /* p.patch(), */ "uniformGradient", - dict + dict, + &iF.db() ) ) { diff --git a/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.C b/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.C index 8f29c0f425d..75b332323d2 100644 --- a/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/derived/uniformMixed/uniformMixedFaPatchField.C @@ -74,7 +74,8 @@ Foam::uniformMixedFaPatchField<Type>::uniformMixedFaPatchField ( /* p.patch(), */ "uniformValue", - dict + dict, + &iF.db() ) ), refGradFunc_ @@ -83,7 +84,8 @@ Foam::uniformMixedFaPatchField<Type>::uniformMixedFaPatchField ( // p.patch(), "uniformGradient", - dict + dict, + &iF.db() ) ), valueFractionFunc_(nullptr) @@ -101,7 +103,8 @@ Foam::uniformMixedFaPatchField<Type>::uniformMixedFaPatchField ( /* p.patch(), */ "uniformValueFraction", - dict + dict, + &iF.db() ) ); } diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files index dca1ff2d9f8..36b69f77f08 100644 --- a/src/finiteVolume/Make/files +++ b/src/finiteVolume/Make/files @@ -295,6 +295,9 @@ $(patchExpr)/patchExprLemonParser.lyy-m4 $(patchExpr)/patchExprScanner.cc $(expr)/PatchFunction1/makePatchFunction1Expression.C +$(expr)/PatchFunction1/lookup/lookupBase.C +$(expr)/PatchFunction1/lookup/makeLookups.C +$(expr)/PatchFunction1/lookup/makeLookupFields.C volumeExpr = $(expr)/volume $(volumeExpr)/volumeExpr.C diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.C b/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.C new file mode 100644 index 00000000000..9187277e3ee --- /dev/null +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.C @@ -0,0 +1,89 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "uniformDimensionedFields.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class Type> +Foam::Function1Types::Lookup<Type>::Lookup +( + const word& entryName, + const dictionary& dict, + const objectRegistry* obrPtr +) +: + lookupBase(dict), + Function1<Type>(entryName, dict, obrPtr) +{} + + +template<class Type> +Foam::Function1Types::Lookup<Type>::Lookup(const Lookup<Type>& rhs) +: + lookupBase(rhs), + Function1<Type>(rhs) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +inline Type Foam::Function1Types::Lookup<Type>::value(const scalar t) const +{ + const objectRegistry& db = function1Base::obr(); + const auto& obj = + db.lookupObject<UniformDimensionedField<Type>>(name_, true); + + return obj.value(); +} + + +template<class Type> +inline Type Foam::Function1Types::Lookup<Type>::integrate +( + const scalar t1, + const scalar t2 +) const +{ + return (t2-t1)*value(0.5*(t1+t2)); +} + + +template<class Type> +void Foam::Function1Types::Lookup<Type>::writeData(Ostream& os) const +{ + Function1<Type>::writeData(os); + os.endEntry(); + + os.beginBlock(word(this->name() + "Coeffs")); + writeEntries(os); + os.endBlock(); +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.H b/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.H new file mode 100644 index 00000000000..4a8c64c85a7 --- /dev/null +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.H @@ -0,0 +1,142 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::Function1Types::Lookup + +Description + Function1 to lookup UniformDimensionedField from an objectregistry. + + The dictionary specification would typically resemble this: + \verbatim + entry + { + type lookup; + name myScalar; + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Default + type | Function type: lookup | word | yes | + name | name of variable | word | yes | + \endtable + +SourceFiles + Lookup.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Function1Types_Lookup_H +#define Function1Types_Lookup_H + +#include "Function1.H" +#include "lookupBase.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace Function1Types +{ + +/*---------------------------------------------------------------------------*\ + Class Lookup Declaration +\*---------------------------------------------------------------------------*/ + +template<class Type> +class Lookup +: + public lookupBase, + public Function1<Type> +{ +public: + + // Runtime type information + TypeName("lookup"); + + + // Generated Methods + + //- No copy assignment + void operator=(const Lookup<Type>&) = delete; + + + // Constructors + + //- Construct from entry name, dictionary and optional registry + Lookup + ( + const word& entryName, + const dictionary& dict, + const objectRegistry* obrPtr = nullptr + ); + + //- Copy construct + explicit Lookup(const Lookup<Type>& rhs); + + //- Construct and return a clone + virtual tmp<Function1<Type>> clone() const + { + return tmp<Function1<Type>>(new Lookup<Type>(*this)); + } + + + //- Destructor + virtual ~Lookup() = default; + + + // Member Functions + + //- Return value for time t + virtual Type value(const scalar t) const; + + //- Integrate between two (scalar) values + virtual Type integrate(const scalar x1, const scalar x2) const; + + //- Write in dictionary format + virtual void writeData(Ostream& os) const; + + using lookupBase::writeEntries; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Function1Types +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "Lookup.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/LookupField.C b/src/finiteVolume/expressions/PatchFunction1/lookup/LookupField.C new file mode 100644 index 00000000000..2a202b6bfdc --- /dev/null +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/LookupField.C @@ -0,0 +1,198 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "volFields.H" +#include "volMesh.H" +#include "surfaceFields.H" +#include "surfaceMesh.H" +#include "pointFields.H" +#include "pointMesh.H" +#include "UniformDimensionedField.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class Type> +Foam::PatchFunction1Types::LookupField<Type>::LookupField +( + const polyPatch& pp, + const word& redirectType, + const word& entryName, + const dictionary& dict, + const bool faceValues +) +: + PatchFunction1<Type>(pp, entryName, dict, faceValues), + lookupBase(dict) +{} + + +template<class Type> +Foam::PatchFunction1Types::LookupField<Type>::LookupField +( + const LookupField<Type>& rhs, + const polyPatch& pp +) +: + PatchFunction1<Type>(rhs, pp), + lookupBase(rhs) +{} + + +template<class Type> +Foam::PatchFunction1Types::LookupField<Type>::LookupField +( + const LookupField<Type>& rhs +) +: + LookupField<Type>(rhs, rhs.patch()) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +Foam::tmp<Foam::Field<Type>> +Foam::PatchFunction1Types::LookupField<Type>::value(const scalar x) const +{ + typedef UniformDimensionedField<Type> UType; + + const objectRegistry& db = patchFunction1Base::obr(); + const label patchi = patchFunction1Base::patch().index(); + + if (this->faceValues()) + { + typedef GeometricField<Type, fvPatchField, volMesh> VType; + typedef GeometricField<Type, fvsPatchField, surfaceMesh> SType; + + // Try: + // - as volField in local scope + // - as surfaceField in local scope + // - as UniformDimensionedField recursively + + const regIOobject* ptr = db.cfindIOobject(name_, false); + + if (ptr) + { + const auto* vPtr = dynamic_cast<const VType*>(ptr); + if (vPtr) + { + return vPtr->boundaryField()[patchi]; + } + + const auto* sPtr = dynamic_cast<const SType*>(ptr); + if (sPtr) + { + return sPtr->boundaryField()[patchi]; + } + + const auto* uPtr = dynamic_cast<const UType*>(ptr); + if (uPtr) + { + return Field<Type>(this->size(), uPtr->value()); + } + } + + // Done db level. Try recursion + ptr = db.parent().cfindIOobject(name_, true); + + if (ptr) + { + const auto* uPtr = dynamic_cast<const UType*>(ptr); + if (uPtr) + { + return Field<Type>(this->size(), uPtr->value()); + } + } + + FatalErrorInFunction + << nl + << " failed lookup of " << name_ + << " (objectRegistry " + << db.name() + << ")\n available objects of type " << VType::typeName + << ':' << nl + << db.names<VType>() << nl + << " available objects of type " << SType::typeName + << ':' << nl + << db.names<SType>() << nl + << " available objects of type " << UType::typeName + << ':' << nl + << db.names<UType>() << nl + << exit(FatalError); + return Field<Type>::null(); + } + else + { + // Assume pointField + typedef GeometricField<Type, pointPatchField, pointMesh> PType; + + const regIOobject* ptr = db.cfindIOobject(name_, false); + + if (ptr) + { + const auto* pPtr = dynamic_cast<const PType*>(ptr); + if (pPtr) + { + return pPtr->boundaryField()[patchi].patchInternalField(); + } + } + + // Re-do as uniform field. Note: could repeat logic above + const auto& obj = db.lookupObject<UType>(name_, true); + + return Field<Type>(this->size(), obj.value()); + } +} + + +template<class Type> +Foam::tmp<Foam::Field<Type>> +Foam::PatchFunction1Types::LookupField<Type>::integrate +( + const scalar x1, + const scalar x2 +) const +{ + return (x2-x1)*value(0.5*(x1+x2)); +} + + +template<class Type> +void Foam::PatchFunction1Types::LookupField<Type>::writeData +( + Ostream& os +) const +{ + PatchFunction1<Type>::writeData(os); + os.writeEntry(this->name(), type()); + os.beginBlock(word(this->name() + "Coeffs")); + writeEntries(os); + os.endBlock(); +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/LookupField.H b/src/finiteVolume/expressions/PatchFunction1/lookup/LookupField.H new file mode 100644 index 00000000000..7fb5d25a6f0 --- /dev/null +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/LookupField.H @@ -0,0 +1,171 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::PatchFunction1Types::LookupField + +Description + PatchFunction1 to lookup volField/surfaceField or pointField from an + objectregistry and return its value on the patch. + + The dictionary specification would typically resemble this: + \verbatim + entry + { + type lookup; + name myField; + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Default + type | Function type: lookup | word | yes | + name | name of volField/pointField | word | yes | + \endtable + +SourceFiles + LookupField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef PatchFunction1Types_LookupField_H +#define PatchFunction1Types_LookupField_H + +#include "PatchFunction1.H" +#include "lookupBase.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace PatchFunction1Types +{ + +/*---------------------------------------------------------------------------*\ + Class LookupField Declaration +\*---------------------------------------------------------------------------*/ + +template<class Type> +class LookupField +: + public PatchFunction1<Type>, + protected lookupBase +{ + + +public: + + // Runtime type information + TypeName("lookup"); + + + // Generated Methods + + //- No copy assignment + void operator=(const LookupField<Type>&) = delete; + + + // Constructors + + //- Construct from entry name, dictionary and optional registry + LookupField + ( + const polyPatch& pp, + const word& redirectType, + const word& entryName, + const dictionary& dict, + const bool faceValues = true + ); + + //- Copy construct, setting patch + explicit LookupField + ( + const LookupField<Type>& rhs, + const polyPatch& pp + ); + + //- Copy construct + explicit LookupField(const LookupField<Type>& rhs); + + //- Construct and return a clone + virtual tmp<PatchFunction1<Type>> clone() const + { + return tmp<PatchFunction1<Type>>(new LookupField<Type>(*this)); + } + + //- Return a clone, setting the patch + virtual tmp<PatchFunction1<Type>> clone(const polyPatch& pp) const + { + return PatchFunction1<Type>::Clone(*this, pp); + } + + + //- Destructor + virtual ~LookupField() = default; + + + // Member Functions + + //- Is value uniform (i.e. independent of coordinate) + virtual inline bool uniform() const { return false; } + + + // Evaluation + + //- Return Lookup value + virtual tmp<Field<Type>> value(const scalar x) const; + + //- Integrate between two values + virtual tmp<Field<Type>> integrate + ( + const scalar x1, + const scalar x2 + ) const; + + + // I-O + + //- Write in dictionary format + virtual void writeData(Ostream& os) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace PatchFunction1Types +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "LookupField.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/lookupBase.C b/src/finiteVolume/expressions/PatchFunction1/lookup/lookupBase.C new file mode 100644 index 00000000000..4c3a10cee18 --- /dev/null +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/lookupBase.C @@ -0,0 +1,52 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "lookupBase.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::lookupBase::lookupBase(const dictionary& dict) +: + name_(dict.get<word>("name")) +{} + + +Foam::lookupBase::lookupBase(const lookupBase& rhs) +: + name_(rhs.name_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::lookupBase::writeEntries(Ostream& os) const +{ + os.writeEntry<word>("name", name_); +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/lookupBase.H b/src/finiteVolume/expressions/PatchFunction1/lookup/lookupBase.H new file mode 100644 index 00000000000..271466ff4be --- /dev/null +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/lookupBase.H @@ -0,0 +1,97 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::lookupBase + +Description + Base level of Lookup and LookupField classes. + +SourceFiles + lookupBase.C + +\*---------------------------------------------------------------------------*/ + +#ifndef lookupBase_H +#define lookupBase_H + +#include "dictionary.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class lookupBase Declaration +\*---------------------------------------------------------------------------*/ + +class lookupBase +{ +protected: + + // Protected Data + + //- Key of object + word name_; + + +public: + + // Generated Methods + + //- No copy assignment + void operator=(const lookupBase&) = delete; + + + // Constructors + + //- Construct from dictionary + explicit lookupBase(const dictionary& dict); + + //- Copy construct + explicit lookupBase(const lookupBase& rhs); + + + //- Destructor + virtual ~lookupBase() = default; + + + // Member Functions + + //- Write coefficient entries in dictionary format + virtual void writeEntries(Ostream& os) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/makeLookupFields.C b/src/finiteVolume/expressions/PatchFunction1/lookup/makeLookupFields.C new file mode 100644 index 00000000000..5989e59a8c8 --- /dev/null +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/makeLookupFields.C @@ -0,0 +1,40 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "LookupField.H" +#include "addToRunTimeSelectionTable.H" + +namespace Foam +{ + makePatchFunction1Type(LookupField, scalar); + makePatchFunction1Type(LookupField, vector); + makePatchFunction1Type(LookupField, sphericalTensor); + makePatchFunction1Type(LookupField, symmTensor); + makePatchFunction1Type(LookupField, tensor); +} + +// ************************************************************************* // diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/makeLookups.C b/src/finiteVolume/expressions/PatchFunction1/lookup/makeLookups.C new file mode 100644 index 00000000000..e98d88563d8 --- /dev/null +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/makeLookups.C @@ -0,0 +1,46 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "Lookup.H" +#include "fieldTypes.H" +#include "PatchFunction1.H" +#include "addToRunTimeSelectionTable.H" +#include "UniformValueField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + makeFunction1Type(Lookup, scalar); + makeFunction1Type(Lookup, vector); + makeFunction1Type(Lookup, sphericalTensor); + makeFunction1Type(Lookup, symmTensor); + makeFunction1Type(Lookup, tensor); +} + + +// ************************************************************************* // diff --git a/src/mesh/extrudeModel/radial/radial.C b/src/mesh/extrudeModel/radial/radial.C index 812cf1f613b..6e73f32390d 100644 --- a/src/mesh/extrudeModel/radial/radial.C +++ b/src/mesh/extrudeModel/radial/radial.C @@ -66,8 +66,6 @@ point radial::operator() scalar r = R_->value(layer); -Pout<< "** for layer " << layer << " r:" << r << endl; - return r*rsHat; } diff --git a/src/meshTools/PatchFunction1/MappedFile/MappedFile.C b/src/meshTools/PatchFunction1/MappedFile/MappedFile.C index 98f54c33342..16d7fbc850b 100644 --- a/src/meshTools/PatchFunction1/MappedFile/MappedFile.C +++ b/src/meshTools/PatchFunction1/MappedFile/MappedFile.C @@ -60,7 +60,15 @@ Foam::PatchFunction1Types::MappedFile<Type>::MappedFile sampleIndex_(-1, -1), sampleAverage_(Zero, Zero), sampleValues_(), - offset_(Function1<Type>::NewIfPresent("offset", dict)) + offset_ + ( + Function1<Type>::NewIfPresent + ( + "offset", + dict, + patchFunction1Base::whichDb() + ) + ) { if (fieldTableName_.empty()) { diff --git a/src/meshTools/PatchFunction1/coordinateScaling/coordinateScaling.C b/src/meshTools/PatchFunction1/coordinateScaling/coordinateScaling.C index 6badd8d9e4e..e24f7ac804f 100644 --- a/src/meshTools/PatchFunction1/coordinateScaling/coordinateScaling.C +++ b/src/meshTools/PatchFunction1/coordinateScaling/coordinateScaling.C @@ -51,7 +51,7 @@ Foam::coordinateScaling<Type>::coordinateScaling { const word key("scale" + Foam::name(dir+1)); - auto scaling = Function1<Type>::NewIfPresent(key, dict); + auto scaling = Function1<Type>::NewIfPresent(key, dict, &obr); if (scaling) { diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C index c405a54f1a9..7adb2c0d55a 100644 --- a/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C +++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C @@ -116,7 +116,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(p, iF, dict), otherPhaseName_(dict.get<word>("otherPhase")), phaseType_(phaseTypeNames_.get("phaseType", dict)), - relax_(Function1<scalar>::New("relax", dict)), + relax_(Function1<scalar>::New("relax", dict, &db())), AbyV_(p.size(), 0), alphatConv_(p.size(), 0), dDep_(p.size(), 1e-5), diff --git a/src/rigidBodyDynamics/restraints/externalForce/externalForce.C b/src/rigidBodyDynamics/restraints/externalForce/externalForce.C index 26820cfc54b..ac7c57079e8 100644 --- a/src/rigidBodyDynamics/restraints/externalForce/externalForce.C +++ b/src/rigidBodyDynamics/restraints/externalForce/externalForce.C @@ -109,7 +109,7 @@ bool Foam::RBD::restraints::externalForce::read coeffs_.readEntry("location", location_); - externalForce_ = Function1<vector>::New("force", coeffs_); + externalForce_ = Function1<vector>::New("force", coeffs_, &model_.time()); return true; } diff --git a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.C b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.C index a3caadc95aa..ca9bee458fa 100644 --- a/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.C +++ b/src/thermophysicalModels/reactionThermo/derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.C @@ -89,7 +89,7 @@ Foam::enthalpySorptionFvPatchScalarField::enthalpySorptionFvPatchScalarField case enthalpyModelType::calculated: { enthalpyMassLoadPtr_ = - Function1<scalar>::New("enthalpyTable", dict); + Function1<scalar>::New("enthalpyTable", dict, &iF.db()); break; } case enthalpyModelType::estimated: diff --git a/tutorials/mesh/blockMesh/pipe/0.orig/U b/tutorials/mesh/blockMesh/pipe/0.orig/U new file mode 100644 index 00000000000..62beac9a3d2 --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/0.orig/U @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + side + { + type surfaceNormalFixedValue; + refValue uniform -10; + } + + inlet + { + type surfaceNormalFixedValue; + refValue uniform -10; + } + + outlet + { + type zeroGradient; + } + + walls + { + type noSlip; + } +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/0.orig/epsilon b/tutorials/mesh/blockMesh/pipe/0.orig/epsilon new file mode 100644 index 00000000000..48a0a6dcf3d --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/0.orig/epsilon @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 14.855; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + side + { + type fixedValue; + value $internalField; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + walls + { + type epsilonWallFunction; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/0.orig/k b/tutorials/mesh/blockMesh/pipe/0.orig/k new file mode 100644 index 00000000000..9c3ce53c15a --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/0.orig/k @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.375; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + side + { + type fixedValue; + value $internalField; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + walls + { + type kqRWallFunction; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/0.orig/nuTilda b/tutorials/mesh/blockMesh/pipe/0.orig/nuTilda new file mode 100644 index 00000000000..a7cbaa3c858 --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/0.orig/nuTilda @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + side + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 0; + } + + outlet + { + type zeroGradient; + } + + walls + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/0.orig/nut b/tutorials/mesh/blockMesh/pipe/0.orig/nut new file mode 100644 index 00000000000..6d81e6a5d2e --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/0.orig/nut @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + side + { + type calculated; + value uniform 0; + } + + inlet + { + type calculated; + value uniform 0; + } + + outlet + { + type calculated; + value uniform 0; + } + + walls + { + type nutkWallFunction; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/0.orig/omega b/tutorials/mesh/blockMesh/pipe/0.orig/omega new file mode 100644 index 00000000000..dd8bde00665 --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/0.orig/omega @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object omega; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 440.15; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + side + { + type fixedValue; + value $internalField; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + walls + { + type omegaWallFunction; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/0.orig/p b/tutorials/mesh/blockMesh/pipe/0.orig/p new file mode 100644 index 00000000000..5deb51a1df2 --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/0.orig/p @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + side + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0; + } + + walls + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/Allclean b/tutorials/mesh/blockMesh/pipe/Allclean index d4f5975bc81..64435d02b14 100755 --- a/tutorials/mesh/blockMesh/pipe/Allclean +++ b/tutorials/mesh/blockMesh/pipe/Allclean @@ -5,6 +5,6 @@ cd "${0%/*}" || exit # Run from this directory cleanCase0 -rm -rf constant +rm -rf constant/geometry #------------------------------------------------------------------------------ diff --git a/tutorials/mesh/blockMesh/pipe/Allrun b/tutorials/mesh/blockMesh/pipe/Allrun index 9a4df7071b1..9c48a0769ce 100755 --- a/tutorials/mesh/blockMesh/pipe/Allrun +++ b/tutorials/mesh/blockMesh/pipe/Allrun @@ -11,4 +11,8 @@ cp -f \ runApplication blockMesh +restore0Dir + +runApplication $(getApplication) + #------------------------------------------------------------------------------ diff --git a/tutorials/mesh/blockMesh/pipe/constant/transportProperties b/tutorials/mesh/blockMesh/pipe/constant/transportProperties new file mode 100644 index 00000000000..4908cd4b363 --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/constant/transportProperties @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu 1e-05; + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/constant/turbulenceProperties b/tutorials/mesh/blockMesh/pipe/constant/turbulenceProperties new file mode 100644 index 00000000000..00ce4ad5f38 --- /dev/null +++ b/tutorials/mesh/blockMesh/pipe/constant/turbulenceProperties @@ -0,0 +1,31 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + // Tested with kEpsilon, realizableKE, kOmega, kOmegaSST, + // ShihQuadraticKE, LienCubicKE. + RASModel kEpsilon; + + turbulence on; + + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/system/controlDict b/tutorials/mesh/blockMesh/pipe/system/controlDict index 170175045a4..328116a5f1e 100644 --- a/tutorials/mesh/blockMesh/pipe/system/controlDict +++ b/tutorials/mesh/blockMesh/pipe/system/controlDict @@ -18,12 +18,13 @@ libs (blockMesh); DebugSwitches { -// project 1; -// searchableExtrudedCircle 1; -// projectCurve 1; + //project 1; + //searchableExtrudedCircle 1; + //projectCurve 1; + solution 1; } -application blockMesh; +application simpleFoam; startFrom startTime; @@ -31,13 +32,13 @@ startTime 0; stopAt endTime; -endTime 0; +endTime 100; -deltaT 0; +deltaT 1; writeControl timeStep; -writeInterval 1; +writeInterval 10; purgeWrite 0; @@ -53,5 +54,63 @@ timePrecision 6; runTimeModifiable true; +functions +{ + relaxationFactor + { + // Convoluted example - control relaxation factor + libs (utilityFunctionObjects); + type coded; + + name relaxationFactor; + + codeRead + #{ + const IOobject io + ( + "banana", + mesh().time().constant(), + mesh() + ); + + auto* ptr = const_cast<objectRegistry&>(io.db()). + findObject<uniformDimensionedScalarField>(io.name()); + if (!ptr) + { + Info<< "Registering relaxation factor " << io.name() << endl; + + ptr = new uniformDimensionedScalarField + ( + io, + dimless, + 0.80 + ); + ptr->store(); + } + #}; + + codeExecute + #{ + const IOobject io + ( + "banana", + mesh().time().constant(), + mesh() + ); + + auto& val = + io.db().lookupObjectRef<uniformDimensionedScalarField> + ( + io.name() + ); + + // Ramp a bit + val.value() = min(0.99, val.value()+0.01); + + Info<< "Set relaxation factor to " << val << endl; + #}; + } +} + // ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/system/fvSchemes b/tutorials/mesh/blockMesh/pipe/system/fvSchemes index e81493017ea..34b7d87bd9c 100644 --- a/tutorials/mesh/blockMesh/pipe/system/fvSchemes +++ b/tutorials/mesh/blockMesh/pipe/system/fvSchemes @@ -15,22 +15,49 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes -{} +{ + default steadyState; +} gradSchemes -{} +{ + default Gauss linear; +} divSchemes -{} +{ + default none; + + div(phi,U) bounded Gauss linearUpwind grad(U); + + turbulence bounded Gauss limitedLinear 1; + div(phi,k) $turbulence; + div(phi,epsilon) $turbulence; + div(phi,omega) $turbulence; + + div(nonlinearStress) Gauss linear; + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} laplacianSchemes -{} +{ + default Gauss linear corrected; +} interpolationSchemes -{} +{ + default linear; +} snGradSchemes -{} +{ + default corrected; +} + +wallDist +{ + method meshWave; +} // ************************************************************************* // diff --git a/tutorials/mesh/blockMesh/pipe/system/fvSolution b/tutorials/mesh/blockMesh/pipe/system/fvSolution index 2ede5a9ce0b..bcc0bcc3ccd 100644 --- a/tutorials/mesh/blockMesh/pipe/system/fvSolution +++ b/tutorials/mesh/blockMesh/pipe/system/fvSolution @@ -14,5 +14,60 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +solvers +{ + p + { + solver GAMG; + tolerance 1e-06; + relTol 0.1; + smoother GaussSeidel; + } + + "(U|k|epsilon|omega|f|v2)" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-05; + relTol 0.1; + } +} + +SIMPLE +{ + nNonOrthogonalCorrectors 0; + consistent yes; + + residualControl + { + p 1e-2; + U 1e-3; + "(k|epsilon|omega|f|v2)" 1e-3; + } +} + +relaxationFactors +{ + equations + { + //- Constant relaxation factor + //U 0.9; // 0.9 is more stable but 0.95 more convergent + + //- Control relaxation factor through time-based table + //U table + //( + // (0 0.7) + // (100 0.95) + //); + + //- Control relaxation factor through registered variable + //- (type uniformDimensionedScalarField) controlled by functionObject + U lookup; + name banana; + + ".*" 0.95; // 0.9 is more stable but 0.95 more convergent + } +} + // ************************************************************************* // -- GitLab From 056bb4f0a0354d45d14423de1f0266d3d89a8bf9 Mon Sep 17 00:00:00 2001 From: Mattijs Janssens <ext-mjanssens@esi-group.com> Date: Thu, 30 May 2024 15:15:56 +0000 Subject: [PATCH 178/231] FaceCellWave: travel through coupled ACMI. See #3139 --- .../polyPatches/polyPatch/polyPatch.C | 18 ++++++- .../polyPatches/polyPatch/polyPatch.H | 16 ++++-- ...ureForceBaffleVelocityFvPatchVectorField.C | 30 +++++++++++- .../wallDistAddressing/wallDistAddressing.C | 37 +++++++++----- .../inverseDistanceDiffusivity.C | 1 - .../inverseVolume/inverseVolumeDiffusivity.C | 1 - .../basic/InteractionLists/InteractionLists.C | 6 +-- .../cyclicACMIPolyPatch/cyclicACMIPolyPatch.C | 29 +++++++++-- .../algorithms/MeshWave/FaceCellWave.C | 11 ++++- src/meshTools/cellDist/cellDistFuncs.C | 49 +++++++++++++++---- .../cellDist/patchWave/patchDataWave.C | 46 ++++++++++------- .../cellDist/patchWave/patchDataWave.H | 4 +- src/meshTools/cellDist/patchWave/patchWave.C | 46 ++++++++--------- src/meshTools/cellDist/patchWave/patchWave.H | 4 +- 14 files changed, 212 insertions(+), 86 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C index 3f2530d6da8..bc132c24abe 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C @@ -350,13 +350,15 @@ Foam::tmp<Foam::vectorField> Foam::polyPatch::faceCellCentres() const } -Foam::tmp<Foam::scalarField> Foam::polyPatch::areaFraction() const +Foam::tmp<Foam::scalarField> Foam::polyPatch::areaFraction +( + const pointField& points +) const { auto tfraction = tmp<scalarField>::New(size()); auto& fraction = tfraction.ref(); const vectorField::subField faceAreas = this->faceAreas(); - const pointField& points = this->points(); forAll(*this, facei) { @@ -369,6 +371,18 @@ Foam::tmp<Foam::scalarField> Foam::polyPatch::areaFraction() const } +const Foam::tmp<Foam::scalarField>& Foam::polyPatch::areaFraction() const +{ + return areaFraction_; +} + + +void Foam::polyPatch::areaFraction(const tmp<scalarField>& fraction) +{ + areaFraction_ = fraction; +} + + const Foam::labelUList& Foam::polyPatch::faceCells() const { if (!faceCellsPtr_) diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H index c6761791975..49d2786bc07 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H @@ -88,6 +88,9 @@ class polyPatch //- Demand-driven: global edge addressing mutable std::unique_ptr<labelList> mePtr_; + //- Cached area fraction + tmp<scalarField> areaFraction_; + protected: @@ -441,9 +444,16 @@ public: //- Return face cell centres tmp<vectorField> faceCellCentres() const; - //- Return the area fraction as the ratio of the stored face area - //- and the area given by the face points - tmp<scalarField> areaFraction() const; + //- Calculate the area fraction as the ratio of the stored face + // area and the area given by the face points. + tmp<scalarField> areaFraction(const pointField& points) const; + + //- Return the cached area fraction. Usually only set for the + //- non-overlap patches on ACMI. + const tmp<scalarField>& areaFraction() const; + + //- Set cached area fraction + void areaFraction(const tmp<scalarField>&); // Addressing into mesh diff --git a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C index 6f2a9897680..cb80bf364a9 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C @@ -342,6 +342,7 @@ void Foam::activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs() ).neighbFvPatch().Sf(); } + // Update this wall patch vectorField::subField Sfw = patch().patch().faceAreas(); vectorField newSfw((1 - areaFraction)*initWallSf_); @@ -350,16 +351,41 @@ void Foam::activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs() Sfw[facei] = newSfw[facei]; } const_cast<scalarField&>(patch().magSf()) = mag(patch().Sf()); + // Cache fraction + const_cast<polyPatch&>(patch().patch()).areaFraction + ( + tmp<scalarField>::New + ( + patch().patch().size(), + (1-areaFraction) + ) + ); + // Update owner side of cyclic const_cast<vectorField&>(cyclicPatch.Sf()) = areaFraction*initCyclicSf_; - const_cast<scalarField&>(cyclicPatch.magSf()) = mag(cyclicPatch.Sf()); + const_cast<polyPatch&>(cyclicPatch.patch()).areaFraction + ( + tmp<scalarField>::New + ( + cyclicPatch.patch().size(), + areaFraction + ) + ); + // Update neighbour side of cyclic const_cast<vectorField&>(nbrPatch.Sf()) = areaFraction*nbrCyclicSf_; - const_cast<scalarField&>(nbrPatch.magSf()) = mag(nbrPatch.Sf()); + const_cast<polyPatch&>(cyclicPatch.patch()).areaFraction + ( + tmp<scalarField>::New + ( + nbrPatch.patch().size(), + areaFraction + ) + ); curTimeIndex_ = this->db().time().timeIndex(); } diff --git a/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C b/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C index 653079e98e3..67a20853af9 100644 --- a/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C +++ b/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -146,29 +146,40 @@ void Foam::wallDistAddressing::correct(volScalarField& y) globalWallsPtr_.reset(new globalIndex(nWalls)); const globalIndex& globalWalls = globalWallsPtr_(); - labelList seedFaces(nWalls); - List<wallPointAddressing> seedInfo(nWalls); + DynamicList<label> seedFaces(nWalls); + DynamicList<wallPointAddressing> seedInfo(nWalls); nWalls = 0; for (const label patchi : patchIDs_) { const auto& fc = C.boundaryField()[patchi]; + const auto& areaFraction = fc.patch().patch().areaFraction(); forAll(fc, patchFacei) { - seedFaces[nWalls] = fc.patch().start()+patchFacei; - seedInfo[nWalls] = wallPointAddressing + if ( - fc[patchFacei], - gt.encode + !areaFraction + || (areaFraction()[patchFacei] > 0.5) // mostly wall + ) + { + seedFaces.append(fc.patch().start()+patchFacei); + seedInfo.append ( - Pstream::myProcNo(), - nWalls, - gt.nullTransformIndex() - ), - scalar(0.0) - ); + wallPointAddressing + ( + fc[patchFacei], + gt.encode + ( + Pstream::myProcNo(), + nWalls, + gt.nullTransformIndex() + ), + scalar(0.0) + ) + ); + } nWalls++; } } diff --git a/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C b/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C index f023d3c46a7..6eea2f76757 100644 --- a/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C +++ b/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C @@ -28,7 +28,6 @@ License #include "inverseDistanceDiffusivity.H" #include "addToRunTimeSelectionTable.H" -#include "patchWave.H" #include "HashSet.H" #include "surfaceInterpolate.H" #include "zeroGradientFvPatchFields.H" diff --git a/src/fvMotionSolver/motionDiffusivity/inverseVolume/inverseVolumeDiffusivity.C b/src/fvMotionSolver/motionDiffusivity/inverseVolume/inverseVolumeDiffusivity.C index ff0582a84e4..49a6c7694f7 100644 --- a/src/fvMotionSolver/motionDiffusivity/inverseVolume/inverseVolumeDiffusivity.C +++ b/src/fvMotionSolver/motionDiffusivity/inverseVolume/inverseVolumeDiffusivity.C @@ -27,7 +27,6 @@ License #include "inverseVolumeDiffusivity.H" #include "addToRunTimeSelectionTable.H" -#include "patchWave.H" #include "HashSet.H" #include "surfaceInterpolate.H" #include "zeroGradientFvPatchFields.H" diff --git a/src/lagrangian/basic/InteractionLists/InteractionLists.C b/src/lagrangian/basic/InteractionLists/InteractionLists.C index 8bbd96b67b6..edae174aa47 100644 --- a/src/lagrangian/basic/InteractionLists/InteractionLists.C +++ b/src/lagrangian/basic/InteractionLists/InteractionLists.C @@ -299,11 +299,11 @@ void Foam::InteractionLists<ParticleType>::buildInteractionLists() { if (isA<wallPolyPatch>(patch)) { - const scalarField areaFraction(patch.areaFraction()); + const auto& areaFraction = patch.areaFraction(); - forAll(areaFraction, facei) + forAll(patch, facei) { - if (areaFraction[facei] > 0.5) + if (!areaFraction || areaFraction()[facei] > 0.5) { localWallFaces.append(facei + patch.start()); } diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C index 4a7452e93a0..404f19f6716 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C +++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2013-2016 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -217,10 +217,24 @@ void Foam::cyclicACMIPolyPatch::scalePatchFaceAreas return; } - forAll(noSf, facei) { - const scalar w = min(maxTol, max(tolerance_, mask[facei])); - noSf[facei] = noFaceArea[facei]*(scalar(1) - w); + tmp<scalarField> scale + ( + scalar(1) + - min + ( + max(mask, tolerance_), + maxTol + ) + ); + + // Scale area + forAll(noSf, facei) + { + noSf[facei] = noFaceArea[facei]*scale()[facei]; + } + // Cache scaling + const_cast<polyPatch&>(nonOverlapPatch).areaFraction(scale); } if (!createAMIFaces_) @@ -235,10 +249,15 @@ void Foam::cyclicACMIPolyPatch::scalePatchFaceAreas // Scale the coupled patch face areas vectorField::subField Sf = acmipp.faceAreas(); + tmp<scalarField> scale(max(tolerance_, mask)); + + // Scale area forAll(Sf, facei) { - Sf[facei] = faceArea[facei]*max(tolerance_, mask[facei]); + Sf[facei] = faceArea[facei]*scale()[facei]; } + // Cache scaling + const_cast<cyclicACMIPolyPatch&>(acmipp).areaFraction(scale); // Re-normalise the weights since the effect of overlap is already // accounted for in the area diff --git a/src/meshTools/algorithms/MeshWave/FaceCellWave.C b/src/meshTools/algorithms/MeshWave/FaceCellWave.C index a5487c290ab..b96792829bb 100644 --- a/src/meshTools/algorithms/MeshWave/FaceCellWave.C +++ b/src/meshTools/algorithms/MeshWave/FaceCellWave.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -821,8 +821,17 @@ void Foam::FaceCellWave<Type, TrackingData>::handleAMICyclicPatches() } // Merge into global storage + + const auto& areaFraction = patch.areaFraction(); + forAll(receiveInfo, i) { + if (areaFraction && areaFraction()[i] <= 0.5) + { + // not coupled + continue; + } + const label meshFacei = cycPatch.start()+i; const Type& newInfo = receiveInfo[i]; diff --git a/src/meshTools/cellDist/cellDistFuncs.C b/src/meshTools/cellDist/cellDistFuncs.C index 301354bc601..1b064dc391c 100644 --- a/src/meshTools/cellDist/cellDistFuncs.C +++ b/src/meshTools/cellDist/cellDistFuncs.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -235,6 +235,8 @@ void Foam::cellDistFuncs::correctBoundaryFaceCells Map<label>& nearestFace ) const { + const auto& pbm = mesh().boundaryMesh(); + // Size neighbours array for maximum possible (= size of largest patch) DynamicList<label> neighbours(maxPatchSize(patchIDs)); @@ -242,15 +244,22 @@ void Foam::cellDistFuncs::correctBoundaryFaceCells const vectorField& cellCentres = mesh().cellCentres(); const labelList& faceOwner = mesh().faceOwner(); - forAll(mesh().boundaryMesh(), patchi) + forAll(pbm, patchi) { if (patchIDs.found(patchi)) { - const polyPatch& patch = mesh().boundaryMesh()[patchi]; + const polyPatch& patch = pbm[patchi]; + const auto& areaFraction = patch.areaFraction(); // Check cells with face on wall forAll(patch, patchFacei) { + if (areaFraction && (areaFraction()[patchFacei] <= 0.5)) + { + // is mostly coupled + continue; + } + getPointNeighbours(patch, patchFacei, neighbours); label celli = faceOwner[patch.start() + patchFacei]; @@ -283,20 +292,42 @@ void Foam::cellDistFuncs::correctBoundaryPointCells { // Correct all (non-visited) cells with point on wall + const auto& pbm = mesh().boundaryMesh(); const vectorField& cellCentres = mesh().cellCentres(); - forAll(mesh().boundaryMesh(), patchi) + forAll(pbm, patchi) { if (patchIDs.found(patchi)) { - const polyPatch& patch = mesh().boundaryMesh()[patchi]; - + const polyPatch& patch = pbm[patchi]; + const auto& localFaces = patch.localFaces(); const labelList& meshPoints = patch.meshPoints(); const labelListList& pointFaces = patch.pointFaces(); - forAll(meshPoints, meshPointi) + bitSet isWallPoint(meshPoints.size(), true); { - const label vertI = meshPoints[meshPointi]; + const auto& areaFraction = patch.areaFraction(); + + // Check cells with face on wall + forAll(patch, patchFacei) + { + if (!areaFraction || (areaFraction()[patchFacei] <= 0.5)) + { + // face mostly coupled + isWallPoint.unset(localFaces[patchFacei]); + } + } + } + + + forAll(meshPoints, patchPointi) + { + const label vertI = meshPoints[patchPointi]; + + if (!isWallPoint[patchPointi]) + { + continue; + } const labelList& neighbours = mesh().pointCells(vertI); @@ -304,7 +335,7 @@ void Foam::cellDistFuncs::correctBoundaryPointCells { if (!nearestFace.found(celli)) { - const labelList& wallFaces = pointFaces[meshPointi]; + const labelList& wallFaces = pointFaces[patchPointi]; label minFacei = -1; diff --git a/src/meshTools/cellDist/patchWave/patchDataWave.C b/src/meshTools/cellDist/patchWave/patchDataWave.C index dfa48df725e..293018e8d91 100644 --- a/src/meshTools/cellDist/patchWave/patchDataWave.C +++ b/src/meshTools/cellDist/patchWave/patchDataWave.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,37 +41,45 @@ template<class TransferType, class TrackingData> void Foam::patchDataWave<TransferType, TrackingData>::setChangedFaces ( const labelHashSet& patchIDs, - labelList& changedFaces, - List<TransferType>& faceDist + DynamicList<label>& changedFaces, + DynamicList<TransferType>& faceDist ) const { const polyMesh& mesh = cellDistFuncs::mesh(); - label nChangedFaces = 0; - forAll(mesh.boundaryMesh(), patchi) { if (patchIDs.found(patchi)) { const polyPatch& patch = mesh.boundaryMesh()[patchi]; - const Field<Type>& patchField = initialPatchValuePtrs_[patchi]; + const auto& areaFraction = patch.areaFraction(); - forAll(patch.faceCentres(), patchFacei) - { - label meshFacei = patch.start() + patchFacei; + const auto faceCentres(patch.faceCentres()); - changedFaces[nChangedFaces] = meshFacei; + const Field<Type>& patchField = initialPatchValuePtrs_[patchi]; - faceDist[nChangedFaces] = - TransferType + forAll(faceCentres, patchFacei) + { + if + ( + !areaFraction + || (areaFraction()[patchFacei] > 0.5) // mostly wall + ) + { + label meshFacei = patch.start() + patchFacei; + changedFaces.append(meshFacei); + + faceDist.append ( - patch.faceCentres()[patchFacei], - patchField[patchFacei], - 0.0 + TransferType + ( + faceCentres[patchFacei], + patchField[patchFacei], + 0.0 + ) ); - - nChangedFaces++; + } } } } @@ -222,8 +230,8 @@ void Foam::patchDataWave<TransferType, TrackingData>::correct() // Count walls label nWalls = sumPatchSize(patchIDs_); - List<TransferType> faceDist(nWalls); - labelList changedFaces(nWalls); + DynamicList<TransferType> faceDist(nWalls); + DynamicList<label> changedFaces(nWalls); setChangedFaces(patchIDs_, changedFaces, faceDist); diff --git a/src/meshTools/cellDist/patchWave/patchDataWave.H b/src/meshTools/cellDist/patchWave/patchDataWave.H index f7f79707e57..764efcd46b8 100644 --- a/src/meshTools/cellDist/patchWave/patchDataWave.H +++ b/src/meshTools/cellDist/patchWave/patchDataWave.H @@ -115,8 +115,8 @@ private: void setChangedFaces ( const labelHashSet& patchIDs, - labelList&, - List<TransferType>& + DynamicList<label>& changedFaces, + DynamicList<TransferType>& faceDist ) const; //- Copy MeshWave values into *this diff --git a/src/meshTools/cellDist/patchWave/patchWave.C b/src/meshTools/cellDist/patchWave/patchWave.C index 6f07859038f..e8d583fb238 100644 --- a/src/meshTools/cellDist/patchWave/patchWave.C +++ b/src/meshTools/cellDist/patchWave/patchWave.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation + Copyright (C) 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,50 +36,49 @@ License void Foam::patchWave::setChangedFaces ( const labelHashSet& patchIDs, - labelList& changedFaces, - List<wallPoint>& faceDist + DynamicList<label>& changedFaces, + DynamicList<wallPoint>& faceDist ) const { const polyMesh& mesh = cellDistFuncs::mesh(); - label nChangedFaces = 0; - forAll(mesh.boundaryMesh(), patchi) { if (patchIDs.found(patchi)) { const polyPatch& patch = mesh.boundaryMesh()[patchi]; - forAll(patch.faceCentres(), patchFacei) - { - label meshFacei = patch.start() + patchFacei; - - changedFaces[nChangedFaces] = meshFacei; + const auto& areaFraction = patch.areaFraction(); - faceDist[nChangedFaces] = - wallPoint - ( - patch.faceCentres()[patchFacei], - 0.0 - ); + const auto faceCentres(patch.faceCentres()); - nChangedFaces++; + forAll(faceCentres, patchFacei) + { + if + ( + !areaFraction + || (areaFraction()[patchFacei] > 0.5) // mostly wall + ) + { + changedFaces.append(patch.start() + patchFacei); + faceDist.append(wallPoint(faceCentres[patchFacei], 0.0)); + } } } } for (const label facei : sourceIDs_) { - changedFaces[nChangedFaces] = facei; + changedFaces.append(facei); - faceDist[nChangedFaces] = + faceDist.append + ( wallPoint ( mesh.faceCentres()[facei], 0.0 - ); - - nChangedFaces++; + ) + ); } } @@ -181,8 +181,8 @@ void Foam::patchWave::correct() label nPatch = sumPatchSize(patchIDs_) + sourceIDs_.size(); - List<wallPoint> faceDist(nPatch); - labelList changedFaces(nPatch); + DynamicList<wallPoint> faceDist(nPatch); + DynamicList<label> changedFaces(nPatch); // Set to faceDist information to facecentre on walls. setChangedFaces(patchIDs_, changedFaces, faceDist); diff --git a/src/meshTools/cellDist/patchWave/patchWave.H b/src/meshTools/cellDist/patchWave/patchWave.H index d7259d78a18..a99f05aa564 100644 --- a/src/meshTools/cellDist/patchWave/patchWave.H +++ b/src/meshTools/cellDist/patchWave/patchWave.H @@ -89,8 +89,8 @@ class patchWave void setChangedFaces ( const labelHashSet& patchIDs, - labelList& changedFaces, - List<wallPoint>& changedInfo + DynamicList<label>& changedFaces, + DynamicList<wallPoint>& faceDist ) const; //- Copy MeshWave cell values. Return number of illegal/unset -- GitLab From 01f501e8e772f0eeeedb2c20585cb8723fccd6a9 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 30 May 2024 17:30:25 +0100 Subject: [PATCH 179/231] CONFIG: increment API level to 2403 --- META-INFO/api-info | 2 +- wmake/rules/General/general | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/META-INFO/api-info b/META-INFO/api-info index e6c2adb5383..f2dc945939c 100644 --- a/META-INFO/api-info +++ b/META-INFO/api-info @@ -1,2 +1,2 @@ -api=2402 +api=2403 patch=240522 diff --git a/wmake/rules/General/general b/wmake/rules/General/general index 7d7ff8d3da4..d9667f9006d 100644 --- a/wmake/rules/General/general +++ b/wmake/rules/General/general @@ -1,5 +1,5 @@ #-------------------------------*- makefile -*--------------------------------- -WM_VERSION = OPENFOAM=2402 +WM_VERSION = OPENFOAM=2403 AR = ar ARFLAGS = cr -- GitLab From 74e118dd32c93969a1ed45d24a029d4b982bc4b2 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 31 May 2024 12:08:22 +0100 Subject: [PATCH 180/231] SUBMODULE: relocate community repos into plugins/ directory - new landing place for general community repositories --- .gitmodules | 6 +- plugins/Allwmake | 42 +++++++ plugins/README.md | 134 ++++++++++++++++++++++ {modules => plugins}/avalanche | 0 {modules => plugins}/cfmesh | 0 plugins/list-plugins | 85 ++++++++++++++ {modules => plugins}/turbulence-community | 0 7 files changed, 264 insertions(+), 3 deletions(-) create mode 100755 plugins/Allwmake create mode 100644 plugins/README.md rename {modules => plugins}/avalanche (100%) rename {modules => plugins}/cfmesh (100%) create mode 100755 plugins/list-plugins rename {modules => plugins}/turbulence-community (100%) diff --git a/.gitmodules b/.gitmodules index b6c563fa581..d15f331dd6a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,8 +1,8 @@ [submodule "cfmesh"] - path = modules/cfmesh + path = plugins/cfmesh url = https://develop.openfoam.com/Community/integration-cfmesh.git [submodule "avalanche"] - path = modules/avalanche + path = plugins/avalanche url = https://develop.openfoam.com/Community/avalanche.git [submodule "adios"] path = modules/adios @@ -18,5 +18,5 @@ path = modules/external-solver url = https://develop.openfoam.com/Modules/external-solver.git [submodule "turbulence-community"] - path = modules/turbulence-community + path = plugins/turbulence-community url = https://gitlab.com/openfoam/community/tc-turbulence/turbulence-community.git diff --git a/plugins/Allwmake b/plugins/Allwmake new file mode 100755 index 00000000000..be14fcecb5f --- /dev/null +++ b/plugins/Allwmake @@ -0,0 +1,42 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +targetType=libso +. "${WM_PROJECT_DIR:?}"/wmake/scripts/AllwmakeParseArguments + +#------------------------------------------------------------------------------ +# Default build into OpenFOAM project locations unless specified with +# -prefix or FOAM_MODULE_PREFIX env varable + +# Long form to avoid dash 0.5.8 error (issue #1757) +[ -n "$FOAM_MODULE_PREFIX" ] || FOAM_MODULE_PREFIX="${FOAM_LIBBIN%/*}" +export FOAM_MODULE_PREFIX + +echo "========================================" +case "$FOAM_MODULE_PREFIX" in +(false | none) + echo "OpenFOAM modules disabled (prefix=${FOAM_MODULE_PREFIX})" + echo + exit 0 +esac + +echo "prefix = $FOAM_MODULE_PREFIX" +echo +echo " ignoring possible compilation errors" +echo " make certain to check the output file" +echo +set +e +export WM_CONTINUE_ON_ERROR=true + +#------------------------------------------------------------------------------ + +for name in $(./list-plugins) +do + if [ -d "$name" ] + then + # Use wmake -all instead of Allwmake to allow for overrides + ( cd "$name" && wmake -all $targetType ) + fi +done + + +#------------------------------------------------------------------------------ diff --git a/plugins/README.md b/plugins/README.md new file mode 100644 index 00000000000..46e44b7c7da --- /dev/null +++ b/plugins/README.md @@ -0,0 +1,134 @@ +[[_TOC_]] + +## OpenFOAM Plugins + +This directory is a location for additional OpenFOAM components or +tools to placed and have them built as part of the normal OpenFOAM +build process. It is assumed that each subdirectory contain an +appropriate `Allwmake` (or `Allwmake.override`) file. + +### How to use + +On the first use, you need to register the submodules, and then update them. +You can execute both steps for all the available submodules (including the +nested ones) as follows while you are at `$WM_PROJECT_DIR`: + +```bash +cd $WM_PROJECT_DIR + +git submodule update --init --recursive +``` + +Executing this single-line command clones all the submodules from their +respective repositories and prepares them for compilation. Note that you can +also make only a certain group of submodules ready by explicitly specifying the +requested submodules' names at the end of the command above. For example, if +you would like to use only the `turbulence-community` submodule, you specify: + +```bash +git submodule update --init --recursive plugins/turbulence-community +``` + +You can display information about the status of submodules as follows: + +```bash +git submodule status --recursive +``` + +An easy way to see which submodules are actually in use: + +```bash +cat .gitmodules +``` + +Which will reveal content resembling the following: +``` +[submodule "xyz"] + path = plugins/xyz + url = ... +... +``` + +If you need to remove a specific submodule or wish to restart the process, +you can simply carry out the task as follows: + +```bash +git submodule deinit plugins/turbulence-community +``` + +This command deregisters the specified submodule and clears the +`plugins/turbulence-community` directory. + +A quick overview of `git submodules` can be found in this +[*blog*][blog git-submodule] with full details in the +[*manpage*][man git-submodule]. + +### Build locations + +Any individual _plugin_ will normally also be able to exist outside of +the plugins directory structure and will typically build into user +locations (`$FOAM_USER_APPBIN`, `$FOAM_USER_LIBBIN`). + +When compiled from the top-level OpenFOAM `Allwmake` or the +`plugins/Allwmake`, they should build into OpenFOAM project locations +(`$FOAM_APPBIN`, `$FOAM_LIBBIN`). This can be adjusted by +supplying an alternative `-prefix=` to the corresponding Allwmake +command. + +| Command | Install location | +|------------|------------------| +| ./Allwmake -prefix=user | `$FOAM_USER_APPBIN`, `$FOAM_USER_LIBBIN` | +| ./Allwmake -prefix=group | `$FOAM_SITE_APPBIN`, `$FOAM_SITE_LIBBIN` | +| ./Allwmake -prefix=openfoam | `$FOAM_APPBIN`, `$FOAM_LIBBIN` | +| ./Allwmake -prefix=/some/pathname | `/some/pathname/bin`, `/some/pathname/lib` | + +### Documentation (doxygen) + +To build the doxygen information for the components, it is also +necessary to link the directories to the doc/ subdirectory. +This is a purely manual operation. + +### Developer Information + +#### Build locations + +To accomodate building into various locations, the plugin code should +be adapted with the following changes: + +- ***Make/files*** + ``` + ... + EXE = $(FOAM_MODULE_APPBIN)/someExecutable + + LIB = $(FOAM_MODULE_LIBBIN)/libSomeLibrary + ``` + +- `Make/options` should include this + ``` + include $(GENERAL_RULES)/module-path-user + ... + ``` + +The following changes to `Make/options` are universally applicable +(ie, work with older or other versions of OpenFOAM), but more verbose. + +- `Make/options` with the following + ``` + sinclude $(GENERAL_RULES)/module-path-user + + /* Failsafe - user locations */ + ifeq (,$(FOAM_MODULE_APPBIN)) + FOAM_MODULE_APPBIN = $(FOAM_USER_APPBIN) + endif + ifeq (,$(FOAM_MODULE_LIBBIN)) + FOAM_MODULE_LIBBIN = $(FOAM_USER_LIBBIN) + endif + ... + ``` + +<!-- General Information --> + +[man git-submodule]: https://git-scm.com/docs/git-submodule +[blog git-submodule]: http://blog.joncairns.com/2011/10/how-to-use-git-submodules/ + +--- diff --git a/modules/avalanche b/plugins/avalanche similarity index 100% rename from modules/avalanche rename to plugins/avalanche diff --git a/modules/cfmesh b/plugins/cfmesh similarity index 100% rename from modules/cfmesh rename to plugins/cfmesh diff --git a/plugins/list-plugins b/plugins/list-plugins new file mode 100755 index 00000000000..27dba5068f9 --- /dev/null +++ b/plugins/list-plugins @@ -0,0 +1,85 @@ +#!/bin/sh +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | www.openfoam.com +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# Copyright (C) 2020 OpenCFD Ltd. +#------------------------------------------------------------------------------ +# SPDX-License-Identifier: (GPL-3.0-or-later) +# +# Script +# list-modules +# +# Description +# List module directories +# - each first-level directory with an Allwmake file +# +#------------------------------------------------------------------------------ +cd "${0%/*}" || exit # Run from this directory + +printHelp() { + cat<< HELP 1>&2 + +Usage: ${0##*/} [OPTION] +options: + -help Display help and exit + +List module directories - each first-level directory with an Allwmake file + +HELP + + exit 0 # A clean exit +} + +# Report error and exit +die() +{ + exec 1>&2 + echo + echo "Error encountered:" + while [ "$#" -ge 1 ]; do echo " $1"; shift; done + echo + echo "See '${0##*/} -help' for usage" + echo + exit 1 +} + +#------------------------------------------------------------------------------ + +# Parse options +while [ "$#" -gt 0 ] +do + case "$1" in + -h | -help*) # Short help + printHelp + ;; + + *) + die "Unknown option/argument: '$1'" + ;; + esac + shift +done + + +# Each first-level directory with an Allwmake file +for moduleName in * +do + if [ -f "$moduleName/Allwmake" ] + then + case "$moduleName" in + # Skip some directory names + (build | doc | platform*) + ;; + (*) + echo "$moduleName" + ;; + esac + fi +done + + +#------------------------------------------------------------------------------ diff --git a/modules/turbulence-community b/plugins/turbulence-community similarity index 100% rename from modules/turbulence-community rename to plugins/turbulence-community -- GitLab From 5015883c010e1c73c545ad091f45ae3bb3f1b57f Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 31 May 2024 12:40:07 +0100 Subject: [PATCH 181/231] CONFIG: Updated foamPackRelease for plugins directory support --- bin/tools/foamPackRelease | 59 +++++++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/bin/tools/foamPackRelease b/bin/tools/foamPackRelease index 399de71428e..570b7b18d3b 100755 --- a/bin/tools/foamPackRelease +++ b/bin/tools/foamPackRelease @@ -49,6 +49,7 @@ options: -output=DIR Output directory (default: ".") -prefix=NAME Prefix directory within tar-file (default: auto) -pkg-modules Only package submodules - exclude OpenFOAM + -pkg-plugins Only package plugins - exclude OpenFOAM -no-modules Exclude submodules -no-patch Ignore '_patch' number for output tar-file -no-prefix Do not prefix subdirectory @@ -93,7 +94,7 @@ die() outputDir="." versionSeparator='_' withPatchNum=true -unset compress packageApi withSource withModules prefixDir tarName +unset compress packageApi withSource withModules withPlugins prefixDir tarName unset gitbase # Cleanup tarName to remove trailing '.tar', detect compression etc @@ -148,10 +149,17 @@ do ;; -pkg-modules) withModules=true + withPlugins=false withSource=false ;; - -no-modules) + -pkg-plugins) withModules=false + withPlugins=true + withSource=false + ;; + -no-modules | -no-plugins) + withModules=false + withPlugins=false withSource=true ;; -no-patch) @@ -293,7 +301,12 @@ then prefixDir="OpenFOAM-v${packageApi}" if [ "$withSource" = false ] then - prefixDir="OpenFOAM-modules-v${packageApi}" + if [ "$withPlugins" = true ] + then + prefixDir="OpenFOAM-plugins-v${packageApi}" + else + prefixDir="OpenFOAM-modules-v${packageApi}" + fi fi elif [ "$prefixDir" = false ] then @@ -322,7 +335,12 @@ case "$tarName" in tarName="OpenFOAM-v${packageApi}" if [ "$withSource" = false ] then - tarName="OpenFOAM-modules-v${packageApi}" + if [ "$withPlugins" = true ] + then + tarName="OpenFOAM-plugins-v${packageApi}" + else + tarName="OpenFOAM-modules-v${packageApi}" + fi fi if [ "$withPatchNum" = false ] @@ -363,6 +381,7 @@ echo echo 'buildInfo="${prefixDir}${prefixDir:+@}META-INFO@build-info"' echo 'manifest0="${prefixDir}${prefixDir:+@}META-INFO@manifest.txt"' echo 'manifest1="${prefixDir}${prefixDir:+@}META-INFO@modules-manifest.txt"' +echo 'manifest2="${prefixDir}${prefixDir:+@}META-INFO@plugins-manifest.txt"' echo '#--------' #------------------------------------------------------------------------------ @@ -373,6 +392,12 @@ then echo 'unset manifest1' fi +if [ "$withPlugins" = false ] +then + echo '# No plugins' + echo 'unset manifest2' +fi + if [ "$withSource" = false ] then echo '# No OpenFOAM source (package modules exclusively)' @@ -489,6 +514,30 @@ then echo '{ echo; echo "# End"; } >> "$outputDir/$manifest1"' fi +if [ "$withPlugins" != false ] +then + echo + echo '# Plugins' + echo '{' + echo ' echo "# OpenFOAM plugins"' + echo ' echo api="$api"' + echo ' echo patch="$patch"' + echo ' echo head="$head"' + echo '} > "$outputDir/$manifest2"' + + # HACK + echo 'oldManifest1="$manifest1"' + echo 'manifest1="$manifest2"' + + packModule plugins + + # HACK RESTORE + echo 'manifest1="$oldManifest1"' + + echo + echo '{ echo; echo "# End"; } >> "$outputDir/$manifest2"' +fi + #------------------------------------------------------------------------------ # Add in build-info and manifest files # Decode '@' in the names as '/' directory separator @@ -497,7 +546,7 @@ echo echo "echo 'Adding build-info and manifest files'" echo 'if pushd "$outputDir"; then' echo "tar --owner=root --group=root --append --transform='s|@|/|g' -v -f \"\$tarName.tar\" \"\$buildInfo\" \"\$manifest0\" \"\$manifest1\"" -echo 'rm -f "$buildInfo" "$manifest0" "$manifest1"' +echo 'rm -f "$buildInfo" "$manifest0" "$manifest1" "$manifest2"' echo 'popd; fi' echo -- GitLab From 2d52ee13b1df519057cd52c0aee65894f5cb5f59 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 31 May 2024 14:28:18 +0100 Subject: [PATCH 182/231] ENH: icoReactingMultiphaseInterFoam - added frozenFlow option. Fixes #3128 --- .../icoReactingMultiphaseInterFoam.C | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C index b58ceb5c945..2f182b5aa07 100644 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C @@ -130,10 +130,17 @@ int main(int argc, char *argv[]) } } } - #include "UEqn.H" + #include "YEqns.H" #include "TEqn.H" + if (pimple.frozenFlow()) + { + continue; + } + + #include "UEqn.H" + // --- Pressure corrector loop while (pimple.correct()) { -- GitLab From e9cf0fba053e6a15071425da13502f1da6ffb9c5 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 31 May 2024 16:47:54 +0100 Subject: [PATCH 183/231] SUBMODULE: update for visualization --- modules/visualization | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/visualization b/modules/visualization index d2c5f853506..e9d400b5cda 160000 --- a/modules/visualization +++ b/modules/visualization @@ -1 +1 @@ -Subproject commit d2c5f853506209aca75100a3f8c892aaace19412 +Subproject commit e9d400b5cda290ca3cfba1a04bd915846925fd36 -- GitLab From 323149ad24de3bca6b0f1b491b9099898669b763 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 31 May 2024 12:42:52 +0100 Subject: [PATCH 184/231] COMP: stray 'inline' prefix, explicit constructor for UniformDimensionedField STYLE: getObjectPtr instead of const_cast version --- .../UniformDimensionedFields/UniformDimensionedField.H | 6 +++--- .../expressions/PatchFunction1/lookup/Lookup.C | 4 ++-- tutorials/mesh/blockMesh/pipe/system/controlDict | 9 +++++---- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H index c970ca0c413..58c9dbee750 100644 --- a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H +++ b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H @@ -100,8 +100,8 @@ public: //- Construct as copy UniformDimensionedField(const UniformDimensionedField<Type>&); - //- Construct from Istream - UniformDimensionedField(const IOobject& io); + //- Construct from IOobject. Either reads or sets dimensionless zero + explicit UniformDimensionedField(const IOobject& io); //- Destructor @@ -129,7 +129,7 @@ public: } //- Return complete path + object name if the file exists - // either in the case/processor or case otherwise null + //- either in the case/processor or case otherwise null virtual fileName filePath() const { return globalFilePath(type()); diff --git a/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.C b/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.C index 9187277e3ee..322a4faf5bf 100644 --- a/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.C +++ b/src/finiteVolume/expressions/PatchFunction1/lookup/Lookup.C @@ -53,7 +53,7 @@ Foam::Function1Types::Lookup<Type>::Lookup(const Lookup<Type>& rhs) // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> -inline Type Foam::Function1Types::Lookup<Type>::value(const scalar t) const +Type Foam::Function1Types::Lookup<Type>::value(const scalar t) const { const objectRegistry& db = function1Base::obr(); const auto& obj = @@ -64,7 +64,7 @@ inline Type Foam::Function1Types::Lookup<Type>::value(const scalar t) const template<class Type> -inline Type Foam::Function1Types::Lookup<Type>::integrate +Type Foam::Function1Types::Lookup<Type>::integrate ( const scalar t1, const scalar t2 diff --git a/tutorials/mesh/blockMesh/pipe/system/controlDict b/tutorials/mesh/blockMesh/pipe/system/controlDict index 328116a5f1e..8f5f925fa62 100644 --- a/tutorials/mesh/blockMesh/pipe/system/controlDict +++ b/tutorials/mesh/blockMesh/pipe/system/controlDict @@ -70,11 +70,12 @@ functions ( "banana", mesh().time().constant(), - mesh() + mesh().thisDb() ); - auto* ptr = const_cast<objectRegistry&>(io.db()). - findObject<uniformDimensionedScalarField>(io.name()); + auto* ptr = + io.db().getObjectPtr<uniformDimensionedScalarField>(io.name()); + if (!ptr) { Info<< "Registering relaxation factor " << io.name() << endl; @@ -95,7 +96,7 @@ functions ( "banana", mesh().time().constant(), - mesh() + mesh().thisDb() ); auto& val = -- GitLab From c61466b6e524955e46595531f24166d21544e893 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 31 May 2024 12:42:52 +0100 Subject: [PATCH 185/231] ENH: polyPatch cached areaFraction setter with uniform fraction STYLE: polyPatch cached areaFraction as std::unique_ptr - more consistent with other demand-driven data. Getter now returns tmp field instead of const reference. --- .../polyPatches/polyPatch/polyPatch.C | 60 ++++++++++--------- .../polyPatches/polyPatch/polyPatch.H | 19 +++--- ...ureForceBaffleVelocityFvPatchVectorField.C | 41 +++---------- .../wallDistAddressing/wallDistAddressing.C | 2 +- .../basic/InteractionLists/InteractionLists.C | 2 +- .../cyclicAMIPolyPatch/cyclicAMIPolyPatch.C | 12 ++-- .../algorithms/MeshWave/FaceCellWave.C | 2 +- src/meshTools/cellDist/cellDistFuncs.C | 4 +- .../cellDist/patchWave/patchDataWave.C | 2 +- src/meshTools/cellDist/patchWave/patchWave.C | 2 +- 10 files changed, 63 insertions(+), 83 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C index bc132c24abe..db304f4b2ec 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2023 OpenCFD Ltd. + Copyright (C) 2018-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -95,9 +95,7 @@ Foam::polyPatch::polyPatch bm.mesh().points() ), start_(start), - boundaryMesh_(bm), - faceCellsPtr_(nullptr), - mePtr_(nullptr) + boundaryMesh_(bm) { if (constraintType(patchType)) { @@ -124,9 +122,7 @@ Foam::polyPatch::polyPatch bm.mesh().points() ), start_(start), - boundaryMesh_(bm), - faceCellsPtr_(nullptr), - mePtr_(nullptr) + boundaryMesh_(bm) {} @@ -151,9 +147,7 @@ Foam::polyPatch::polyPatch bm.mesh().points() ), start_(dict.get<label>("startFace")), - boundaryMesh_(bm), - faceCellsPtr_(nullptr), - mePtr_(nullptr) + boundaryMesh_(bm) { if (constraintType(patchType)) { @@ -180,9 +174,7 @@ Foam::polyPatch::polyPatch bm.mesh().points() ), start_(pp.start()), - boundaryMesh_(bm), - faceCellsPtr_(nullptr), - mePtr_(nullptr) + boundaryMesh_(bm) {} @@ -207,9 +199,7 @@ Foam::polyPatch::polyPatch bm.mesh().points() ), start_(newStart), - boundaryMesh_(bm), - faceCellsPtr_(nullptr), - mePtr_(nullptr) + boundaryMesh_(bm) {} @@ -234,9 +224,7 @@ Foam::polyPatch::polyPatch bm.mesh().points() ), start_(newStart), - boundaryMesh_(bm), - faceCellsPtr_(nullptr), - mePtr_(nullptr) + boundaryMesh_(bm) {} @@ -245,9 +233,7 @@ Foam::polyPatch::polyPatch(const polyPatch& p) patchIdentifier(p), primitivePatch(p), start_(p.start_), - boundaryMesh_(p.boundaryMesh_), - faceCellsPtr_(nullptr), - mePtr_(nullptr) + boundaryMesh_(p.boundaryMesh_) {} @@ -362,24 +348,41 @@ Foam::tmp<Foam::scalarField> Foam::polyPatch::areaFraction forAll(*this, facei) { - const face& curFace = this->operator[](facei); - fraction[facei] = - mag(faceAreas[facei])/(curFace.mag(points) + ROOTVSMALL); + const face& f = this->operator[](facei); + fraction[facei] = faceAreas[facei].mag()/(f.mag(points) + ROOTVSMALL); } return tfraction; } -const Foam::tmp<Foam::scalarField>& Foam::polyPatch::areaFraction() const +Foam::tmp<Foam::scalarField> Foam::polyPatch::areaFraction() const { - return areaFraction_; + if (areaFractionPtr_) + { + return tmp<scalarField>(*areaFractionPtr_); + } + return nullptr; +} + + +void Foam::polyPatch::areaFraction(const scalar fraction) +{ + areaFractionPtr_ = std::make_unique<scalarField>(size(), fraction); } void Foam::polyPatch::areaFraction(const tmp<scalarField>& fraction) { - areaFraction_ = fraction; + if (fraction) + { + // Steal or clone + areaFractionPtr_.reset(fraction.ptr()); + } + else + { + areaFractionPtr_.reset(nullptr); + } } @@ -427,6 +430,7 @@ void Foam::polyPatch::clearAddressing() primitivePatch::clearPatchMeshAddr(); faceCellsPtr_.reset(nullptr); mePtr_.reset(nullptr); + areaFractionPtr_.reset(nullptr); } diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H index 49d2786bc07..02f9901e20f 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2015-2023 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -89,7 +89,7 @@ class polyPatch mutable std::unique_ptr<labelList> mePtr_; //- Cached area fraction - tmp<scalarField> areaFraction_; + std::unique_ptr<scalarField> areaFractionPtr_; protected: @@ -445,15 +445,18 @@ public: tmp<vectorField> faceCellCentres() const; //- Calculate the area fraction as the ratio of the stored face - // area and the area given by the face points. + //- area and the area given by the face points. tmp<scalarField> areaFraction(const pointField& points) const; - //- Return the cached area fraction. Usually only set for the - //- non-overlap patches on ACMI. - const tmp<scalarField>& areaFraction() const; + //- Return the cached area fraction. + //- Usually only set for the non-overlap patches on ACMI. + tmp<scalarField> areaFraction() const; - //- Set cached area fraction - void areaFraction(const tmp<scalarField>&); + //- Set uniform cached area fraction + void areaFraction(const scalar fraction); + + //- Set cached area fraction (non-uniform) + void areaFraction(const tmp<scalarField>& fraction); // Addressing into mesh diff --git a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C index cb80bf364a9..f2b719f5454 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C @@ -317,16 +317,10 @@ void Foam::activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs() Info<< "Open fraction = " << openFraction_ << endl; } - scalar areaFraction = 0.0; - - if (opening_) - { - areaFraction = openFraction_; - } - else - { - areaFraction = 1 - openFraction_; - } + const scalar areaFraction = + ( + opening_ ? openFraction_ : (1 - openFraction_) + ); if (patch().boundaryMesh().mesh().moving()) { @@ -352,40 +346,19 @@ void Foam::activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs() } const_cast<scalarField&>(patch().magSf()) = mag(patch().Sf()); // Cache fraction - const_cast<polyPatch&>(patch().patch()).areaFraction - ( - tmp<scalarField>::New - ( - patch().patch().size(), - (1-areaFraction) - ) - ); + const_cast<polyPatch&>(patch().patch()).areaFraction(1-areaFraction); // Update owner side of cyclic const_cast<vectorField&>(cyclicPatch.Sf()) = areaFraction*initCyclicSf_; const_cast<scalarField&>(cyclicPatch.magSf()) = mag(cyclicPatch.Sf()); - const_cast<polyPatch&>(cyclicPatch.patch()).areaFraction - ( - tmp<scalarField>::New - ( - cyclicPatch.patch().size(), - areaFraction - ) - ); + const_cast<polyPatch&>(cyclicPatch.patch()).areaFraction(areaFraction); // Update neighbour side of cyclic const_cast<vectorField&>(nbrPatch.Sf()) = areaFraction*nbrCyclicSf_; const_cast<scalarField&>(nbrPatch.magSf()) = mag(nbrPatch.Sf()); - const_cast<polyPatch&>(cyclicPatch.patch()).areaFraction - ( - tmp<scalarField>::New - ( - nbrPatch.patch().size(), - areaFraction - ) - ); + const_cast<polyPatch&>(nbrPatch.patch()).areaFraction(areaFraction); curTimeIndex_ = this->db().time().timeIndex(); } diff --git a/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C b/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C index 67a20853af9..dad43a7d9fb 100644 --- a/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C +++ b/src/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C @@ -154,7 +154,7 @@ void Foam::wallDistAddressing::correct(volScalarField& y) for (const label patchi : patchIDs_) { const auto& fc = C.boundaryField()[patchi]; - const auto& areaFraction = fc.patch().patch().areaFraction(); + const auto areaFraction(fc.patch().patch().areaFraction()); forAll(fc, patchFacei) { diff --git a/src/lagrangian/basic/InteractionLists/InteractionLists.C b/src/lagrangian/basic/InteractionLists/InteractionLists.C index edae174aa47..6d8b65e8394 100644 --- a/src/lagrangian/basic/InteractionLists/InteractionLists.C +++ b/src/lagrangian/basic/InteractionLists/InteractionLists.C @@ -299,7 +299,7 @@ void Foam::InteractionLists<ParticleType>::buildInteractionLists() { if (isA<wallPolyPatch>(patch)) { - const auto& areaFraction = patch.areaFraction(); + const auto areaFraction(patch.areaFraction()); forAll(patch, facei) { diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C index 266dc991d77..62a18bbc54a 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C +++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C @@ -558,12 +558,12 @@ void Foam::cyclicAMIPolyPatch::movePoints polyPatch::movePoints -> primitivePatch::movePoints -> primitivePatch::clearGeom: - deleteDemandDrivenData(localPointsPtr_); - deleteDemandDrivenData(faceCentresPtr_); - deleteDemandDrivenData(faceAreasPtr_); - deleteDemandDrivenData(magFaceAreasPtr_); - deleteDemandDrivenData(faceNormalsPtr_); - deleteDemandDrivenData(pointNormalsPtr_); + localPointsPtr_.reset(nullptr); + faceCentresPtr_.reset(nullptr); + faceAreasPtr_.reset(nullptr); + magFaceAreasPtr_.reset(nullptr); + faceNormalsPtr_.reset(nullptr); + pointNormalsPtr_.reset(nullptr); */ } diff --git a/src/meshTools/algorithms/MeshWave/FaceCellWave.C b/src/meshTools/algorithms/MeshWave/FaceCellWave.C index b96792829bb..6123f5c6bcf 100644 --- a/src/meshTools/algorithms/MeshWave/FaceCellWave.C +++ b/src/meshTools/algorithms/MeshWave/FaceCellWave.C @@ -822,7 +822,7 @@ void Foam::FaceCellWave<Type, TrackingData>::handleAMICyclicPatches() // Merge into global storage - const auto& areaFraction = patch.areaFraction(); + const auto areaFraction(patch.areaFraction()); forAll(receiveInfo, i) { diff --git a/src/meshTools/cellDist/cellDistFuncs.C b/src/meshTools/cellDist/cellDistFuncs.C index 1b064dc391c..86cfdd15880 100644 --- a/src/meshTools/cellDist/cellDistFuncs.C +++ b/src/meshTools/cellDist/cellDistFuncs.C @@ -249,7 +249,7 @@ void Foam::cellDistFuncs::correctBoundaryFaceCells if (patchIDs.found(patchi)) { const polyPatch& patch = pbm[patchi]; - const auto& areaFraction = patch.areaFraction(); + const auto areaFraction(patch.areaFraction()); // Check cells with face on wall forAll(patch, patchFacei) @@ -306,7 +306,7 @@ void Foam::cellDistFuncs::correctBoundaryPointCells bitSet isWallPoint(meshPoints.size(), true); { - const auto& areaFraction = patch.areaFraction(); + const auto areaFraction(patch.areaFraction()); // Check cells with face on wall forAll(patch, patchFacei) diff --git a/src/meshTools/cellDist/patchWave/patchDataWave.C b/src/meshTools/cellDist/patchWave/patchDataWave.C index 293018e8d91..9f943225c3e 100644 --- a/src/meshTools/cellDist/patchWave/patchDataWave.C +++ b/src/meshTools/cellDist/patchWave/patchDataWave.C @@ -53,7 +53,7 @@ void Foam::patchDataWave<TransferType, TrackingData>::setChangedFaces { const polyPatch& patch = mesh.boundaryMesh()[patchi]; - const auto& areaFraction = patch.areaFraction(); + const auto areaFraction(patch.areaFraction()); const auto faceCentres(patch.faceCentres()); diff --git a/src/meshTools/cellDist/patchWave/patchWave.C b/src/meshTools/cellDist/patchWave/patchWave.C index e8d583fb238..deeb062d407 100644 --- a/src/meshTools/cellDist/patchWave/patchWave.C +++ b/src/meshTools/cellDist/patchWave/patchWave.C @@ -48,7 +48,7 @@ void Foam::patchWave::setChangedFaces { const polyPatch& patch = mesh.boundaryMesh()[patchi]; - const auto& areaFraction = patch.areaFraction(); + const auto areaFraction(patch.areaFraction()); const auto faceCentres(patch.faceCentres()); -- GitLab From a87763f6a616a566b97bd9070d5507c37b18c3fb Mon Sep 17 00:00:00 2001 From: Haakan Nilsson <Hakan.Nilsson@chalmers.se> Date: Mon, 3 Jun 2024 17:21:48 +0100 Subject: [PATCH 186/231] ENH: transformPoints: added cylindrical to Cartesian transform --- .../transformPoints/transformPoints.C | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C index e167520266a..6f2777d61f4 100644 --- a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C +++ b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C @@ -7,6 +7,7 @@ ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2017-2024 OpenCFD Ltd. + Copyright (C) 2024 Haakan Nilsson ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -71,6 +72,9 @@ Usage The any or all of the three options may be specified and are processed in the above order. + -cylToCart (originVector axisVector directionVector) + Tranform cylindrical coordinates to cartesian coordinates + With -rotateFields (in combination with -rotate/yawPitchRoll/rollPitchYaw) it will also read & transform vector & tensor fields. @@ -93,6 +97,7 @@ Note #include "transformGeometricField.H" #include "axisAngleRotation.H" #include "EulerCoordinateRotation.H" +#include "cylindricalCS.H" using namespace Foam; using namespace Foam::coordinateRotations; @@ -326,6 +331,13 @@ int main(int argc, char *argv[]) "Scale by the specified amount - Eg, for uniform [mm] to [m] scaling " "use either '(0.001 0.001 0.001)' or simply '0.001'" ); + argList::addOption + ( + "cylToCart", + "(originVec axisVec directionVec)", + "Tranform cylindrical coordinates to cartesian coordinates" + ); + // Compatibility with surfaceTransformPoints argList::addOptionCompat("scale", {"write-scale", 0}); @@ -348,7 +360,8 @@ int main(int argc, char *argv[]) "rotate-z", "rollPitchYaw", "yawPitchRoll", - "scale" + "scale", + "cylToCart" }); if (!args.count(operationNames)) @@ -552,6 +565,23 @@ int main(int argc, char *argv[]) // Output scaling applyScaling(points, getScalingOpt("scale", args)); + if (args.found("cylToCart")) + { + vectorField n1n2(args.lookup("cylToCart")()); + n1n2[1].normalise(); + n1n2[2].normalise(); + + cylindricalCS ccs + ( + "ccs", + n1n2[0], + n1n2[1], + n1n2[2] + ); + + points = ccs.globalPosition(points); + } + // More precision (for points data) IOstream::minPrecision(10); -- GitLab From 4deb146118cdde531d7b92b12b90cece803fe8a0 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 3 Jun 2024 17:22:59 +0100 Subject: [PATCH 187/231] ENH: cyclicPeriodic: error msg --- .../cyclicPeriodicAMIPolyPatch.C | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C index 78e8877f607..410a797230c 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C +++ b/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C @@ -273,16 +273,17 @@ void Foam::cyclicPeriodicAMIPolyPatch::resetAMI() const { const Time& runTime = boundaryMesh().mesh().time(); - fileName dir(runTime.globalPath()); - fileName postfix("_" + runTime.timeName()+"_expanded.obj"); + const fileName dir(runTime.globalPath()); + const fileName postfix("_" + runTime.timeName()+"_expanded.obj"); ownStr.reset(new OBJstream(dir/name() + postfix)); neiStr.reset(new OBJstream(dir/neighbPatch().name() + postfix)); InfoInFunction << "patch:" << name() - << " writing accumulated AMI to " << ownStr().name() - << " and " << neiStr().name() << endl; + << " writing accumulated AMI to " + << ownStr().name().relative(dir) + << " and " << neiStr().name().relative(dir) << endl; } // Create another copy -- GitLab From 1bcb90bf79445c53034ae4dbfdc0c6a4d8f80ab3 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Tue, 4 Jun 2024 16:59:15 +0100 Subject: [PATCH 188/231] ENH: surfaceTransformPoints: make consistent with transformPoints. (added the -cylToCart option) --- .../surfaceTransformPoints.C | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C b/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C index c8b1fa0ec2e..123c3431a2c 100644 --- a/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C +++ b/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2022 OpenCFD Ltd. + Copyright (C) 2017-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -58,6 +58,7 @@ Description #include "axisAngleRotation.H" #include "EulerCoordinateRotation.H" #include "MeshedSurfaces.H" +#include "cylindricalCS.H" using namespace Foam; using namespace Foam::coordinateRotations; @@ -257,6 +258,12 @@ int main(int argc, char *argv[]) "type", "Output format (default: use file extension)" ); + argList::addOption + ( + "cylToCart", + "(originVec axisVec directionVec)", + "Tranform cylindrical coordinates to cartesian coordinates" + ); // Backward compatibility and with transformPoints argList::addOptionCompat("write-scale", {"scale", -2006}); @@ -277,7 +284,8 @@ int main(int argc, char *argv[]) "rollPitchYaw", "yawPitchRoll", "read-scale", - "write-scale" + "write-scale", + "cylToCart" }); if (!args.count(operationNames)) @@ -461,6 +469,24 @@ int main(int argc, char *argv[]) // Output scaling applyScaling(points, getScalingOpt("write-scale", args)); + // Conversion to cylindrical coords + if (args.found("cylToCart")) + { + vectorField n1n2(args.lookup("cylToCart")()); + n1n2[1].normalise(); + n1n2[2].normalise(); + + cylindricalCS ccs + ( + "ccs", + n1n2[0], + n1n2[1], + n1n2[2] + ); + + points = ccs.globalPosition(points); + } + surf1.movePoints(points); surf1.write(exportName, writeFileType); -- GitLab From 64c15e179a9f8293c9408af3a3ef7d950de854e6 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 3 Jun 2024 12:33:01 +0100 Subject: [PATCH 189/231] ENH: New viewFactorHeatFlux function object Determines radiation heat flux between patches when using the viewFactor radiation model. Example usage viewFactorHeatFlux1 { // Mandatory entries (unmodifiable) type viewFactorHeatFlux; libs (utilityFunctionObjects); // Optional entries (runtime modifiable) qr qr; } --- src/functionObjects/utilities/Make/files | 2 + .../viewFactorHeatFlux/viewFactorHeatFlux.C | 372 ++++++++++++++++++ .../viewFactorHeatFlux/viewFactorHeatFlux.H | 181 +++++++++ 3 files changed, 555 insertions(+) create mode 100644 src/functionObjects/utilities/viewFactorHeatFlux/viewFactorHeatFlux.C create mode 100644 src/functionObjects/utilities/viewFactorHeatFlux/viewFactorHeatFlux.H diff --git a/src/functionObjects/utilities/Make/files b/src/functionObjects/utilities/Make/files index 2e3e9c84f4a..aed6a6fa70d 100644 --- a/src/functionObjects/utilities/Make/files +++ b/src/functionObjects/utilities/Make/files @@ -39,6 +39,8 @@ systemCall/systemCall.C timeActivatedFileUpdate/timeActivatedFileUpdate.C +viewFactorHeatFlux/viewFactorHeatFlux.C + writeDictionary/writeDictionary.C writeObjects/writeObjects.C diff --git a/src/functionObjects/utilities/viewFactorHeatFlux/viewFactorHeatFlux.C b/src/functionObjects/utilities/viewFactorHeatFlux/viewFactorHeatFlux.C new file mode 100644 index 00000000000..2bc479fe5a7 --- /dev/null +++ b/src/functionObjects/utilities/viewFactorHeatFlux/viewFactorHeatFlux.C @@ -0,0 +1,372 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "viewFactorHeatFlux.H" +#include "addToRunTimeSelectionTable.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace functionObjects +{ + defineTypeNameAndDebug(viewFactorHeatFlux, 0); + addToRunTimeSelectionTable(functionObject, viewFactorHeatFlux, dictionary); +} +} + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +void Foam::functionObjects::viewFactorHeatFlux::initialise() +{ + const auto& pbm = mesh_.boundaryMesh(); + const labelList selectedPatches = pbm.indices("viewFactorWall"); + + + // Initialise output file + + auto& os = file(); + + writeHeader(os, "Radiation heat flux"); + writeCommented(os, "Time"); + + for (const label patchi : selectedPatches) + { + writeTabbed(os, pbm[patchi].name()); + } + + os << endl; + + + // Create compact patch addressing + + label nFace = 0; + forAll(selectedPatches, i) + { + const label patchi = selectedPatches[i]; + auto slice = compactPatchID_.slice(nFace, pbm[patchi].size()); + slice = i; + nFace += slice.size(); + } + + + if (Pstream::parRun()) + { + mapDistPtr_.reset + ( + new IOmapDistribute + ( + IOobject + ( + "mapDist", + mesh_.facesInstance(), + mesh_, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ) + ) + ); + + auto& mapDist = mapDistPtr_(); + + mapDist.distribute(compactPatchID_); + + + // Convert global addressing into compact form + + labelList compactGlobalIds(mapDist.constructSize(), Zero); + + globalIndex gi(nFace); + + SubList<label>(compactGlobalIds, nFace) = identity(gi.range()); + + mapDist.distribute(compactGlobalIds); + + const label nTotalFaces = returnReduce(nFace, sumOp<label>()); + + const labelList globalToCompact(invert(nTotalFaces, compactGlobalIds)); + + for (labelList& visibleFaces : faceFaces_) + { + for (label& globalFacei : visibleFaces) + { + globalFacei = globalToCompact[globalFacei]; + } + } + } +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::functionObjects::viewFactorHeatFlux::viewFactorHeatFlux +( + const word& name, + const Time& runTime, + const dictionary& dict, + const bool readFields +) +: + fvMeshFunctionObject(name, runTime, dict), + writeFile(mesh_, name, typeName, dict), + qrName_(dict.getOrDefault<word>("qr", "qr")), + mapDistPtr_(nullptr), + faceFaces_ + ( + IOobject + ( + "globalFaceFaces", + mesh_.facesInstance(), + mesh_, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ) + ), + Fij_ + ( + IOobject + ( + "F", + mesh_.facesInstance(), + mesh_, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ) + ), + compactPatchID_(faceFaces_.size(), Zero) +{ + initialise(); +} + + +Foam::functionObjects::viewFactorHeatFlux::viewFactorHeatFlux +( + const word& name, + const objectRegistry& obr, + const dictionary& dict, + const bool readFields +) +: + fvMeshFunctionObject(name, obr, dict), + writeFile(mesh_, name, typeName, dict), + qrName_(dict.getOrDefault<word>("qr", "qr")), + mapDistPtr_(nullptr), + faceFaces_ + ( + IOobject + ( + "globalFaceFaces", + mesh_.facesInstance(), + mesh_, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ) + ), + Fij_ + ( + IOobject + ( + "F", + mesh_.facesInstance(), + mesh_, + IOobject::MUST_READ, + IOobject::NO_WRITE, + IOobject::NO_REGISTER + ) + ), + compactPatchID_(faceFaces_.size(), Zero) +{ + initialise(); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::functionObjects::viewFactorHeatFlux::read(const dictionary& dict) +{ + if (fvMeshFunctionObject::read(dict)) + { + dict.readIfPresent("qr", qrName_); + + return true; + } + + return false; +} + + +bool Foam::functionObjects::viewFactorHeatFlux::execute() +{ + return true; +} + + +bool Foam::functionObjects::viewFactorHeatFlux::write() +{ + Log << type() << " " << name() << " write:" << nl; + + // Retrieve radiative heat flux field from the mesh database + + const auto* qrPtr = mesh_.cfindObject<volScalarField>(qrName_); + + if (qrPtr) + { + const auto& qr = *qrPtr; + + // const labelList selectedPatches = + // mesh_.boundaryMesh().indices + // ( + // radiation::viewFactor::viewFactorWalls + // ); + const labelList selectedPatches = + mesh_.boundaryMesh().indices("viewFactorWall"); + + const auto& pbm = mesh_.boundaryMesh(); + const label nPatch = selectedPatches.size(); + + // Accumulate qr per patch, and + // assemble qr contributions in compact addressing + scalarList qrPatch(nPatch, Zero); + scalarList compactQr(faceFaces_.size()); + + label compacti = 0; + forAll(selectedPatches, i) + { + const label patchi = selectedPatches[i]; + const auto& qrp = qr.boundaryField()[patchi]; + forAll(qrp, facei) + { + compactQr[compacti] = qrp[facei]; + qrPatch[i] += qrp[facei]; + ++compacti; + } + } + + reduce(qrPatch, sumOp<scalarList>()); + + + if (Pstream::parRun()) + { + mapDistPtr_->distribute(compactQr); + } + + // Populate view factor radiation heat flux matrix + scalarSquareMatrix qrVf(nPatch, Zero); + + forAll(Fij_, startFacei) + { + const scalar qr = compactQr[startFacei]; + const labelList& visibleSlots = faceFaces_[startFacei]; + const label i = compactPatchID_[startFacei]; + + forAll(visibleSlots, visSloti) + { + const label sloti = visibleSlots[visSloti]; + const label j = compactPatchID_[sloti]; + + qrVf[i][j] += Fij_[startFacei][visSloti]*qr; + } + } + + reduce(qrVf, sumOp<scalarSquareMatrix>()); + + if (Pstream::master()) + { + Log << " Writing patch totals to " << file().name() + << nl; + + // Write patch sums as time history + writeCurrentTime(file()); + + for (const auto& qrp : qrPatch) + { + file() << tab << qrp; + } + + file() << endl; + + + // Write view factor breakdown as matrix per write time + auto osPtr = newFileAtTime("viewFactorQr", mesh_.time().value()); + auto& os = osPtr(); + + Log << " Writing view factor breakdown to " << os.name() + << nl; + + + forAll(selectedPatches, i) + { + if (i == 0) + { + for (const label patchj : selectedPatches) + { + os << tab << pbm[patchj].name(); + } + os << nl; + } + + const label patchi = selectedPatches[i]; + + os << pbm[patchi].name();; + + forAll(selectedPatches, j) + { + os << tab << qrVf[i][j]; + } + + os << nl; + } + + os << endl; + } + } + + Log << endl; + + return true; +} + + +void Foam::functionObjects::viewFactorHeatFlux::updateMesh(const mapPolyMesh&) +{ + NotImplemented; +} + + +void Foam::functionObjects::viewFactorHeatFlux::movePoints(const polyMesh&) +{ + NotImplemented; +} + + +// ************************************************************************* // diff --git a/src/functionObjects/utilities/viewFactorHeatFlux/viewFactorHeatFlux.H b/src/functionObjects/utilities/viewFactorHeatFlux/viewFactorHeatFlux.H new file mode 100644 index 00000000000..235feaf234b --- /dev/null +++ b/src/functionObjects/utilities/viewFactorHeatFlux/viewFactorHeatFlux.H @@ -0,0 +1,181 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::functionObjects::viewFactorHeatFlux + +Description + Determines radiation heat flux between patches when using the viewFactor + radiation model. + +Usage + Minimal example by using \c system/controlDict.functions: + \verbatim + viewFactorHeatFlux1 + { + // Mandatory entries (unmodifiable) + type viewFactorHeatFlux; + libs (utilityFunctionObjects); + + // Optional entries (runtime modifiable) + qr qr; + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Req'd | Dflt + type | Type name: viewFactorHeatFlux | word | yes | - + libs | Library name: fieldFunctionObjects | word | yes | - + qr | Name of radiation heat flux field | word | no | qr + \endtable + +See also +- Foam::radiation::viewFactor + +SourceFiles + fvMeshFunctionObject.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_functionObjects_viewFactorHeatFlux +#define Foam_functionObjects_viewFactorHeatFlux + +#include "fvMeshFunctionObject.H" +#include "writeFile.H" +#include "IOmapDistribute.H" +#include "labelListIOList.H" +#include "scalarListIOList.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +namespace functionObjects +{ + +/*---------------------------------------------------------------------------*\ + Class viewFactorHeatFlux Declaration +\*---------------------------------------------------------------------------*/ + +class viewFactorHeatFlux +: + public fvMeshFunctionObject, + public writeFile +{ + // Private Data + + // Name of radiation heat flux field; default = qr + word qrName_; + + + // Fields generated by viewFactorsGen utility + + //- Map + autoPtr<IOmapDistribute> mapDistPtr_; + + //- Face addressing + labelListIOList faceFaces_; + + //- View factors + scalarListIOList Fij_; + + //- Patch indicies in compact addressing + scalarList compactPatchID_; + + + // Private Member Functions + + //- Initialise + void initialise(); + + +public: + + //- Runtime type information + TypeName("viewFactorHeatFlux"); + + + // Constructors + + //- Construct from Time and dictionary + viewFactorHeatFlux + ( + const word& name, + const Time& runTime, + const dictionary& dict, + const bool readFields = true + ); + + //- Construct from objectRegistry and dictionary + viewFactorHeatFlux + ( + const word& name, + const objectRegistry& obr, + const dictionary& dict, + const bool readFields = true + ); + + //- No copy construct + viewFactorHeatFlux(const viewFactorHeatFlux&) = delete; + + //- No copy assignment + void operator=(const viewFactorHeatFlux&) = delete; + + + //- Destructor + virtual ~viewFactorHeatFlux() = default; + + + // Member Functions + + //- Read the viewFactorHeatFlux data + virtual bool read(const dictionary&); + + //- No-op - all operations performed during the call to write() + virtual bool execute(); + + //- Write the viewFactorHeatFlux per patch + virtual bool write(); + + //- Update for changes of mesh + virtual void updateMesh(const mapPolyMesh&); + + //- Update for mesh point-motion + virtual void movePoints(const polyMesh&); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace functionObjects +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // -- GitLab From 274fee92ddd3a69c7fea741b653d415b79bab63c Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 3 Jun 2024 19:55:03 +0100 Subject: [PATCH 190/231] STYLE: radiation - use const ref/pointer; updated header guards --- .../boundaryRadiationProperties.C | 20 ++++++------- .../boundaryRadiationProperties.H | 20 ++++++------- .../boundaryRadiationPropertiesPatch.H | 24 +++++++-------- .../lookup/lookup.C | 29 +++++++++---------- .../lookup/lookup.H | 24 +++++++-------- .../opaqueDiffusive/opaqueDiffusive.C | 26 ++++++++--------- .../opaqueDiffusive/opaqueDiffusive.H | 24 +++++++-------- .../opaqueReflective/opaqueReflective.C | 29 +++++++++---------- .../opaqueReflective/opaqueReflective.H | 24 +++++++-------- .../transparent/transparent.C | 29 +++++++++---------- .../transparent/transparent.H | 24 +++++++-------- .../scatterModel/noScatter/noScatter.H | 4 +-- .../scatterModel/scatterModel/scatterModel.H | 4 +-- .../submodels/sootModel/sootModel/sootModel.H | 6 ++-- .../constantAbsorption/constantAbsorption.C | 8 ++--- .../constantAbsorption/constantAbsorption.H | 12 ++++---- .../multiBandAbsorption/multiBandAbsorption.C | 8 ++--- .../multiBandAbsorption/multiBandAbsorption.H | 14 ++++----- .../solidAbsorption/solidAbsorption.C | 8 ++--- .../solidAbsorption/solidAbsorption.H | 13 ++++----- .../wallAbsorptionEmissionModel.H | 14 ++++----- .../constantTransmissivity.C | 4 +-- .../constantTransmissivity.H | 8 ++--- .../multiBandTransmissivity.C | 4 +-- .../multiBandTransmissivity.H | 8 ++--- .../wallTransmissivityModel.H | 8 ++--- 26 files changed, 192 insertions(+), 204 deletions(-) diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C index 5b0b68f18a1..c09039955f5 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.C @@ -185,8 +185,8 @@ Foam::radiation::boundaryRadiationProperties::emissivity ( const label patchi, const label bandi, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { if (radBoundaryPropertiesPtrList_.set(patchi)) @@ -244,8 +244,8 @@ Foam::radiation::boundaryRadiationProperties::absorptivity ( const label patchi, const label bandi, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { if (radBoundaryPropertiesPtrList_.set(patchi)) @@ -303,8 +303,8 @@ Foam::radiation::boundaryRadiationProperties::transmissivity ( const label patchi, const label bandi, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { if (radBoundaryPropertiesPtrList_.set(patchi)) @@ -399,8 +399,8 @@ Foam::radiation::boundaryRadiationProperties::diffReflectivity ( const label patchi, const label bandi, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { if (radBoundaryPropertiesPtrList_.set(patchi)) @@ -458,8 +458,8 @@ Foam::radiation::boundaryRadiationProperties::specReflectivity ( const label patchi, const label bandi, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { if (radBoundaryPropertiesPtrList_.set(patchi)) diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H index ef88f79d6fe..d9edda9b638 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H @@ -120,8 +120,8 @@ public: ( const label patchI, const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Access boundary emissivity on face @@ -139,8 +139,8 @@ public: ( const label patchI, const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Access boundary absorptivity on face @@ -158,8 +158,8 @@ public: ( const label patchI, const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Access boundary transmissivity on face @@ -191,8 +191,8 @@ public: ( const label patchI, const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Access boundary diffuse reflectivity on face @@ -210,8 +210,8 @@ public: ( const label patchI, const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Access boundary specular reflectivity on face diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.H index afb1078a43a..af109dfded7 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.H @@ -33,8 +33,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef boundaryRadiationPropertiesPatch_H -#define boundaryRadiationPropertiesPatch_H +#ifndef Foam_radiation_boundaryRadiationPropertiesPatch_H +#define Foam_radiation_boundaryRadiationPropertiesPatch_H #include "scalarField.H" #include "Enum.H" @@ -138,8 +138,8 @@ public: virtual tmp<scalarField> e ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const = 0; //- Return emissivity on face @@ -155,8 +155,8 @@ public: virtual tmp<scalarField> a ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const = 0; //- Return absorptivity on face @@ -172,8 +172,8 @@ public: virtual tmp<scalarField> t ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const = 0; //- Return transmissivity on face @@ -189,8 +189,8 @@ public: virtual tmp<scalarField> rSpec ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const = 0; //- Return specular reflectivity on face @@ -206,8 +206,8 @@ public: virtual tmp<scalarField> rDiff ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const = 0; //- Return diffusive reflectivity on face diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/lookup/lookup.C b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/lookup/lookup.C index 0c2570035fe..bd19db5bf76 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/lookup/lookup.C +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/lookup/lookup.C @@ -64,8 +64,8 @@ Foam::radiation::lookup::lookup Foam::tmp<Foam::scalarField> Foam::radiation::lookup::e ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New @@ -88,12 +88,11 @@ Foam::scalar Foam::radiation::lookup::e } -Foam::tmp<Foam::scalarField> -Foam::radiation::lookup::a +Foam::tmp<Foam::scalarField> Foam::radiation::lookup::a ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New @@ -119,8 +118,8 @@ Foam::scalar Foam::radiation::lookup::a Foam::tmp<Foam::scalarField> Foam::radiation::lookup::t ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New @@ -143,12 +142,11 @@ Foam::scalar Foam::radiation::lookup::t } -Foam::tmp<Foam::scalarField> -Foam::radiation::lookup::rSpec +Foam::tmp<Foam::scalarField> Foam::radiation::lookup::rSpec ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), Zero); @@ -167,12 +165,11 @@ Foam::scalar Foam::radiation::lookup::rSpec } -Foam::tmp<Foam::scalarField> -Foam::radiation::lookup::rDiff +Foam::tmp<Foam::scalarField> Foam::radiation::lookup::rDiff ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), Zero); diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/lookup/lookup.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/lookup/lookup.H index a2946714d22..8bf5fdda4ac 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/lookup/lookup.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/lookup/lookup.H @@ -45,8 +45,8 @@ Usage \*---------------------------------------------------------------------------*/ -#ifndef lookup_H -#define lookup_H +#ifndef Foam_radiation_lookup_H +#define Foam_radiation_lookup_H #include "boundaryRadiationPropertiesPatch.H" @@ -97,8 +97,8 @@ public: virtual tmp<scalarField> e ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return emissivity on face @@ -114,8 +114,8 @@ public: virtual tmp<scalarField> a ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return absorptivity on face @@ -131,8 +131,8 @@ public: virtual tmp<scalarField> t ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return transmissivity on face (default: 0) @@ -148,8 +148,8 @@ public: virtual tmp<scalarField> rSpec ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return specular reflectivity on face @@ -165,8 +165,8 @@ public: virtual tmp<scalarField> rDiff ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return diffusive reflectivity on face diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.C b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.C index bc7deb44835..96549cc9d7b 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.C +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.C @@ -71,8 +71,8 @@ Foam::radiation::opaqueDiffusive::opaqueDiffusive Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::e ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return(absorptionEmission_->e(bandI, dir, T)); @@ -91,12 +91,11 @@ Foam::scalar Foam::radiation::opaqueDiffusive::e } -Foam::tmp<Foam::scalarField> -Foam::radiation::opaqueDiffusive::a +Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::a ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return(absorptionEmission_->a(bandI, dir, T)); @@ -118,8 +117,8 @@ Foam::scalar Foam::radiation::opaqueDiffusive::a Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::t ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), 0.0); @@ -138,12 +137,11 @@ Foam::scalar Foam::radiation::opaqueDiffusive::t } -Foam::tmp<Foam::scalarField> -Foam::radiation::opaqueDiffusive::rSpec +Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::rSpec ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), Zero); @@ -165,8 +163,8 @@ Foam::scalar Foam::radiation::opaqueDiffusive::rSpec Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::rDiff ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), Zero); diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.H index 328bb7e3843..ddca6eb2eeb 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.H @@ -46,8 +46,8 @@ Usage \*---------------------------------------------------------------------------*/ -#ifndef opaqueDiffusive_H -#define opaqueDiffusive_H +#ifndef Foam_radiation_opaqueDiffusive_H +#define Foam_radiation_opaqueDiffusive_H #include "boundaryRadiationPropertiesPatch.H" @@ -96,8 +96,8 @@ public: virtual tmp<scalarField> e ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return emissivity on face @@ -113,8 +113,8 @@ public: virtual tmp<scalarField> a ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return absorptivity on face @@ -130,8 +130,8 @@ public: virtual tmp<scalarField> t ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return transmissivity on face @@ -147,8 +147,8 @@ public: virtual tmp<scalarField> rSpec ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return specular reflectivity on face @@ -164,8 +164,8 @@ public: virtual tmp<scalarField> rDiff ( const label bandI, - vectorField* incomingDirection , - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return diffusive reflectivity on face diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.C b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.C index d45d441cc64..253bfe3a997 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.C +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.C @@ -72,8 +72,8 @@ Foam::radiation::opaqueReflective::opaqueReflective Foam::tmp<Foam::scalarField> Foam::radiation::opaqueReflective::e ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return(absorptionEmission_->e(bandI, dir, T)); @@ -92,12 +92,11 @@ Foam::scalar Foam::radiation::opaqueReflective::e } -Foam::tmp<Foam::scalarField> -Foam::radiation::opaqueReflective::a +Foam::tmp<Foam::scalarField> Foam::radiation::opaqueReflective::a ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return(absorptionEmission_->a(bandI, dir, T)); @@ -119,8 +118,8 @@ Foam::scalar Foam::radiation::opaqueReflective::a Foam::tmp<Foam::scalarField> Foam::radiation::opaqueReflective::t ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), Zero); @@ -139,12 +138,11 @@ Foam::scalar Foam::radiation::opaqueReflective::t } -Foam::tmp<Foam::scalarField> -Foam::radiation::opaqueReflective::rSpec +Foam::tmp<Foam::scalarField> Foam::radiation::opaqueReflective::rSpec ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return (1.0 - fd_)*(1.0 - a(bandI, dir, T)); @@ -163,12 +161,11 @@ Foam::scalar Foam::radiation::opaqueReflective::rSpec } -Foam::tmp<Foam::scalarField> -Foam::radiation::opaqueReflective::rDiff +Foam::tmp<Foam::scalarField> Foam::radiation::opaqueReflective::rDiff ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return fd_*(1.0 - a(bandI, dir, T)); diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.H index 655c3b3d7bb..22f06301d80 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.H @@ -54,8 +54,8 @@ Usage \*---------------------------------------------------------------------------*/ -#ifndef opaqueReflective_H -#define opaqueReflective_H +#ifndef Foam_radiation_opaqueReflective_H +#define Foam_radiation_opaqueReflective_H #include "boundaryRadiationPropertiesPatch.H" @@ -106,8 +106,8 @@ public: virtual tmp<scalarField> e ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return emissivity on face @@ -123,8 +123,8 @@ public: virtual tmp<scalarField> a ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return absorptivity on face @@ -140,8 +140,8 @@ public: virtual tmp<scalarField> t ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return transmissivity on face @@ -157,8 +157,8 @@ public: virtual tmp<scalarField> rSpec ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return specular reflectivity on face @@ -174,8 +174,8 @@ public: virtual tmp<scalarField> rDiff ( const label bandI, - vectorField* incomingDirection , - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return diffusive reflectivity on face diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/transparent/transparent.C b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/transparent/transparent.C index 0541d7cf275..d4d9e8bfaaa 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/transparent/transparent.C +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/transparent/transparent.C @@ -72,8 +72,8 @@ Foam::radiation::transparent::transparent Foam::tmp<Foam::scalarField> Foam::radiation::transparent::e ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return(absorptionEmission_->e(bandI, dir, T)); @@ -92,12 +92,11 @@ Foam::scalar Foam::radiation::transparent::e } -Foam::tmp<Foam::scalarField> -Foam::radiation::transparent::a +Foam::tmp<Foam::scalarField> Foam::radiation::transparent::a ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return(absorptionEmission_->a(bandI, dir, T)); @@ -119,8 +118,8 @@ Foam::scalar Foam::radiation::transparent::a Foam::tmp<Foam::scalarField> Foam::radiation::transparent::t ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), 1.0); @@ -139,12 +138,11 @@ Foam::scalar Foam::radiation::transparent::t } -Foam::tmp<Foam::scalarField> -Foam::radiation::transparent::rSpec +Foam::tmp<Foam::scalarField> Foam::radiation::transparent::rSpec ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), Zero); @@ -163,12 +161,11 @@ Foam::scalar Foam::radiation::transparent::rSpec } -Foam::tmp<Foam::scalarField> -Foam::radiation::transparent::rDiff +Foam::tmp<Foam::scalarField> Foam::radiation::transparent::rDiff ( const label bandI, - vectorField* dir, - scalarField* T + const vectorField* dir, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), Zero); diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/transparent/transparent.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/transparent/transparent.H index 7261891b273..a388093df5a 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/transparent/transparent.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/transparent/transparent.H @@ -46,8 +46,8 @@ Usage \*---------------------------------------------------------------------------*/ -#ifndef transparent_H -#define transparent_H +#ifndef Foam_radiation_transparent_H +#define Foam_radiation_transparent_H #include "boundaryRadiationPropertiesPatch.H" @@ -96,8 +96,8 @@ public: virtual tmp<scalarField> e ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return emissivity on face @@ -113,8 +113,8 @@ public: virtual tmp<scalarField> a ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return absorptivity on face @@ -130,8 +130,8 @@ public: virtual tmp<scalarField> t ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return transmissivity on face @@ -147,8 +147,8 @@ public: virtual tmp<scalarField> rSpec ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return specular reflectivity on face @@ -164,8 +164,8 @@ public: virtual tmp<scalarField> rDiff ( const label bandI, - vectorField* incomingDirection , - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const; //- Return diffusive reflectivity on face diff --git a/src/thermophysicalModels/radiation/submodels/scatterModel/noScatter/noScatter.H b/src/thermophysicalModels/radiation/submodels/scatterModel/noScatter/noScatter.H index cd5459dd22d..82c7f760770 100644 --- a/src/thermophysicalModels/radiation/submodels/scatterModel/noScatter/noScatter.H +++ b/src/thermophysicalModels/radiation/submodels/scatterModel/noScatter/noScatter.H @@ -37,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef radiation_noScatter_H -#define radiation_noScatter_H +#ifndef Foam_radiation_noScatter_H +#define Foam_radiation_noScatter_H #include "scatterModel.H" diff --git a/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModel.H b/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModel.H index e197dbee784..6a3b5252b81 100644 --- a/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModel.H +++ b/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModel.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef scatterModel_H -#define scatterModel_H +#ifndef Foam_radiation_scatterModel_H +#define Foam_radiation_scatterModel_H #include "IOdictionary.H" #include "autoPtr.H" diff --git a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModel.H b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModel.H index 64f8995ea35..407d52dc7a4 100644 --- a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModel.H +++ b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModel.H @@ -27,12 +27,12 @@ Class Foam::radiation::sootModel Description - Base class for soor models + Base class for soot models \*---------------------------------------------------------------------------*/ -#ifndef radiation_sootModel_H -#define radiation_sootModel_H +#ifndef Foam_radiation_sootModel_H +#define Foam_radiation_sootModel_H #include "IOdictionary.H" #include "autoPtr.H" diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C index 188d7ee6525..652a9a6d71a 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C @@ -66,8 +66,8 @@ Foam::radiation::constantAbsorption::constantAbsorption Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::a ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), a_); @@ -89,8 +89,8 @@ Foam::scalar Foam::radiation::constantAbsorption::a Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::e ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), e_); diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.H b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.H index d4a8868f182..a3e3b64618b 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.H +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.H @@ -37,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef radiation_constantAbsorption_H -#define radiation_constantAbsorption_H +#ifndef Foam_radiation_constantAbsorption_H +#define Foam_radiation_constantAbsorption_H #include "wallAbsorptionEmissionModel.H" @@ -92,8 +92,8 @@ public: tmp<scalarField> a ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Return absorptivity on face @@ -109,8 +109,8 @@ public: tmp<scalarField> e ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Return emission coefficient diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C index 6971d9b4234..b80c6d83d8c 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C @@ -78,8 +78,8 @@ Foam::tmp<Foam::scalarField> Foam::radiation::multiBandAbsorption::a ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), aCoeffs_[bandI]); @@ -100,8 +100,8 @@ Foam::scalar Foam::radiation::multiBandAbsorption::a Foam::tmp<Foam::scalarField> Foam::radiation::multiBandAbsorption::e ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), eCoeffs_[bandI]); diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.H b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.H index 1ead5fc4029..b71639100fe 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.H +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.H @@ -49,8 +49,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef multiBandAbsorption_H -#define multiBandAbsorption_H +#ifndef Foam_radiation_multiBandAbsorption_H +#define Foam_radiation_multiBandAbsorption_H #include "wallAbsorptionEmissionModel.H" @@ -122,8 +122,8 @@ public: tmp<scalarField> a ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Return absorptivity on face @@ -138,9 +138,9 @@ public: //- Return emission coefficient tmp<scalarField> e ( - const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const label bandI = 0, + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Return emission coefficient diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.C b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.C index 5614252d151..5ffb7c905c6 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.C +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.C @@ -97,8 +97,8 @@ Foam::radiation::solidAbsorption::~solidAbsorption() Foam::tmp<Foam::scalarField> Foam::radiation::solidAbsorption::a ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { // Since we're inside initEvaluate/evaluate there might be processor @@ -148,8 +148,8 @@ Foam::scalar Foam::radiation::solidAbsorption::a Foam::tmp<Foam::scalarField> Foam::radiation::solidAbsorption::e ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.H b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.H index 094f404f4d4..f8d1cc35a76 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.H +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.H @@ -26,7 +26,6 @@ License Class Foam::radiation::solidAbsorption - Description Radiation absorptivity-emissivity model to be used on walls on inter-region patches when the solid opaque radiation model is used @@ -48,8 +47,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef radiation_solidAbsorption_H -#define radiation_solidAbsorption_H +#ifndef Foam_radiation_solidAbsorption_H +#define Foam_radiation_solidAbsorption_H #include "wallAbsorptionEmissionModel.H" #include "fvMesh.H" @@ -100,8 +99,8 @@ public: tmp<scalarField> a ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Return absorptivity on face @@ -117,8 +116,8 @@ public: tmp<scalarField> e ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Return emission coefficient diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel.H b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel.H index 74bd43f9b53..fb83ce0159e 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel.H +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef wallAbsorptionEmissionModel_H -#define wallAbsorptionEmissionModel_H +#ifndef Foam_radiation_wallAbsorptionEmissionModel_H +#define Foam_radiation_wallAbsorptionEmissionModel_H #include "dictionary.H" #include "autoPtr.H" @@ -47,7 +47,7 @@ namespace radiation { /*---------------------------------------------------------------------------*\ - Class wallAbsorptionEmissionModel Declaration + Class wallAbsorptionEmissionModel Declaration \*---------------------------------------------------------------------------*/ class wallAbsorptionEmissionModel @@ -108,8 +108,8 @@ public: virtual tmp<scalarField> e ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const = 0; @@ -127,8 +127,8 @@ public: virtual tmp<scalarField> a ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const = 0; diff --git a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C index 1579cfa3d70..b5f7fbb7cc0 100644 --- a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C +++ b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C @@ -66,8 +66,8 @@ Foam::tmp<Foam::scalarField> Foam::radiation::constantTransmissivity::t ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), tau_); diff --git a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.H b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.H index c3689529dcb..5c68c58d2f2 100644 --- a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.H +++ b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.H @@ -37,8 +37,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef radiation_constantTransmissivity_H -#define radiation_constantTransmissivity_H +#ifndef Foam_radiation_constantTransmissivity_H +#define Foam_radiation_constantTransmissivity_H #include "wallTransmissivityModel.H" @@ -89,8 +89,8 @@ public: tmp<scalarField> t ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Return transmissivity on facw diff --git a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.C b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.C index 48504a467ab..c3eb125c17a 100644 --- a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.C +++ b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.C @@ -70,8 +70,8 @@ Foam::tmp<Foam::scalarField> Foam::radiation::multiBandTransmissivity::t ( const label bandI, - vectorField* incomingDirection, - scalarField* T + const vectorField* incomingDirection, + const scalarField* T ) const { return tmp<scalarField>::New(pp_.size(), tauCoeffs_[bandI]); diff --git a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.H b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.H index 993f17a43c0..c4300eccef1 100644 --- a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.H +++ b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.H @@ -48,8 +48,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef multiBandTransmissivity_H -#define multiBandTransmissivity_H +#ifndef Foam_radiation_multiBandTransmissivity_H +#define Foam_radiation_multiBandTransmissivity_H #include "wallTransmissivityModel.H" @@ -118,8 +118,8 @@ public: tmp<scalarField> t ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const; //- Return transmissivity on face diff --git a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/wallTransmissivityModel/wallTransmissivityModel.H b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/wallTransmissivityModel/wallTransmissivityModel.H index e87af5ae65c..fe3d76e7c69 100644 --- a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/wallTransmissivityModel/wallTransmissivityModel.H +++ b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/wallTransmissivityModel/wallTransmissivityModel.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef wallTransmissivityModel_H -#define wallTransmissivityModel_H +#ifndef Foam_radiation_wallTransmissivityModel_H +#define Foam_radiation_wallTransmissivityModel_H #include "dictionary.H" #include "autoPtr.H" @@ -106,8 +106,8 @@ public: virtual tmp<scalarField> t ( const label bandI = 0, - vectorField* incomingDirection = nullptr, - scalarField* T = nullptr + const vectorField* incomingDirection = nullptr, + const scalarField* T = nullptr ) const = 0; //- Return transmissivity on face -- GitLab From de39878b9bc08cb0b26cb7d2356b3e591e6f984e Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 3 Jun 2024 20:29:14 +0100 Subject: [PATCH 191/231] ENH: radiation - temperature dependent absorption, emissivity, transmissivity - constantAbsorption - updated a_ and e_ (Function1) - constantTransmissivity - updated tau_ (Function1) --- .../constantAbsorption/constantAbsorption.C | 46 ++++++++++++++++--- .../constantAbsorption/constantAbsorption.H | 7 +-- .../constantTransmissivity.C | 27 ++++++++--- .../constantTransmissivity.H | 5 +- 4 files changed, 67 insertions(+), 18 deletions(-) diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C index 652a9a6d71a..7dabf10a894 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2018 OpenCFD Ltd. + Copyright (C) 2015-2018, 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,8 +56,8 @@ Foam::radiation::constantAbsorption::constantAbsorption : wallAbsorptionEmissionModel(dict, pp), coeffsDict_(dict), - a_(coeffsDict_.get<scalar>("absorptivity")), - e_(coeffsDict_.get<scalar>("emissivity")) + a_(Function1<scalar>::New("absorptivity", coeffsDict_)), + e_(Function1<scalar>::New("emissivity", coeffsDict_)) {} @@ -70,7 +70,23 @@ Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::a const scalarField* T ) const { - return tmp<scalarField>::New(pp_.size(), a_); + if (a_->constant()) + { + // Use arbitrary argument for a_ + return tmp<scalarField>::New(pp_.size(), a_->value(0)); + } + + if (T) + { + return a_->value(*T); + } + + FatalErrorInFunction + << "Attempted to set 'a' using a non-uniform function of Temperature, " + << "but temperature field is unavailable" + << abort(FatalError); + + return nullptr; } @@ -82,7 +98,7 @@ Foam::scalar Foam::radiation::constantAbsorption::a const scalar T ) const { - return a_; + return a_->value(T); } @@ -93,7 +109,23 @@ Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::e const scalarField* T ) const { - return tmp<scalarField>::New(pp_.size(), e_); + if (e_->constant()) + { + // Use arbitrary argument for e_ + return tmp<scalarField>::New(pp_.size(), e_->value(0)); + } + + if (T) + { + return e_->value(*T); + } + + FatalErrorInFunction + << "Attempted to set 'e' using a non-uniform function of Temperature, " + << "but temperature field is unavailable" + << abort(FatalError); + + return nullptr; } @@ -105,7 +137,7 @@ Foam::scalar Foam::radiation::constantAbsorption::e const scalar T ) const { - return e_; + return e_->value(T); } diff --git a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.H b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.H index a3e3b64618b..c7669eabe7d 100644 --- a/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.H +++ b/src/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018, 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,6 +41,7 @@ SourceFiles #define Foam_radiation_constantAbsorption_H #include "wallAbsorptionEmissionModel.H" +#include "Function1.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -64,10 +65,10 @@ class constantAbsorption dictionary coeffsDict_; //- Absorptivity coefficient - scalar a_; + autoPtr<Function1<scalar>> a_; //- Emissivity coefficient - scalar e_; + autoPtr<Function1<scalar>> e_; public: diff --git a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C index b5f7fbb7cc0..eac1e6c9498 100644 --- a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C +++ b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2018 OpenCFD Ltd. + Copyright (C) 2015-2018, 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,21 +56,36 @@ Foam::radiation::constantTransmissivity::constantTransmissivity : wallTransmissivityModel(dict, pp), coeffsDict_(dict), - tau_(coeffsDict_.get<scalar>("transmissivity")) + tau_(Function1<scalar>::New("transmissivity", coeffsDict_)) {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::scalarField> -Foam::radiation::constantTransmissivity::t +Foam::tmp<Foam::scalarField> Foam::radiation::constantTransmissivity::t ( const label bandI, const vectorField* incomingDirection, const scalarField* T ) const { - return tmp<scalarField>::New(pp_.size(), tau_); + if (tau_->constant()) + { + // Use arbitrary argument for a_ + return tmp<scalarField>::New(pp_.size(), tau_->value(0)); + } + + if (T) + { + return tau_->value(*T); + } + + FatalErrorInFunction + << "Attempted to set 't' using a non-uniform function of Temperature, " + << "but temperature field is unavailable" + << abort(FatalError); + + return nullptr; } @@ -82,7 +97,7 @@ Foam::scalar Foam::radiation::constantTransmissivity::t const scalar T ) const { - return tau_; + return tau_->value(T); } diff --git a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.H b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.H index 5c68c58d2f2..1aa513bb670 100644 --- a/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.H +++ b/src/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2018 OpenCFD Ltd. + Copyright (C) 2015-2018, 2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -41,6 +41,7 @@ SourceFiles #define Foam_radiation_constantTransmissivity_H #include "wallTransmissivityModel.H" +#include "Function1.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -64,7 +65,7 @@ class constantTransmissivity dictionary coeffsDict_; //- Transmissivity coefficient - scalar tau_; + autoPtr<Function1<scalar>> tau_; public: -- GitLab From d71b3c46331edc63bf28b1d5b3a44a76ae04784e Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Tue, 4 Jun 2024 10:10:24 +0100 Subject: [PATCH 192/231] ENH: radiation - temperature dependent properties ENH: radiationModel - expose T() --- .../MarshakRadiation/MarshakRadiationFvPatchScalarField.C | 2 +- .../greyDiffusiveRadiationMixedFvPatchScalarField.C | 4 ++-- .../wideBandDiffusiveRadiationMixedFvPatchScalarField.C | 8 +++++--- .../radiationModels/radiationModel/radiationModel.H | 3 +++ .../radiation/radiationModels/viewFactor/viewFactor.C | 4 ++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.C index 369f03cc6c0..6d0423954f9 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.C +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.C @@ -139,7 +139,7 @@ void Foam::radiation::MarshakRadiationFvPatchScalarField::updateCoeffs() const tmp<scalarField> temissivity ( - boundaryRadiation.emissivity(patch().index()) + boundaryRadiation.emissivity(patch().index(), 0, nullptr, &Tp) ); const scalarField& emissivity = temissivity(); diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C index 6bcfb8437fb..29c0f4a20c6 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C @@ -178,14 +178,14 @@ updateCoeffs() const tmp<scalarField> temissivity ( - boundaryRadiation.emissivity(patch().index()) + boundaryRadiation.emissivity(patch().index(), 0, nullptr, &Tp) ); const scalarField& emissivity = temissivity(); const tmp<scalarField> ttransmissivity ( - boundaryRadiation.transmissivity(patch().index()) + boundaryRadiation.transmissivity(patch().index(), 0, nullptr, &Tp) ); const scalarField& transmissivity = ttransmissivity(); diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C index 72486e7dbce..a021059e059 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C @@ -167,15 +167,17 @@ updateCoeffs() boundaryRadiationProperties::New(internalField().mesh()); + const auto& Tp = radiation.T().boundaryField()[patchi]; + const tmp<scalarField> temissivity ( - boundaryRadiation.emissivity(patch().index(), lambdaId) + boundaryRadiation.emissivity(patchi, lambdaId, nullptr, &Tp) ); const scalarField& emissivity = temissivity(); const tmp<scalarField> ttransmissivity ( - boundaryRadiation.transmissivity(patch().index(), lambdaId) + boundaryRadiation.transmissivity(patchi, lambdaId, nullptr, &Tp) ); const scalarField& transmissivity = ttransmissivity(); @@ -217,7 +219,7 @@ updateCoeffs() const volScalarField& qSec = this->db().lookupObject<volScalarField>(qSecName); - Ir += qSec.boundaryField()[patch().index()]; + Ir += qSec.boundaryField()[patchi]; } } diff --git a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.H b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.H index a52350daad3..cf730c0ce19 100644 --- a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.H +++ b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.H @@ -240,6 +240,9 @@ public: return radiation_; } + //- Return access to the temperature field + const volScalarField& T() const noexcept { return T_; } + //- Source term component (for power of T^4) virtual tmp<volScalarField> Rp() const = 0; diff --git a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C index 9a1e62068d1..d434b37a90f 100644 --- a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C +++ b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C @@ -738,14 +738,14 @@ void Foam::radiation::viewFactor::calculate() fvPatchScalarField& qrPatch = qrBf[patchID]; - greyDiffusiveViewFactorFixedValueFvPatchScalarField& qrp = + auto& qrp = refCast < greyDiffusiveViewFactorFixedValueFvPatchScalarField >(qrPatch); const tmp<scalarField> teb = - boundaryRadiation.emissivity(patchID, bandI); + boundaryRadiation.emissivity(patchID, bandI, nullptr, &Tp); const scalarField& eb = teb(); -- GitLab From eea442e20996c1a10513e088ff75d4f0518274ab Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Wed, 5 Jun 2024 12:02:24 +0100 Subject: [PATCH 193/231] BUG: cellSetOption: allow geometric selection update (fixes #3161) --- src/fvOptions/cellSetOption/cellSetOption.C | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/fvOptions/cellSetOption/cellSetOption.C b/src/fvOptions/cellSetOption/cellSetOption.C index 87a9461a2ae..b5117ada94d 100644 --- a/src/fvOptions/cellSetOption/cellSetOption.C +++ b/src/fvOptions/cellSetOption/cellSetOption.C @@ -408,9 +408,13 @@ bool Foam::fv::cellSetOption::isActive() // Report new volume (if changed) setVol(); } - else if (selectionMode_ == smMovingPoints) + else if + ( + selectionMode_ == smMovingPoints + || selectionMode_ == smGeometric + ) { - // Update the cell selection if it moves + // Update the cell selection even if mesh is not moving setCellSelection(); setVol(); } -- GitLab From f7291c455006b94fae5b9cdc0b831b3496d6cad5 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Thu, 6 Jun 2024 09:25:03 +0100 Subject: [PATCH 194/231] SUBMODULE: add data-community plugin (fixes #3146) SUBMODULE: update turbulence-community plugin ENH: README: add info to differentiate the modules from the plugins --- .gitmodules | 3 +++ modules/README.md | 9 +++++++-- plugins/README.md | 9 +++++++-- plugins/data-community | 1 + plugins/turbulence-community | 2 +- 5 files changed, 19 insertions(+), 5 deletions(-) create mode 160000 plugins/data-community diff --git a/.gitmodules b/.gitmodules index d15f331dd6a..d60f8053327 100644 --- a/.gitmodules +++ b/.gitmodules @@ -20,3 +20,6 @@ [submodule "turbulence-community"] path = plugins/turbulence-community url = https://gitlab.com/openfoam/community/tc-turbulence/turbulence-community.git +[submodule "plugins/data-community"] + path = plugins/data-community + url = https://gitlab.com/openfoam/community/sig-data-modelling/data-community.git diff --git a/modules/README.md b/modules/README.md index 0dc15e01dfa..866a1e88e26 100644 --- a/modules/README.md +++ b/modules/README.md @@ -1,12 +1,17 @@ [[_TOC_]] -## OpenFOAM Modules +## OpenFOAM modules This directory is a location for additional OpenFOAM components or tools to placed and have them built as part of the normal OpenFOAM build process. It is assumed that each subdirectory contain an appropriate `Allwmake` (or `Allwmake.override`) file. +The primary distinction between `modules` and `plugins` is that `modules` are +mainly maintained and released by OpenFOAM developers, whereas `plugins` are an +open and welcoming area for add-ons, predominantly maintained and driven by +OpenFOAM community members and groups. + ### How to use On the first use, you need to register the submodules, and then update them. @@ -91,7 +96,7 @@ To build the doxygen information for the components, it is also necessary to link the directories to the doc/ subdirectory. This is a purely manual operation. -### Developer Information +### Developer information #### Build locations diff --git a/plugins/README.md b/plugins/README.md index 46e44b7c7da..037100b9862 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -1,12 +1,17 @@ [[_TOC_]] -## OpenFOAM Plugins +## OpenFOAM plugins This directory is a location for additional OpenFOAM components or tools to placed and have them built as part of the normal OpenFOAM build process. It is assumed that each subdirectory contain an appropriate `Allwmake` (or `Allwmake.override`) file. +The primary distinction between `modules` and `plugins` is that `modules` are +mainly maintained and released by OpenFOAM developers, whereas `plugins` are an +open and welcoming area for add-ons, predominantly maintained and driven by +OpenFOAM community members and groups. + ### How to use On the first use, you need to register the submodules, and then update them. @@ -88,7 +93,7 @@ To build the doxygen information for the components, it is also necessary to link the directories to the doc/ subdirectory. This is a purely manual operation. -### Developer Information +### Developer information #### Build locations diff --git a/plugins/data-community b/plugins/data-community new file mode 160000 index 00000000000..cfb50e6b1a1 --- /dev/null +++ b/plugins/data-community @@ -0,0 +1 @@ +Subproject commit cfb50e6b1a182bda5f25d5690f26a23fc8d22c8f diff --git a/plugins/turbulence-community b/plugins/turbulence-community index 06b391bb475..4dbaff2c56c 160000 --- a/plugins/turbulence-community +++ b/plugins/turbulence-community @@ -1 +1 @@ -Subproject commit 06b391bb475f0386342b6f9b7fe5496ae87e464f +Subproject commit 4dbaff2c56cacd3b5170cfd2899f003b1dc5832a -- GitLab From d148816bfe348ecc0d91021bbf04ea039c28f380 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 6 Jun 2024 15:48:57 +0100 Subject: [PATCH 195/231] ENH: snappyHexMesh: initialise in case of 0 layer. Fixes #3177 --- .../snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C index 072e39dfeb9..94365fc3670 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C @@ -4919,9 +4919,9 @@ void Foam::snappyLayerDriver::addLayers // Per cell 0 or number of layers in the cell column it is part of - labelList cellNLayers; + labelList cellNLayers(mesh.nCells(), Zero); // Per face actual overall layer thickness - scalarField faceRealThickness; + scalarField faceRealThickness(mesh.nFaces(), Zero); // Per face wanted overall layer thickness scalarField faceWantedThickness(mesh.nFaces(), Zero); { -- GitLab From cf5eaef23611461c1f83ce5453ee02232576804b Mon Sep 17 00:00:00 2001 From: Hakan Nilsson <> Date: Fri, 7 Jun 2024 09:53:06 +0100 Subject: [PATCH 196/231] INT: cyclicPeriodicAMI: demo case provided by Hakan Nilsson --- .../axialTurbine_rotating_oneBlade/0.orig/U | 65 + .../0.orig/epsilon | 62 + .../axialTurbine_rotating_oneBlade/0.orig/k | 58 + .../axialTurbine_rotating_oneBlade/0.orig/nut | 59 + .../axialTurbine_rotating_oneBlade/0.orig/p | 59 + .../axialTurbine_rotating_oneBlade/Allclean | 8 + .../RAS/axialTurbine_rotating_oneBlade/Allrun | 11 + .../axialTurbine_rotating_oneBlade/Allrun.pre | 26 + .../axialTurbine_rotating_oneBlade/README.txt | 12 + .../angPer.pvsm | 6439 +++++++++++++++++ .../constant/dynamicMeshDict | 34 + .../constant/transportProperties | 22 + .../constant/turbulenceProperties | 30 + .../system/blockMeshDict-conformal.m4 | 468 ++ .../system/blockMeshDict-non-conformal.m4 | 477 ++ .../system/changeDictionaryDict_cyclicAMI | 209 + .../system/controlDict | 55 + .../system/fvSchemes | 55 + .../system/fvSolution | 81 + 19 files changed, 8230 insertions(+) create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/U create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/epsilon create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/k create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/nut create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/p create mode 100755 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allclean create mode 100755 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allrun create mode 100755 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allrun.pre create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/README.txt create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/angPer.pvsm create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/dynamicMeshDict create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/transportProperties create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/turbulenceProperties create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/blockMeshDict-conformal.m4 create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/blockMeshDict-non-conformal.m4 create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/changeDictionaryDict_cyclicAMI create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/controlDict create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/fvSchemes create mode 100644 tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/fvSolution diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/U b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/U new file mode 100644 index 00000000000..2042c1a0c63 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/U @@ -0,0 +1,65 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 1 -1 0 0 0 0 ]; + +internalField uniform ( 0 0 -1 ); + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + GVINLET + { + type fixedValue; + value uniform ( 0 0 -1 ); + } + + DTOUTLET + { + type zeroGradient; + value $internalField; + } + + "(.*HUB|GVBLADE|.*SHROUD)" + { + type fixedValue; + value uniform ( 0 0 0 ); + } + + "(RUBLADE.*|RUHUB)" + { + type movingWallVelocity; + value uniform ( 0 0 0 ); + } + + "(GVOUTLET|RUINLET|RUOUTLET|DTINLET)" + { + type cyclicAMI; + value $internalField; + } +/* + "(.*CYCLIC.*)" + { + type cyclicAMI; + value $internalField; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/epsilon b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/epsilon new file mode 100644 index 00000000000..32679821c70 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/epsilon @@ -0,0 +1,62 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 2 -3 0 0 0 0 ]; + +internalField uniform 14.855; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + GVINLET + { + type fixedValue; + value $internalField; + } + + DTOUTLET + { + type zeroGradient; + } + + "(.*HUB|RUBLADE.*|GVBLADE.*|.*SHROUD)" + { + type epsilonWallFunction; + refValue uniform 0; + value $internalField; + Cmu 0.09; + kappa 0.41; + E 9.8; + } + + "(GVOUTLET|RUINLET|RUOUTLET|DTINLET)" + { + type cyclicAMI; + value $internalField; + } +/* + "(.*CYCLIC.*)" + { + type cyclicAMI; + value $internalField; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/k b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/k new file mode 100644 index 00000000000..e5a5e63e2d1 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/k @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 2 -2 0 0 0 0 ]; + +internalField uniform 0.375; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + GVINLET + { + type fixedValue; + value $internalField; + } + + DTOUTLET + { + type zeroGradient; + } + + "(.*HUB|RUBLADE.*|GVBLADE.*|.*SHROUD)" + { + type kqRWallFunction; + value $internalField; + } + + "(GVOUTLET|RUINLET|RUOUTLET|DTINLET)" + { + type cyclicAMI; + value $internalField; + } +/* + "(.*CYCLIC.*)" + { + type cyclicAMI; + value $internalField; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/nut b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/nut new file mode 100644 index 00000000000..14b7f2f052c --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/nut @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + GVINLET + { + type calculated; + value $internalField; + } + + DTOUTLET + { + type calculated; + value $internalField; + } + + "(.*HUB|RUBLADE.*|GVBLADE.*|.*SHROUD)" + { + type nutkWallFunction; + value $internalField; + } + + "(GVOUTLET|RUINLET|RUOUTLET|DTINLET)" + { + type cyclicAMI; + value $internalField; + } +/* + "(.*CYCLIC.*)" + { + type cyclicAMI; + value $internalField; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/p b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/p new file mode 100644 index 00000000000..4729f942ac2 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/0.orig/p @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 2 -2 0 0 0 0 ]; + +internalField uniform 0; + +boundaryField +{ + #includeEtc "caseDicts/setConstraintTypes" + + GVINLET + { + type zeroGradient; + value $internalField; + } + + DTOUTLET + { + type fixedValue; + value $internalField; + } + + "(.*HUB|RUBLADE.*|GVBLADE.*|.*SHROUD)" + { + type zeroGradient; + value $internalField; + } + + "(GVOUTLET|RUINLET|RUOUTLET|DTINLET)" + { + type cyclicAMI; + value $internalField; + } +/* + "(.*CYCLIC.*)" + { + type cyclicAMI; + value $internalField; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allclean b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allclean new file mode 100755 index 00000000000..759449668e9 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allclean @@ -0,0 +1,8 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +cleanCase0 +rm -rf system/blockMeshDict +rm -rf VTK diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allrun b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allrun new file mode 100755 index 00000000000..5c83ae25ab4 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allrun @@ -0,0 +1,11 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +./Allrun.pre + +# Start simulation from scratch +runApplication pimpleFoam + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allrun.pre b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allrun.pre new file mode 100755 index 00000000000..b88249d28ed --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/Allrun.pre @@ -0,0 +1,26 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +# Generate mesh + +#- Conformal starting mesh +#m4 < system/blockMeshDict-conformal.m4 > system/blockMeshDict + +#- Non-conformal starting mesh +m4 < system/blockMeshDict-non-conformal.m4 > system/blockMeshDict +runApplication blockMesh +# Convert coordinates from cylindrical into Cartesian +runApplication -s cylToCart transformPoints -cylToCart "((0 0 0) (0 0 1) (1 0 0))" + +# Final clean-up, setting of boundary file, etc. +rm -rf 0/ +runApplication -s cyclicAMI changeDictionary -dict system/changeDictionaryDict_cyclicAMI -noZero -constant +runApplication checkMesh -constant +restore0Dir + +# Set up postprocessing +paraFoam -vtk -touch + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/README.txt b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/README.txt new file mode 100644 index 00000000000..adca508a8cf --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/README.txt @@ -0,0 +1,12 @@ +- case provided by Hakan Nilsson +- demonstrates: + - meshing in cylindrical coordinates + - use of cyclicPeriodicAMI + - setting of non-default matchTolerance (0.01) to get correct number + of sectors + - using paraview AngularPeriodicFilter + +- touch axialTurbine_rotating_oneBlade.foam +- paraview + - File -> Load State -> select 'angPer.pvsm' + - Choose FileName and select the .foam file diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/angPer.pvsm b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/angPer.pvsm new file mode 100644 index 00000000000..025b9490a33 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/angPer.pvsm @@ -0,0 +1,6439 @@ +<ParaView> + <ServerManagerState version="5.10.0"> + <Proxy group="animation" type="AnimationScene" id="261" servers="16"> + <Property name="AnimationTime" id="261.AnimationTime" number_of_elements="1"> + <Element index="0" value="0.0175"/> + </Property> + <Property name="Cues" id="261.Cues" number_of_elements="1"> + <Proxy value="263"/> + <Domain name="groups" id="261.Cues.groups"/> + </Property> + <Property name="Duration" id="261.Duration" number_of_elements="1"> + <Element index="0" value="10"/> + </Property> + <Property name="EndTime" id="261.EndTime" number_of_elements="1"> + <Element index="0" value="0.6125"/> + </Property> + <Property name="FramesPerTimestep" id="261.FramesPerTimestep" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="261.FramesPerTimestep.range"/> + </Property> + <Property name="GoToFirst" id="261.GoToFirst"/> + <Property name="GoToLast" id="261.GoToLast"/> + <Property name="GoToNext" id="261.GoToNext"/> + <Property name="GoToPrevious" id="261.GoToPrevious"/> + <Property name="LockEndTime" id="261.LockEndTime" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="261.LockEndTime.bool"/> + </Property> + <Property name="LockStartTime" id="261.LockStartTime" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="261.LockStartTime.bool"/> + </Property> + <Property name="Loop" id="261.Loop" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="261.Loop.bool"/> + </Property> + <Property name="NumberOfFrames" id="261.NumberOfFrames" number_of_elements="1"> + <Element index="0" value="10"/> + <Domain name="range" id="261.NumberOfFrames.range"/> + </Property> + <Property name="Play" id="261.Play"/> + <Property name="PlayMode" id="261.PlayMode" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="261.PlayMode.enum"> + <Entry value="0" text="Sequence"/> + <Entry value="1" text="Real Time"/> + <Entry value="2" text="Snap To TimeSteps"/> + </Domain> + </Property> + <Property name="StartTime" id="261.StartTime" number_of_elements="1"> + <Element index="0" value="0.0175"/> + </Property> + <Property name="Stop" id="261.Stop"/> + <Property name="Stride" id="261.Stride" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="261.Stride.range"/> + </Property> + <Property name="TimeKeeper" id="261.TimeKeeper" number_of_elements="1"> + <Proxy value="256"/> + </Property> + <Property name="ViewModules" id="261.ViewModules" number_of_elements="1"> + <Proxy value="4875"/> + <Domain name="groups" id="261.ViewModules.groups"/> + </Property> + </Proxy> + <Proxy group="animation" type="TimeAnimationCue" id="263" servers="16"> + <Property name="AnimatedDomainName" id="263.AnimatedDomainName" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="AnimatedElement" id="263.AnimatedElement" number_of_elements="1"> + <Element index="0" value="0"/> + </Property> + <Property name="AnimatedPropertyName" id="263.AnimatedPropertyName" number_of_elements="1"> + <Element index="0" value="Time"/> + </Property> + <Property name="AnimatedProxy" id="263.AnimatedProxy" number_of_elements="1"> + <Proxy value="256"/> + <Domain name="groups" id="263.AnimatedProxy.groups"/> + </Property> + <Property name="Enabled" id="263.Enabled" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="263.Enabled.bool"/> + </Property> + <Property name="EndTime" id="263.EndTime" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="KeyFrames" id="263.KeyFrames"> + <Domain name="groups" id="263.KeyFrames.groups"/> + </Property> + <Property name="LastAddedKeyFrameIndex" id="263.LastAddedKeyFrameIndex"/> + <Property name="StartTime" id="263.StartTime" number_of_elements="1"> + <Element index="0" value="0"/> + </Property> + <Property name="TimeMode" id="263.TimeMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="263.TimeMode.enum"> + <Entry value="0" text="Normalized"/> + <Entry value="1" text="Relative"/> + </Domain> + </Property> + <Property name="UseAnimationTime" id="263.UseAnimationTime" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="263.UseAnimationTime.bool"/> + </Property> + </Proxy> + <Proxy group="misc" type="ViewLayout" id="4876" servers="20"> + <Property name="PreviewMode" id="4876.PreviewMode" number_of_elements="2"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + </Property> + <Property name="SeparatorColor" id="4876.SeparatorColor" number_of_elements="3"> + <Element index="0" value="0.937"/> + <Element index="1" value="0.922"/> + <Element index="2" value="0.906"/> + <Domain name="range" id="4876.SeparatorColor.range"/> + </Property> + <Property name="SeparatorWidth" id="4876.SeparatorWidth" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4876.SeparatorWidth.range"/> + </Property> + <Layout number_of_elements="1"> + <Item direction="0" fraction="0.5" view="4875"/> + </Layout> + </Proxy> + <Proxy group="lookup_tables" type="PVLookupTable" id="7900" servers="21"> + <Property name="AboveRangeColor" id="7900.AboveRangeColor" number_of_elements="3"> + <Element index="0" value="0.5"/> + <Element index="1" value="0.5"/> + <Element index="2" value="0.5"/> + </Property> + <Property name="ActiveAnnotatedValues" id="7900.ActiveAnnotatedValues"/> + <Property name="AllowDuplicateScalars" id="7900.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7900.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Annotations" id="7900.Annotations"/> + <Property name="AnnotationsInitialized" id="7900.AnnotationsInitialized" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.AnnotationsInitialized.bool"/> + </Property> + <Property name="AutomaticDataHistogramComputation" id="7900.AutomaticDataHistogramComputation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.AutomaticDataHistogramComputation.bool"/> + </Property> + <Property name="AutomaticRescaleRangeMode" id="7900.AutomaticRescaleRangeMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7900.AutomaticRescaleRangeMode.enum"> + <Entry value="-1" text="Never"/> + <Entry value="0" text="Grow and update on 'Apply'"/> + <Entry value="1" text="Grow and update every timestep"/> + <Entry value="2" text="Update on 'Apply'"/> + <Entry value="3" text="Clamp and update every timestep"/> + </Domain> + </Property> + <Property name="BelowRangeColor" id="7900.BelowRangeColor" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + </Property> + <Property name="Build" id="7900.Build"/> + <Property name="ColorSpace" id="7900.ColorSpace" number_of_elements="1"> + <Element index="0" value="3"/> + <Domain name="enum" id="7900.ColorSpace.enum"> + <Entry value="0" text="RGB"/> + <Entry value="1" text="HSV"/> + <Entry value="2" text="Lab"/> + <Entry value="3" text="Diverging"/> + <Entry value="4" text="Lab/CIEDE2000"/> + <Entry value="5" text="Step"/> + </Domain> + </Property> + <Property name="DataHistogramNumberOfBins" id="7900.DataHistogramNumberOfBins" number_of_elements="1"> + <Element index="0" value="10"/> + </Property> + <Property name="Discretize" id="7900.Discretize" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7900.Discretize.bool"/> + </Property> + <Property name="EnableOpacityMapping" id="7900.EnableOpacityMapping" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.EnableOpacityMapping.bool"/> + </Property> + <Property name="HSVWrap" id="7900.HSVWrap" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.HSVWrap.bool"/> + </Property> + <Property name="IndexedColors" id="7900.IndexedColors"/> + <Property name="IndexedLookup" id="7900.IndexedLookup" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.IndexedLookup.bool"/> + </Property> + <Property name="IndexedOpacities" id="7900.IndexedOpacities"/> + <Property name="NanColor" id="7900.NanColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + </Property> + <Property name="NanOpacity" id="7900.NanOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7900.NanOpacity.range"/> + </Property> + <Property name="NumberOfTableValues" id="7900.NumberOfTableValues" number_of_elements="1"> + <Element index="0" value="256"/> + <Domain name="range" id="7900.NumberOfTableValues.range"/> + </Property> + <Property name="RGBPoints" id="7900.RGBPoints" number_of_elements="12"> + <Element index="0" value="0"/> + <Element index="1" value="0.231373"/> + <Element index="2" value="0.298039"/> + <Element index="3" value="0.752941"/> + <Element index="4" value="0.6911159481732113"/> + <Element index="5" value="0.865003"/> + <Element index="6" value="0.865003"/> + <Element index="7" value="0.865003"/> + <Element index="8" value="1.3822318963464226"/> + <Element index="9" value="0.705882"/> + <Element index="10" value="0.0156863"/> + <Element index="11" value="0.14902"/> + </Property> + <Property name="RescaleOnVisibilityChange" id="7900.RescaleOnVisibilityChange" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.RescaleOnVisibilityChange.bool"/> + </Property> + <Property name="ScalarOpacityFunction" id="7900.ScalarOpacityFunction" number_of_elements="1"> + <Proxy value="7899"/> + </Property> + <Property name="ScalarRangeInitialized" id="7900.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7900.ScalarRangeInitialized.bool"/> + </Property> + <Property name="ShowDataHistogram" id="7900.ShowDataHistogram" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.ShowDataHistogram.bool"/> + </Property> + <Property name="ShowIndexedColorActiveValues" id="7900.ShowIndexedColorActiveValues" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.ShowIndexedColorActiveValues.bool"/> + </Property> + <Property name="UseAboveRangeColor" id="7900.UseAboveRangeColor" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.UseAboveRangeColor.bool"/> + </Property> + <Property name="UseBelowRangeColor" id="7900.UseBelowRangeColor" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.UseBelowRangeColor.bool"/> + </Property> + <Property name="UseLogScale" id="7900.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.UseLogScale.bool"/> + </Property> + <Property name="UseOpacityControlPointsFreehandDrawing" id="7900.UseOpacityControlPointsFreehandDrawing" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7900.UseOpacityControlPointsFreehandDrawing.bool"/> + </Property> + <Property name="VectorComponent" id="7900.VectorComponent" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7900.VectorComponent.range"/> + </Property> + <Property name="VectorMode" id="7900.VectorMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7900.VectorMode.enum"> + <Entry value="0" text="Magnitude"/> + <Entry value="1" text="Component"/> + </Domain> + </Property> + </Proxy> + <Proxy group="lookup_tables" type="PVLookupTable" id="7646" servers="21"> + <Property name="AboveRangeColor" id="7646.AboveRangeColor" number_of_elements="3"> + <Element index="0" value="0.5"/> + <Element index="1" value="0.5"/> + <Element index="2" value="0.5"/> + </Property> + <Property name="ActiveAnnotatedValues" id="7646.ActiveAnnotatedValues"/> + <Property name="AllowDuplicateScalars" id="7646.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7646.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Annotations" id="7646.Annotations"/> + <Property name="AnnotationsInitialized" id="7646.AnnotationsInitialized" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.AnnotationsInitialized.bool"/> + </Property> + <Property name="AutomaticDataHistogramComputation" id="7646.AutomaticDataHistogramComputation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.AutomaticDataHistogramComputation.bool"/> + </Property> + <Property name="AutomaticRescaleRangeMode" id="7646.AutomaticRescaleRangeMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7646.AutomaticRescaleRangeMode.enum"> + <Entry value="-1" text="Never"/> + <Entry value="0" text="Grow and update on 'Apply'"/> + <Entry value="1" text="Grow and update every timestep"/> + <Entry value="2" text="Update on 'Apply'"/> + <Entry value="3" text="Clamp and update every timestep"/> + </Domain> + </Property> + <Property name="BelowRangeColor" id="7646.BelowRangeColor" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + </Property> + <Property name="Build" id="7646.Build"/> + <Property name="ColorSpace" id="7646.ColorSpace" number_of_elements="1"> + <Element index="0" value="3"/> + <Domain name="enum" id="7646.ColorSpace.enum"> + <Entry value="0" text="RGB"/> + <Entry value="1" text="HSV"/> + <Entry value="2" text="Lab"/> + <Entry value="3" text="Diverging"/> + <Entry value="4" text="Lab/CIEDE2000"/> + <Entry value="5" text="Step"/> + </Domain> + </Property> + <Property name="DataHistogramNumberOfBins" id="7646.DataHistogramNumberOfBins" number_of_elements="1"> + <Element index="0" value="10"/> + </Property> + <Property name="Discretize" id="7646.Discretize" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7646.Discretize.bool"/> + </Property> + <Property name="EnableOpacityMapping" id="7646.EnableOpacityMapping" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.EnableOpacityMapping.bool"/> + </Property> + <Property name="HSVWrap" id="7646.HSVWrap" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.HSVWrap.bool"/> + </Property> + <Property name="IndexedColors" id="7646.IndexedColors"/> + <Property name="IndexedLookup" id="7646.IndexedLookup" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.IndexedLookup.bool"/> + </Property> + <Property name="IndexedOpacities" id="7646.IndexedOpacities"/> + <Property name="NanColor" id="7646.NanColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + </Property> + <Property name="NanOpacity" id="7646.NanOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7646.NanOpacity.range"/> + </Property> + <Property name="NumberOfTableValues" id="7646.NumberOfTableValues" number_of_elements="1"> + <Element index="0" value="256"/> + <Domain name="range" id="7646.NumberOfTableValues.range"/> + </Property> + <Property name="RGBPoints" id="7646.RGBPoints" number_of_elements="12"> + <Element index="0" value="-0.4032135009765625"/> + <Element index="1" value="0.231373"/> + <Element index="2" value="0.298039"/> + <Element index="3" value="0.752941"/> + <Element index="4" value="0.5592107772827148"/> + <Element index="5" value="0.865003"/> + <Element index="6" value="0.865003"/> + <Element index="7" value="0.865003"/> + <Element index="8" value="1.5216350555419922"/> + <Element index="9" value="0.705882"/> + <Element index="10" value="0.0156863"/> + <Element index="11" value="0.14902"/> + </Property> + <Property name="RescaleOnVisibilityChange" id="7646.RescaleOnVisibilityChange" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.RescaleOnVisibilityChange.bool"/> + </Property> + <Property name="ScalarOpacityFunction" id="7646.ScalarOpacityFunction" number_of_elements="1"> + <Proxy value="7645"/> + </Property> + <Property name="ScalarRangeInitialized" id="7646.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7646.ScalarRangeInitialized.bool"/> + </Property> + <Property name="ShowDataHistogram" id="7646.ShowDataHistogram" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.ShowDataHistogram.bool"/> + </Property> + <Property name="ShowIndexedColorActiveValues" id="7646.ShowIndexedColorActiveValues" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.ShowIndexedColorActiveValues.bool"/> + </Property> + <Property name="UseAboveRangeColor" id="7646.UseAboveRangeColor" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.UseAboveRangeColor.bool"/> + </Property> + <Property name="UseBelowRangeColor" id="7646.UseBelowRangeColor" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.UseBelowRangeColor.bool"/> + </Property> + <Property name="UseLogScale" id="7646.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.UseLogScale.bool"/> + </Property> + <Property name="UseOpacityControlPointsFreehandDrawing" id="7646.UseOpacityControlPointsFreehandDrawing" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7646.UseOpacityControlPointsFreehandDrawing.bool"/> + </Property> + <Property name="VectorComponent" id="7646.VectorComponent" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7646.VectorComponent.range"/> + </Property> + <Property name="VectorMode" id="7646.VectorMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7646.VectorMode.enum"> + <Entry value="0" text="Magnitude"/> + <Entry value="1" text="Component"/> + </Domain> + </Property> + </Proxy> + <Proxy group="piecewise_functions" type="PiecewiseFunction" id="7899" servers="21"> + <Property name="AllowDuplicateScalars" id="7899.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7899.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Points" id="7899.Points" number_of_elements="8"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Element index="3" value="0"/> + <Element index="4" value="1.3822318963464226"/> + <Element index="5" value="1"/> + <Element index="6" value="0.5"/> + <Element index="7" value="0"/> + </Property> + <Property name="ScalarRangeInitialized" id="7899.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7899.ScalarRangeInitialized.bool"/> + </Property> + <Property name="UseLogScale" id="7899.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7899.UseLogScale.bool"/> + </Property> + </Proxy> + <Proxy group="piecewise_functions" type="PiecewiseFunction" id="7645" servers="21"> + <Property name="AllowDuplicateScalars" id="7645.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7645.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Points" id="7645.Points" number_of_elements="8"> + <Element index="0" value="-0.4032135009765625"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Element index="3" value="0"/> + <Element index="4" value="1.5216350555419922"/> + <Element index="5" value="1"/> + <Element index="6" value="0.5"/> + <Element index="7" value="0"/> + </Property> + <Property name="ScalarRangeInitialized" id="7645.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7645.ScalarRangeInitialized.bool"/> + </Property> + <Property name="UseLogScale" id="7645.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7645.UseLogScale.bool"/> + </Property> + </Proxy> + <Proxy group="annotations" type="GridAxes3DActor" id="4872" servers="21"> + <Property name="AxesToLabel" id="4872.AxesToLabel" number_of_elements="1"> + <Element index="0" value="63"/> + <Domain name="range" id="4872.AxesToLabel.range"/> + </Property> + <Property name="CustomBounds" id="4872.CustomBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Element index="3" value="1"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + <Domain name="range" id="4872.CustomBounds.range"/> + </Property> + <Property name="DataBoundsScaleFactor" id="4872.DataBoundsScaleFactor" number_of_elements="1"> + <Element index="0" value="1.0008"/> + <Domain name="range" id="4872.DataBoundsScaleFactor.range"/> + </Property> + <Property name="DataPosition" id="4872.DataPosition" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="4872.DataPosition.range"/> + </Property> + <Property name="DataScale" id="4872.DataScale" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="4872.DataScale.range"/> + </Property> + <Property name="FacesToRender" id="4872.FacesToRender" number_of_elements="1"> + <Element index="0" value="63"/> + <Domain name="range" id="4872.FacesToRender.range"/> + </Property> + <Property name="LabelUniqueEdgesOnly" id="4872.LabelUniqueEdgesOnly" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4872.LabelUniqueEdgesOnly.bool"/> + </Property> + <Property name="ModelBounds" id="4872.ModelBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Element index="3" value="1"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + </Property> + <Property name="ModelTransformMatrix" id="4872.ModelTransformMatrix" number_of_elements="16"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Element index="3" value="0"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + <Element index="6" value="0"/> + <Element index="7" value="0"/> + <Element index="8" value="0"/> + <Element index="9" value="0"/> + <Element index="10" value="1"/> + <Element index="11" value="0"/> + <Element index="12" value="0"/> + <Element index="13" value="0"/> + <Element index="14" value="0"/> + <Element index="15" value="1"/> + </Property> + <Property name="ShowEdges" id="4872.ShowEdges" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4872.ShowEdges.bool"/> + </Property> + <Property name="ShowGrid" id="4872.ShowGrid" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.ShowGrid.bool"/> + </Property> + <Property name="ShowTicks" id="4872.ShowTicks" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4872.ShowTicks.bool"/> + </Property> + <Property name="UseCustomBounds" id="4872.UseCustomBounds" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.UseCustomBounds.bool"/> + </Property> + <Property name="UseModelTransform" id="4872.UseModelTransform" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="4872.UseModelTransform.range"/> + </Property> + <Property name="Visibility" id="4872.Visibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.Visibility.bool"/> + </Property> + <Property name="XAxisLabels" id="4872.XAxisLabels"> + <Domain name="scalar_range" id="4872.XAxisLabels.scalar_range"/> + </Property> + <Property name="XAxisNotation" id="4872.XAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.XAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="XAxisPrecision" id="4872.XAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="4872.XAxisPrecision.range"/> + </Property> + <Property name="XAxisUseCustomLabels" id="4872.XAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.XAxisUseCustomLabels.bool"/> + </Property> + <Property name="XTitle" id="4872.XTitle" number_of_elements="1"> + <Element index="0" value="X Axis"/> + </Property> + <Property name="YAxisLabels" id="4872.YAxisLabels"> + <Domain name="scalar_range" id="4872.YAxisLabels.scalar_range"/> + </Property> + <Property name="YAxisNotation" id="4872.YAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.YAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="YAxisPrecision" id="4872.YAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="4872.YAxisPrecision.range"/> + </Property> + <Property name="YAxisUseCustomLabels" id="4872.YAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.YAxisUseCustomLabels.bool"/> + </Property> + <Property name="YTitle" id="4872.YTitle" number_of_elements="1"> + <Element index="0" value="Y Axis"/> + </Property> + <Property name="ZAxisLabels" id="4872.ZAxisLabels"> + <Domain name="scalar_range" id="4872.ZAxisLabels.scalar_range"/> + </Property> + <Property name="ZAxisNotation" id="4872.ZAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.ZAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="ZAxisPrecision" id="4872.ZAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="4872.ZAxisPrecision.range"/> + </Property> + <Property name="ZAxisUseCustomLabels" id="4872.ZAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.ZAxisUseCustomLabels.bool"/> + </Property> + <Property name="ZTitle" id="4872.ZTitle" number_of_elements="1"> + <Element index="0" value="Z Axis"/> + </Property> + <Property name="CullBackface" id="4872.CullBackface" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.CullBackface.bool"/> + </Property> + <Property name="CullFrontface" id="4872.CullFrontface" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4872.CullFrontface.bool"/> + </Property> + <Property name="GridColor" id="4872.GridColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="4872.GridColor.range"/> + </Property> + <Property name="XLabelBold" id="4872.XLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.XLabelBold.bool"/> + </Property> + <Property name="XLabelColor" id="4872.XLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="4872.XLabelColor.range"/> + </Property> + <Property name="XLabelFontFamily" id="4872.XLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.XLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="XLabelFontFile" id="4872.XLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="XLabelFontSize" id="4872.XLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="4872.XLabelFontSize.range"/> + </Property> + <Property name="XLabelItalic" id="4872.XLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.XLabelItalic.bool"/> + </Property> + <Property name="XLabelOpacity" id="4872.XLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4872.XLabelOpacity.range"/> + </Property> + <Property name="XLabelShadow" id="4872.XLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.XLabelShadow.bool"/> + </Property> + <Property name="XTitleBold" id="4872.XTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.XTitleBold.bool"/> + </Property> + <Property name="XTitleColor" id="4872.XTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="4872.XTitleColor.range"/> + </Property> + <Property name="XTitleFontFamily" id="4872.XTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.XTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="XTitleFontFile" id="4872.XTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="XTitleFontSize" id="4872.XTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="4872.XTitleFontSize.range"/> + </Property> + <Property name="XTitleItalic" id="4872.XTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.XTitleItalic.bool"/> + </Property> + <Property name="XTitleOpacity" id="4872.XTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4872.XTitleOpacity.range"/> + </Property> + <Property name="XTitleShadow" id="4872.XTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.XTitleShadow.bool"/> + </Property> + <Property name="YLabelBold" id="4872.YLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.YLabelBold.bool"/> + </Property> + <Property name="YLabelColor" id="4872.YLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="4872.YLabelColor.range"/> + </Property> + <Property name="YLabelFontFamily" id="4872.YLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.YLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="YLabelFontFile" id="4872.YLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="YLabelFontSize" id="4872.YLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="4872.YLabelFontSize.range"/> + </Property> + <Property name="YLabelItalic" id="4872.YLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.YLabelItalic.bool"/> + </Property> + <Property name="YLabelOpacity" id="4872.YLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4872.YLabelOpacity.range"/> + </Property> + <Property name="YLabelShadow" id="4872.YLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.YLabelShadow.bool"/> + </Property> + <Property name="YTitleBold" id="4872.YTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.YTitleBold.bool"/> + </Property> + <Property name="YTitleColor" id="4872.YTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="4872.YTitleColor.range"/> + </Property> + <Property name="YTitleFontFamily" id="4872.YTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.YTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="YTitleFontFile" id="4872.YTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="YTitleFontSize" id="4872.YTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="4872.YTitleFontSize.range"/> + </Property> + <Property name="YTitleItalic" id="4872.YTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.YTitleItalic.bool"/> + </Property> + <Property name="YTitleOpacity" id="4872.YTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4872.YTitleOpacity.range"/> + </Property> + <Property name="YTitleShadow" id="4872.YTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.YTitleShadow.bool"/> + </Property> + <Property name="ZLabelBold" id="4872.ZLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.ZLabelBold.bool"/> + </Property> + <Property name="ZLabelColor" id="4872.ZLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="4872.ZLabelColor.range"/> + </Property> + <Property name="ZLabelFontFamily" id="4872.ZLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.ZLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="ZLabelFontFile" id="4872.ZLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="ZLabelFontSize" id="4872.ZLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="4872.ZLabelFontSize.range"/> + </Property> + <Property name="ZLabelItalic" id="4872.ZLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.ZLabelItalic.bool"/> + </Property> + <Property name="ZLabelOpacity" id="4872.ZLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4872.ZLabelOpacity.range"/> + </Property> + <Property name="ZLabelShadow" id="4872.ZLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.ZLabelShadow.bool"/> + </Property> + <Property name="ZTitleBold" id="4872.ZTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.ZTitleBold.bool"/> + </Property> + <Property name="ZTitleColor" id="4872.ZTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="4872.ZTitleColor.range"/> + </Property> + <Property name="ZTitleFontFamily" id="4872.ZTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4872.ZTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="ZTitleFontFile" id="4872.ZTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="ZTitleFontSize" id="4872.ZTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="4872.ZTitleFontSize.range"/> + </Property> + <Property name="ZTitleItalic" id="4872.ZTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.ZTitleItalic.bool"/> + </Property> + <Property name="ZTitleOpacity" id="4872.ZTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4872.ZTitleOpacity.range"/> + </Property> + <Property name="ZTitleShadow" id="4872.ZTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4872.ZTitleShadow.bool"/> + </Property> + </Proxy> + <Proxy group="misc" type="RepresentationAnimationHelper" id="7364" servers="16"> + <Property name="Source" id="7364.Source" number_of_elements="1"> + <Proxy value="7352"/> + </Property> + </Proxy> + <Proxy group="representations" type="GridAxesRepresentation" id="7440" servers="21"> + <Property name="GridAxesVisibility" id="7440.GridAxesVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.GridAxesVisibility.bool"/> + </Property> + <Property name="Input" id="7440.Input"> + <Domain name="input_array_any" id="7440.Input.input_array_any"/> + </Property> + <Property name="Position" id="7440.Position" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7440.Position.range"/> + </Property> + <Property name="Scale" id="7440.Scale" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7440.Scale.range"/> + </Property> + <Property name="AxesToLabel" id="7440.AxesToLabel" number_of_elements="1"> + <Element index="0" value="63"/> + <Domain name="range" id="7440.AxesToLabel.range"/> + </Property> + <Property name="CullBackface" id="7440.CullBackface" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.CullBackface.bool"/> + </Property> + <Property name="CullFrontface" id="7440.CullFrontface" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7440.CullFrontface.bool"/> + </Property> + <Property name="CustomBounds" id="7440.CustomBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Element index="3" value="1"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + <Domain name="range" id="7440.CustomBounds.range"/> + </Property> + <Property name="FacesToRender" id="7440.FacesToRender" number_of_elements="1"> + <Element index="0" value="63"/> + <Domain name="range" id="7440.FacesToRender.range"/> + </Property> + <Property name="GridColor" id="7440.GridColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7440.GridColor.range"/> + </Property> + <Property name="LabelUniqueEdgesOnly" id="7440.LabelUniqueEdgesOnly" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7440.LabelUniqueEdgesOnly.bool"/> + </Property> + <Property name="ShowEdges" id="7440.ShowEdges" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7440.ShowEdges.bool"/> + </Property> + <Property name="ShowGrid" id="7440.ShowGrid" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.ShowGrid.bool"/> + </Property> + <Property name="ShowTicks" id="7440.ShowTicks" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7440.ShowTicks.bool"/> + </Property> + <Property name="UseCustomBounds" id="7440.UseCustomBounds" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.UseCustomBounds.bool"/> + </Property> + <Property name="XAxisLabels" id="7440.XAxisLabels"> + <Domain name="scalar_range" id="7440.XAxisLabels.scalar_range"/> + </Property> + <Property name="XAxisNotation" id="7440.XAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.XAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="XAxisPrecision" id="7440.XAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7440.XAxisPrecision.range"/> + </Property> + <Property name="XAxisUseCustomLabels" id="7440.XAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.XAxisUseCustomLabels.bool"/> + </Property> + <Property name="XLabelBold" id="7440.XLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.XLabelBold.bool"/> + </Property> + <Property name="XLabelColor" id="7440.XLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7440.XLabelColor.range"/> + </Property> + <Property name="XLabelFontFamily" id="7440.XLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.XLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="XLabelFontFile" id="7440.XLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="XLabelFontSize" id="7440.XLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7440.XLabelFontSize.range"/> + </Property> + <Property name="XLabelItalic" id="7440.XLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.XLabelItalic.bool"/> + </Property> + <Property name="XLabelOpacity" id="7440.XLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7440.XLabelOpacity.range"/> + </Property> + <Property name="XLabelShadow" id="7440.XLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.XLabelShadow.bool"/> + </Property> + <Property name="XTitle" id="7440.XTitle" number_of_elements="1"> + <Element index="0" value="X Axis"/> + </Property> + <Property name="XTitleBold" id="7440.XTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.XTitleBold.bool"/> + </Property> + <Property name="XTitleColor" id="7440.XTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7440.XTitleColor.range"/> + </Property> + <Property name="XTitleFontFamily" id="7440.XTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.XTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="XTitleFontFile" id="7440.XTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="XTitleFontSize" id="7440.XTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7440.XTitleFontSize.range"/> + </Property> + <Property name="XTitleItalic" id="7440.XTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.XTitleItalic.bool"/> + </Property> + <Property name="XTitleOpacity" id="7440.XTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7440.XTitleOpacity.range"/> + </Property> + <Property name="XTitleShadow" id="7440.XTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.XTitleShadow.bool"/> + </Property> + <Property name="YAxisLabels" id="7440.YAxisLabels"> + <Domain name="scalar_range" id="7440.YAxisLabels.scalar_range"/> + </Property> + <Property name="YAxisNotation" id="7440.YAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.YAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="YAxisPrecision" id="7440.YAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7440.YAxisPrecision.range"/> + </Property> + <Property name="YAxisUseCustomLabels" id="7440.YAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.YAxisUseCustomLabels.bool"/> + </Property> + <Property name="YLabelBold" id="7440.YLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.YLabelBold.bool"/> + </Property> + <Property name="YLabelColor" id="7440.YLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7440.YLabelColor.range"/> + </Property> + <Property name="YLabelFontFamily" id="7440.YLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.YLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="YLabelFontFile" id="7440.YLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="YLabelFontSize" id="7440.YLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7440.YLabelFontSize.range"/> + </Property> + <Property name="YLabelItalic" id="7440.YLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.YLabelItalic.bool"/> + </Property> + <Property name="YLabelOpacity" id="7440.YLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7440.YLabelOpacity.range"/> + </Property> + <Property name="YLabelShadow" id="7440.YLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.YLabelShadow.bool"/> + </Property> + <Property name="YTitle" id="7440.YTitle" number_of_elements="1"> + <Element index="0" value="Y Axis"/> + </Property> + <Property name="YTitleBold" id="7440.YTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.YTitleBold.bool"/> + </Property> + <Property name="YTitleColor" id="7440.YTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7440.YTitleColor.range"/> + </Property> + <Property name="YTitleFontFamily" id="7440.YTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.YTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="YTitleFontFile" id="7440.YTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="YTitleFontSize" id="7440.YTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7440.YTitleFontSize.range"/> + </Property> + <Property name="YTitleItalic" id="7440.YTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.YTitleItalic.bool"/> + </Property> + <Property name="YTitleOpacity" id="7440.YTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7440.YTitleOpacity.range"/> + </Property> + <Property name="YTitleShadow" id="7440.YTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.YTitleShadow.bool"/> + </Property> + <Property name="ZAxisLabels" id="7440.ZAxisLabels"> + <Domain name="scalar_range" id="7440.ZAxisLabels.scalar_range"/> + </Property> + <Property name="ZAxisNotation" id="7440.ZAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.ZAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="ZAxisPrecision" id="7440.ZAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7440.ZAxisPrecision.range"/> + </Property> + <Property name="ZAxisUseCustomLabels" id="7440.ZAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.ZAxisUseCustomLabels.bool"/> + </Property> + <Property name="ZLabelBold" id="7440.ZLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.ZLabelBold.bool"/> + </Property> + <Property name="ZLabelColor" id="7440.ZLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7440.ZLabelColor.range"/> + </Property> + <Property name="ZLabelFontFamily" id="7440.ZLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.ZLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="ZLabelFontFile" id="7440.ZLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="ZLabelFontSize" id="7440.ZLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7440.ZLabelFontSize.range"/> + </Property> + <Property name="ZLabelItalic" id="7440.ZLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.ZLabelItalic.bool"/> + </Property> + <Property name="ZLabelOpacity" id="7440.ZLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7440.ZLabelOpacity.range"/> + </Property> + <Property name="ZLabelShadow" id="7440.ZLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.ZLabelShadow.bool"/> + </Property> + <Property name="ZTitle" id="7440.ZTitle" number_of_elements="1"> + <Element index="0" value="Z Axis"/> + </Property> + <Property name="ZTitleBold" id="7440.ZTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.ZTitleBold.bool"/> + </Property> + <Property name="ZTitleColor" id="7440.ZTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7440.ZTitleColor.range"/> + </Property> + <Property name="ZTitleFontFamily" id="7440.ZTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7440.ZTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="ZTitleFontFile" id="7440.ZTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="ZTitleFontSize" id="7440.ZTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7440.ZTitleFontSize.range"/> + </Property> + <Property name="ZTitleItalic" id="7440.ZTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.ZTitleItalic.bool"/> + </Property> + <Property name="ZTitleOpacity" id="7440.ZTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7440.ZTitleOpacity.range"/> + </Property> + <Property name="ZTitleShadow" id="7440.ZTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7440.ZTitleShadow.bool"/> + </Property> + </Proxy> + <Proxy group="sources" type="ArrowSource" id="7477" servers="21"> + <Property name="Invert" id="7477.Invert" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7477.Invert.bool"/> + </Property> + <Property name="ShaftRadius" id="7477.ShaftRadius" number_of_elements="1"> + <Element index="0" value="0.03"/> + <Domain name="range" id="7477.ShaftRadius.range"/> + </Property> + <Property name="ShaftResolution" id="7477.ShaftResolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7477.ShaftResolution.range"/> + </Property> + <Property name="TipLength" id="7477.TipLength" number_of_elements="1"> + <Element index="0" value="0.35"/> + <Domain name="range" id="7477.TipLength.range"/> + </Property> + <Property name="TipRadius" id="7477.TipRadius" number_of_elements="1"> + <Element index="0" value="0.1"/> + <Domain name="range" id="7477.TipRadius.range"/> + </Property> + <Property name="TipResolution" id="7477.TipResolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7477.TipResolution.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="ConeSource" id="7488" servers="21"> + <Property name="Capping" id="7488.Capping" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7488.Capping.bool"/> + </Property> + <Property name="Center" id="7488.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7488.Center.range"/> + </Property> + <Property name="Direction" id="7488.Direction" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7488.Direction.range"/> + </Property> + <Property name="Height" id="7488.Height" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7488.Height.range"/> + </Property> + <Property name="Radius" id="7488.Radius" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7488.Radius.range"/> + </Property> + <Property name="Resolution" id="7488.Resolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7488.Resolution.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="CubeSource" id="7499" servers="21"> + <Property name="Center" id="7499.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7499.Center.range"/> + </Property> + <Property name="XLength" id="7499.XLength" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7499.XLength.range"/> + </Property> + <Property name="YLength" id="7499.YLength" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7499.YLength.range"/> + </Property> + <Property name="ZLength" id="7499.ZLength" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7499.ZLength.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="CylinderSource" id="7510" servers="21"> + <Property name="Capping" id="7510.Capping" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7510.Capping.bool"/> + </Property> + <Property name="Center" id="7510.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7510.Center.range"/> + </Property> + <Property name="Height" id="7510.Height" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7510.Height.range"/> + </Property> + <Property name="Radius" id="7510.Radius" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7510.Radius.range"/> + </Property> + <Property name="Resolution" id="7510.Resolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7510.Resolution.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="LineSource" id="7521" servers="21"> + <Property name="Point1" id="7521.Point1" number_of_elements="3"> + <Element index="0" value="-0.5"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7521.Point1.range"/> + </Property> + <Property name="Point2" id="7521.Point2" number_of_elements="3"> + <Element index="0" value="0.5"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7521.Point2.range"/> + </Property> + <Property name="RefinementRatios" id="7521.RefinementRatios" number_of_elements="2"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Domain name="range" id="7521.RefinementRatios.range"/> + </Property> + <Property name="Resolution" id="7521.Resolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7521.Resolution.range"/> + </Property> + <Property name="UseRegularRefinement" id="7521.UseRegularRefinement" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7521.UseRegularRefinement.bool"/> + </Property> + </Proxy> + <Proxy group="sources" type="SphereSource" id="7532" servers="21"> + <Property name="Center" id="7532.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7532.Center.range"/> + </Property> + <Property name="EndPhi" id="7532.EndPhi" number_of_elements="1"> + <Element index="0" value="180"/> + <Domain name="range" id="7532.EndPhi.range"/> + </Property> + <Property name="EndTheta" id="7532.EndTheta" number_of_elements="1"> + <Element index="0" value="360"/> + <Domain name="range" id="7532.EndTheta.range"/> + </Property> + <Property name="PhiResolution" id="7532.PhiResolution" number_of_elements="1"> + <Element index="0" value="8"/> + <Domain name="range" id="7532.PhiResolution.range"/> + </Property> + <Property name="Radius" id="7532.Radius" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7532.Radius.range"/> + </Property> + <Property name="StartPhi" id="7532.StartPhi" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7532.StartPhi.range"/> + </Property> + <Property name="StartTheta" id="7532.StartTheta" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7532.StartTheta.range"/> + </Property> + <Property name="ThetaResolution" id="7532.ThetaResolution" number_of_elements="1"> + <Element index="0" value="8"/> + <Domain name="range" id="7532.ThetaResolution.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="GlyphSource2D" id="7543" servers="21"> + <Property name="Center" id="7543.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7543.Center.range"/> + </Property> + <Property name="Filled" id="7543.Filled" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7543.Filled.bool"/> + </Property> + <Property name="GlyphType" id="7543.GlyphType" number_of_elements="1"> + <Element index="0" value="9"/> + <Domain name="enum" id="7543.GlyphType.enum"> + <Entry value="1" text="Vertex"/> + <Entry value="2" text="Dash"/> + <Entry value="3" text="Cross"/> + <Entry value="4" text="ThickCross"/> + <Entry value="5" text="Triangle"/> + <Entry value="6" text="Square"/> + <Entry value="7" text="Circle"/> + <Entry value="8" text="Diamond"/> + <Entry value="9" text="Arrow"/> + <Entry value="10" text="ThickArrow"/> + <Entry value="11" text="HookedArrow"/> + <Entry value="12" text="EdgeArrow"/> + </Domain> + </Property> + </Proxy> + <Proxy group="internal_filters" type="PipelineConnection" id="7554" servers="21"> + <Property name="AllowNullInput" id="7554.AllowNullInput" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7554.AllowNullInput.bool"/> + </Property> + <Property name="Input" id="7554.Input"> + <Domain name="groups" id="7554.Input.groups"/> + <Domain name="input_type" id="7554.Input.input_type"/> + </Property> + </Proxy> + <Proxy group="piecewise_functions" type="PiecewiseFunction" id="7622" servers="21"> + <Property name="AllowDuplicateScalars" id="7622.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7622.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Points" id="7622.Points" number_of_elements="8"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Element index="3" value="0"/> + <Element index="4" value="1"/> + <Element index="5" value="1"/> + <Element index="6" value="0.5"/> + <Element index="7" value="0"/> + </Property> + <Property name="ScalarRangeInitialized" id="7622.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7622.ScalarRangeInitialized.bool"/> + </Property> + <Property name="UseLogScale" id="7622.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7622.UseLogScale.bool"/> + </Property> + </Proxy> + <Proxy group="piecewise_functions" type="PiecewiseFunction" id="7587" servers="21"> + <Property name="AllowDuplicateScalars" id="7587.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7587.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Points" id="7587.Points" number_of_elements="8"> + <Element index="0" value="-0.4032135009765625"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Element index="3" value="0"/> + <Element index="4" value="1.5216350555419922"/> + <Element index="5" value="1"/> + <Element index="6" value="0.5"/> + <Element index="7" value="0"/> + </Property> + <Property name="ScalarRangeInitialized" id="7587.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7587.ScalarRangeInitialized.bool"/> + </Property> + <Property name="UseLogScale" id="7587.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7587.UseLogScale.bool"/> + </Property> + </Proxy> + <Proxy group="representations" type="PolarAxesRepresentation" id="7455" servers="21"> + <Property name="ArcMajorTickSize" id="7455.ArcMajorTickSize" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7455.ArcMajorTickSize.range"/> + </Property> + <Property name="ArcMajorTickThickness" id="7455.ArcMajorTickThickness" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7455.ArcMajorTickThickness.range"/> + </Property> + <Property name="ArcMinorTickVisibility" id="7455.ArcMinorTickVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.ArcMinorTickVisibility.bool"/> + </Property> + <Property name="ArcTickRatioSize" id="7455.ArcTickRatioSize" number_of_elements="1"> + <Element index="0" value="0.3"/> + <Domain name="range" id="7455.ArcTickRatioSize.range"/> + </Property> + <Property name="ArcTickRatioThickness" id="7455.ArcTickRatioThickness" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7455.ArcTickRatioThickness.range"/> + </Property> + <Property name="ArcTickVisibility" id="7455.ArcTickVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.ArcTickVisibility.bool"/> + </Property> + <Property name="ArcTicksOriginToPolarAxis" id="7455.ArcTicksOriginToPolarAxis" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.ArcTicksOriginToPolarAxis.bool"/> + </Property> + <Property name="AutoSubdividePolarAxis" id="7455.AutoSubdividePolarAxis" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.AutoSubdividePolarAxis.bool"/> + </Property> + <Property name="AxisMinorTickVisibility" id="7455.AxisMinorTickVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.AxisMinorTickVisibility.bool"/> + </Property> + <Property name="AxisTickVisibility" id="7455.AxisTickVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.AxisTickVisibility.bool"/> + </Property> + <Property name="CustomBounds" id="7455.CustomBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Element index="3" value="1"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + </Property> + <Property name="CustomRange" id="7455.CustomRange" number_of_elements="2"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + </Property> + <Property name="DataBounds" id="7455.DataBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Element index="3" value="1"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + </Property> + <Property name="DeltaAngleMajor" id="7455.DeltaAngleMajor" number_of_elements="1"> + <Element index="0" value="10"/> + <Domain name="range" id="7455.DeltaAngleMajor.range"/> + </Property> + <Property name="DeltaAngleMinor" id="7455.DeltaAngleMinor" number_of_elements="1"> + <Element index="0" value="5"/> + <Domain name="range" id="7455.DeltaAngleMinor.range"/> + </Property> + <Property name="DeltaRangeMajor" id="7455.DeltaRangeMajor" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="DeltaRangeMinor" id="7455.DeltaRangeMinor" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="DistanceLODThreshold" id="7455.DistanceLODThreshold" number_of_elements="1"> + <Element index="0" value="0.7"/> + <Domain name="range" id="7455.DistanceLODThreshold.range"/> + </Property> + <Property name="DrawPolarArcsGridlines" id="7455.DrawPolarArcsGridlines" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.DrawPolarArcsGridlines.bool"/> + </Property> + <Property name="DrawRadialGridlines" id="7455.DrawRadialGridlines" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.DrawRadialGridlines.bool"/> + </Property> + <Property name="EnableCustomBounds" id="7455.EnableCustomBounds" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + </Property> + <Property name="EnableCustomRange" id="7455.EnableCustomRange" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.EnableCustomRange.bool"/> + </Property> + <Property name="EnableDistanceLOD" id="7455.EnableDistanceLOD" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.EnableDistanceLOD.bool"/> + </Property> + <Property name="EnableViewAngleLOD" id="7455.EnableViewAngleLOD" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.EnableViewAngleLOD.bool"/> + </Property> + <Property name="Input" id="7455.Input" number_of_elements="1"> + <Proxy value="7352" output_port="0"/> + <Domain name="input_type" id="7455.Input.input_type"/> + </Property> + <Property name="LastRadialAxisColor" id="7455.LastRadialAxisColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.LastRadialAxisColor.range"/> + </Property> + <Property name="LastRadialAxisMajorTickSize" id="7455.LastRadialAxisMajorTickSize" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7455.LastRadialAxisMajorTickSize.range"/> + </Property> + <Property name="LastRadialAxisMajorTickThickness" id="7455.LastRadialAxisMajorTickThickness" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7455.LastRadialAxisMajorTickThickness.range"/> + </Property> + <Property name="LastRadialAxisTickRatioSize" id="7455.LastRadialAxisTickRatioSize" number_of_elements="1"> + <Element index="0" value="0.3"/> + <Domain name="range" id="7455.LastRadialAxisTickRatioSize.range"/> + </Property> + <Property name="LastRadialAxisTickRatioThickness" id="7455.LastRadialAxisTickRatioThickness" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7455.LastRadialAxisTickRatioThickness.range"/> + </Property> + <Property name="MaximumAngle" id="7455.MaximumAngle" number_of_elements="1"> + <Element index="0" value="90"/> + <Domain name="range" id="7455.MaximumAngle.range"/> + </Property> + <Property name="MinimumAngle" id="7455.MinimumAngle" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7455.MinimumAngle.range"/> + </Property> + <Property name="MinimumRadius" id="7455.MinimumRadius" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7455.MinimumRadius.range"/> + </Property> + <Property name="NumberOfPolarAxis" id="7455.NumberOfPolarAxis" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7455.NumberOfPolarAxis.range"/> + </Property> + <Property name="NumberOfRadialAxes" id="7455.NumberOfRadialAxes" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7455.NumberOfRadialAxes.range"/> + </Property> + <Property name="Orientation" id="7455.Orientation" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7455.Orientation.range"/> + </Property> + <Property name="PolarArcsColor" id="7455.PolarArcsColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.PolarArcsColor.range"/> + </Property> + <Property name="PolarArcsVisibility" id="7455.PolarArcsVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.PolarArcsVisibility.bool"/> + </Property> + <Property name="PolarAxisColor" id="7455.PolarAxisColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.PolarAxisColor.range"/> + </Property> + <Property name="PolarAxisMajorTickSize" id="7455.PolarAxisMajorTickSize" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7455.PolarAxisMajorTickSize.range"/> + </Property> + <Property name="PolarAxisMajorTickThickness" id="7455.PolarAxisMajorTickThickness" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7455.PolarAxisMajorTickThickness.range"/> + </Property> + <Property name="PolarAxisTickRatioSize" id="7455.PolarAxisTickRatioSize" number_of_elements="1"> + <Element index="0" value="0.3"/> + <Domain name="range" id="7455.PolarAxisTickRatioSize.range"/> + </Property> + <Property name="PolarAxisTickRatioThickness" id="7455.PolarAxisTickRatioThickness" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7455.PolarAxisTickRatioThickness.range"/> + </Property> + <Property name="PolarAxisTitle" id="7455.PolarAxisTitle" number_of_elements="1"> + <Element index="0" value="Radial Distance"/> + </Property> + <Property name="PolarAxisTitleLocation" id="7455.PolarAxisTitleLocation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7455.PolarAxisTitleLocation.enum"> + <Entry value="0" text="Bottom"/> + <Entry value="1" text="Extern"/> + </Domain> + </Property> + <Property name="PolarAxisTitleVisibility" id="7455.PolarAxisTitleVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.PolarAxisTitleVisibility.bool"/> + </Property> + <Property name="PolarAxisVisibility" id="7455.PolarAxisVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.PolarAxisVisibility.bool"/> + </Property> + <Property name="PolarLabelExponentLocation" id="7455.PolarLabelExponentLocation" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7455.PolarLabelExponentLocation.enum"> + <Entry value="0" text="Bottom"/> + <Entry value="1" text="Extern"/> + <Entry value="2" text="Labels"/> + </Domain> + </Property> + <Property name="PolarLabelFormat" id="7455.PolarLabelFormat" number_of_elements="1"> + <Element index="0" value="%-#6.3g"/> + </Property> + <Property name="PolarLabelVisibility" id="7455.PolarLabelVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.PolarLabelVisibility.bool"/> + </Property> + <Property name="PolarTicksVisibility" id="7455.PolarTicksVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.PolarTicksVisibility.bool"/> + </Property> + <Property name="Position" id="7455.Position" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7455.Position.range"/> + </Property> + <Property name="RadialAxesOriginToPolarAxis" id="7455.RadialAxesOriginToPolarAxis" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.RadialAxesOriginToPolarAxis.bool"/> + </Property> + <Property name="RadialAxesVisibility" id="7455.RadialAxesVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.RadialAxesVisibility.bool"/> + </Property> + <Property name="RadialLabelFormat" id="7455.RadialLabelFormat" number_of_elements="1"> + <Element index="0" value="%-#3.1f"/> + </Property> + <Property name="RadialLabelLocation" id="7455.RadialLabelLocation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7455.RadialLabelLocation.enum"> + <Entry value="0" text="Bottom"/> + <Entry value="1" text="Extern"/> + </Domain> + </Property> + <Property name="RadialLabelVisibility" id="7455.RadialLabelVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.RadialLabelVisibility.bool"/> + </Property> + <Property name="RadialUnitsVisibility" id="7455.RadialUnitsVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7455.RadialUnitsVisibility.bool"/> + </Property> + <Property name="Ratio" id="7455.Ratio" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7455.Ratio.range"/> + </Property> + <Property name="Scale" id="7455.Scale" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.Scale.range"/> + </Property> + <Property name="ScreenSize" id="7455.ScreenSize" number_of_elements="1"> + <Element index="0" value="10"/> + <Domain name="range" id="7455.ScreenSize.range"/> + </Property> + <Property name="SecondaryPolarArcsColor" id="7455.SecondaryPolarArcsColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.SecondaryPolarArcsColor.range"/> + </Property> + <Property name="SecondaryRadialAxesColor" id="7455.SecondaryRadialAxesColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.SecondaryRadialAxesColor.range"/> + </Property> + <Property name="SmallestVisiblePolarAngle" id="7455.SmallestVisiblePolarAngle" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7455.SmallestVisiblePolarAngle.range"/> + </Property> + <Property name="TickLocation" id="7455.TickLocation" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7455.TickLocation.enum"> + <Entry value="0" text="Inside"/> + <Entry value="1" text="Outside"/> + <Entry value="2" text="Both"/> + </Domain> + </Property> + <Property name="Use2DMode" id="7455.Use2DMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.Use2DMode.bool"/> + </Property> + <Property name="UseLogAxis" id="7455.UseLogAxis" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.UseLogAxis.bool"/> + </Property> + <Property name="ViewAngleLODThreshold" id="7455.ViewAngleLODThreshold" number_of_elements="1"> + <Element index="0" value="0.7"/> + <Domain name="range" id="7455.ViewAngleLODThreshold.range"/> + </Property> + <Property name="Visibility" id="7455.Visibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.Visibility.bool"/> + </Property> + <Property name="LastRadialAxisTextBold" id="7455.LastRadialAxisTextBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.LastRadialAxisTextBold.bool"/> + </Property> + <Property name="LastRadialAxisTextColor" id="7455.LastRadialAxisTextColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.LastRadialAxisTextColor.range"/> + </Property> + <Property name="LastRadialAxisTextFontFamily" id="7455.LastRadialAxisTextFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7455.LastRadialAxisTextFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="LastRadialAxisTextFontFile" id="7455.LastRadialAxisTextFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="LastRadialAxisTextFontSize" id="7455.LastRadialAxisTextFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7455.LastRadialAxisTextFontSize.range"/> + </Property> + <Property name="LastRadialAxisTextItalic" id="7455.LastRadialAxisTextItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.LastRadialAxisTextItalic.bool"/> + </Property> + <Property name="LastRadialAxisTextOpacity" id="7455.LastRadialAxisTextOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7455.LastRadialAxisTextOpacity.range"/> + </Property> + <Property name="LastRadialAxisTextShadow" id="7455.LastRadialAxisTextShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.LastRadialAxisTextShadow.bool"/> + </Property> + <Property name="PolarAxisLabelBold" id="7455.PolarAxisLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.PolarAxisLabelBold.bool"/> + </Property> + <Property name="PolarAxisLabelColor" id="7455.PolarAxisLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.PolarAxisLabelColor.range"/> + </Property> + <Property name="PolarAxisLabelFontFamily" id="7455.PolarAxisLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7455.PolarAxisLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="PolarAxisLabelFontFile" id="7455.PolarAxisLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="PolarAxisLabelFontSize" id="7455.PolarAxisLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7455.PolarAxisLabelFontSize.range"/> + </Property> + <Property name="PolarAxisLabelItalic" id="7455.PolarAxisLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.PolarAxisLabelItalic.bool"/> + </Property> + <Property name="PolarAxisLabelOpacity" id="7455.PolarAxisLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7455.PolarAxisLabelOpacity.range"/> + </Property> + <Property name="PolarAxisLabelShadow" id="7455.PolarAxisLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.PolarAxisLabelShadow.bool"/> + </Property> + <Property name="PolarAxisTitleBold" id="7455.PolarAxisTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.PolarAxisTitleBold.bool"/> + </Property> + <Property name="PolarAxisTitleColor" id="7455.PolarAxisTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.PolarAxisTitleColor.range"/> + </Property> + <Property name="PolarAxisTitleFontFamily" id="7455.PolarAxisTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7455.PolarAxisTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="PolarAxisTitleFontFile" id="7455.PolarAxisTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="PolarAxisTitleFontSize" id="7455.PolarAxisTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7455.PolarAxisTitleFontSize.range"/> + </Property> + <Property name="PolarAxisTitleItalic" id="7455.PolarAxisTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.PolarAxisTitleItalic.bool"/> + </Property> + <Property name="PolarAxisTitleOpacity" id="7455.PolarAxisTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7455.PolarAxisTitleOpacity.range"/> + </Property> + <Property name="PolarAxisTitleShadow" id="7455.PolarAxisTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.PolarAxisTitleShadow.bool"/> + </Property> + <Property name="SecondaryRadialAxesTextBold" id="7455.SecondaryRadialAxesTextBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.SecondaryRadialAxesTextBold.bool"/> + </Property> + <Property name="SecondaryRadialAxesTextColor" id="7455.SecondaryRadialAxesTextColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7455.SecondaryRadialAxesTextColor.range"/> + </Property> + <Property name="SecondaryRadialAxesTextFontFamily" id="7455.SecondaryRadialAxesTextFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7455.SecondaryRadialAxesTextFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="SecondaryRadialAxesTextFontFile" id="7455.SecondaryRadialAxesTextFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SecondaryRadialAxesTextFontSize" id="7455.SecondaryRadialAxesTextFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7455.SecondaryRadialAxesTextFontSize.range"/> + </Property> + <Property name="SecondaryRadialAxesTextItalic" id="7455.SecondaryRadialAxesTextItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.SecondaryRadialAxesTextItalic.bool"/> + </Property> + <Property name="SecondaryRadialAxesTextOpacity" id="7455.SecondaryRadialAxesTextOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7455.SecondaryRadialAxesTextOpacity.range"/> + </Property> + <Property name="SecondaryRadialAxesTextShadow" id="7455.SecondaryRadialAxesTextShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7455.SecondaryRadialAxesTextShadow.bool"/> + </Property> + </Proxy> + <Proxy group="piecewise_functions" type="PiecewiseFunction" id="7588" servers="21"> + <Property name="AllowDuplicateScalars" id="7588.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7588.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Points" id="7588.Points" number_of_elements="8"> + <Element index="0" value="-0.4032135009765625"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Element index="3" value="0"/> + <Element index="4" value="1.5216350555419922"/> + <Element index="5" value="1"/> + <Element index="6" value="0.5"/> + <Element index="7" value="0"/> + </Property> + <Property name="ScalarRangeInitialized" id="7588.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7588.ScalarRangeInitialized.bool"/> + </Property> + <Property name="UseLogScale" id="7588.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7588.UseLogScale.bool"/> + </Property> + </Proxy> + <Proxy group="misc" type="RepresentationAnimationHelper" id="7684" servers="16"> + <Property name="Source" id="7684.Source" number_of_elements="1"> + <Proxy value="7673"/> + </Property> + </Proxy> + <Proxy group="representations" type="GridAxesRepresentation" id="7693" servers="21"> + <Property name="GridAxesVisibility" id="7693.GridAxesVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.GridAxesVisibility.bool"/> + </Property> + <Property name="Input" id="7693.Input"> + <Domain name="input_array_any" id="7693.Input.input_array_any"/> + </Property> + <Property name="Position" id="7693.Position" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7693.Position.range"/> + </Property> + <Property name="Scale" id="7693.Scale" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7693.Scale.range"/> + </Property> + <Property name="AxesToLabel" id="7693.AxesToLabel" number_of_elements="1"> + <Element index="0" value="63"/> + <Domain name="range" id="7693.AxesToLabel.range"/> + </Property> + <Property name="CullBackface" id="7693.CullBackface" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.CullBackface.bool"/> + </Property> + <Property name="CullFrontface" id="7693.CullFrontface" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7693.CullFrontface.bool"/> + </Property> + <Property name="CustomBounds" id="7693.CustomBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Element index="3" value="1"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + <Domain name="range" id="7693.CustomBounds.range"/> + </Property> + <Property name="FacesToRender" id="7693.FacesToRender" number_of_elements="1"> + <Element index="0" value="63"/> + <Domain name="range" id="7693.FacesToRender.range"/> + </Property> + <Property name="GridColor" id="7693.GridColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7693.GridColor.range"/> + </Property> + <Property name="LabelUniqueEdgesOnly" id="7693.LabelUniqueEdgesOnly" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7693.LabelUniqueEdgesOnly.bool"/> + </Property> + <Property name="ShowEdges" id="7693.ShowEdges" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7693.ShowEdges.bool"/> + </Property> + <Property name="ShowGrid" id="7693.ShowGrid" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.ShowGrid.bool"/> + </Property> + <Property name="ShowTicks" id="7693.ShowTicks" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7693.ShowTicks.bool"/> + </Property> + <Property name="UseCustomBounds" id="7693.UseCustomBounds" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.UseCustomBounds.bool"/> + </Property> + <Property name="XAxisLabels" id="7693.XAxisLabels"> + <Domain name="scalar_range" id="7693.XAxisLabels.scalar_range"/> + </Property> + <Property name="XAxisNotation" id="7693.XAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.XAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="XAxisPrecision" id="7693.XAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7693.XAxisPrecision.range"/> + </Property> + <Property name="XAxisUseCustomLabels" id="7693.XAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.XAxisUseCustomLabels.bool"/> + </Property> + <Property name="XLabelBold" id="7693.XLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.XLabelBold.bool"/> + </Property> + <Property name="XLabelColor" id="7693.XLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7693.XLabelColor.range"/> + </Property> + <Property name="XLabelFontFamily" id="7693.XLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.XLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="XLabelFontFile" id="7693.XLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="XLabelFontSize" id="7693.XLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7693.XLabelFontSize.range"/> + </Property> + <Property name="XLabelItalic" id="7693.XLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.XLabelItalic.bool"/> + </Property> + <Property name="XLabelOpacity" id="7693.XLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7693.XLabelOpacity.range"/> + </Property> + <Property name="XLabelShadow" id="7693.XLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.XLabelShadow.bool"/> + </Property> + <Property name="XTitle" id="7693.XTitle" number_of_elements="1"> + <Element index="0" value="X Axis"/> + </Property> + <Property name="XTitleBold" id="7693.XTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.XTitleBold.bool"/> + </Property> + <Property name="XTitleColor" id="7693.XTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7693.XTitleColor.range"/> + </Property> + <Property name="XTitleFontFamily" id="7693.XTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.XTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="XTitleFontFile" id="7693.XTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="XTitleFontSize" id="7693.XTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7693.XTitleFontSize.range"/> + </Property> + <Property name="XTitleItalic" id="7693.XTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.XTitleItalic.bool"/> + </Property> + <Property name="XTitleOpacity" id="7693.XTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7693.XTitleOpacity.range"/> + </Property> + <Property name="XTitleShadow" id="7693.XTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.XTitleShadow.bool"/> + </Property> + <Property name="YAxisLabels" id="7693.YAxisLabels"> + <Domain name="scalar_range" id="7693.YAxisLabels.scalar_range"/> + </Property> + <Property name="YAxisNotation" id="7693.YAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.YAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="YAxisPrecision" id="7693.YAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7693.YAxisPrecision.range"/> + </Property> + <Property name="YAxisUseCustomLabels" id="7693.YAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.YAxisUseCustomLabels.bool"/> + </Property> + <Property name="YLabelBold" id="7693.YLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.YLabelBold.bool"/> + </Property> + <Property name="YLabelColor" id="7693.YLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7693.YLabelColor.range"/> + </Property> + <Property name="YLabelFontFamily" id="7693.YLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.YLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="YLabelFontFile" id="7693.YLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="YLabelFontSize" id="7693.YLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7693.YLabelFontSize.range"/> + </Property> + <Property name="YLabelItalic" id="7693.YLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.YLabelItalic.bool"/> + </Property> + <Property name="YLabelOpacity" id="7693.YLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7693.YLabelOpacity.range"/> + </Property> + <Property name="YLabelShadow" id="7693.YLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.YLabelShadow.bool"/> + </Property> + <Property name="YTitle" id="7693.YTitle" number_of_elements="1"> + <Element index="0" value="Y Axis"/> + </Property> + <Property name="YTitleBold" id="7693.YTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.YTitleBold.bool"/> + </Property> + <Property name="YTitleColor" id="7693.YTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7693.YTitleColor.range"/> + </Property> + <Property name="YTitleFontFamily" id="7693.YTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.YTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="YTitleFontFile" id="7693.YTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="YTitleFontSize" id="7693.YTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7693.YTitleFontSize.range"/> + </Property> + <Property name="YTitleItalic" id="7693.YTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.YTitleItalic.bool"/> + </Property> + <Property name="YTitleOpacity" id="7693.YTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7693.YTitleOpacity.range"/> + </Property> + <Property name="YTitleShadow" id="7693.YTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.YTitleShadow.bool"/> + </Property> + <Property name="ZAxisLabels" id="7693.ZAxisLabels"> + <Domain name="scalar_range" id="7693.ZAxisLabels.scalar_range"/> + </Property> + <Property name="ZAxisNotation" id="7693.ZAxisNotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.ZAxisNotation.enum"> + <Entry value="0" text="Mixed"/> + <Entry value="1" text="Scientific"/> + <Entry value="2" text="Fixed"/> + </Domain> + </Property> + <Property name="ZAxisPrecision" id="7693.ZAxisPrecision" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7693.ZAxisPrecision.range"/> + </Property> + <Property name="ZAxisUseCustomLabels" id="7693.ZAxisUseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.ZAxisUseCustomLabels.bool"/> + </Property> + <Property name="ZLabelBold" id="7693.ZLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.ZLabelBold.bool"/> + </Property> + <Property name="ZLabelColor" id="7693.ZLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7693.ZLabelColor.range"/> + </Property> + <Property name="ZLabelFontFamily" id="7693.ZLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.ZLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="ZLabelFontFile" id="7693.ZLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="ZLabelFontSize" id="7693.ZLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7693.ZLabelFontSize.range"/> + </Property> + <Property name="ZLabelItalic" id="7693.ZLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.ZLabelItalic.bool"/> + </Property> + <Property name="ZLabelOpacity" id="7693.ZLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7693.ZLabelOpacity.range"/> + </Property> + <Property name="ZLabelShadow" id="7693.ZLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.ZLabelShadow.bool"/> + </Property> + <Property name="ZTitle" id="7693.ZTitle" number_of_elements="1"> + <Element index="0" value="Z Axis"/> + </Property> + <Property name="ZTitleBold" id="7693.ZTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.ZTitleBold.bool"/> + </Property> + <Property name="ZTitleColor" id="7693.ZTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7693.ZTitleColor.range"/> + </Property> + <Property name="ZTitleFontFamily" id="7693.ZTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7693.ZTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="ZTitleFontFile" id="7693.ZTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="ZTitleFontSize" id="7693.ZTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7693.ZTitleFontSize.range"/> + </Property> + <Property name="ZTitleItalic" id="7693.ZTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.ZTitleItalic.bool"/> + </Property> + <Property name="ZTitleOpacity" id="7693.ZTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7693.ZTitleOpacity.range"/> + </Property> + <Property name="ZTitleShadow" id="7693.ZTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7693.ZTitleShadow.bool"/> + </Property> + </Proxy> + <Proxy group="sources" type="ArrowSource" id="7730" servers="21"> + <Property name="Invert" id="7730.Invert" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7730.Invert.bool"/> + </Property> + <Property name="ShaftRadius" id="7730.ShaftRadius" number_of_elements="1"> + <Element index="0" value="0.03"/> + <Domain name="range" id="7730.ShaftRadius.range"/> + </Property> + <Property name="ShaftResolution" id="7730.ShaftResolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7730.ShaftResolution.range"/> + </Property> + <Property name="TipLength" id="7730.TipLength" number_of_elements="1"> + <Element index="0" value="0.35"/> + <Domain name="range" id="7730.TipLength.range"/> + </Property> + <Property name="TipRadius" id="7730.TipRadius" number_of_elements="1"> + <Element index="0" value="0.1"/> + <Domain name="range" id="7730.TipRadius.range"/> + </Property> + <Property name="TipResolution" id="7730.TipResolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7730.TipResolution.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="ConeSource" id="7741" servers="21"> + <Property name="Capping" id="7741.Capping" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7741.Capping.bool"/> + </Property> + <Property name="Center" id="7741.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7741.Center.range"/> + </Property> + <Property name="Direction" id="7741.Direction" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7741.Direction.range"/> + </Property> + <Property name="Height" id="7741.Height" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7741.Height.range"/> + </Property> + <Property name="Radius" id="7741.Radius" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7741.Radius.range"/> + </Property> + <Property name="Resolution" id="7741.Resolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7741.Resolution.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="CubeSource" id="7752" servers="21"> + <Property name="Center" id="7752.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7752.Center.range"/> + </Property> + <Property name="XLength" id="7752.XLength" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7752.XLength.range"/> + </Property> + <Property name="YLength" id="7752.YLength" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7752.YLength.range"/> + </Property> + <Property name="ZLength" id="7752.ZLength" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7752.ZLength.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="CylinderSource" id="7763" servers="21"> + <Property name="Capping" id="7763.Capping" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7763.Capping.bool"/> + </Property> + <Property name="Center" id="7763.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7763.Center.range"/> + </Property> + <Property name="Height" id="7763.Height" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7763.Height.range"/> + </Property> + <Property name="Radius" id="7763.Radius" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7763.Radius.range"/> + </Property> + <Property name="Resolution" id="7763.Resolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7763.Resolution.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="LineSource" id="7774" servers="21"> + <Property name="Point1" id="7774.Point1" number_of_elements="3"> + <Element index="0" value="-0.5"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7774.Point1.range"/> + </Property> + <Property name="Point2" id="7774.Point2" number_of_elements="3"> + <Element index="0" value="0.5"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7774.Point2.range"/> + </Property> + <Property name="RefinementRatios" id="7774.RefinementRatios" number_of_elements="2"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Domain name="range" id="7774.RefinementRatios.range"/> + </Property> + <Property name="Resolution" id="7774.Resolution" number_of_elements="1"> + <Element index="0" value="6"/> + <Domain name="range" id="7774.Resolution.range"/> + </Property> + <Property name="UseRegularRefinement" id="7774.UseRegularRefinement" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7774.UseRegularRefinement.bool"/> + </Property> + </Proxy> + <Proxy group="sources" type="SphereSource" id="7785" servers="21"> + <Property name="Center" id="7785.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7785.Center.range"/> + </Property> + <Property name="EndPhi" id="7785.EndPhi" number_of_elements="1"> + <Element index="0" value="180"/> + <Domain name="range" id="7785.EndPhi.range"/> + </Property> + <Property name="EndTheta" id="7785.EndTheta" number_of_elements="1"> + <Element index="0" value="360"/> + <Domain name="range" id="7785.EndTheta.range"/> + </Property> + <Property name="PhiResolution" id="7785.PhiResolution" number_of_elements="1"> + <Element index="0" value="8"/> + <Domain name="range" id="7785.PhiResolution.range"/> + </Property> + <Property name="Radius" id="7785.Radius" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7785.Radius.range"/> + </Property> + <Property name="StartPhi" id="7785.StartPhi" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7785.StartPhi.range"/> + </Property> + <Property name="StartTheta" id="7785.StartTheta" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7785.StartTheta.range"/> + </Property> + <Property name="ThetaResolution" id="7785.ThetaResolution" number_of_elements="1"> + <Element index="0" value="8"/> + <Domain name="range" id="7785.ThetaResolution.range"/> + </Property> + </Proxy> + <Proxy group="sources" type="GlyphSource2D" id="7796" servers="21"> + <Property name="Center" id="7796.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7796.Center.range"/> + </Property> + <Property name="Filled" id="7796.Filled" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7796.Filled.bool"/> + </Property> + <Property name="GlyphType" id="7796.GlyphType" number_of_elements="1"> + <Element index="0" value="9"/> + <Domain name="enum" id="7796.GlyphType.enum"> + <Entry value="1" text="Vertex"/> + <Entry value="2" text="Dash"/> + <Entry value="3" text="Cross"/> + <Entry value="4" text="ThickCross"/> + <Entry value="5" text="Triangle"/> + <Entry value="6" text="Square"/> + <Entry value="7" text="Circle"/> + <Entry value="8" text="Diamond"/> + <Entry value="9" text="Arrow"/> + <Entry value="10" text="ThickArrow"/> + <Entry value="11" text="HookedArrow"/> + <Entry value="12" text="EdgeArrow"/> + </Domain> + </Property> + </Proxy> + <Proxy group="internal_filters" type="PipelineConnection" id="7807" servers="21"> + <Property name="AllowNullInput" id="7807.AllowNullInput" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7807.AllowNullInput.bool"/> + </Property> + <Property name="Input" id="7807.Input"> + <Domain name="groups" id="7807.Input.groups"/> + <Domain name="input_type" id="7807.Input.input_type"/> + </Property> + </Proxy> + <Proxy group="piecewise_functions" type="PiecewiseFunction" id="7875" servers="21"> + <Property name="AllowDuplicateScalars" id="7875.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7875.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Points" id="7875.Points" number_of_elements="8"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Element index="3" value="0"/> + <Element index="4" value="1"/> + <Element index="5" value="1"/> + <Element index="6" value="0.5"/> + <Element index="7" value="0"/> + </Property> + <Property name="ScalarRangeInitialized" id="7875.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7875.ScalarRangeInitialized.bool"/> + </Property> + <Property name="UseLogScale" id="7875.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7875.UseLogScale.bool"/> + </Property> + </Proxy> + <Proxy group="piecewise_functions" type="PiecewiseFunction" id="7840" servers="21"> + <Property name="AllowDuplicateScalars" id="7840.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7840.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Points" id="7840.Points" number_of_elements="8"> + <Element index="0" value="-0.4032135009765625"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Element index="3" value="0"/> + <Element index="4" value="1.5216350555419922"/> + <Element index="5" value="1"/> + <Element index="6" value="0.5"/> + <Element index="7" value="0"/> + </Property> + <Property name="ScalarRangeInitialized" id="7840.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7840.ScalarRangeInitialized.bool"/> + </Property> + <Property name="UseLogScale" id="7840.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7840.UseLogScale.bool"/> + </Property> + </Proxy> + <Proxy group="representations" type="PolarAxesRepresentation" id="7708" servers="21"> + <Property name="ArcMajorTickSize" id="7708.ArcMajorTickSize" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7708.ArcMajorTickSize.range"/> + </Property> + <Property name="ArcMajorTickThickness" id="7708.ArcMajorTickThickness" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7708.ArcMajorTickThickness.range"/> + </Property> + <Property name="ArcMinorTickVisibility" id="7708.ArcMinorTickVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.ArcMinorTickVisibility.bool"/> + </Property> + <Property name="ArcTickRatioSize" id="7708.ArcTickRatioSize" number_of_elements="1"> + <Element index="0" value="0.3"/> + <Domain name="range" id="7708.ArcTickRatioSize.range"/> + </Property> + <Property name="ArcTickRatioThickness" id="7708.ArcTickRatioThickness" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7708.ArcTickRatioThickness.range"/> + </Property> + <Property name="ArcTickVisibility" id="7708.ArcTickVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.ArcTickVisibility.bool"/> + </Property> + <Property name="ArcTicksOriginToPolarAxis" id="7708.ArcTicksOriginToPolarAxis" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.ArcTicksOriginToPolarAxis.bool"/> + </Property> + <Property name="AutoSubdividePolarAxis" id="7708.AutoSubdividePolarAxis" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.AutoSubdividePolarAxis.bool"/> + </Property> + <Property name="AxisMinorTickVisibility" id="7708.AxisMinorTickVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.AxisMinorTickVisibility.bool"/> + </Property> + <Property name="AxisTickVisibility" id="7708.AxisTickVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.AxisTickVisibility.bool"/> + </Property> + <Property name="CustomBounds" id="7708.CustomBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Element index="3" value="1"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + </Property> + <Property name="CustomRange" id="7708.CustomRange" number_of_elements="2"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + </Property> + <Property name="DataBounds" id="7708.DataBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Element index="3" value="1"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + </Property> + <Property name="DeltaAngleMajor" id="7708.DeltaAngleMajor" number_of_elements="1"> + <Element index="0" value="10"/> + <Domain name="range" id="7708.DeltaAngleMajor.range"/> + </Property> + <Property name="DeltaAngleMinor" id="7708.DeltaAngleMinor" number_of_elements="1"> + <Element index="0" value="5"/> + <Domain name="range" id="7708.DeltaAngleMinor.range"/> + </Property> + <Property name="DeltaRangeMajor" id="7708.DeltaRangeMajor" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="DeltaRangeMinor" id="7708.DeltaRangeMinor" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="DistanceLODThreshold" id="7708.DistanceLODThreshold" number_of_elements="1"> + <Element index="0" value="0.7"/> + <Domain name="range" id="7708.DistanceLODThreshold.range"/> + </Property> + <Property name="DrawPolarArcsGridlines" id="7708.DrawPolarArcsGridlines" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.DrawPolarArcsGridlines.bool"/> + </Property> + <Property name="DrawRadialGridlines" id="7708.DrawRadialGridlines" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.DrawRadialGridlines.bool"/> + </Property> + <Property name="EnableCustomBounds" id="7708.EnableCustomBounds" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + </Property> + <Property name="EnableCustomRange" id="7708.EnableCustomRange" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.EnableCustomRange.bool"/> + </Property> + <Property name="EnableDistanceLOD" id="7708.EnableDistanceLOD" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.EnableDistanceLOD.bool"/> + </Property> + <Property name="EnableViewAngleLOD" id="7708.EnableViewAngleLOD" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.EnableViewAngleLOD.bool"/> + </Property> + <Property name="Input" id="7708.Input" number_of_elements="1"> + <Proxy value="7673" output_port="0"/> + <Domain name="input_type" id="7708.Input.input_type"/> + </Property> + <Property name="LastRadialAxisColor" id="7708.LastRadialAxisColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.LastRadialAxisColor.range"/> + </Property> + <Property name="LastRadialAxisMajorTickSize" id="7708.LastRadialAxisMajorTickSize" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7708.LastRadialAxisMajorTickSize.range"/> + </Property> + <Property name="LastRadialAxisMajorTickThickness" id="7708.LastRadialAxisMajorTickThickness" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7708.LastRadialAxisMajorTickThickness.range"/> + </Property> + <Property name="LastRadialAxisTickRatioSize" id="7708.LastRadialAxisTickRatioSize" number_of_elements="1"> + <Element index="0" value="0.3"/> + <Domain name="range" id="7708.LastRadialAxisTickRatioSize.range"/> + </Property> + <Property name="LastRadialAxisTickRatioThickness" id="7708.LastRadialAxisTickRatioThickness" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7708.LastRadialAxisTickRatioThickness.range"/> + </Property> + <Property name="MaximumAngle" id="7708.MaximumAngle" number_of_elements="1"> + <Element index="0" value="90"/> + <Domain name="range" id="7708.MaximumAngle.range"/> + </Property> + <Property name="MinimumAngle" id="7708.MinimumAngle" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7708.MinimumAngle.range"/> + </Property> + <Property name="MinimumRadius" id="7708.MinimumRadius" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7708.MinimumRadius.range"/> + </Property> + <Property name="NumberOfPolarAxis" id="7708.NumberOfPolarAxis" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7708.NumberOfPolarAxis.range"/> + </Property> + <Property name="NumberOfRadialAxes" id="7708.NumberOfRadialAxes" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7708.NumberOfRadialAxes.range"/> + </Property> + <Property name="Orientation" id="7708.Orientation" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7708.Orientation.range"/> + </Property> + <Property name="PolarArcsColor" id="7708.PolarArcsColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.PolarArcsColor.range"/> + </Property> + <Property name="PolarArcsVisibility" id="7708.PolarArcsVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.PolarArcsVisibility.bool"/> + </Property> + <Property name="PolarAxisColor" id="7708.PolarAxisColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.PolarAxisColor.range"/> + </Property> + <Property name="PolarAxisMajorTickSize" id="7708.PolarAxisMajorTickSize" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7708.PolarAxisMajorTickSize.range"/> + </Property> + <Property name="PolarAxisMajorTickThickness" id="7708.PolarAxisMajorTickThickness" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7708.PolarAxisMajorTickThickness.range"/> + </Property> + <Property name="PolarAxisTickRatioSize" id="7708.PolarAxisTickRatioSize" number_of_elements="1"> + <Element index="0" value="0.3"/> + <Domain name="range" id="7708.PolarAxisTickRatioSize.range"/> + </Property> + <Property name="PolarAxisTickRatioThickness" id="7708.PolarAxisTickRatioThickness" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7708.PolarAxisTickRatioThickness.range"/> + </Property> + <Property name="PolarAxisTitle" id="7708.PolarAxisTitle" number_of_elements="1"> + <Element index="0" value="Radial Distance"/> + </Property> + <Property name="PolarAxisTitleLocation" id="7708.PolarAxisTitleLocation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7708.PolarAxisTitleLocation.enum"> + <Entry value="0" text="Bottom"/> + <Entry value="1" text="Extern"/> + </Domain> + </Property> + <Property name="PolarAxisTitleVisibility" id="7708.PolarAxisTitleVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.PolarAxisTitleVisibility.bool"/> + </Property> + <Property name="PolarAxisVisibility" id="7708.PolarAxisVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.PolarAxisVisibility.bool"/> + </Property> + <Property name="PolarLabelExponentLocation" id="7708.PolarLabelExponentLocation" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7708.PolarLabelExponentLocation.enum"> + <Entry value="0" text="Bottom"/> + <Entry value="1" text="Extern"/> + <Entry value="2" text="Labels"/> + </Domain> + </Property> + <Property name="PolarLabelFormat" id="7708.PolarLabelFormat" number_of_elements="1"> + <Element index="0" value="%-#6.3g"/> + </Property> + <Property name="PolarLabelVisibility" id="7708.PolarLabelVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.PolarLabelVisibility.bool"/> + </Property> + <Property name="PolarTicksVisibility" id="7708.PolarTicksVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.PolarTicksVisibility.bool"/> + </Property> + <Property name="Position" id="7708.Position" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7708.Position.range"/> + </Property> + <Property name="RadialAxesOriginToPolarAxis" id="7708.RadialAxesOriginToPolarAxis" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.RadialAxesOriginToPolarAxis.bool"/> + </Property> + <Property name="RadialAxesVisibility" id="7708.RadialAxesVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.RadialAxesVisibility.bool"/> + </Property> + <Property name="RadialLabelFormat" id="7708.RadialLabelFormat" number_of_elements="1"> + <Element index="0" value="%-#3.1f"/> + </Property> + <Property name="RadialLabelLocation" id="7708.RadialLabelLocation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7708.RadialLabelLocation.enum"> + <Entry value="0" text="Bottom"/> + <Entry value="1" text="Extern"/> + </Domain> + </Property> + <Property name="RadialLabelVisibility" id="7708.RadialLabelVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.RadialLabelVisibility.bool"/> + </Property> + <Property name="RadialUnitsVisibility" id="7708.RadialUnitsVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7708.RadialUnitsVisibility.bool"/> + </Property> + <Property name="Ratio" id="7708.Ratio" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7708.Ratio.range"/> + </Property> + <Property name="Scale" id="7708.Scale" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.Scale.range"/> + </Property> + <Property name="ScreenSize" id="7708.ScreenSize" number_of_elements="1"> + <Element index="0" value="10"/> + <Domain name="range" id="7708.ScreenSize.range"/> + </Property> + <Property name="SecondaryPolarArcsColor" id="7708.SecondaryPolarArcsColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.SecondaryPolarArcsColor.range"/> + </Property> + <Property name="SecondaryRadialAxesColor" id="7708.SecondaryRadialAxesColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.SecondaryRadialAxesColor.range"/> + </Property> + <Property name="SmallestVisiblePolarAngle" id="7708.SmallestVisiblePolarAngle" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="7708.SmallestVisiblePolarAngle.range"/> + </Property> + <Property name="TickLocation" id="7708.TickLocation" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7708.TickLocation.enum"> + <Entry value="0" text="Inside"/> + <Entry value="1" text="Outside"/> + <Entry value="2" text="Both"/> + </Domain> + </Property> + <Property name="Use2DMode" id="7708.Use2DMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.Use2DMode.bool"/> + </Property> + <Property name="UseLogAxis" id="7708.UseLogAxis" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.UseLogAxis.bool"/> + </Property> + <Property name="ViewAngleLODThreshold" id="7708.ViewAngleLODThreshold" number_of_elements="1"> + <Element index="0" value="0.7"/> + <Domain name="range" id="7708.ViewAngleLODThreshold.range"/> + </Property> + <Property name="Visibility" id="7708.Visibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.Visibility.bool"/> + </Property> + <Property name="LastRadialAxisTextBold" id="7708.LastRadialAxisTextBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.LastRadialAxisTextBold.bool"/> + </Property> + <Property name="LastRadialAxisTextColor" id="7708.LastRadialAxisTextColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.LastRadialAxisTextColor.range"/> + </Property> + <Property name="LastRadialAxisTextFontFamily" id="7708.LastRadialAxisTextFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7708.LastRadialAxisTextFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="LastRadialAxisTextFontFile" id="7708.LastRadialAxisTextFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="LastRadialAxisTextFontSize" id="7708.LastRadialAxisTextFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7708.LastRadialAxisTextFontSize.range"/> + </Property> + <Property name="LastRadialAxisTextItalic" id="7708.LastRadialAxisTextItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.LastRadialAxisTextItalic.bool"/> + </Property> + <Property name="LastRadialAxisTextOpacity" id="7708.LastRadialAxisTextOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7708.LastRadialAxisTextOpacity.range"/> + </Property> + <Property name="LastRadialAxisTextShadow" id="7708.LastRadialAxisTextShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.LastRadialAxisTextShadow.bool"/> + </Property> + <Property name="PolarAxisLabelBold" id="7708.PolarAxisLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.PolarAxisLabelBold.bool"/> + </Property> + <Property name="PolarAxisLabelColor" id="7708.PolarAxisLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.PolarAxisLabelColor.range"/> + </Property> + <Property name="PolarAxisLabelFontFamily" id="7708.PolarAxisLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7708.PolarAxisLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="PolarAxisLabelFontFile" id="7708.PolarAxisLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="PolarAxisLabelFontSize" id="7708.PolarAxisLabelFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7708.PolarAxisLabelFontSize.range"/> + </Property> + <Property name="PolarAxisLabelItalic" id="7708.PolarAxisLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.PolarAxisLabelItalic.bool"/> + </Property> + <Property name="PolarAxisLabelOpacity" id="7708.PolarAxisLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7708.PolarAxisLabelOpacity.range"/> + </Property> + <Property name="PolarAxisLabelShadow" id="7708.PolarAxisLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.PolarAxisLabelShadow.bool"/> + </Property> + <Property name="PolarAxisTitleBold" id="7708.PolarAxisTitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.PolarAxisTitleBold.bool"/> + </Property> + <Property name="PolarAxisTitleColor" id="7708.PolarAxisTitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.PolarAxisTitleColor.range"/> + </Property> + <Property name="PolarAxisTitleFontFamily" id="7708.PolarAxisTitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7708.PolarAxisTitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="PolarAxisTitleFontFile" id="7708.PolarAxisTitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="PolarAxisTitleFontSize" id="7708.PolarAxisTitleFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7708.PolarAxisTitleFontSize.range"/> + </Property> + <Property name="PolarAxisTitleItalic" id="7708.PolarAxisTitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.PolarAxisTitleItalic.bool"/> + </Property> + <Property name="PolarAxisTitleOpacity" id="7708.PolarAxisTitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7708.PolarAxisTitleOpacity.range"/> + </Property> + <Property name="PolarAxisTitleShadow" id="7708.PolarAxisTitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.PolarAxisTitleShadow.bool"/> + </Property> + <Property name="SecondaryRadialAxesTextBold" id="7708.SecondaryRadialAxesTextBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.SecondaryRadialAxesTextBold.bool"/> + </Property> + <Property name="SecondaryRadialAxesTextColor" id="7708.SecondaryRadialAxesTextColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7708.SecondaryRadialAxesTextColor.range"/> + </Property> + <Property name="SecondaryRadialAxesTextFontFamily" id="7708.SecondaryRadialAxesTextFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7708.SecondaryRadialAxesTextFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="SecondaryRadialAxesTextFontFile" id="7708.SecondaryRadialAxesTextFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SecondaryRadialAxesTextFontSize" id="7708.SecondaryRadialAxesTextFontSize" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7708.SecondaryRadialAxesTextFontSize.range"/> + </Property> + <Property name="SecondaryRadialAxesTextItalic" id="7708.SecondaryRadialAxesTextItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.SecondaryRadialAxesTextItalic.bool"/> + </Property> + <Property name="SecondaryRadialAxesTextOpacity" id="7708.SecondaryRadialAxesTextOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7708.SecondaryRadialAxesTextOpacity.range"/> + </Property> + <Property name="SecondaryRadialAxesTextShadow" id="7708.SecondaryRadialAxesTextShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7708.SecondaryRadialAxesTextShadow.bool"/> + </Property> + </Proxy> + <Proxy group="piecewise_functions" type="PiecewiseFunction" id="7841" servers="21"> + <Property name="AllowDuplicateScalars" id="7841.AllowDuplicateScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7841.AllowDuplicateScalars.bool"/> + </Property> + <Property name="Points" id="7841.Points" number_of_elements="8"> + <Element index="0" value="-0.4032135009765625"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Element index="3" value="0"/> + <Element index="4" value="1.5216350555419922"/> + <Element index="5" value="1"/> + <Element index="6" value="0.5"/> + <Element index="7" value="0"/> + </Property> + <Property name="ScalarRangeInitialized" id="7841.ScalarRangeInitialized" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7841.ScalarRangeInitialized.bool"/> + </Property> + <Property name="UseLogScale" id="7841.UseLogScale" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7841.UseLogScale.bool"/> + </Property> + </Proxy> + <Proxy group="representations" type="GeometryRepresentation" id="7634" servers="21"> + <Property name="DataAxesGrid" id="7634.DataAxesGrid" number_of_elements="1"> + <Proxy value="7440"/> + <Domain name="proxy_list" id="7634.DataAxesGrid.proxy_list"> + <Proxy value="7440"/> + </Domain> + </Property> + <Property name="Input" id="7634.Input" number_of_elements="1"> + <Proxy value="7352" output_port="0"/> + <Domain name="input_array_cell" id="7634.Input.input_array_cell"/> + <Domain name="input_array_point" id="7634.Input.input_array_point"/> + <Domain name="input_type" id="7634.Input.input_type"/> + </Property> + <Property name="PolarAxes" id="7634.PolarAxes" number_of_elements="1"> + <Proxy value="7455"/> + <Domain name="proxy_list" id="7634.PolarAxes.proxy_list"> + <Proxy value="7455"/> + </Domain> + </Property> + <Property name="Representation" id="7634.Representation" number_of_elements="1"> + <Element index="0" value="Surface"/> + <Domain name="list" id="7634.Representation.list"> + <String text="3D Glyphs"/> + <String text="Feature Edges"/> + <String text="Outline"/> + <String text="Point Gaussian"/> + <String text="Points"/> + <String text="Surface"/> + <String text="Surface With Edges"/> + <String text="Wireframe"/> + </Domain> + </Property> + <Property name="RepresentationTypesInfo" id="7634.RepresentationTypesInfo" number_of_elements="8"> + <Element index="0" value="3D Glyphs"/> + <Element index="1" value="Feature Edges"/> + <Element index="2" value="Outline"/> + <Element index="3" value="Point Gaussian"/> + <Element index="4" value="Points"/> + <Element index="5" value="Surface"/> + <Element index="6" value="Surface With Edges"/> + <Element index="7" value="Wireframe"/> + </Property> + <Property name="Selection" id="7634.Selection"> + <Domain name="input_type" id="7634.Selection.input_type"/> + </Property> + <Property name="SelectionCellFieldDataArrayName" id="7634.SelectionCellFieldDataArrayName" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7634.SelectionCellFieldDataArrayName.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="SelectionPointFieldDataArrayName" id="7634.SelectionPointFieldDataArrayName" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7634.SelectionPointFieldDataArrayName.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="SelectionVisibility" id="7634.SelectionVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7634.SelectionVisibility.bool"/> + </Property> + <Property name="Visibility" id="7634.Visibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.Visibility.bool"/> + </Property> + <Property name="Ambient" id="7634.Ambient" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7634.Ambient.range"/> + </Property> + <Property name="AmbientColor" id="7634.AmbientColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.AmbientColor.range"/> + </Property> + <Property name="Anisotropy" id="7634.Anisotropy" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7634.Anisotropy.range"/> + </Property> + <Property name="AnisotropyRotation" id="7634.AnisotropyRotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7634.AnisotropyRotation.range"/> + </Property> + <Property name="AnisotropyTexture" id="7634.AnisotropyTexture"> + <Domain name="groups" id="7634.AnisotropyTexture.groups"/> + </Property> + <Property name="BackfaceAmbientColor" id="7634.BackfaceAmbientColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.BackfaceAmbientColor.range"/> + </Property> + <Property name="BackfaceDiffuseColor" id="7634.BackfaceDiffuseColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.BackfaceDiffuseColor.range"/> + </Property> + <Property name="BackfaceOpacity" id="7634.BackfaceOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.BackfaceOpacity.range"/> + </Property> + <Property name="BackfaceRepresentation" id="7634.BackfaceRepresentation" number_of_elements="1"> + <Element index="0" value="400"/> + <Domain name="enum" id="7634.BackfaceRepresentation.enum"> + <Entry value="400" text="Follow Frontface"/> + <Entry value="401" text="Cull Backface"/> + <Entry value="402" text="Cull Frontface"/> + <Entry value="0" text="Points"/> + <Entry value="1" text="Wireframe"/> + <Entry value="2" text="Surface"/> + <Entry value="3" text="Surface With Edges"/> + </Domain> + </Property> + <Property name="BaseColorTexture" id="7634.BaseColorTexture"> + <Domain name="groups" id="7634.BaseColorTexture.groups"/> + </Property> + <Property name="BaseIOR" id="7634.BaseIOR" number_of_elements="1"> + <Element index="0" value="1.5"/> + <Domain name="range" id="7634.BaseIOR.range"/> + </Property> + <Property name="BlockColors" id="7634.BlockColors"> + <Domain name="data_assembly" id="7634.BlockColors.data_assembly"/> + </Property> + <Property name="BlockColorsDistinctValues" id="7634.BlockColorsDistinctValues" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7634.BlockColorsDistinctValues.range"/> + </Property> + <Property name="BlockOpacities" id="7634.BlockOpacities"> + <Domain name="data_assembly" id="7634.BlockOpacities.data_assembly"/> + </Property> + <Property name="BlockSelectors" id="7634.BlockSelectors" number_of_elements="1"> + <Element index="0" value="/"/> + <Domain name="data_assembly" id="7634.BlockSelectors.data_assembly"/> + </Property> + <Property name="CoatColor" id="7634.CoatColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.CoatColor.range"/> + </Property> + <Property name="CoatIOR" id="7634.CoatIOR" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7634.CoatIOR.range"/> + </Property> + <Property name="CoatNormalScale" id="7634.CoatNormalScale" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.CoatNormalScale.range"/> + </Property> + <Property name="CoatNormalTexture" id="7634.CoatNormalTexture"> + <Domain name="groups" id="7634.CoatNormalTexture.groups"/> + </Property> + <Property name="CoatRoughness" id="7634.CoatRoughness" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7634.CoatRoughness.range"/> + </Property> + <Property name="CoatStrength" id="7634.CoatStrength" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7634.CoatStrength.range"/> + </Property> + <Property name="ColorArrayName" id="7634.ColorArrayName" number_of_elements="5"> + <Element index="0" value=""/> + <Element index="1" value=""/> + <Element index="2" value=""/> + <Element index="3" value="0"/> + <Element index="4" value="p"/> + <Domain name="array_list" id="7634.ColorArrayName.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="vtkCompositeIndex"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="vtkCompositeIndex"/> + <String text="vtkBlockColors"/> + </Domain> + </Property> + <Property name="ColorByLODIndex" id="7634.ColorByLODIndex" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.ColorByLODIndex.bool"/> + </Property> + <Property name="CoordinateShiftScaleMethod" id="7634.CoordinateShiftScaleMethod" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7634.CoordinateShiftScaleMethod.enum"> + <Entry value="0" text="Disable"/> + <Entry value="1" text="Auto Shift Scale"/> + <Entry value="2" text="Always Auto Shift Scale"/> + <Entry value="4" text="Auto Shift Only"/> + <Entry value="5" text="Near Focal Plane Shift Scale"/> + <Entry value="6" text="Focal Point Shift Scale"/> + </Domain> + </Property> + <Property name="CustomShader" id="7634.CustomShader" number_of_elements="1"> + <Element index="0" value=" // This custom shader code define a gaussian blur
 // Please take a look into vtkSMPointGaussianRepresentation.cxx
 // for other custom shader examples
 //VTK::Color::Impl
 float dist2 = dot(offsetVCVSOutput.xy,offsetVCVSOutput.xy);
 float gaussian = exp(-0.5*dist2);
 opacity = opacity*gaussian;
"/> + </Property> + <Property name="CustomTriangleScale" id="7634.CustomTriangleScale" number_of_elements="1"> + <Element index="0" value="3"/> + </Property> + <Property name="Diffuse" id="7634.Diffuse" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.Diffuse.range"/> + </Property> + <Property name="DiffuseColor" id="7634.DiffuseColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.DiffuseColor.range"/> + </Property> + <Property name="EdgeColor" id="7634.EdgeColor" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Domain name="range" id="7634.EdgeColor.range"/> + </Property> + <Property name="EdgeTint" id="7634.EdgeTint" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.EdgeTint.range"/> + </Property> + <Property name="Emissive" id="7634.Emissive" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.Emissive.bool"/> + </Property> + <Property name="EmissiveFactor" id="7634.EmissiveFactor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.EmissiveFactor.range"/> + </Property> + <Property name="EmissiveTexture" id="7634.EmissiveTexture"> + <Domain name="groups" id="7634.EmissiveTexture.groups"/> + </Property> + <Property name="FlipTextures" id="7634.FlipTextures" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.FlipTextures.bool"/> + </Property> + <Property name="GaussianRadius" id="7634.GaussianRadius" number_of_elements="1"> + <Element index="0" value="0.002149999961256981"/> + <Domain name="range" id="7634.GaussianRadius.range"/> + </Property> + <Property name="GlyphTableIndexArray" id="7634.GlyphTableIndexArray" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7634.GlyphTableIndexArray.array_list"> + <String text="None"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="CasePath"/> + </Domain> + </Property> + <Property name="GlyphType" id="7634.GlyphType" number_of_elements="1"> + <Proxy value="7477" output_port="0"/> + <Domain name="input_type" id="7634.GlyphType.input_type"/> + <Domain name="proxy_list" id="7634.GlyphType.proxy_list"> + <Proxy value="7477"/> + <Proxy value="7488"/> + <Proxy value="7499"/> + <Proxy value="7510"/> + <Proxy value="7521"/> + <Proxy value="7532"/> + <Proxy value="7543"/> + <Proxy value="7554"/> + </Domain> + </Property> + <Property name="InteractiveSelectionColor" id="7634.InteractiveSelectionColor" number_of_elements="3"> + <Element index="0" value="0.5"/> + <Element index="1" value="0"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.InteractiveSelectionColor.range"/> + </Property> + <Property name="InterpolateScalarsBeforeMapping" id="7634.InterpolateScalarsBeforeMapping" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7634.InterpolateScalarsBeforeMapping.bool"/> + </Property> + <Property name="InterpolateTextures" id="7634.InterpolateTextures" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.InterpolateTextures.bool"/> + </Property> + <Property name="Interpolation" id="7634.Interpolation" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7634.Interpolation.enum"> + <Entry value="0" text="Flat"/> + <Entry value="1" text="Gouraud"/> + <Entry value="3" text="PBR"/> + </Domain> + </Property> + <Property name="LODValues" id="7634.LODValues"> + <Domain name="scalar_range" id="7634.LODValues.scalar_range"/> + </Property> + <Property name="LineWidth" id="7634.LineWidth" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.LineWidth.range"/> + </Property> + <Property name="LookupTable" id="7634.LookupTable" number_of_elements="1"> + <Proxy value="7646"/> + <Domain name="groups" id="7634.LookupTable.groups"/> + </Property> + <Property name="Luminosity" id="7634.Luminosity" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7634.Luminosity.range"/> + </Property> + <Property name="MapScalars" id="7634.MapScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7634.MapScalars.bool"/> + </Property> + <Property name="Masking" id="7634.Masking" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.Masking.bool"/> + </Property> + <Property name="MaterialTexture" id="7634.MaterialTexture"> + <Domain name="groups" id="7634.MaterialTexture.groups"/> + </Property> + <Property name="MeshVisibility" id="7634.MeshVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.MeshVisibility.bool"/> + </Property> + <Property name="Metallic" id="7634.Metallic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7634.Metallic.range"/> + </Property> + <Property name="MultiComponentsMapping" id="7634.MultiComponentsMapping" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.MultiComponentsMapping.bool"/> + </Property> + <Property name="NonlinearSubdivisionLevel" id="7634.NonlinearSubdivisionLevel" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.NonlinearSubdivisionLevel.range"/> + </Property> + <Property name="NormalScale" id="7634.NormalScale" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.NormalScale.range"/> + </Property> + <Property name="NormalTexture" id="7634.NormalTexture"> + <Domain name="groups" id="7634.NormalTexture.groups"/> + </Property> + <Property name="OSPRayMaterial" id="7634.OSPRayMaterial" number_of_elements="1"> + <Element index="0" value="None"/> + <Domain name="string_list" id="7634.OSPRayMaterial.string_list"/> + </Property> + <Property name="OSPRayScaleArray" id="7634.OSPRayScaleArray" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7634.OSPRayScaleArray.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="OSPRayScaleFunction" id="7634.OSPRayScaleFunction" number_of_elements="1"> + <Proxy value="7622"/> + <Domain name="groups" id="7634.OSPRayScaleFunction.groups"/> + <Domain name="proxy_list" id="7634.OSPRayScaleFunction.proxy_list"> + <Proxy value="7622"/> + </Domain> + </Property> + <Property name="OSPRayUseScaleArray" id="7634.OSPRayUseScaleArray" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7634.OSPRayUseScaleArray.enum"> + <Entry value="-1" text="All Exact"/> + <Entry value="0" text="All Approximate"/> + <Entry value="1" text="Each Scaled"/> + <Entry value="2" text="Each Exact"/> + </Domain> + </Property> + <Property name="OcclusionStrength" id="7634.OcclusionStrength" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.OcclusionStrength.range"/> + </Property> + <Property name="Opacity" id="7634.Opacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.Opacity.range"/> + </Property> + <Property name="OpacityArray" id="7634.OpacityArray" number_of_elements="5"> + <Element index="0" value=""/> + <Element index="1" value=""/> + <Element index="2" value=""/> + <Element index="3" value="0"/> + <Element index="4" value="p"/> + <Domain name="array_list" id="7634.OpacityArray.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="OpacityArrayComponent" id="7634.OpacityArrayComponent" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="comps" id="7634.OpacityArrayComponent.comps"> + <Entry value="0" text=""/> + </Domain> + </Property> + <Property name="OpacityByArray" id="7634.OpacityByArray" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.OpacityByArray.bool"/> + </Property> + <Property name="OpacityTransferFunction" id="7634.OpacityTransferFunction" number_of_elements="1"> + <Proxy value="7587"/> + <Domain name="proxy_list" id="7634.OpacityTransferFunction.proxy_list"> + <Proxy value="7587"/> + </Domain> + </Property> + <Property name="Orient" id="7634.Orient" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.Orient.bool"/> + </Property> + <Property name="Orientation" id="7634.Orientation" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7634.Orientation.range"/> + </Property> + <Property name="OrientationMode" id="7634.OrientationMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7634.OrientationMode.enum"> + <Entry value="0" text="Direction"/> + <Entry value="1" text="Rotation"/> + <Entry value="2" text="Quaternion"/> + </Domain> + </Property> + <Property name="Origin" id="7634.Origin" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7634.Origin.range"/> + </Property> + <Property name="Pickable" id="7634.Pickable" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7634.Pickable.bool"/> + </Property> + <Property name="PointSize" id="7634.PointSize" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7634.PointSize.range"/> + </Property> + <Property name="Position" id="7634.Position" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7634.Position.range"/> + </Property> + <Property name="RenderLinesAsTubes" id="7634.RenderLinesAsTubes" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.RenderLinesAsTubes.bool"/> + </Property> + <Property name="RenderPointsAsSpheres" id="7634.RenderPointsAsSpheres" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.RenderPointsAsSpheres.bool"/> + </Property> + <Property name="RepeatTextures" id="7634.RepeatTextures" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7634.RepeatTextures.bool"/> + </Property> + <Property name="Roughness" id="7634.Roughness" number_of_elements="1"> + <Element index="0" value="0.3"/> + <Domain name="range" id="7634.Roughness.range"/> + </Property> + <Property name="Scale" id="7634.Scale" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.Scale.range"/> + </Property> + <Property name="ScaleArrayComponent" id="7634.ScaleArrayComponent" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="comps" id="7634.ScaleArrayComponent.comps"> + <Entry value="0" text=""/> + </Domain> + </Property> + <Property name="ScaleByArray" id="7634.ScaleByArray" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.ScaleByArray.bool"/> + </Property> + <Property name="ScaleFactor" id="7634.ScaleFactor" number_of_elements="1"> + <Element index="0" value="0.04299999922513962"/> + <Domain name="bounds" id="7634.ScaleFactor.bounds"/> + <Domain name="scalar_range" id="7634.ScaleFactor.scalar_range"/> + <Domain name="vector_range" id="7634.ScaleFactor.vector_range"/> + </Property> + <Property name="ScaleMode" id="7634.ScaleMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7634.ScaleMode.enum"> + <Entry value="0" text="No Data Scaling Off"/> + <Entry value="1" text="Magnitude"/> + <Entry value="2" text="Vector Components"/> + </Domain> + </Property> + <Property name="ScaleTransferFunction" id="7634.ScaleTransferFunction" number_of_elements="1"> + <Proxy value="7588"/> + <Domain name="proxy_list" id="7634.ScaleTransferFunction.proxy_list"> + <Proxy value="7588"/> + </Domain> + </Property> + <Property name="Scaling" id="7634.Scaling" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.Scaling.bool"/> + </Property> + <Property name="SeamlessU" id="7634.SeamlessU" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SeamlessU.bool"/> + </Property> + <Property name="SeamlessV" id="7634.SeamlessV" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SeamlessV.bool"/> + </Property> + <Property name="SelectMaskArray" id="7634.SelectMaskArray" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectNormalArray" id="7634.SelectNormalArray" number_of_elements="1"> + <Element index="0" value="None"/> + <Domain name="array_list" id="7634.SelectNormalArray.array_list"> + <String text="None"/> + <String text="U"/> + </Domain> + </Property> + <Property name="SelectOrientationVectors" id="7634.SelectOrientationVectors" number_of_elements="1"> + <Element index="0" value="U"/> + <Domain name="array_list" id="7634.SelectOrientationVectors.array_list"> + <String text="None"/> + <String text="U"/> + <String text="U"/> + </Domain> + </Property> + <Property name="SelectScaleArray" id="7634.SelectScaleArray" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7634.SelectScaleArray.array_list"> + <String text="None"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="SelectTCoordArray" id="7634.SelectTCoordArray" number_of_elements="1"> + <Element index="0" value="None"/> + <Domain name="array_list" id="7634.SelectTCoordArray.array_list"> + <String text="None"/> + </Domain> + </Property> + <Property name="SelectTangentArray" id="7634.SelectTangentArray" number_of_elements="1"> + <Element index="0" value="None"/> + <Domain name="array_list" id="7634.SelectTangentArray.array_list"> + <String text="None"/> + <String text="U"/> + </Domain> + </Property> + <Property name="SelectionCellLabelBold" id="7634.SelectionCellLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionCellLabelBold.bool"/> + </Property> + <Property name="SelectionCellLabelColor" id="7634.SelectionCellLabelColor" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Domain name="range" id="7634.SelectionCellLabelColor.range"/> + </Property> + <Property name="SelectionCellLabelFontFamily" id="7634.SelectionCellLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7634.SelectionCellLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="SelectionCellLabelFontFile" id="7634.SelectionCellLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectionCellLabelFontSize" id="7634.SelectionCellLabelFontSize" number_of_elements="1"> + <Element index="0" value="18"/> + <Domain name="range" id="7634.SelectionCellLabelFontSize.range"/> + </Property> + <Property name="SelectionCellLabelFormat" id="7634.SelectionCellLabelFormat" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectionCellLabelItalic" id="7634.SelectionCellLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionCellLabelItalic.bool"/> + </Property> + <Property name="SelectionCellLabelJustification" id="7634.SelectionCellLabelJustification" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7634.SelectionCellLabelJustification.enum"> + <Entry value="0" text="Left"/> + <Entry value="1" text="Center"/> + <Entry value="2" text="Right"/> + </Domain> + </Property> + <Property name="SelectionCellLabelOpacity" id="7634.SelectionCellLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.SelectionCellLabelOpacity.range"/> + </Property> + <Property name="SelectionCellLabelShadow" id="7634.SelectionCellLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionCellLabelShadow.bool"/> + </Property> + <Property name="SelectionCellLabelVisibility" id="7634.SelectionCellLabelVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionCellLabelVisibility.bool"/> + </Property> + <Property name="SelectionColor" id="7634.SelectionColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.SelectionColor.range"/> + </Property> + <Property name="SelectionLineWidth" id="7634.SelectionLineWidth" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7634.SelectionLineWidth.range"/> + </Property> + <Property name="SelectionMaximumNumberOfLabels" id="7634.SelectionMaximumNumberOfLabels" number_of_elements="1"> + <Element index="0" value="100"/> + <Domain name="range" id="7634.SelectionMaximumNumberOfLabels.range"/> + </Property> + <Property name="SelectionOpacity" id="7634.SelectionOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.SelectionOpacity.range"/> + </Property> + <Property name="SelectionPointLabelBold" id="7634.SelectionPointLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionPointLabelBold.bool"/> + </Property> + <Property name="SelectionPointLabelColor" id="7634.SelectionPointLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Domain name="range" id="7634.SelectionPointLabelColor.range"/> + </Property> + <Property name="SelectionPointLabelFontFamily" id="7634.SelectionPointLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7634.SelectionPointLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="SelectionPointLabelFontFile" id="7634.SelectionPointLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectionPointLabelFontSize" id="7634.SelectionPointLabelFontSize" number_of_elements="1"> + <Element index="0" value="18"/> + <Domain name="range" id="7634.SelectionPointLabelFontSize.range"/> + </Property> + <Property name="SelectionPointLabelFormat" id="7634.SelectionPointLabelFormat" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectionPointLabelItalic" id="7634.SelectionPointLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionPointLabelItalic.bool"/> + </Property> + <Property name="SelectionPointLabelJustification" id="7634.SelectionPointLabelJustification" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7634.SelectionPointLabelJustification.enum"> + <Entry value="0" text="Left"/> + <Entry value="1" text="Center"/> + <Entry value="2" text="Right"/> + </Domain> + </Property> + <Property name="SelectionPointLabelOpacity" id="7634.SelectionPointLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7634.SelectionPointLabelOpacity.range"/> + </Property> + <Property name="SelectionPointLabelShadow" id="7634.SelectionPointLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionPointLabelShadow.bool"/> + </Property> + <Property name="SelectionPointLabelVisibility" id="7634.SelectionPointLabelVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionPointLabelVisibility.bool"/> + </Property> + <Property name="SelectionPointSize" id="7634.SelectionPointSize" number_of_elements="1"> + <Element index="0" value="5"/> + <Domain name="range" id="7634.SelectionPointSize.range"/> + </Property> + <Property name="SelectionRepresentation" id="7634.SelectionRepresentation" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7634.SelectionRepresentation.enum"> + <Entry value="0" text="Points"/> + <Entry value="1" text="Wireframe"/> + <Entry value="2" text="Surface"/> + </Domain> + </Property> + <Property name="SelectionUseOutline" id="7634.SelectionUseOutline" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SelectionUseOutline.bool"/> + </Property> + <Property name="SetScaleArray" id="7634.SetScaleArray" number_of_elements="5"> + <Element index="0" value=""/> + <Element index="1" value=""/> + <Element index="2" value=""/> + <Element index="3" value="0"/> + <Element index="4" value="p"/> + <Domain name="array_list" id="7634.SetScaleArray.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="ShaderPreset" id="7634.ShaderPreset" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7634.ShaderPreset.enum"> + <Entry value="0" text="Gaussian Blur"/> + <Entry value="1" text="Sphere"/> + <Entry value="2" text="Black-edged circle"/> + <Entry value="3" text="Plain circle"/> + <Entry value="4" text="Triangle"/> + <Entry value="5" text="Square Outline"/> + <Entry value="6" text="Custom"/> + </Domain> + </Property> + <Property name="ShaderReplacements" id="7634.ShaderReplacements" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="ShowTexturesOnBackface" id="7634.ShowTexturesOnBackface" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7634.ShowTexturesOnBackface.bool"/> + </Property> + <Property name="Specular" id="7634.Specular" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7634.Specular.range"/> + </Property> + <Property name="SpecularColor" id="7634.SpecularColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7634.SpecularColor.range"/> + </Property> + <Property name="SpecularPower" id="7634.SpecularPower" number_of_elements="1"> + <Element index="0" value="100"/> + <Domain name="range" id="7634.SpecularPower.range"/> + </Property> + <Property name="StaticMode" id="7634.StaticMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.StaticMode.bool"/> + </Property> + <Property name="SuppressLOD" id="7634.SuppressLOD" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.SuppressLOD.bool"/> + </Property> + <Property name="Texture" id="7634.Texture"> + <Domain name="groups" id="7634.Texture.groups"/> + </Property> + <Property name="Triangulate" id="7634.Triangulate" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.Triangulate.bool"/> + </Property> + <Property name="UseCompositeGlyphTable" id="7634.UseCompositeGlyphTable" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.UseCompositeGlyphTable.bool"/> + </Property> + <Property name="UseDataPartitions" id="7634.UseDataPartitions" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.UseDataPartitions.bool"/> + </Property> + <Property name="UseGlyphCullingAndLOD" id="7634.UseGlyphCullingAndLOD" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.UseGlyphCullingAndLOD.bool"/> + </Property> + <Property name="UseGlyphTable" id="7634.UseGlyphTable" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.UseGlyphTable.bool"/> + </Property> + <Property name="UseMipmapTextures" id="7634.UseMipmapTextures" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.UseMipmapTextures.bool"/> + </Property> + <Property name="UseScaleFunction" id="7634.UseScaleFunction" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7634.UseScaleFunction.bool"/> + </Property> + <Property name="UseSeparateColorMap" id="7634.UseSeparateColorMap" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.UseSeparateColorMap.bool"/> + </Property> + <Property name="UseShaderReplacements" id="7634.UseShaderReplacements" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7634.UseShaderReplacements.bool"/> + </Property> + <Property name="UserTransform" id="7634.UserTransform" number_of_elements="16"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Element index="3" value="0"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + <Element index="6" value="0"/> + <Element index="7" value="0"/> + <Element index="8" value="0"/> + <Element index="9" value="0"/> + <Element index="10" value="1"/> + <Element index="11" value="0"/> + <Element index="12" value="0"/> + <Element index="13" value="0"/> + <Element index="14" value="0"/> + <Element index="15" value="1"/> + </Property> + </Proxy> + <Proxy group="representations" type="GeometryRepresentation" id="7887" servers="21"> + <Property name="DataAxesGrid" id="7887.DataAxesGrid" number_of_elements="1"> + <Proxy value="7693"/> + <Domain name="proxy_list" id="7887.DataAxesGrid.proxy_list"> + <Proxy value="7693"/> + </Domain> + </Property> + <Property name="Input" id="7887.Input" number_of_elements="1"> + <Proxy value="7673" output_port="0"/> + <Domain name="input_array_cell" id="7887.Input.input_array_cell"/> + <Domain name="input_array_point" id="7887.Input.input_array_point"/> + <Domain name="input_type" id="7887.Input.input_type"/> + </Property> + <Property name="PolarAxes" id="7887.PolarAxes" number_of_elements="1"> + <Proxy value="7708"/> + <Domain name="proxy_list" id="7887.PolarAxes.proxy_list"> + <Proxy value="7708"/> + </Domain> + </Property> + <Property name="Representation" id="7887.Representation" number_of_elements="1"> + <Element index="0" value="Surface"/> + <Domain name="list" id="7887.Representation.list"> + <String text="3D Glyphs"/> + <String text="Feature Edges"/> + <String text="Outline"/> + <String text="Point Gaussian"/> + <String text="Points"/> + <String text="Surface"/> + <String text="Surface With Edges"/> + <String text="Wireframe"/> + </Domain> + </Property> + <Property name="RepresentationTypesInfo" id="7887.RepresentationTypesInfo" number_of_elements="8"> + <Element index="0" value="3D Glyphs"/> + <Element index="1" value="Feature Edges"/> + <Element index="2" value="Outline"/> + <Element index="3" value="Point Gaussian"/> + <Element index="4" value="Points"/> + <Element index="5" value="Surface"/> + <Element index="6" value="Surface With Edges"/> + <Element index="7" value="Wireframe"/> + </Property> + <Property name="Selection" id="7887.Selection"> + <Domain name="input_type" id="7887.Selection.input_type"/> + </Property> + <Property name="SelectionCellFieldDataArrayName" id="7887.SelectionCellFieldDataArrayName" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7887.SelectionCellFieldDataArrayName.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="SelectionPointFieldDataArrayName" id="7887.SelectionPointFieldDataArrayName" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7887.SelectionPointFieldDataArrayName.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="SelectionVisibility" id="7887.SelectionVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7887.SelectionVisibility.bool"/> + </Property> + <Property name="Visibility" id="7887.Visibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7887.Visibility.bool"/> + </Property> + <Property name="Ambient" id="7887.Ambient" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7887.Ambient.range"/> + </Property> + <Property name="AmbientColor" id="7887.AmbientColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.AmbientColor.range"/> + </Property> + <Property name="Anisotropy" id="7887.Anisotropy" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7887.Anisotropy.range"/> + </Property> + <Property name="AnisotropyRotation" id="7887.AnisotropyRotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7887.AnisotropyRotation.range"/> + </Property> + <Property name="AnisotropyTexture" id="7887.AnisotropyTexture"> + <Domain name="groups" id="7887.AnisotropyTexture.groups"/> + </Property> + <Property name="BackfaceAmbientColor" id="7887.BackfaceAmbientColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.BackfaceAmbientColor.range"/> + </Property> + <Property name="BackfaceDiffuseColor" id="7887.BackfaceDiffuseColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.BackfaceDiffuseColor.range"/> + </Property> + <Property name="BackfaceOpacity" id="7887.BackfaceOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.BackfaceOpacity.range"/> + </Property> + <Property name="BackfaceRepresentation" id="7887.BackfaceRepresentation" number_of_elements="1"> + <Element index="0" value="400"/> + <Domain name="enum" id="7887.BackfaceRepresentation.enum"> + <Entry value="400" text="Follow Frontface"/> + <Entry value="401" text="Cull Backface"/> + <Entry value="402" text="Cull Frontface"/> + <Entry value="0" text="Points"/> + <Entry value="1" text="Wireframe"/> + <Entry value="2" text="Surface"/> + <Entry value="3" text="Surface With Edges"/> + </Domain> + </Property> + <Property name="BaseColorTexture" id="7887.BaseColorTexture"> + <Domain name="groups" id="7887.BaseColorTexture.groups"/> + </Property> + <Property name="BaseIOR" id="7887.BaseIOR" number_of_elements="1"> + <Element index="0" value="1.5"/> + <Domain name="range" id="7887.BaseIOR.range"/> + </Property> + <Property name="BlockColors" id="7887.BlockColors"> + <Domain name="data_assembly" id="7887.BlockColors.data_assembly"/> + </Property> + <Property name="BlockColorsDistinctValues" id="7887.BlockColorsDistinctValues" number_of_elements="1"> + <Element index="0" value="12"/> + <Domain name="range" id="7887.BlockColorsDistinctValues.range"/> + </Property> + <Property name="BlockOpacities" id="7887.BlockOpacities"> + <Domain name="data_assembly" id="7887.BlockOpacities.data_assembly"/> + </Property> + <Property name="BlockSelectors" id="7887.BlockSelectors" number_of_elements="1"> + <Element index="0" value="/"/> + <Domain name="data_assembly" id="7887.BlockSelectors.data_assembly"/> + </Property> + <Property name="CoatColor" id="7887.CoatColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.CoatColor.range"/> + </Property> + <Property name="CoatIOR" id="7887.CoatIOR" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7887.CoatIOR.range"/> + </Property> + <Property name="CoatNormalScale" id="7887.CoatNormalScale" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.CoatNormalScale.range"/> + </Property> + <Property name="CoatNormalTexture" id="7887.CoatNormalTexture"> + <Domain name="groups" id="7887.CoatNormalTexture.groups"/> + </Property> + <Property name="CoatRoughness" id="7887.CoatRoughness" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7887.CoatRoughness.range"/> + </Property> + <Property name="CoatStrength" id="7887.CoatStrength" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7887.CoatStrength.range"/> + </Property> + <Property name="ColorArrayName" id="7887.ColorArrayName" number_of_elements="5"> + <Element index="0" value=""/> + <Element index="1" value=""/> + <Element index="2" value=""/> + <Element index="3" value="1"/> + <Element index="4" value="U"/> + <Domain name="array_list" id="7887.ColorArrayName.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="vtkCompositeIndex"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="vtkCompositeIndex"/> + <String text="vtkBlockColors"/> + </Domain> + </Property> + <Property name="ColorByLODIndex" id="7887.ColorByLODIndex" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.ColorByLODIndex.bool"/> + </Property> + <Property name="CoordinateShiftScaleMethod" id="7887.CoordinateShiftScaleMethod" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7887.CoordinateShiftScaleMethod.enum"> + <Entry value="0" text="Disable"/> + <Entry value="1" text="Auto Shift Scale"/> + <Entry value="2" text="Always Auto Shift Scale"/> + <Entry value="4" text="Auto Shift Only"/> + <Entry value="5" text="Near Focal Plane Shift Scale"/> + <Entry value="6" text="Focal Point Shift Scale"/> + </Domain> + </Property> + <Property name="CustomShader" id="7887.CustomShader" number_of_elements="1"> + <Element index="0" value=" // This custom shader code define a gaussian blur
 // Please take a look into vtkSMPointGaussianRepresentation.cxx
 // for other custom shader examples
 //VTK::Color::Impl
 float dist2 = dot(offsetVCVSOutput.xy,offsetVCVSOutput.xy);
 float gaussian = exp(-0.5*dist2);
 opacity = opacity*gaussian;
"/> + </Property> + <Property name="CustomTriangleScale" id="7887.CustomTriangleScale" number_of_elements="1"> + <Element index="0" value="3"/> + </Property> + <Property name="Diffuse" id="7887.Diffuse" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.Diffuse.range"/> + </Property> + <Property name="DiffuseColor" id="7887.DiffuseColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.DiffuseColor.range"/> + </Property> + <Property name="EdgeColor" id="7887.EdgeColor" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Domain name="range" id="7887.EdgeColor.range"/> + </Property> + <Property name="EdgeTint" id="7887.EdgeTint" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.EdgeTint.range"/> + </Property> + <Property name="Emissive" id="7887.Emissive" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.Emissive.bool"/> + </Property> + <Property name="EmissiveFactor" id="7887.EmissiveFactor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.EmissiveFactor.range"/> + </Property> + <Property name="EmissiveTexture" id="7887.EmissiveTexture"> + <Domain name="groups" id="7887.EmissiveTexture.groups"/> + </Property> + <Property name="FlipTextures" id="7887.FlipTextures" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.FlipTextures.bool"/> + </Property> + <Property name="GaussianRadius" id="7887.GaussianRadius" number_of_elements="1"> + <Element index="0" value="0.002149999961256981"/> + <Domain name="range" id="7887.GaussianRadius.range"/> + </Property> + <Property name="GlyphTableIndexArray" id="7887.GlyphTableIndexArray" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7887.GlyphTableIndexArray.array_list"> + <String text="None"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="CasePath"/> + </Domain> + </Property> + <Property name="GlyphType" id="7887.GlyphType" number_of_elements="1"> + <Proxy value="7730" output_port="0"/> + <Domain name="input_type" id="7887.GlyphType.input_type"/> + <Domain name="proxy_list" id="7887.GlyphType.proxy_list"> + <Proxy value="7730"/> + <Proxy value="7741"/> + <Proxy value="7752"/> + <Proxy value="7763"/> + <Proxy value="7774"/> + <Proxy value="7785"/> + <Proxy value="7796"/> + <Proxy value="7807"/> + </Domain> + </Property> + <Property name="InteractiveSelectionColor" id="7887.InteractiveSelectionColor" number_of_elements="3"> + <Element index="0" value="0.5"/> + <Element index="1" value="0"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.InteractiveSelectionColor.range"/> + </Property> + <Property name="InterpolateScalarsBeforeMapping" id="7887.InterpolateScalarsBeforeMapping" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7887.InterpolateScalarsBeforeMapping.bool"/> + </Property> + <Property name="InterpolateTextures" id="7887.InterpolateTextures" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.InterpolateTextures.bool"/> + </Property> + <Property name="Interpolation" id="7887.Interpolation" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7887.Interpolation.enum"> + <Entry value="0" text="Flat"/> + <Entry value="1" text="Gouraud"/> + <Entry value="3" text="PBR"/> + </Domain> + </Property> + <Property name="LODValues" id="7887.LODValues"> + <Domain name="scalar_range" id="7887.LODValues.scalar_range"/> + </Property> + <Property name="LineWidth" id="7887.LineWidth" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.LineWidth.range"/> + </Property> + <Property name="LookupTable" id="7887.LookupTable" number_of_elements="1"> + <Proxy value="7900"/> + <Domain name="groups" id="7887.LookupTable.groups"/> + </Property> + <Property name="Luminosity" id="7887.Luminosity" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7887.Luminosity.range"/> + </Property> + <Property name="MapScalars" id="7887.MapScalars" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7887.MapScalars.bool"/> + </Property> + <Property name="Masking" id="7887.Masking" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.Masking.bool"/> + </Property> + <Property name="MaterialTexture" id="7887.MaterialTexture"> + <Domain name="groups" id="7887.MaterialTexture.groups"/> + </Property> + <Property name="MeshVisibility" id="7887.MeshVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.MeshVisibility.bool"/> + </Property> + <Property name="Metallic" id="7887.Metallic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7887.Metallic.range"/> + </Property> + <Property name="MultiComponentsMapping" id="7887.MultiComponentsMapping" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.MultiComponentsMapping.bool"/> + </Property> + <Property name="NonlinearSubdivisionLevel" id="7887.NonlinearSubdivisionLevel" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.NonlinearSubdivisionLevel.range"/> + </Property> + <Property name="NormalScale" id="7887.NormalScale" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.NormalScale.range"/> + </Property> + <Property name="NormalTexture" id="7887.NormalTexture"> + <Domain name="groups" id="7887.NormalTexture.groups"/> + </Property> + <Property name="OSPRayMaterial" id="7887.OSPRayMaterial" number_of_elements="1"> + <Element index="0" value="None"/> + <Domain name="string_list" id="7887.OSPRayMaterial.string_list"/> + </Property> + <Property name="OSPRayScaleArray" id="7887.OSPRayScaleArray" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7887.OSPRayScaleArray.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="OSPRayScaleFunction" id="7887.OSPRayScaleFunction" number_of_elements="1"> + <Proxy value="7875"/> + <Domain name="groups" id="7887.OSPRayScaleFunction.groups"/> + <Domain name="proxy_list" id="7887.OSPRayScaleFunction.proxy_list"> + <Proxy value="7875"/> + </Domain> + </Property> + <Property name="OSPRayUseScaleArray" id="7887.OSPRayUseScaleArray" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7887.OSPRayUseScaleArray.enum"> + <Entry value="-1" text="All Exact"/> + <Entry value="0" text="All Approximate"/> + <Entry value="1" text="Each Scaled"/> + <Entry value="2" text="Each Exact"/> + </Domain> + </Property> + <Property name="OcclusionStrength" id="7887.OcclusionStrength" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.OcclusionStrength.range"/> + </Property> + <Property name="Opacity" id="7887.Opacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.Opacity.range"/> + </Property> + <Property name="OpacityArray" id="7887.OpacityArray" number_of_elements="5"> + <Element index="0" value=""/> + <Element index="1" value=""/> + <Element index="2" value=""/> + <Element index="3" value="0"/> + <Element index="4" value="p"/> + <Domain name="array_list" id="7887.OpacityArray.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="OpacityArrayComponent" id="7887.OpacityArrayComponent" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="comps" id="7887.OpacityArrayComponent.comps"> + <Entry value="0" text=""/> + </Domain> + </Property> + <Property name="OpacityByArray" id="7887.OpacityByArray" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.OpacityByArray.bool"/> + </Property> + <Property name="OpacityTransferFunction" id="7887.OpacityTransferFunction" number_of_elements="1"> + <Proxy value="7840"/> + <Domain name="proxy_list" id="7887.OpacityTransferFunction.proxy_list"> + <Proxy value="7840"/> + </Domain> + </Property> + <Property name="Orient" id="7887.Orient" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.Orient.bool"/> + </Property> + <Property name="Orientation" id="7887.Orientation" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7887.Orientation.range"/> + </Property> + <Property name="OrientationMode" id="7887.OrientationMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7887.OrientationMode.enum"> + <Entry value="0" text="Direction"/> + <Entry value="1" text="Rotation"/> + <Entry value="2" text="Quaternion"/> + </Domain> + </Property> + <Property name="Origin" id="7887.Origin" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7887.Origin.range"/> + </Property> + <Property name="Pickable" id="7887.Pickable" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7887.Pickable.bool"/> + </Property> + <Property name="PointSize" id="7887.PointSize" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7887.PointSize.range"/> + </Property> + <Property name="Position" id="7887.Position" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7887.Position.range"/> + </Property> + <Property name="RenderLinesAsTubes" id="7887.RenderLinesAsTubes" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.RenderLinesAsTubes.bool"/> + </Property> + <Property name="RenderPointsAsSpheres" id="7887.RenderPointsAsSpheres" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.RenderPointsAsSpheres.bool"/> + </Property> + <Property name="RepeatTextures" id="7887.RepeatTextures" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7887.RepeatTextures.bool"/> + </Property> + <Property name="Roughness" id="7887.Roughness" number_of_elements="1"> + <Element index="0" value="0.3"/> + <Domain name="range" id="7887.Roughness.range"/> + </Property> + <Property name="Scale" id="7887.Scale" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.Scale.range"/> + </Property> + <Property name="ScaleArrayComponent" id="7887.ScaleArrayComponent" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="comps" id="7887.ScaleArrayComponent.comps"> + <Entry value="0" text=""/> + </Domain> + </Property> + <Property name="ScaleByArray" id="7887.ScaleByArray" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.ScaleByArray.bool"/> + </Property> + <Property name="ScaleFactor" id="7887.ScaleFactor" number_of_elements="1"> + <Element index="0" value="0.04299999922513962"/> + <Domain name="bounds" id="7887.ScaleFactor.bounds"/> + <Domain name="scalar_range" id="7887.ScaleFactor.scalar_range"/> + <Domain name="vector_range" id="7887.ScaleFactor.vector_range"/> + </Property> + <Property name="ScaleMode" id="7887.ScaleMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7887.ScaleMode.enum"> + <Entry value="0" text="No Data Scaling Off"/> + <Entry value="1" text="Magnitude"/> + <Entry value="2" text="Vector Components"/> + </Domain> + </Property> + <Property name="ScaleTransferFunction" id="7887.ScaleTransferFunction" number_of_elements="1"> + <Proxy value="7841"/> + <Domain name="proxy_list" id="7887.ScaleTransferFunction.proxy_list"> + <Proxy value="7841"/> + </Domain> + </Property> + <Property name="Scaling" id="7887.Scaling" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.Scaling.bool"/> + </Property> + <Property name="SeamlessU" id="7887.SeamlessU" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SeamlessU.bool"/> + </Property> + <Property name="SeamlessV" id="7887.SeamlessV" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SeamlessV.bool"/> + </Property> + <Property name="SelectMaskArray" id="7887.SelectMaskArray" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectNormalArray" id="7887.SelectNormalArray" number_of_elements="1"> + <Element index="0" value="None"/> + <Domain name="array_list" id="7887.SelectNormalArray.array_list"> + <String text="None"/> + <String text="U"/> + </Domain> + </Property> + <Property name="SelectOrientationVectors" id="7887.SelectOrientationVectors" number_of_elements="1"> + <Element index="0" value="U"/> + <Domain name="array_list" id="7887.SelectOrientationVectors.array_list"> + <String text="None"/> + <String text="U"/> + <String text="U"/> + </Domain> + </Property> + <Property name="SelectScaleArray" id="7887.SelectScaleArray" number_of_elements="1"> + <Element index="0" value="p"/> + <Domain name="array_list" id="7887.SelectScaleArray.array_list"> + <String text="None"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="SelectTCoordArray" id="7887.SelectTCoordArray" number_of_elements="1"> + <Element index="0" value="None"/> + <Domain name="array_list" id="7887.SelectTCoordArray.array_list"> + <String text="None"/> + </Domain> + </Property> + <Property name="SelectTangentArray" id="7887.SelectTangentArray" number_of_elements="1"> + <Element index="0" value="None"/> + <Domain name="array_list" id="7887.SelectTangentArray.array_list"> + <String text="None"/> + <String text="U"/> + </Domain> + </Property> + <Property name="SelectionCellLabelBold" id="7887.SelectionCellLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionCellLabelBold.bool"/> + </Property> + <Property name="SelectionCellLabelColor" id="7887.SelectionCellLabelColor" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Domain name="range" id="7887.SelectionCellLabelColor.range"/> + </Property> + <Property name="SelectionCellLabelFontFamily" id="7887.SelectionCellLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7887.SelectionCellLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="SelectionCellLabelFontFile" id="7887.SelectionCellLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectionCellLabelFontSize" id="7887.SelectionCellLabelFontSize" number_of_elements="1"> + <Element index="0" value="18"/> + <Domain name="range" id="7887.SelectionCellLabelFontSize.range"/> + </Property> + <Property name="SelectionCellLabelFormat" id="7887.SelectionCellLabelFormat" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectionCellLabelItalic" id="7887.SelectionCellLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionCellLabelItalic.bool"/> + </Property> + <Property name="SelectionCellLabelJustification" id="7887.SelectionCellLabelJustification" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7887.SelectionCellLabelJustification.enum"> + <Entry value="0" text="Left"/> + <Entry value="1" text="Center"/> + <Entry value="2" text="Right"/> + </Domain> + </Property> + <Property name="SelectionCellLabelOpacity" id="7887.SelectionCellLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.SelectionCellLabelOpacity.range"/> + </Property> + <Property name="SelectionCellLabelShadow" id="7887.SelectionCellLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionCellLabelShadow.bool"/> + </Property> + <Property name="SelectionCellLabelVisibility" id="7887.SelectionCellLabelVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionCellLabelVisibility.bool"/> + </Property> + <Property name="SelectionColor" id="7887.SelectionColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.SelectionColor.range"/> + </Property> + <Property name="SelectionLineWidth" id="7887.SelectionLineWidth" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="7887.SelectionLineWidth.range"/> + </Property> + <Property name="SelectionMaximumNumberOfLabels" id="7887.SelectionMaximumNumberOfLabels" number_of_elements="1"> + <Element index="0" value="100"/> + <Domain name="range" id="7887.SelectionMaximumNumberOfLabels.range"/> + </Property> + <Property name="SelectionOpacity" id="7887.SelectionOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.SelectionOpacity.range"/> + </Property> + <Property name="SelectionPointLabelBold" id="7887.SelectionPointLabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionPointLabelBold.bool"/> + </Property> + <Property name="SelectionPointLabelColor" id="7887.SelectionPointLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Domain name="range" id="7887.SelectionPointLabelColor.range"/> + </Property> + <Property name="SelectionPointLabelFontFamily" id="7887.SelectionPointLabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7887.SelectionPointLabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="SelectionPointLabelFontFile" id="7887.SelectionPointLabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectionPointLabelFontSize" id="7887.SelectionPointLabelFontSize" number_of_elements="1"> + <Element index="0" value="18"/> + <Domain name="range" id="7887.SelectionPointLabelFontSize.range"/> + </Property> + <Property name="SelectionPointLabelFormat" id="7887.SelectionPointLabelFormat" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="SelectionPointLabelItalic" id="7887.SelectionPointLabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionPointLabelItalic.bool"/> + </Property> + <Property name="SelectionPointLabelJustification" id="7887.SelectionPointLabelJustification" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7887.SelectionPointLabelJustification.enum"> + <Entry value="0" text="Left"/> + <Entry value="1" text="Center"/> + <Entry value="2" text="Right"/> + </Domain> + </Property> + <Property name="SelectionPointLabelOpacity" id="7887.SelectionPointLabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7887.SelectionPointLabelOpacity.range"/> + </Property> + <Property name="SelectionPointLabelShadow" id="7887.SelectionPointLabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionPointLabelShadow.bool"/> + </Property> + <Property name="SelectionPointLabelVisibility" id="7887.SelectionPointLabelVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionPointLabelVisibility.bool"/> + </Property> + <Property name="SelectionPointSize" id="7887.SelectionPointSize" number_of_elements="1"> + <Element index="0" value="5"/> + <Domain name="range" id="7887.SelectionPointSize.range"/> + </Property> + <Property name="SelectionRepresentation" id="7887.SelectionRepresentation" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7887.SelectionRepresentation.enum"> + <Entry value="0" text="Points"/> + <Entry value="1" text="Wireframe"/> + <Entry value="2" text="Surface"/> + </Domain> + </Property> + <Property name="SelectionUseOutline" id="7887.SelectionUseOutline" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SelectionUseOutline.bool"/> + </Property> + <Property name="SetScaleArray" id="7887.SetScaleArray" number_of_elements="5"> + <Element index="0" value=""/> + <Element index="1" value=""/> + <Element index="2" value=""/> + <Element index="3" value="0"/> + <Element index="4" value="p"/> + <Domain name="array_list" id="7887.SetScaleArray.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="ShaderPreset" id="7887.ShaderPreset" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7887.ShaderPreset.enum"> + <Entry value="0" text="Gaussian Blur"/> + <Entry value="1" text="Sphere"/> + <Entry value="2" text="Black-edged circle"/> + <Entry value="3" text="Plain circle"/> + <Entry value="4" text="Triangle"/> + <Entry value="5" text="Square Outline"/> + <Entry value="6" text="Custom"/> + </Domain> + </Property> + <Property name="ShaderReplacements" id="7887.ShaderReplacements" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="ShowTexturesOnBackface" id="7887.ShowTexturesOnBackface" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7887.ShowTexturesOnBackface.bool"/> + </Property> + <Property name="Specular" id="7887.Specular" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="7887.Specular.range"/> + </Property> + <Property name="SpecularColor" id="7887.SpecularColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7887.SpecularColor.range"/> + </Property> + <Property name="SpecularPower" id="7887.SpecularPower" number_of_elements="1"> + <Element index="0" value="100"/> + <Domain name="range" id="7887.SpecularPower.range"/> + </Property> + <Property name="StaticMode" id="7887.StaticMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.StaticMode.bool"/> + </Property> + <Property name="SuppressLOD" id="7887.SuppressLOD" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.SuppressLOD.bool"/> + </Property> + <Property name="Texture" id="7887.Texture"> + <Domain name="groups" id="7887.Texture.groups"/> + </Property> + <Property name="Triangulate" id="7887.Triangulate" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.Triangulate.bool"/> + </Property> + <Property name="UseCompositeGlyphTable" id="7887.UseCompositeGlyphTable" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.UseCompositeGlyphTable.bool"/> + </Property> + <Property name="UseDataPartitions" id="7887.UseDataPartitions" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.UseDataPartitions.bool"/> + </Property> + <Property name="UseGlyphCullingAndLOD" id="7887.UseGlyphCullingAndLOD" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.UseGlyphCullingAndLOD.bool"/> + </Property> + <Property name="UseGlyphTable" id="7887.UseGlyphTable" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.UseGlyphTable.bool"/> + </Property> + <Property name="UseMipmapTextures" id="7887.UseMipmapTextures" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.UseMipmapTextures.bool"/> + </Property> + <Property name="UseScaleFunction" id="7887.UseScaleFunction" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7887.UseScaleFunction.bool"/> + </Property> + <Property name="UseSeparateColorMap" id="7887.UseSeparateColorMap" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.UseSeparateColorMap.bool"/> + </Property> + <Property name="UseShaderReplacements" id="7887.UseShaderReplacements" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7887.UseShaderReplacements.bool"/> + </Property> + <Property name="UserTransform" id="7887.UserTransform" number_of_elements="16"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Element index="3" value="0"/> + <Element index="4" value="0"/> + <Element index="5" value="1"/> + <Element index="6" value="0"/> + <Element index="7" value="0"/> + <Element index="8" value="0"/> + <Element index="9" value="0"/> + <Element index="10" value="1"/> + <Element index="11" value="0"/> + <Element index="12" value="0"/> + <Element index="13" value="0"/> + <Element index="14" value="0"/> + <Element index="15" value="1"/> + </Property> + </Proxy> + <Proxy group="representations" type="ScalarBarWidgetRepresentation" id="7672" servers="21"> + <Property name="Enabled" id="7672.Enabled" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.Enabled.bool"/> + </Property> + <Property name="LockPosition" id="7672.LockPosition" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.LockPosition.bool"/> + </Property> + <Property name="StickyVisible" id="7672.StickyVisible" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.StickyVisible.bool"/> + </Property> + <Property name="UseNonCompositedRenderer" id="7672.UseNonCompositedRenderer" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="AddRangeAnnotations" id="7672.AddRangeAnnotations" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.AddRangeAnnotations.bool"/> + </Property> + <Property name="AddRangeLabels" id="7672.AddRangeLabels" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.AddRangeLabels.bool"/> + </Property> + <Property name="AutoOrient" id="7672.AutoOrient" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.AutoOrient.bool"/> + </Property> + <Property name="AutoOrientInfo" id="7672.AutoOrientInfo" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.AutoOrientInfo.bool"/> + </Property> + <Property name="AutomaticAnnotations" id="7672.AutomaticAnnotations" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.AutomaticAnnotations.bool"/> + </Property> + <Property name="AutomaticLabelFormat" id="7672.AutomaticLabelFormat" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.AutomaticLabelFormat.bool"/> + </Property> + <Property name="ComponentTitle" id="7672.ComponentTitle" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="CustomLabels" id="7672.CustomLabels"/> + <Property name="DrawAnnotations" id="7672.DrawAnnotations" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.DrawAnnotations.bool"/> + </Property> + <Property name="DrawNanAnnotation" id="7672.DrawNanAnnotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.DrawNanAnnotation.bool"/> + </Property> + <Property name="DrawTickLabels" id="7672.DrawTickLabels" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.DrawTickLabels.bool"/> + </Property> + <Property name="DrawTickMarks" id="7672.DrawTickMarks" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.DrawTickMarks.bool"/> + </Property> + <Property name="EstimatedNumberOfAnnotations" id="7672.EstimatedNumberOfAnnotations" number_of_elements="1"> + <Element index="0" value="0"/> + </Property> + <Property name="HorizontalTitle" id="7672.HorizontalTitle" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.HorizontalTitle.bool"/> + </Property> + <Property name="LabelBold" id="7672.LabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.LabelBold.bool"/> + </Property> + <Property name="LabelColor" id="7672.LabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7672.LabelColor.range"/> + </Property> + <Property name="LabelFontFamily" id="7672.LabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7672.LabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="LabelFontFile" id="7672.LabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="LabelFontSize" id="7672.LabelFontSize" number_of_elements="1"> + <Element index="0" value="16"/> + <Domain name="range" id="7672.LabelFontSize.range"/> + </Property> + <Property name="LabelFormat" id="7672.LabelFormat" number_of_elements="1"> + <Element index="0" value="%-#6.3g"/> + </Property> + <Property name="LabelItalic" id="7672.LabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.LabelItalic.bool"/> + </Property> + <Property name="LabelOpacity" id="7672.LabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7672.LabelOpacity.range"/> + </Property> + <Property name="LabelShadow" id="7672.LabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.LabelShadow.bool"/> + </Property> + <Property name="LookupTable" id="7672.LookupTable" number_of_elements="1"> + <Proxy value="7646"/> + <Domain name="groups" id="7672.LookupTable.groups"/> + </Property> + <Property name="NanAnnotation" id="7672.NanAnnotation" number_of_elements="1"> + <Element index="0" value="NaN"/> + </Property> + <Property name="Orientation" id="7672.Orientation" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7672.Orientation.enum"> + <Entry value="0" text="Horizontal"/> + <Entry value="1" text="Vertical"/> + </Domain> + </Property> + <Property name="OrientationInfo" id="7672.OrientationInfo" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="Position" id="7672.Position" number_of_elements="2"> + <Element index="0" value="0.89"/> + <Element index="1" value="0.02"/> + <Domain name="range" id="7672.Position.range"/> + </Property> + <Property name="PositionInfo" id="7672.PositionInfo" number_of_elements="2"> + <Element index="0" value="0.89"/> + <Element index="1" value="0.02"/> + </Property> + <Property name="RangeLabelFormat" id="7672.RangeLabelFormat" number_of_elements="1"> + <Element index="0" value="%-#6.1e"/> + </Property> + <Property name="Repositionable" id="7672.Repositionable" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.Repositionable.bool"/> + </Property> + <Property name="Resizable" id="7672.Resizable" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7672.Resizable.bool"/> + </Property> + <Property name="ReverseLegend" id="7672.ReverseLegend" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.ReverseLegend.bool"/> + </Property> + <Property name="ScalarBarLength" id="7672.ScalarBarLength" number_of_elements="1"> + <Element index="0" value="0.33"/> + </Property> + <Property name="ScalarBarThickness" id="7672.ScalarBarThickness" number_of_elements="1"> + <Element index="0" value="16"/> + </Property> + <Property name="Selectable" id="7672.Selectable" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.Selectable.bool"/> + </Property> + <Property name="TextPosition" id="7672.TextPosition" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7672.TextPosition.enum"> + <Entry value="1" text="Ticks right/top, annotations left/bottom"/> + <Entry value="0" text="Ticks left/bottom, annotations right/top"/> + </Domain> + </Property> + <Property name="Title" id="7672.Title" number_of_elements="1"> + <Element index="0" value="p"/> + </Property> + <Property name="TitleBold" id="7672.TitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.TitleBold.bool"/> + </Property> + <Property name="TitleColor" id="7672.TitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7672.TitleColor.range"/> + </Property> + <Property name="TitleFontFamily" id="7672.TitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7672.TitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="TitleFontFile" id="7672.TitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="TitleFontSize" id="7672.TitleFontSize" number_of_elements="1"> + <Element index="0" value="16"/> + <Domain name="range" id="7672.TitleFontSize.range"/> + </Property> + <Property name="TitleItalic" id="7672.TitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.TitleItalic.bool"/> + </Property> + <Property name="TitleJustification" id="7672.TitleJustification" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7672.TitleJustification.enum"> + <Entry value="0" text="Left"/> + <Entry value="1" text="Centered"/> + <Entry value="2" text="Right"/> + </Domain> + </Property> + <Property name="TitleOpacity" id="7672.TitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7672.TitleOpacity.range"/> + </Property> + <Property name="TitleShadow" id="7672.TitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.TitleShadow.bool"/> + </Property> + <Property name="UseCustomLabels" id="7672.UseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.UseCustomLabels.bool"/> + </Property> + <Property name="Visibility" id="7672.Visibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7672.Visibility.bool"/> + </Property> + <Property name="WindowLocation" id="7672.WindowLocation" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7672.WindowLocation.enum"> + <Entry value="0" text="Any Location"/> + <Entry value="1" text="Lower Left Corner"/> + <Entry value="2" text="Lower Right Corner"/> + <Entry value="3" text="Lower Center"/> + <Entry value="4" text="Upper Left Corner"/> + <Entry value="5" text="Upper Right Corner"/> + <Entry value="6" text="Upper Center"/> + </Domain> + </Property> + </Proxy> + <Proxy group="representations" type="ScalarBarWidgetRepresentation" id="7907" servers="21"> + <Property name="Enabled" id="7907.Enabled" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.Enabled.bool"/> + </Property> + <Property name="LockPosition" id="7907.LockPosition" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.LockPosition.bool"/> + </Property> + <Property name="StickyVisible" id="7907.StickyVisible"> + <Domain name="bool" id="7907.StickyVisible.bool"/> + </Property> + <Property name="UseNonCompositedRenderer" id="7907.UseNonCompositedRenderer" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="AddRangeAnnotations" id="7907.AddRangeAnnotations" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.AddRangeAnnotations.bool"/> + </Property> + <Property name="AddRangeLabels" id="7907.AddRangeLabels" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.AddRangeLabels.bool"/> + </Property> + <Property name="AutoOrient" id="7907.AutoOrient" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.AutoOrient.bool"/> + </Property> + <Property name="AutoOrientInfo" id="7907.AutoOrientInfo" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.AutoOrientInfo.bool"/> + </Property> + <Property name="AutomaticAnnotations" id="7907.AutomaticAnnotations" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.AutomaticAnnotations.bool"/> + </Property> + <Property name="AutomaticLabelFormat" id="7907.AutomaticLabelFormat" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.AutomaticLabelFormat.bool"/> + </Property> + <Property name="ComponentTitle" id="7907.ComponentTitle" number_of_elements="1"> + <Element index="0" value="Magnitude"/> + </Property> + <Property name="CustomLabels" id="7907.CustomLabels"/> + <Property name="DrawAnnotations" id="7907.DrawAnnotations" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.DrawAnnotations.bool"/> + </Property> + <Property name="DrawNanAnnotation" id="7907.DrawNanAnnotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.DrawNanAnnotation.bool"/> + </Property> + <Property name="DrawTickLabels" id="7907.DrawTickLabels" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.DrawTickLabels.bool"/> + </Property> + <Property name="DrawTickMarks" id="7907.DrawTickMarks" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.DrawTickMarks.bool"/> + </Property> + <Property name="EstimatedNumberOfAnnotations" id="7907.EstimatedNumberOfAnnotations" number_of_elements="1"> + <Element index="0" value="0"/> + </Property> + <Property name="HorizontalTitle" id="7907.HorizontalTitle" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.HorizontalTitle.bool"/> + </Property> + <Property name="LabelBold" id="7907.LabelBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.LabelBold.bool"/> + </Property> + <Property name="LabelColor" id="7907.LabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7907.LabelColor.range"/> + </Property> + <Property name="LabelFontFamily" id="7907.LabelFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7907.LabelFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="LabelFontFile" id="7907.LabelFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="LabelFontSize" id="7907.LabelFontSize" number_of_elements="1"> + <Element index="0" value="16"/> + <Domain name="range" id="7907.LabelFontSize.range"/> + </Property> + <Property name="LabelFormat" id="7907.LabelFormat" number_of_elements="1"> + <Element index="0" value="%-#6.3g"/> + </Property> + <Property name="LabelItalic" id="7907.LabelItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.LabelItalic.bool"/> + </Property> + <Property name="LabelOpacity" id="7907.LabelOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7907.LabelOpacity.range"/> + </Property> + <Property name="LabelShadow" id="7907.LabelShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.LabelShadow.bool"/> + </Property> + <Property name="LookupTable" id="7907.LookupTable" number_of_elements="1"> + <Proxy value="7900"/> + <Domain name="groups" id="7907.LookupTable.groups"/> + </Property> + <Property name="NanAnnotation" id="7907.NanAnnotation" number_of_elements="1"> + <Element index="0" value="NaN"/> + </Property> + <Property name="Orientation" id="7907.Orientation" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7907.Orientation.enum"> + <Entry value="0" text="Horizontal"/> + <Entry value="1" text="Vertical"/> + </Domain> + </Property> + <Property name="OrientationInfo" id="7907.OrientationInfo" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="Position" id="7907.Position" number_of_elements="2"> + <Element index="0" value="0.89"/> + <Element index="1" value="0.02"/> + <Domain name="range" id="7907.Position.range"/> + </Property> + <Property name="PositionInfo" id="7907.PositionInfo" number_of_elements="2"> + <Element index="0" value="0.89"/> + <Element index="1" value="0.02"/> + </Property> + <Property name="RangeLabelFormat" id="7907.RangeLabelFormat" number_of_elements="1"> + <Element index="0" value="%-#6.1e"/> + </Property> + <Property name="Repositionable" id="7907.Repositionable" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.Repositionable.bool"/> + </Property> + <Property name="Resizable" id="7907.Resizable" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.Resizable.bool"/> + </Property> + <Property name="ReverseLegend" id="7907.ReverseLegend" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.ReverseLegend.bool"/> + </Property> + <Property name="ScalarBarLength" id="7907.ScalarBarLength" number_of_elements="1"> + <Element index="0" value="0.33"/> + </Property> + <Property name="ScalarBarThickness" id="7907.ScalarBarThickness" number_of_elements="1"> + <Element index="0" value="16"/> + </Property> + <Property name="Selectable" id="7907.Selectable" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.Selectable.bool"/> + </Property> + <Property name="TextPosition" id="7907.TextPosition" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7907.TextPosition.enum"> + <Entry value="1" text="Ticks right/top, annotations left/bottom"/> + <Entry value="0" text="Ticks left/bottom, annotations right/top"/> + </Domain> + </Property> + <Property name="Title" id="7907.Title" number_of_elements="1"> + <Element index="0" value="U"/> + </Property> + <Property name="TitleBold" id="7907.TitleBold" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.TitleBold.bool"/> + </Property> + <Property name="TitleColor" id="7907.TitleColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="7907.TitleColor.range"/> + </Property> + <Property name="TitleFontFamily" id="7907.TitleFontFamily" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7907.TitleFontFamily.enum"> + <Entry value="0" text="Arial"/> + <Entry value="1" text="Courier"/> + <Entry value="2" text="Times"/> + <Entry value="4" text="File"/> + </Domain> + </Property> + <Property name="TitleFontFile" id="7907.TitleFontFile" number_of_elements="1"> + <Element index="0" value=""/> + </Property> + <Property name="TitleFontSize" id="7907.TitleFontSize" number_of_elements="1"> + <Element index="0" value="16"/> + <Domain name="range" id="7907.TitleFontSize.range"/> + </Property> + <Property name="TitleItalic" id="7907.TitleItalic" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.TitleItalic.bool"/> + </Property> + <Property name="TitleJustification" id="7907.TitleJustification" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7907.TitleJustification.enum"> + <Entry value="0" text="Left"/> + <Entry value="1" text="Centered"/> + <Entry value="2" text="Right"/> + </Domain> + </Property> + <Property name="TitleOpacity" id="7907.TitleOpacity" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="7907.TitleOpacity.range"/> + </Property> + <Property name="TitleShadow" id="7907.TitleShadow" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.TitleShadow.bool"/> + </Property> + <Property name="UseCustomLabels" id="7907.UseCustomLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7907.UseCustomLabels.bool"/> + </Property> + <Property name="Visibility" id="7907.Visibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7907.Visibility.bool"/> + </Property> + <Property name="WindowLocation" id="7907.WindowLocation" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7907.WindowLocation.enum"> + <Entry value="0" text="Any Location"/> + <Entry value="1" text="Lower Left Corner"/> + <Entry value="2" text="Lower Right Corner"/> + <Entry value="3" text="Lower Center"/> + <Entry value="4" text="Upper Left Corner"/> + <Entry value="5" text="Upper Right Corner"/> + <Entry value="6" text="Upper Center"/> + </Domain> + </Property> + </Proxy> + <Proxy group="settings" type="ColorPalette" id="265" servers="21"> + <Property name="BackgroundColor" id="265.BackgroundColor" number_of_elements="3"> + <Element index="0" value="0.32"/> + <Element index="1" value="0.34"/> + <Element index="2" value="0.43"/> + <Domain name="range" id="265.BackgroundColor.range"/> + </Property> + <Property name="BackgroundColor2" id="265.BackgroundColor2" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.16"/> + <Domain name="range" id="265.BackgroundColor2.range"/> + </Property> + <Property name="BackgroundColorMode" id="265.BackgroundColorMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="265.BackgroundColorMode.enum"> + <Entry value="0" text="Single Color"/> + <Entry value="1" text="Gradient"/> + </Domain> + </Property> + <Property name="BorderColor" id="265.BorderColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="1"/> + <Domain name="range" id="265.BorderColor.range"/> + </Property> + <Property name="EdgeColor" id="265.EdgeColor" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.5"/> + <Domain name="range" id="265.EdgeColor.range"/> + </Property> + <Property name="ForegroundColor" id="265.ForegroundColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="265.ForegroundColor.range"/> + </Property> + <Property name="InteractiveSelectionColor" id="265.InteractiveSelectionColor" number_of_elements="3"> + <Element index="0" value="0.5"/> + <Element index="1" value="0"/> + <Element index="2" value="1"/> + <Domain name="range" id="265.InteractiveSelectionColor.range"/> + </Property> + <Property name="InteractiveWidgetColor" id="265.InteractiveWidgetColor" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + <Domain name="range" id="265.InteractiveWidgetColor.range"/> + </Property> + <Property name="LoadPalette" id="265.LoadPalette"/> + <Property name="SelectionColor" id="265.SelectionColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="1"/> + <Domain name="range" id="265.SelectionColor.range"/> + </Property> + <Property name="SurfaceColor" id="265.SurfaceColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="265.SurfaceColor.range"/> + </Property> + <Property name="TextAnnotationColor" id="265.TextAnnotationColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + <Domain name="range" id="265.TextAnnotationColor.range"/> + </Property> + </Proxy> + <Proxy group="filters" type="AngularPeriodicFilter" id="7673" servers="1"> + <Property name="Axis" id="7673.Axis" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="7673.Axis.enum"> + <Entry value="0" text="Axis X"/> + <Entry value="1" text="Axis Y"/> + <Entry value="2" text="Axis Z"/> + </Domain> + </Property> + <Property name="BlockIndices" id="7673.BlockIndices" number_of_elements="9"> + <Element index="0" value="2"/> + <Element index="1" value="3"/> + <Element index="2" value="4"/> + <Element index="3" value="5"/> + <Element index="4" value="6"/> + <Element index="5" value="7"/> + <Element index="6" value="8"/> + <Element index="7" value="9"/> + <Element index="8" value="10"/> + <Domain name="tree" id="7673.BlockIndices.tree"/> + </Property> + <Property name="Center" id="7673.Center" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + <Domain name="range" id="7673.Center.range"/> + </Property> + <Property name="ComputeRotationsOnTheFly" id="7673.ComputeRotationsOnTheFly" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7673.ComputeRotationsOnTheFly.bool"/> + </Property> + <Property name="Input" id="7673.Input" number_of_elements="1"> + <Proxy value="7352" output_port="0"/> + <Domain name="groups" id="7673.Input.groups"/> + <Domain name="input_type" id="7673.Input.input_type"/> + </Property> + <Property name="IterationMode" id="7673.IterationMode" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7673.IterationMode.enum"> + <Entry value="0" text="Manual"/> + <Entry value="1" text="Maximum"/> + </Domain> + </Property> + <Property name="NumberOfPeriods" id="7673.NumberOfPeriods" number_of_elements="1"> + <Element index="0" value="3"/> + </Property> + <Property name="RotationAngle" id="7673.RotationAngle" number_of_elements="1"> + <Element index="0" value="72"/> + </Property> + <Property name="RotationArrayName" id="7673.RotationArrayName" number_of_elements="1"> + <Element index="0" value="periodic angle"/> + </Property> + <Property name="RotationMode" id="7673.RotationMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7673.RotationMode.enum"> + <Entry value="0" text="Direct Angle"/> + <Entry value="1" text="Array Value"/> + </Domain> + </Property> + </Proxy> + <Proxy group="sources" type="OpenFOAMReader" id="7352" servers="1"> + <Property name="AddDimensionsToArrayNames" id="7352.AddDimensionsToArrayNames" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7352.AddDimensionsToArrayNames.bool"/> + </Property> + <Property name="CacheMesh" id="7352.CacheMesh" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7352.CacheMesh.bool"/> + </Property> + <Property name="CaseType" id="7352.CaseType" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7352.CaseType.enum"> + <Entry value="0" text="Decomposed Case"/> + <Entry value="1" text="Reconstructed Case"/> + </Domain> + </Property> + <Property name="CellArrayInfo" id="7352.CellArrayInfo" number_of_elements="10"> + <Element index="0" value="U"/> + <Element index="1" value="1"/> + <Element index="2" value="epsilon"/> + <Element index="3" value="1"/> + <Element index="4" value="k"/> + <Element index="5" value="1"/> + <Element index="6" value="nut"/> + <Element index="7" value="1"/> + <Element index="8" value="p"/> + <Element index="9" value="1"/> + </Property> + <Property name="CellArrays" id="7352.CellArrays" number_of_elements="10"> + <Element index="0" value="U"/> + <Element index="1" value="1"/> + <Element index="2" value="epsilon"/> + <Element index="3" value="1"/> + <Element index="4" value="k"/> + <Element index="5" value="1"/> + <Element index="6" value="nut"/> + <Element index="7" value="1"/> + <Element index="8" value="p"/> + <Element index="9" value="1"/> + <Domain name="array_list" id="7352.CellArrays.array_list"> + <String text="U"/> + <String text="epsilon"/> + <String text="k"/> + <String text="nut"/> + <String text="p"/> + </Domain> + </Property> + <Property name="CopyDataToCellZones" id="7352.CopyDataToCellZones" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7352.CopyDataToCellZones.bool"/> + </Property> + <Property name="CreateCellToPoint" id="7352.CreateCellToPoint" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7352.CreateCellToPoint.bool"/> + </Property> + <Property name="DecomposePolyhedra" id="7352.DecomposePolyhedra" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7352.DecomposePolyhedra.bool"/> + </Property> + <Property name="FileName" id="7352.FileName" number_of_elements="1"> + <Element index="0" value="axialTurbine_rotating_oneBlade.foam"/> + <Domain name="files" id="7352.FileName.files"/> + </Property> + <Property name="LagrangianArrayInfo" id="7352.LagrangianArrayInfo"/> + <Property name="LagrangianArrays" id="7352.LagrangianArrays"> + <Domain name="array_list" id="7352.LagrangianArrays.array_list"/> + </Property> + <Property name="ListTimeStepsByControlDict" id="7352.ListTimeStepsByControlDict" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7352.ListTimeStepsByControlDict.bool"/> + </Property> + <Property name="MeshRegions" id="7352.MeshRegions" number_of_elements="58"> + <Element index="0" value="group/blades"/> + <Element index="1" value="1"/> + <Element index="2" value="group/cyclicAMI"/> + <Element index="3" value="0"/> + <Element index="4" value="group/downstreamRSIs"/> + <Element index="5" value="1"/> + <Element index="6" value="group/hub"/> + <Element index="7" value="1"/> + <Element index="8" value="group/inlet"/> + <Element index="9" value="1"/> + <Element index="10" value="group/outlet"/> + <Element index="11" value="1"/> + <Element index="12" value="group/shroud"/> + <Element index="13" value="0"/> + <Element index="14" value="group/upstreamRSIs"/> + <Element index="15" value="0"/> + <Element index="16" value="internalMesh"/> + <Element index="17" value="0"/> + <Element index="18" value="patch/DTCYCLIC1"/> + <Element index="19" value="0"/> + <Element index="20" value="patch/DTCYCLIC2"/> + <Element index="21" value="0"/> + <Element index="22" value="patch/DTHUB"/> + <Element index="23" value="0"/> + <Element index="24" value="patch/DTINLET"/> + <Element index="25" value="0"/> + <Element index="26" value="patch/DTOUTLET"/> + <Element index="27" value="0"/> + <Element index="28" value="patch/DTSHROUD"/> + <Element index="29" value="0"/> + <Element index="30" value="patch/GVBLADE"/> + <Element index="31" value="0"/> + <Element index="32" value="patch/GVCYCLIC1"/> + <Element index="33" value="0"/> + <Element index="34" value="patch/GVCYCLIC2"/> + <Element index="35" value="0"/> + <Element index="36" value="patch/GVHUB"/> + <Element index="37" value="0"/> + <Element index="38" value="patch/GVINLET"/> + <Element index="39" value="0"/> + <Element index="40" value="patch/GVOUTLET"/> + <Element index="41" value="0"/> + <Element index="42" value="patch/GVSHROUD"/> + <Element index="43" value="0"/> + <Element index="44" value="patch/RUBLADE"/> + <Element index="45" value="0"/> + <Element index="46" value="patch/RUCYCLIC1"/> + <Element index="47" value="0"/> + <Element index="48" value="patch/RUCYCLIC2"/> + <Element index="49" value="0"/> + <Element index="50" value="patch/RUHUB"/> + <Element index="51" value="0"/> + <Element index="52" value="patch/RUINLET"/> + <Element index="53" value="0"/> + <Element index="54" value="patch/RUOUTLET"/> + <Element index="55" value="0"/> + <Element index="56" value="patch/RUSHROUD"/> + <Element index="57" value="0"/> + <Domain name="array_list" id="7352.MeshRegions.array_list"> + <String text="internalMesh"/> + <String text="group/blades"/> + <String text="group/cyclicAMI"/> + <String text="group/downstreamRSIs"/> + <String text="group/hub"/> + <String text="group/inlet"/> + <String text="group/outlet"/> + <String text="group/shroud"/> + <String text="group/upstreamRSIs"/> + <String text="patch/GVINLET"/> + <String text="patch/GVOUTLET"/> + <String text="patch/GVCYCLIC1"/> + <String text="patch/GVCYCLIC2"/> + <String text="patch/GVBLADE"/> + <String text="patch/GVHUB"/> + <String text="patch/GVSHROUD"/> + <String text="patch/RUINLET"/> + <String text="patch/RUOUTLET"/> + <String text="patch/RUCYCLIC1"/> + <String text="patch/RUCYCLIC2"/> + <String text="patch/RUBLADE"/> + <String text="patch/RUHUB"/> + <String text="patch/RUSHROUD"/> + <String text="patch/DTINLET"/> + <String text="patch/DTOUTLET"/> + <String text="patch/DTCYCLIC1"/> + <String text="patch/DTCYCLIC2"/> + <String text="patch/DTHUB"/> + <String text="patch/DTSHROUD"/> + </Domain> + </Property> + <Property name="PatchArrayInfo" id="7352.PatchArrayInfo" number_of_elements="58"> + <Element index="0" value="internalMesh"/> + <Element index="1" value="0"/> + <Element index="2" value="group/blades"/> + <Element index="3" value="1"/> + <Element index="4" value="group/cyclicAMI"/> + <Element index="5" value="0"/> + <Element index="6" value="group/downstreamRSIs"/> + <Element index="7" value="1"/> + <Element index="8" value="group/hub"/> + <Element index="9" value="1"/> + <Element index="10" value="group/inlet"/> + <Element index="11" value="1"/> + <Element index="12" value="group/outlet"/> + <Element index="13" value="1"/> + <Element index="14" value="group/shroud"/> + <Element index="15" value="0"/> + <Element index="16" value="group/upstreamRSIs"/> + <Element index="17" value="0"/> + <Element index="18" value="patch/GVINLET"/> + <Element index="19" value="0"/> + <Element index="20" value="patch/GVOUTLET"/> + <Element index="21" value="0"/> + <Element index="22" value="patch/GVCYCLIC1"/> + <Element index="23" value="0"/> + <Element index="24" value="patch/GVCYCLIC2"/> + <Element index="25" value="0"/> + <Element index="26" value="patch/GVBLADE"/> + <Element index="27" value="0"/> + <Element index="28" value="patch/GVHUB"/> + <Element index="29" value="0"/> + <Element index="30" value="patch/GVSHROUD"/> + <Element index="31" value="0"/> + <Element index="32" value="patch/RUINLET"/> + <Element index="33" value="0"/> + <Element index="34" value="patch/RUOUTLET"/> + <Element index="35" value="0"/> + <Element index="36" value="patch/RUCYCLIC1"/> + <Element index="37" value="0"/> + <Element index="38" value="patch/RUCYCLIC2"/> + <Element index="39" value="0"/> + <Element index="40" value="patch/RUBLADE"/> + <Element index="41" value="0"/> + <Element index="42" value="patch/RUHUB"/> + <Element index="43" value="0"/> + <Element index="44" value="patch/RUSHROUD"/> + <Element index="45" value="0"/> + <Element index="46" value="patch/DTINLET"/> + <Element index="47" value="0"/> + <Element index="48" value="patch/DTOUTLET"/> + <Element index="49" value="0"/> + <Element index="50" value="patch/DTCYCLIC1"/> + <Element index="51" value="0"/> + <Element index="52" value="patch/DTCYCLIC2"/> + <Element index="53" value="0"/> + <Element index="54" value="patch/DTHUB"/> + <Element index="55" value="0"/> + <Element index="56" value="patch/DTSHROUD"/> + <Element index="57" value="0"/> + </Property> + <Property name="PointArrayInfo" id="7352.PointArrayInfo"/> + <Property name="PointArrays" id="7352.PointArrays"> + <Domain name="array_list" id="7352.PointArrays.array_list"/> + </Property> + <Property name="PositionsIsIn13Format" id="7352.PositionsIsIn13Format" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7352.PositionsIsIn13Format.bool"/> + </Property> + <Property name="ReadZones" id="7352.ReadZones" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="7352.ReadZones.bool"/> + </Property> + <Property name="Refresh" id="7352.Refresh"/> + <Property name="SkipZeroTime" id="7352.SkipZeroTime" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="7352.SkipZeroTime.bool"/> + </Property> + <Property name="TimestepValues" id="7352.TimestepValues" number_of_elements="35"> + <Element index="0" value="0.0175"/> + <Element index="1" value="0.035"/> + <Element index="2" value="0.0525"/> + <Element index="3" value="0.07"/> + <Element index="4" value="0.0875"/> + <Element index="5" value="0.105"/> + <Element index="6" value="0.1225"/> + <Element index="7" value="0.14"/> + <Element index="8" value="0.1575"/> + <Element index="9" value="0.175"/> + <Element index="10" value="0.1925"/> + <Element index="11" value="0.21"/> + <Element index="12" value="0.2275"/> + <Element index="13" value="0.245"/> + <Element index="14" value="0.2625"/> + <Element index="15" value="0.28"/> + <Element index="16" value="0.2975"/> + <Element index="17" value="0.315"/> + <Element index="18" value="0.3325"/> + <Element index="19" value="0.35"/> + <Element index="20" value="0.3675"/> + <Element index="21" value="0.385"/> + <Element index="22" value="0.4025"/> + <Element index="23" value="0.42"/> + <Element index="24" value="0.4375"/> + <Element index="25" value="0.455"/> + <Element index="26" value="0.4725"/> + <Element index="27" value="0.49"/> + <Element index="28" value="0.5075"/> + <Element index="29" value="0.525"/> + <Element index="30" value="0.5425"/> + <Element index="31" value="0.56"/> + <Element index="32" value="0.5775"/> + <Element index="33" value="0.595"/> + <Element index="34" value="0.6125"/> + </Property> + <Property name="Use64BitFloats" id="7352.Use64BitFloats" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="7352.Use64BitFloats.enum"> + <Entry value="0" text="32-bit (SP)"/> + <Entry value="1" text="64-bit (DP)"/> + </Domain> + </Property> + <Property name="Use64BitLabels" id="7352.Use64BitLabels" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="7352.Use64BitLabels.enum"> + <Entry value="0" text="32-bit"/> + <Entry value="1" text="64-bit"/> + </Domain> + </Property> + </Proxy> + <Proxy group="misc" type="TimeKeeper" id="256" servers="16"> + <Property name="SuppressedTimeSources" id="256.SuppressedTimeSources"/> + <Property name="Time" id="256.Time" number_of_elements="1"> + <Element index="0" value="0.0175"/> + <Domain name="range" id="256.Time.range"/> + </Property> + <Property name="TimeLabel" id="256.TimeLabel" number_of_elements="1"> + <Element index="0" value="Time"/> + </Property> + <Property name="TimeRange" id="256.TimeRange" number_of_elements="2"> + <Element index="0" value="0.0175"/> + <Element index="1" value="0.6125"/> + </Property> + <Property name="TimeSources" id="256.TimeSources" number_of_elements="2"> + <Proxy value="7352"/> + <Proxy value="7673"/> + </Property> + <Property name="TimestepValues" id="256.TimestepValues" number_of_elements="35"> + <Element index="0" value="0.0175"/> + <Element index="1" value="0.035"/> + <Element index="2" value="0.0525"/> + <Element index="3" value="0.07"/> + <Element index="4" value="0.0875"/> + <Element index="5" value="0.105"/> + <Element index="6" value="0.1225"/> + <Element index="7" value="0.14"/> + <Element index="8" value="0.1575"/> + <Element index="9" value="0.175"/> + <Element index="10" value="0.1925"/> + <Element index="11" value="0.21"/> + <Element index="12" value="0.2275"/> + <Element index="13" value="0.245"/> + <Element index="14" value="0.2625"/> + <Element index="15" value="0.28"/> + <Element index="16" value="0.2975"/> + <Element index="17" value="0.315"/> + <Element index="18" value="0.3325"/> + <Element index="19" value="0.35"/> + <Element index="20" value="0.3675"/> + <Element index="21" value="0.385"/> + <Element index="22" value="0.4025"/> + <Element index="23" value="0.42"/> + <Element index="24" value="0.4375"/> + <Element index="25" value="0.455"/> + <Element index="26" value="0.4725"/> + <Element index="27" value="0.49"/> + <Element index="28" value="0.5075"/> + <Element index="29" value="0.525"/> + <Element index="30" value="0.5425"/> + <Element index="31" value="0.56"/> + <Element index="32" value="0.5775"/> + <Element index="33" value="0.595"/> + <Element index="34" value="0.6125"/> + </Property> + <Property name="Views" id="256.Views" number_of_elements="1"> + <Proxy value="4875"/> + </Property> + </Proxy> + <Proxy group="views" type="RenderView" id="4875" servers="21"> + <Property name="AdditionalLights" id="4875.AdditionalLights"/> + <Property name="AlphaBitPlanes" id="4875.AlphaBitPlanes" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.AlphaBitPlanes.bool"/> + </Property> + <Property name="AmbientSamples" id="4875.AmbientSamples" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="4875.AmbientSamples.range"/> + </Property> + <Property name="AnnotationColor" id="4875.AnnotationColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + </Property> + <Property name="AxesGrid" id="4875.AxesGrid" number_of_elements="1"> + <Proxy value="4872"/> + <Domain name="proxy_list" id="4875.AxesGrid.proxy_list"> + <Proxy value="4872"/> + </Domain> + </Property> + <Property name="BackLightAzimuth" id="4875.BackLightAzimuth" number_of_elements="1"> + <Element index="0" value="110"/> + <Domain name="range" id="4875.BackLightAzimuth.range"/> + </Property> + <Property name="BackLightElevation" id="4875.BackLightElevation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="4875.BackLightElevation.range"/> + </Property> + <Property name="BackLightK:B Ratio" id="4875.BackLightK:B Ratio" number_of_elements="1"> + <Element index="0" value="3.5"/> + <Domain name="range" id="4875.BackLightK:B Ratio.range"/> + </Property> + <Property name="BackLightWarmth" id="4875.BackLightWarmth" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="4875.BackLightWarmth.range"/> + </Property> + <Property name="Background" id="4875.Background" number_of_elements="3"> + <Element index="0" value="0.329"/> + <Element index="1" value="0.349"/> + <Element index="2" value="0.427"/> + <Domain name="range" id="4875.Background.range"/> + </Property> + <Property name="Background2" id="4875.Background2" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.165"/> + <Domain name="range" id="4875.Background2.range"/> + </Property> + <Property name="BackgroundColorMode" id="4875.BackgroundColorMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4875.BackgroundColorMode.enum"> + <Entry value="0" text="Single Color"/> + <Entry value="1" text="Gradient"/> + <Entry value="2" text="Texture"/> + <Entry value="3" text="Skybox"/> + <Entry value="4" text="Stereo Skybox"/> + </Domain> + </Property> + <Property name="BackgroundEast" id="4875.BackgroundEast" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="0"/> + <Element index="2" value="0"/> + </Property> + <Property name="BackgroundMode" id="4875.BackgroundMode" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="enum" id="4875.BackgroundMode.enum"> + <Entry value="1" text="Backplate"/> + <Entry value="2" text="Environment"/> + <Entry value="3" text="Both"/> + </Domain> + </Property> + <Property name="BackgroundNorth" id="4875.BackgroundNorth" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="1"/> + <Element index="2" value="0"/> + </Property> + <Property name="BackgroundTexture" id="4875.BackgroundTexture"> + <Domain name="groups" id="4875.BackgroundTexture.groups"/> + </Property> + <Property name="Bias" id="4875.Bias" number_of_elements="1"> + <Element index="0" value="0.01"/> + </Property> + <Property name="Blur" id="4875.Blur" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.Blur.bool"/> + </Property> + <Property name="CacheKey" id="4875.CacheKey" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="4875.CacheKey.range"/> + </Property> + <Property name="Camera2DManipulators" id="4875.Camera2DManipulators" number_of_elements="9"> + <Element index="0" value="1"/> + <Element index="1" value="3"/> + <Element index="2" value="2"/> + <Element index="3" value="2"/> + <Element index="4" value="2"/> + <Element index="5" value="6"/> + <Element index="6" value="3"/> + <Element index="7" value="1"/> + <Element index="8" value="4"/> + <Domain name="enum" id="4875.Camera2DManipulators.enum"> + <Entry value="0" text="None"/> + <Entry value="1" text="Pan"/> + <Entry value="2" text="Zoom"/> + <Entry value="3" text="Roll"/> + <Entry value="4" text="Rotate"/> + <Entry value="6" text="ZoomToMouse"/> + </Domain> + </Property> + <Property name="Camera2DMouseWheelMotionFactor" id="4875.Camera2DMouseWheelMotionFactor" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4875.Camera2DMouseWheelMotionFactor.range"/> + </Property> + <Property name="Camera3DManipulators" id="4875.Camera3DManipulators" number_of_elements="9"> + <Element index="0" value="4"/> + <Element index="1" value="1"/> + <Element index="2" value="2"/> + <Element index="3" value="3"/> + <Element index="4" value="4"/> + <Element index="5" value="1"/> + <Element index="6" value="7"/> + <Element index="7" value="4"/> + <Element index="8" value="6"/> + <Domain name="enum" id="4875.Camera3DManipulators.enum"> + <Entry value="0" text="None"/> + <Entry value="1" text="Pan"/> + <Entry value="2" text="Zoom"/> + <Entry value="3" text="Roll"/> + <Entry value="4" text="Rotate"/> + <Entry value="5" text="Multi-Rotate"/> + <Entry value="6" text="ZoomToMouse"/> + <Entry value="7" text="SkyboxRotate"/> + </Domain> + </Property> + <Property name="Camera3DMouseWheelMotionFactor" id="4875.Camera3DMouseWheelMotionFactor" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4875.Camera3DMouseWheelMotionFactor.range"/> + </Property> + <Property name="CameraParallelProjection" id="4875.CameraParallelProjection" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.CameraParallelProjection.bool"/> + </Property> + <Property name="CaptureZBuffer" id="4875.CaptureZBuffer"/> + <Property name="CenterAxesVisibility" id="4875.CenterAxesVisibility" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.CenterAxesVisibility.bool"/> + </Property> + <Property name="CenterOfRotation" id="4875.CenterOfRotation" number_of_elements="3"> + <Element index="0" value="0.05033737974008545"/> + <Element index="1" value="-0.004754099994897842"/> + <Element index="2" value="0.07499999552965164"/> + </Property> + <Property name="CollectGeometryThreshold" id="4875.CollectGeometryThreshold" number_of_elements="1"> + <Element index="0" value="100"/> + </Property> + <Property name="CompressorConfig" id="4875.CompressorConfig" number_of_elements="1"> + <Element index="0" value="vtkLZ4Compressor 0 3"/> + </Property> + <Property name="Contrast" id="4875.Contrast" number_of_elements="1"> + <Element index="0" value="1.6773"/> + </Property> + <Property name="Denoise" id="4875.Denoise" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.Denoise.bool"/> + </Property> + <Property name="DepthPeeling" id="4875.DepthPeeling" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.DepthPeeling.bool"/> + </Property> + <Property name="DepthPeelingForVolumes" id="4875.DepthPeelingForVolumes" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.DepthPeelingForVolumes.bool"/> + </Property> + <Property name="EnableOSPRay" id="4875.EnableOSPRay" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.EnableOSPRay.bool"/> + </Property> + <Property name="EnableRenderOnInteraction" id="4875.EnableRenderOnInteraction" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.EnableRenderOnInteraction.bool"/> + </Property> + <Property name="EnvironmentalBG" id="4875.EnvironmentalBG" number_of_elements="3"> + <Element index="0" value="0.329"/> + <Element index="1" value="0.349"/> + <Element index="2" value="0.427"/> + <Domain name="range" id="4875.EnvironmentalBG.range"/> + </Property> + <Property name="EnvironmentalBG2" id="4875.EnvironmentalBG2" number_of_elements="3"> + <Element index="0" value="0"/> + <Element index="1" value="0"/> + <Element index="2" value="0.165"/> + <Domain name="range" id="4875.EnvironmentalBG2.range"/> + </Property> + <Property name="EnvironmentalBGTexture" id="4875.EnvironmentalBGTexture"> + <Domain name="groups" id="4875.EnvironmentalBGTexture.groups"/> + </Property> + <Property name="Exposure" id="4875.Exposure" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4875.Exposure.range"/> + </Property> + <Property name="FXAAEndpointSearchIterations" id="4875.FXAAEndpointSearchIterations" number_of_elements="1"> + <Element index="0" value="12"/> + </Property> + <Property name="FXAAHardContrastThreshold" id="4875.FXAAHardContrastThreshold" number_of_elements="1"> + <Element index="0" value="0.045"/> + </Property> + <Property name="FXAARelativeContrastThreshold" id="4875.FXAARelativeContrastThreshold" number_of_elements="1"> + <Element index="0" value="0.125"/> + </Property> + <Property name="FXAASubpixelBlendLimit" id="4875.FXAASubpixelBlendLimit" number_of_elements="1"> + <Element index="0" value="0.75"/> + </Property> + <Property name="FXAASubpixelContrastThreshold" id="4875.FXAASubpixelContrastThreshold" number_of_elements="1"> + <Element index="0" value="0.25"/> + </Property> + <Property name="FXAAUseHighQualityEndpoints" id="4875.FXAAUseHighQualityEndpoints" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.FXAAUseHighQualityEndpoints.bool"/> + </Property> + <Property name="FillLightAzimuth" id="4875.FillLightAzimuth" number_of_elements="1"> + <Element index="0" value="-10"/> + <Domain name="range" id="4875.FillLightAzimuth.range"/> + </Property> + <Property name="FillLightElevation" id="4875.FillLightElevation" number_of_elements="1"> + <Element index="0" value="-75"/> + <Domain name="range" id="4875.FillLightElevation.range"/> + </Property> + <Property name="FillLightK:F Ratio" id="4875.FillLightK:F Ratio" number_of_elements="1"> + <Element index="0" value="3"/> + <Domain name="range" id="4875.FillLightK:F Ratio.range"/> + </Property> + <Property name="FillLightWarmth" id="4875.FillLightWarmth" number_of_elements="1"> + <Element index="0" value="0.4"/> + <Domain name="range" id="4875.FillLightWarmth.range"/> + </Property> + <Property name="GenericFilmicPresets" id="4875.GenericFilmicPresets" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="HdrMax" id="4875.HdrMax" number_of_elements="1"> + <Element index="0" value="11.0785"/> + </Property> + <Property name="HeadLightK:H Ratio" id="4875.HeadLightK:H Ratio" number_of_elements="1"> + <Element index="0" value="3"/> + <Domain name="range" id="4875.HeadLightK:H Ratio.range"/> + </Property> + <Property name="HeadLightWarmth" id="4875.HeadLightWarmth" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="4875.HeadLightWarmth.range"/> + </Property> + <Property name="HiddenLineRemoval" id="4875.HiddenLineRemoval" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.HiddenLineRemoval.bool"/> + </Property> + <Property name="ImageReductionFactor" id="4875.ImageReductionFactor" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="4875.ImageReductionFactor.range"/> + </Property> + <Property name="InteractionMode" id="4875.InteractionMode" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4875.InteractionMode.enum"> + <Entry value="0" text="3D"/> + <Entry value="1" text="2D"/> + <Entry value="2" text="Selection"/> + </Domain> + </Property> + <Property name="KernelSize" id="4875.KernelSize" number_of_elements="1"> + <Element index="0" value="32"/> + </Property> + <Property name="KeyLightAzimuth" id="4875.KeyLightAzimuth" number_of_elements="1"> + <Element index="0" value="10"/> + <Domain name="range" id="4875.KeyLightAzimuth.range"/> + </Property> + <Property name="KeyLightElevation" id="4875.KeyLightElevation" number_of_elements="1"> + <Element index="0" value="50"/> + <Domain name="range" id="4875.KeyLightElevation.range"/> + </Property> + <Property name="KeyLightIntensity" id="4875.KeyLightIntensity" number_of_elements="1"> + <Element index="0" value="0.75"/> + <Domain name="range" id="4875.KeyLightIntensity.range"/> + </Property> + <Property name="KeyLightWarmth" id="4875.KeyLightWarmth" number_of_elements="1"> + <Element index="0" value="0.6"/> + <Domain name="range" id="4875.KeyLightWarmth.range"/> + </Property> + <Property name="LODResolution" id="4875.LODResolution" number_of_elements="1"> + <Element index="0" value="0.5"/> + <Domain name="range" id="4875.LODResolution.range"/> + </Property> + <Property name="LODThreshold" id="4875.LODThreshold" number_of_elements="1"> + <Element index="0" value="20"/> + <Domain name="range" id="4875.LODThreshold.range"/> + </Property> + <Property name="LightScale" id="4875.LightScale" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4875.LightScale.range"/> + </Property> + <Property name="LockBounds" id="4875.LockBounds" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.LockBounds.bool"/> + </Property> + <Property name="MaintainLuminance" id="4875.MaintainLuminance" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.MaintainLuminance.bool"/> + </Property> + <Property name="MaxClipBounds" id="4875.MaxClipBounds" number_of_elements="6"> + <Element index="0" value="0"/> + <Element index="1" value="-1"/> + <Element index="2" value="0"/> + <Element index="3" value="-1"/> + <Element index="4" value="0"/> + <Element index="5" value="-1"/> + <Domain name="range" id="4875.MaxClipBounds.range"/> + </Property> + <Property name="MaxFrames" id="4875.MaxFrames" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4875.MaxFrames.range"/> + </Property> + <Property name="MaximumNumberOfPeels" id="4875.MaximumNumberOfPeels" number_of_elements="1"> + <Element index="0" value="4"/> + <Domain name="range" id="4875.MaximumNumberOfPeels.range"/> + </Property> + <Property name="MidIn" id="4875.MidIn" number_of_elements="1"> + <Element index="0" value="0.18"/> + </Property> + <Property name="MidOut" id="4875.MidOut" number_of_elements="1"> + <Element index="0" value="0.18"/> + </Property> + <Property name="MultiSamples" id="4875.MultiSamples" number_of_elements="1"> + <Element index="0" value="0"/> + </Property> + <Property name="NonInteractiveRenderDelay" id="4875.NonInteractiveRenderDelay" number_of_elements="1"> + <Element index="0" value="0"/> + </Property> + <Property name="OSPRayMaterialLibrary" id="4875.OSPRayMaterialLibrary"/> + <Property name="OSPRayRendererType" id="4875.OSPRayRendererType" number_of_elements="1"> + <Element index="0" value="scivis"/> + <Domain name="list" id="4875.OSPRayRendererType.list"/> + </Property> + <Property name="OSPRayTemporalCacheSize" id="4875.OSPRayTemporalCacheSize" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="4875.OSPRayTemporalCacheSize.range"/> + </Property> + <Property name="OrientationAxesInteractivity" id="4875.OrientationAxesInteractivity" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.OrientationAxesInteractivity.bool"/> + </Property> + <Property name="OrientationAxesLabelColor" id="4875.OrientationAxesLabelColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + </Property> + <Property name="OrientationAxesOutlineColor" id="4875.OrientationAxesOutlineColor" number_of_elements="3"> + <Element index="0" value="1"/> + <Element index="1" value="1"/> + <Element index="2" value="1"/> + </Property> + <Property name="OrientationAxesVisibility" id="4875.OrientationAxesVisibility" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.OrientationAxesVisibility.bool"/> + </Property> + <Property name="PPI" id="4875.PPI" number_of_elements="1"> + <Element index="0" value="72"/> + </Property> + <Property name="Radius" id="4875.Radius" number_of_elements="1"> + <Element index="0" value="0.5"/> + </Property> + <Property name="RemoteRenderThreshold" id="4875.RemoteRenderThreshold" number_of_elements="1"> + <Element index="0" value="20"/> + <Domain name="range" id="4875.RemoteRenderThreshold.range"/> + </Property> + <Property name="Representations" id="4875.Representations" number_of_elements="4"> + <Proxy value="7634"/> + <Proxy value="7672"/> + <Proxy value="7887"/> + <Proxy value="7907"/> + </Property> + <Property name="RotationFactor" id="4875.RotationFactor" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="RouletteDepth" id="4875.RouletteDepth" number_of_elements="1"> + <Element index="0" value="5"/> + <Domain name="range" id="4875.RouletteDepth.range"/> + </Property> + <Property name="SamplesPerPixel" id="4875.SamplesPerPixel" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4875.SamplesPerPixel.range"/> + </Property> + <Property name="ServerStereoType" id="4875.ServerStereoType" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="enum" id="4875.ServerStereoType.enum"> + <Entry value="0" text="Same As Client"/> + <Entry value="1" text="Crystal Eyes"/> + <Entry value="2" text="Red-Blue"/> + <Entry value="3" text="Interlaced"/> + <Entry value="4" text="Left"/> + <Entry value="5" text="Right"/> + <Entry value="6" text="Dresden"/> + <Entry value="7" text="Anaglyph"/> + <Entry value="8" text="Checkerboard"/> + <Entry value="9" text="SplitViewportHorizontal"/> + <Entry value="10" text="None"/> + </Domain> + </Property> + <Property name="Shadows" id="4875.Shadows" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.Shadows.bool"/> + </Property> + <Property name="Shoulder" id="4875.Shoulder" number_of_elements="1"> + <Element index="0" value="0.9714"/> + </Property> + <Property name="ShowAnnotation" id="4875.ShowAnnotation" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.ShowAnnotation.bool"/> + </Property> + <Property name="StencilCapable" id="4875.StencilCapable" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.StencilCapable.bool"/> + </Property> + <Property name="StereoRender" id="4875.StereoRender" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.StereoRender.bool"/> + </Property> + <Property name="StereoType" id="4875.StereoType" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="enum" id="4875.StereoType.enum"> + <Entry value="1" text="Crystal Eyes"/> + <Entry value="2" text="Red-Blue"/> + <Entry value="3" text="Interlaced"/> + <Entry value="4" text="Left"/> + <Entry value="5" text="Right"/> + <Entry value="6" text="Dresden"/> + <Entry value="7" text="Anaglyph"/> + <Entry value="8" text="Checkerboard"/> + <Entry value="9" text="SplitViewportHorizontal"/> + <Entry value="10" text="None"/> + </Domain> + </Property> + <Property name="StillRenderImageReductionFactor" id="4875.StillRenderImageReductionFactor" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="range" id="4875.StillRenderImageReductionFactor.range"/> + </Property> + <Property name="SuppressRendering" id="4875.SuppressRendering" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.SuppressRendering.bool"/> + </Property> + <Property name="ToneMappingType" id="4875.ToneMappingType" number_of_elements="1"> + <Element index="0" value="3"/> + </Property> + <Property name="UseACES" id="4875.UseACES" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.UseACES.bool"/> + </Property> + <Property name="UseCache" id="4875.UseCache" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.UseCache.bool"/> + </Property> + <Property name="UseColorPaletteForBackground" id="4875.UseColorPaletteForBackground" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.UseColorPaletteForBackground.bool"/> + </Property> + <Property name="UseEnvironmentLighting" id="4875.UseEnvironmentLighting" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.UseEnvironmentLighting.bool"/> + </Property> + <Property name="UseFXAA" id="4875.UseFXAA" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.UseFXAA.bool"/> + </Property> + <Property name="UseGradientEnvironmentalBG" id="4875.UseGradientEnvironmentalBG" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.UseGradientEnvironmentalBG.bool"/> + </Property> + <Property name="UseInteractiveRenderingForScreenshots" id="4875.UseInteractiveRenderingForScreenshots" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.UseInteractiveRenderingForScreenshots.bool"/> + </Property> + <Property name="UseLight" id="4875.UseLight" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.UseLight.bool"/> + </Property> + <Property name="UseOutlineForLODRendering" id="4875.UseOutlineForLODRendering" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.UseOutlineForLODRendering.bool"/> + </Property> + <Property name="UseSSAO" id="4875.UseSSAO" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.UseSSAO.bool"/> + </Property> + <Property name="UseSSAODefaultPresets" id="4875.UseSSAODefaultPresets" number_of_elements="1"> + <Element index="0" value="1"/> + <Domain name="bool" id="4875.UseSSAODefaultPresets.bool"/> + </Property> + <Property name="UseTexturedEnvironmentalBG" id="4875.UseTexturedEnvironmentalBG" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.UseTexturedEnvironmentalBG.bool"/> + </Property> + <Property name="UseToneMapping" id="4875.UseToneMapping" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="bool" id="4875.UseToneMapping.bool"/> + </Property> + <Property name="ViewSize" id="4875.ViewSize" number_of_elements="2"> + <Element index="0" value="1546"/> + <Element index="1" value="790"/> + </Property> + <Property name="ViewTime" id="4875.ViewTime" number_of_elements="1"> + <Element index="0" value="0.0175"/> + <Domain name="range" id="4875.ViewTime.range"/> + </Property> + <Property name="VolumeAnisotropy" id="4875.VolumeAnisotropy" number_of_elements="1"> + <Element index="0" value="0"/> + <Domain name="range" id="4875.VolumeAnisotropy.range"/> + </Property> + <Property name="WindowResizeNonInteractiveRenderDelay" id="4875.WindowResizeNonInteractiveRenderDelay" number_of_elements="1"> + <Element index="0" value="0.3"/> + </Property> + <Property name="CameraFocalDisk" id="4875.CameraFocalDisk" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="CameraFocalDiskInfo" id="4875.CameraFocalDiskInfo" number_of_elements="1"> + <Element index="0" value="1"/> + </Property> + <Property name="CameraFocalDistance" id="4875.CameraFocalDistance" number_of_elements="1"> + <Element index="0" value="0"/> + </Property> + <Property name="CameraFocalDistanceInfo" id="4875.CameraFocalDistanceInfo" number_of_elements="1"> + <Element index="0" value="0"/> + </Property> + <Property name="CameraFocalPoint" id="4875.CameraFocalPoint" number_of_elements="3"> + <Element index="0" value="0.04170149887541674"/> + <Element index="1" value="0.0009372627527560414"/> + <Element index="2" value="0.08364625776949308"/> + </Property> + <Property name="CameraFocalPointInfo" id="4875.CameraFocalPointInfo" number_of_elements="3"> + <Element index="0" value="0.04170149887541674"/> + <Element index="1" value="0.0009372627527560414"/> + <Element index="2" value="0.08364625776949308"/> + </Property> + <Property name="CameraParallelScale" id="4875.CameraParallelScale" number_of_elements="1"> + <Element index="0" value="0.24033606016199563"/> + </Property> + <Property name="CameraParallelScaleInfo" id="4875.CameraParallelScaleInfo" number_of_elements="1"> + <Element index="0" value="0.24033606016199563"/> + </Property> + <Property name="CameraPosition" id="4875.CameraPosition" number_of_elements="3"> + <Element index="0" value="0.0547709542624869"/> + <Element index="1" value="-0.7685701243519507"/> + <Element index="2" value="0.603224754475309"/> + </Property> + <Property name="CameraPositionInfo" id="4875.CameraPositionInfo" number_of_elements="3"> + <Element index="0" value="0.0547709542624869"/> + <Element index="1" value="-0.7685701243519507"/> + <Element index="2" value="0.603224754475309"/> + </Property> + <Property name="CameraViewAngle" id="4875.CameraViewAngle" number_of_elements="1"> + <Element index="0" value="30"/> + </Property> + <Property name="CameraViewAngleInfo" id="4875.CameraViewAngleInfo" number_of_elements="1"> + <Element index="0" value="30"/> + </Property> + <Property name="CameraViewUp" id="4875.CameraViewUp" number_of_elements="3"> + <Element index="0" value="-0.0425154779604609"/> + <Element index="1" value="0.5585899285554844"/> + <Element index="2" value="0.8283536236717821"/> + </Property> + <Property name="CameraViewUpInfo" id="4875.CameraViewUpInfo" number_of_elements="3"> + <Element index="0" value="-0.0425154779604609"/> + <Element index="1" value="0.5585899285554844"/> + <Element index="2" value="0.8283536236717821"/> + </Property> + <Property name="EyeAngle" id="4875.EyeAngle" number_of_elements="1"> + <Element index="0" value="2"/> + <Domain name="range" id="4875.EyeAngle.range"/> + </Property> + </Proxy> + <ProxyCollection name="animation"> + <Item id="261" name="AnimationScene1"/> + <Item id="263" name="TimeAnimationCue1"/> + </ProxyCollection> + <ProxyCollection name="layouts"> + <Item id="4876" name="Layout #1"/> + </ProxyCollection> + <ProxyCollection name="lookup_tables"> + <Item id="7900" name="U.PVLookupTable" logname="lut-for-U"/> + <Item id="7646" name="p.PVLookupTable" logname="lut-for-p"/> + </ProxyCollection> + <ProxyCollection name="piecewise_functions"> + <Item id="7899" name="U.PiecewiseFunction"/> + <Item id="7645" name="p.PiecewiseFunction"/> + </ProxyCollection> + <ProxyCollection name="pq_helper_proxies.4875"> + <Item id="4872" name="AxesGrid" logname="RenderView1/AxesGrid/GridAxes3DActor"/> + </ProxyCollection> + <ProxyCollection name="pq_helper_proxies.7352"> + <Item id="7364" name="RepresentationAnimationHelper"/> + </ProxyCollection> + <ProxyCollection name="pq_helper_proxies.7634"> + <Item id="7440" name="DataAxesGrid" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/DataAxesGrid/GridAxesRepresentation"/> + <Item id="7477" name="GlyphType" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/ArrowSource"/> + <Item id="7488" name="GlyphType" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/ConeSource"/> + <Item id="7499" name="GlyphType" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/CubeSource"/> + <Item id="7510" name="GlyphType" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/CylinderSource"/> + <Item id="7521" name="GlyphType" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/LineSource"/> + <Item id="7532" name="GlyphType" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/SphereSource"/> + <Item id="7543" name="GlyphType" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/GlyphSource2D"/> + <Item id="7554" name="GlyphType" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/PipelineConnection"/> + <Item id="7622" name="OSPRayScaleFunction" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/SurfaceRepresentation/OSPRayScaleFunction/PiecewiseFunction"/> + <Item id="7587" name="OpacityTransferFunction" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/PointGaussianRepresentation/OpacityTransferFunction/PiecewiseFunction"/> + <Item id="7455" name="PolarAxes" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/PolarAxes/PolarAxesRepresentation"/> + <Item id="7588" name="ScaleTransferFunction" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)/PointGaussianRepresentation/ScaleTransferFunction/PiecewiseFunction"/> + </ProxyCollection> + <ProxyCollection name="pq_helper_proxies.7673"> + <Item id="7684" name="RepresentationAnimationHelper"/> + </ProxyCollection> + <ProxyCollection name="pq_helper_proxies.7887"> + <Item id="7693" name="DataAxesGrid" logname="AngularPeriodicFilter1(GeometryRepresentation)/DataAxesGrid/GridAxesRepresentation"/> + <Item id="7730" name="GlyphType" logname="AngularPeriodicFilter1(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/ArrowSource"/> + <Item id="7741" name="GlyphType" logname="AngularPeriodicFilter1(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/ConeSource"/> + <Item id="7752" name="GlyphType" logname="AngularPeriodicFilter1(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/CubeSource"/> + <Item id="7763" name="GlyphType" logname="AngularPeriodicFilter1(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/CylinderSource"/> + <Item id="7774" name="GlyphType" logname="AngularPeriodicFilter1(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/LineSource"/> + <Item id="7785" name="GlyphType" logname="AngularPeriodicFilter1(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/SphereSource"/> + <Item id="7796" name="GlyphType" logname="AngularPeriodicFilter1(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/GlyphSource2D"/> + <Item id="7807" name="GlyphType" logname="AngularPeriodicFilter1(GeometryRepresentation)/Glyph3DRepresentation/GlyphType/PipelineConnection"/> + <Item id="7875" name="OSPRayScaleFunction" logname="AngularPeriodicFilter1(GeometryRepresentation)/SurfaceRepresentation/OSPRayScaleFunction/PiecewiseFunction"/> + <Item id="7840" name="OpacityTransferFunction" logname="AngularPeriodicFilter1(GeometryRepresentation)/PointGaussianRepresentation/OpacityTransferFunction/PiecewiseFunction"/> + <Item id="7708" name="PolarAxes" logname="AngularPeriodicFilter1(GeometryRepresentation)/PolarAxes/PolarAxesRepresentation"/> + <Item id="7841" name="ScaleTransferFunction" logname="AngularPeriodicFilter1(GeometryRepresentation)/PointGaussianRepresentation/ScaleTransferFunction/PiecewiseFunction"/> + </ProxyCollection> + <ProxyCollection name="representations"> + <Item id="7634" name="GeometryRepresentation1" logname="axialTurbine_rotating_oneBlade.foam(GeometryRepresentation)"/> + <Item id="7887" name="GeometryRepresentation2" logname="AngularPeriodicFilter1(GeometryRepresentation)"/> + </ProxyCollection> + <ProxyCollection name="scalar_bars"> + <Item id="7672" name="ScalarBarWidgetRepresentation1"/> + <Item id="7907" name="ScalarBarWidgetRepresentation2"/> + </ProxyCollection> + <ProxyCollection name="settings"> + <Item id="265" name="ColorPalette"/> + </ProxyCollection> + <ProxyCollection name="sources"> + <Item id="7673" name="AngularPeriodicFilter1" logname="AngularPeriodicFilter1"/> + <Item id="7352" name="axialTurbine_rotating_oneBlade.foam" logname="axialTurbine_rotating_oneBlade.foam"/> + </ProxyCollection> + <ProxyCollection name="timekeeper"> + <Item id="256" name="TimeKeeper1"/> + </ProxyCollection> + <ProxyCollection name="views"> + <Item id="4875" name="RenderView1" logname="RenderView1"/> + </ProxyCollection> + <CustomProxyDefinitions/> + <Links/> + <Settings> + <SettingsProxy group="settings" type="ColorPalette"> + <Links> + <Property source_property="ForegroundColor" target_id="4872" target_property="GridColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="4872" target_property="XLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="4872" target_property="XTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="4872" target_property="YLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="4872" target_property="YTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="4872" target_property="ZLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="4872" target_property="ZTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="4875" target_property="AnnotationColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="4875" target_property="OrientationAxesLabelColor" unlink_if_modified="1"/> + <Property source_property="ForegroundColor" target_id="4875" target_property="OrientationAxesOutlineColor" unlink_if_modified="1"/> + <Property source_property="ForegroundColor" target_id="7440" target_property="GridColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7440" target_property="XLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7440" target_property="XTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7440" target_property="YLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7440" target_property="YTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7440" target_property="ZLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7440" target_property="ZTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7455" target_property="LastRadialAxisTextColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7455" target_property="PolarAxisLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7455" target_property="PolarAxisTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7455" target_property="SecondaryRadialAxesTextColor" unlink_if_modified="1"/> + <Property source_property="ForegroundColor" target_id="7634" target_property="AmbientColor" unlink_if_modified="1"/> + <Property source_property="SurfaceColor" target_id="7634" target_property="BackfaceDiffuseColor" unlink_if_modified="1"/> + <Property source_property="SurfaceColor" target_id="7634" target_property="DiffuseColor" unlink_if_modified="1"/> + <Property source_property="EdgeColor" target_id="7634" target_property="EdgeColor" unlink_if_modified="1"/> + <Property source_property="InteractiveSelectionColor" target_id="7634" target_property="InteractiveSelectionColor" unlink_if_modified="1"/> + <Property source_property="SelectionColor" target_id="7634" target_property="SelectionColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7672" target_property="LabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7672" target_property="TitleColor" unlink_if_modified="1"/> + <Property source_property="ForegroundColor" target_id="7693" target_property="GridColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7693" target_property="XLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7693" target_property="XTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7693" target_property="YLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7693" target_property="YTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7693" target_property="ZLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7693" target_property="ZTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7708" target_property="LastRadialAxisTextColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7708" target_property="PolarAxisLabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7708" target_property="PolarAxisTitleColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7708" target_property="SecondaryRadialAxesTextColor" unlink_if_modified="1"/> + <Property source_property="ForegroundColor" target_id="7887" target_property="AmbientColor" unlink_if_modified="1"/> + <Property source_property="SurfaceColor" target_id="7887" target_property="BackfaceDiffuseColor" unlink_if_modified="1"/> + <Property source_property="SurfaceColor" target_id="7887" target_property="DiffuseColor" unlink_if_modified="1"/> + <Property source_property="EdgeColor" target_id="7887" target_property="EdgeColor" unlink_if_modified="1"/> + <Property source_property="InteractiveSelectionColor" target_id="7887" target_property="InteractiveSelectionColor" unlink_if_modified="1"/> + <Property source_property="SelectionColor" target_id="7887" target_property="SelectionColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7907" target_property="LabelColor" unlink_if_modified="1"/> + <Property source_property="TextAnnotationColor" target_id="7907" target_property="TitleColor" unlink_if_modified="1"/> + </Links> + </SettingsProxy> + <SettingsProxy group="settings" type="GeneralSettings"> + <Links> + <Property source_property="ScreenPixelsPerInch" target_id="4875" target_property="PPI" unlink_if_modified="0"/> + <Property source_property="BlockColorsDistinctValues" target_id="7634" target_property="BlockColorsDistinctValues" unlink_if_modified="0"/> + <Property source_property="MaximumNumberOfDataRepresentationLabels" target_id="7634" target_property="SelectionMaximumNumberOfLabels" unlink_if_modified="0"/> + <Property source_property="BlockColorsDistinctValues" target_id="7887" target_property="BlockColorsDistinctValues" unlink_if_modified="0"/> + <Property source_property="MaximumNumberOfDataRepresentationLabels" target_id="7887" target_property="SelectionMaximumNumberOfLabels" unlink_if_modified="0"/> + </Links> + </SettingsProxy> + <SettingsProxy group="settings" type="RenderViewInteractionSettings"> + <Links> + <Property source_property="Camera2DManipulators" target_id="4875" target_property="Camera2DManipulators" unlink_if_modified="0"/> + <Property source_property="Camera2DMouseWheelMotionFactor" target_id="4875" target_property="Camera2DMouseWheelMotionFactor" unlink_if_modified="0"/> + <Property source_property="Camera3DManipulators" target_id="4875" target_property="Camera3DManipulators" unlink_if_modified="0"/> + <Property source_property="Camera3DMouseWheelMotionFactor" target_id="4875" target_property="Camera3DMouseWheelMotionFactor" unlink_if_modified="0"/> + </Links> + </SettingsProxy> + <SettingsProxy group="settings" type="RenderViewSettings"> + <Links> + <Property source_property="Bias" target_id="4875" target_property="Bias" unlink_if_modified="0"/> + <Property source_property="Blur" target_id="4875" target_property="Blur" unlink_if_modified="0"/> + <Property source_property="CompressorConfig" target_id="4875" target_property="CompressorConfig" unlink_if_modified="0"/> + <Property source_property="Contrast" target_id="4875" target_property="Contrast" unlink_if_modified="0"/> + <Property source_property="DepthPeeling" target_id="4875" target_property="DepthPeeling" unlink_if_modified="0"/> + <Property source_property="DepthPeelingForVolumes" target_id="4875" target_property="DepthPeelingForVolumes" unlink_if_modified="0"/> + <Property source_property="FXAAEndpointSearchIterations" target_id="4875" target_property="FXAAEndpointSearchIterations" unlink_if_modified="0"/> + <Property source_property="FXAAHardContrastThreshold" target_id="4875" target_property="FXAAHardContrastThreshold" unlink_if_modified="0"/> + <Property source_property="FXAARelativeContrastThreshold" target_id="4875" target_property="FXAARelativeContrastThreshold" unlink_if_modified="0"/> + <Property source_property="FXAASubpixelBlendLimit" target_id="4875" target_property="FXAASubpixelBlendLimit" unlink_if_modified="0"/> + <Property source_property="FXAASubpixelContrastThreshold" target_id="4875" target_property="FXAASubpixelContrastThreshold" unlink_if_modified="0"/> + <Property source_property="FXAAUseHighQualityEndpoints" target_id="4875" target_property="FXAAUseHighQualityEndpoints" unlink_if_modified="0"/> + <Property source_property="GenericFilmicPresets" target_id="4875" target_property="GenericFilmicPresets" unlink_if_modified="0"/> + <Property source_property="HdrMax" target_id="4875" target_property="HdrMax" unlink_if_modified="0"/> + <Property source_property="ImageReductionFactor" target_id="4875" target_property="ImageReductionFactor" unlink_if_modified="0"/> + <Property source_property="KernelSize" target_id="4875" target_property="KernelSize" unlink_if_modified="0"/> + <Property source_property="LODResolution" target_id="4875" target_property="LODResolution" unlink_if_modified="0"/> + <Property source_property="LODThreshold" target_id="4875" target_property="LODThreshold" unlink_if_modified="0"/> + <Property source_property="MaximumNumberOfPeels" target_id="4875" target_property="MaximumNumberOfPeels" unlink_if_modified="0"/> + <Property source_property="MidIn" target_id="4875" target_property="MidIn" unlink_if_modified="0"/> + <Property source_property="MidOut" target_id="4875" target_property="MidOut" unlink_if_modified="0"/> + <Property source_property="NonInteractiveRenderDelay" target_id="4875" target_property="NonInteractiveRenderDelay" unlink_if_modified="0"/> + <Property source_property="Radius" target_id="4875" target_property="Radius" unlink_if_modified="0"/> + <Property source_property="RemoteRenderThreshold" target_id="4875" target_property="RemoteRenderThreshold" unlink_if_modified="0"/> + <Property source_property="Shoulder" target_id="4875" target_property="Shoulder" unlink_if_modified="0"/> + <Property source_property="ShowAnnotation" target_id="4875" target_property="ShowAnnotation" unlink_if_modified="0"/> + <Property source_property="StillRenderImageReductionFactor" target_id="4875" target_property="StillRenderImageReductionFactor" unlink_if_modified="0"/> + <Property source_property="ToneMappingType" target_id="4875" target_property="ToneMappingType" unlink_if_modified="0"/> + <Property source_property="UseACES" target_id="4875" target_property="UseACES" unlink_if_modified="0"/> + <Property source_property="UseFXAA" target_id="4875" target_property="UseFXAA" unlink_if_modified="0"/> + <Property source_property="UseOutlineForLODRendering" target_id="4875" target_property="UseOutlineForLODRendering" unlink_if_modified="0"/> + <Property source_property="UseSSAODefaultPresets" target_id="4875" target_property="UseSSAODefaultPresets" unlink_if_modified="0"/> + <Property source_property="WindowResizeNonInteractiveRenderDelay" target_id="4875" target_property="WindowResizeNonInteractiveRenderDelay" unlink_if_modified="0"/> + </Links> + </SettingsProxy> + <SettingsProxy group="settings" type="RepresentedArrayListSettings"> + <Links/> + </SettingsProxy> + </Settings> + </ServerManagerState> + <InteractiveViewLinks/> +</ParaView> diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/dynamicMeshDict b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/dynamicMeshDict new file mode 100644 index 00000000000..766090ae875 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/dynamicMeshDict @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object dynamicMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dynamicFvMesh dynamicMotionSolverFvMesh; + +solver solidBody; + +solidBodyCoeffs +{ + cellZone rotor; + + solidBodyMotionFunction rotatingMotion; + rotatingMotionCoeffs + { + origin (0 0 0); + axis (0 0 1); + omega -10; //in rad/sec + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/transportProperties b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/transportProperties new file mode 100644 index 00000000000..94d2050bf4f --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/transportProperties @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-05; + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/turbulenceProperties new file mode 100644 index 00000000000..2222b3cfd31 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/constant/turbulenceProperties @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; +//simulationType laminar; + +RAS +{ + RASModel RNGkEpsilon; + + turbulence on; + + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/blockMeshDict-conformal.m4 b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/blockMeshDict-conformal.m4 new file mode 100644 index 00000000000..a5fedcf6628 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/blockMeshDict-conformal.m4 @@ -0,0 +1,468 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// General macros to create 2D/extruded-2D meshes + +changecom(//)changequote([,]) +define(calc, [esyscmd(perl -e 'printf ($1)')]) +//define(calc, [esyscmd(echo $1 | bc | tr -d \\n)]) +define(VCOUNT, 0) +define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) +define(pi, calc(3.14159265/20)) + +define(hex2D, hex ($1b $2b $3b $4b $1t $2t $3t $4t)) +define(quad2D, ($1b $2b $2t $1t)) +define(frontQuad, ($1t $2t $3t $4t)) +define(backQuad, ($1b $4b $3b $2b)) + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale (1 20 1); + +// HUB AND SHROUD RADIUS +// Hub radius (m) +define(hr, 0.05) +// Shroud radius (m) +define(sr, 0.1) + +// GUIDE VANE REGION GEOMETRY AND MESH PROPERTIES +// Guide vane inlet axial length (m) +define(GVial, 0.1) +// Guide vane axial length (m) +define(GVbal, 0.1) +// Guide vane outlet axial length (m) +define(GVoal, 0.02) +// Number of guide vanes per 360 degrees (integer!) +define(GVnb, 5) +// Number of cells in radial direction at guide vane +define(GVrc, 10) +// Number of cells in tangential direction between guide vanes +define(GVtc, 10) +// Number of cells in axial direction at guide vane inlet +define(GViac, 10) +// Number of cells in axial direction between guide vanes +define(GVbac, 10) +// Number of cells in axial direction at guide vane outlet +define(GVoac, 2) + +// RUNNER REGION GEOMETRY AND MESH PROPERTIES +// Runner inlet axial length (m) +define(RUial, 0.02) +// Runner axial length (m) +define(RUal, 0.1) +// Runner outlet axial length (m) +define(RUoal, 0.02) +// Number of runner blades per 360 degrees (integer!) +define(RUnb, 5) +// Number of cells in radial direction in runner +define(RUrc, 10) +// Number of cells in tangential direction between runner blades +define(RUtc, 10) +// Number of cells in axial direction at runner inlet +define(RUiac, 2) +// Number of cells in axial direction between runner blades +define(RUbac, 10) +// Number of cells in axial direction at runner outlet +define(RUoac, 2) + +// DRAFT TUBE REGION GEOMETRY AND MESH PROPERTIES +// "Draft tube" axial length (m) +define(DTal, 0.07) +// Number of sections per 360 degrees (integer!) +define(DTns, 5) +// Number of cells in radial direction in "draft tube" +define(DTrc, 10) +// Number of cells in tangential direction in "draft tube" +define(DTtc, 10) +// Number of cells in axial direction in "draft tube" +define(DTac, 7) + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// TANGENTIAL PITCHES (RADIANS) +// Guide vane region +define(GVp, calc(2*pi/GVnb)) +// Runner region +define(RUp, calc(2*pi/RUnb)) +// Draft tube region +define(DTp, calc(2*pi/DTns)) + +// TANGENTIAL SHIFTS BETWEEN AXIAL LEVELS (BOTTOM-UP) +// Tangential shift from level DT0 to DT1 +define(DTts01, calc(5*DTp)) +// Runner region +// Tangential shift from level RU0 to RU1 +define(RUts01, calc(-1/10*RUp)) +// Tangential shift from level RU1 to RU2 +define(RUts12, calc(-4/5*RUp)) +// Tangential shift from level RU2 to RU3 +define(RUts23, calc(-1/10*RUp)) +// Guide vane region +// Tangential shift from level GV0 to GV1 +define(GVts01, calc(1/10*GVp)) +// Tangential shift from level GV1 to GV2 +define(GVts12, calc(1/2*GVp)) +// Tangential shift from level GV2 to GV3 +define(GVts23, calc(0*GVp)) + +// AXIAL/TANGENTIAL BASE POINTS FOR EACH LEVEL (BOTTOM-UP): +// (CENTER OF RUNNER SET TO THETA=0, Z=0) +// Draft tube: +define(DTa0, calc(-RUoal-0.5*RUal-DTal)) //Center runner +define(DTt0, calc(-0.5*RUp-(0.5*RUts12)-(0*DTts01))) // Straight draft tube! +define(DTt1, calc(-0.5*RUp-(0.5*RUts12))) //Center runner +// Runner: +define(RUa0, calc(-RUoal-0.5*RUal)) //Center runner +define(RUt0, calc(-0.5*RUp-(0.5*RUts12))) //Center runner +define(RUt1, calc(RUt0+RUts01)) +define(RUt2, calc(RUt1+RUts12)) +define(RUt3, calc(RUt2+RUts23)) +// Guide vane: +define(GVa0, calc(0.5*RUal+RUial)) //Center runner +define(GVt0, calc(-0.5*RUp-(0.5*RUts12)+RUts01+RUts12+RUts23)) //Center runner +define(GVt1, calc(GVt0+GVts01)) +define(GVt2, calc(GVt1+GVts12)) +define(GVt3, calc(GVt2+GVts23)) + +vertices //(radial [m], tangential [radians], axial [m]) +( +//Guide vane hub: + (hr GVt0 GVa0) vlabel(GV0lb) + (hr calc(GVt0+GVp) GVa0) vlabel(GV0rb) + (hr GVt1 calc(GVa0+GVoal)) vlabel(GV1lb) + (hr calc(GVt1+GVp) calc(GVa0+GVoal)) vlabel(GV1rb) + (hr GVt2 calc(GVa0+GVoal+GVbal)) vlabel(GV2lb) + (hr calc(GVt2+GVp) calc(GVa0+GVoal+GVbal)) vlabel(GV2rb) + (hr GVt3 calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3lb) + (hr calc(GVt3+GVp) calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3rb) + +//Guide vane shroud: + (sr GVt0 GVa0) vlabel(GV0lt) + (sr calc(GVt0+GVp) GVa0) vlabel(GV0rt) + (sr GVt1 calc(GVa0+GVoal)) vlabel(GV1lt) + (sr calc(GVt1+GVp) calc(GVa0+GVoal)) vlabel(GV1rt) + (sr GVt2 calc(GVa0+GVoal+GVbal)) vlabel(GV2lt) + (sr calc(GVt2+GVp) calc(GVa0+GVoal+GVbal)) vlabel(GV2rt) + (sr GVt3 calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3lt) + (sr calc(GVt3+GVp) calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3rt) + +//Runner hub: + (hr RUt0 RUa0) vlabel(RU0lb) + (hr calc(RUt0+RUp) RUa0) vlabel(RU0rb) + (hr RUt1 calc(RUa0+RUoal)) vlabel(RU1lb) + (hr calc(RUt1+RUp) calc(RUa0+RUoal)) vlabel(RU1rb) + (hr RUt2 calc(RUa0+RUoal+RUal)) vlabel(RU2lb) + (hr calc(RUt2+RUp) calc(RUa0+RUoal+RUal)) vlabel(RU2rb) + (hr RUt3 calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3lb) + (hr calc(RUt3+RUp) calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3rb) + +//Runner shroud: + (sr RUt0 RUa0) vlabel(RU0lt) + (sr calc(RUt0+RUp) RUa0) vlabel(RU0rt) + (sr RUt1 calc(RUa0+RUoal)) vlabel(RU1lt) + (sr calc(RUt1+RUp) calc(RUa0+RUoal)) vlabel(RU1rt) + (sr RUt2 calc(RUa0+RUoal+RUal)) vlabel(RU2lt) + (sr calc(RUt2+RUp) calc(RUa0+RUoal+RUal)) vlabel(RU2rt) + (sr RUt3 calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3lt) + (sr calc(RUt3+RUp) calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3rt) + +//Draft tube hub: + (hr DTt0 DTa0) vlabel(DT0lb) + (hr calc(DTt0+DTp) DTa0) vlabel(DT0rb) + (hr DTt1 calc(DTa0+DTal)) vlabel(DT1lb) + (hr calc(DTt1+DTp) calc(DTa0+DTal)) vlabel(DT1rb) + +//Draft tube shroud: + (sr DTt0 DTa0) vlabel(DT0lt) + (sr calc(DTt0+DTp) DTa0) vlabel(DT0rt) + (sr DTt1 calc(DTa0+DTal)) vlabel(DT1lt) + (sr calc(DTt1+DTp) calc(DTa0+DTal)) vlabel(DT1rt) +); + +blocks +( +//Guide vane: + hex2D(GV0l, GV0r, GV1r, GV1l) + (GVtc GVoac GVrc) + simpleGrading (1 1 1) + + hex2D(GV1l, GV1r, GV2r, GV2l) + (GVtc GVbac GVrc) + simpleGrading (1 1 1) + + hex2D(GV2l, GV2r, GV3r, GV3l) + (GVtc GViac GVrc) + simpleGrading (1 1 1) + +//Runner: + hex2D(RU0l, RU0r, RU1r, RU1l) + rotor + (RUtc RUoac RUrc) + simpleGrading (1 1 1) + + hex2D(RU1l, RU1r, RU2r, RU2l) + rotor + (RUtc RUbac RUrc) + simpleGrading (1 1 1) + + hex2D(RU2l, RU2r, RU3r, RU3l) + rotor + (RUtc RUiac RUrc) + simpleGrading (1 1 1) + +//Draft tube: + hex2D(DT0l, DT0r, DT1r, DT1l) + (DTtc DTac DTrc) + simpleGrading (1 1 1) + +); + +edges // Inappropriate with arc due to coordinate conversion +( +//Runner + spline RU1lt RU2lt + ( + (sr calc(RUt1+0.65*(RUt2-(RUt1))) calc(RUa0+RUoal+0.5*RUal)) + ) + spline RU1lb RU2lb + ( + (hr calc(RUt1+0.65*(RUt2-(RUt1))) calc(RUa0+RUoal+0.5*RUal)) + ) + spline RU1rt RU2rt + ( + (sr calc(RUt1+RUp+0.75*(RUt2-(RUt1))) calc(RUa0+RUoal+0.5*RUal)) + ) + spline RU1rb RU2rb + ( + (hr calc(RUt1+RUp+0.75*(RUt2-(RUt1))) calc(RUa0+RUoal+0.5*RUal)) + ) +//Guide vane + spline GV1lt GV2lt + ( + (sr calc(GVt1+0.75*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal)) + ) + spline GV1lb GV2lb + ( + (hr calc(GVt1+0.75*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal)) + ) + spline GV1rt GV2rt + ( + (sr calc(GVt1+GVp+0.65*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal)) + ) + spline GV1rb GV2rb + ( + (hr calc(GVt1+GVp+0.65*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal)) + ) +); + +boundary +( + GVINLET + { + type patch; + faces + ( + quad2D(GV3r, GV3l) + ); + } + + GVOUTLET + { + type patch; + faces + ( + quad2D(GV0l, GV0r) + ); + } + + GVCYCLIC1 + { + type patch; + faces + ( + quad2D(GV1l, GV0l) + quad2D(GV3l, GV2l) + ); + } + + GVCYCLIC2 + { + type patch; + faces + ( + quad2D(GV0r, GV1r) + quad2D(GV2r, GV3r) + ); + } + + GVBLADE + { + type patch; + faces + ( + quad2D(GV2l, GV1l) + quad2D(GV1r, GV2r) + ); + } + + GVHUB + { + type patch; + faces + ( + backQuad(GV0l, GV0r, GV1r, GV1l) + backQuad(GV1l, GV1r, GV2r, GV2l) + backQuad(GV2l, GV2r, GV3r, GV3l) + ); + } + + GVSHROUD + { + type patch; + faces + ( + frontQuad(GV0l, GV0r, GV1r, GV1l) + frontQuad(GV1l, GV1r, GV2r, GV2l) + frontQuad(GV2l, GV2r, GV3r, GV3l) + ); + } + + RUINLET + { + type patch; + faces + ( + quad2D(RU3r, RU3l) + ); + } + + RUOUTLET + { + type patch; + faces + ( + quad2D(RU0l, RU0r) + ); + } + + RUCYCLIC1 + { + type patch; + faces + ( + quad2D(RU1l, RU0l) + quad2D(RU3l, RU2l) + ); + } + + RUCYCLIC2 + { + type patch; + faces + ( + quad2D(RU0r, RU1r) + quad2D(RU2r, RU3r) + ); + } + + RUBLADE + { + type patch; + faces + ( + quad2D(RU2l, RU1l) + quad2D(RU1r, RU2r) + ); + } + + RUHUB + { + type patch; + faces + ( + backQuad(RU0l, RU0r, RU1r, RU1l) + backQuad(RU1l, RU1r, RU2r, RU2l) + backQuad(RU2l, RU2r, RU3r, RU3l) + ); + } + + RUSHROUD + { + type patch; + faces + ( + frontQuad(RU0l, RU0r, RU1r, RU1l) + frontQuad(RU1l, RU1r, RU2r, RU2l) + frontQuad(RU2l, RU2r, RU3r, RU3l) + ); + } + + DTINLET + { + type patch; + faces + ( + quad2D(DT1r, DT1l) + ); + } + + DTOUTLET + { + type patch; + faces + ( + quad2D(DT0l, DT0r) + ); + } + + DTCYCLIC1 + { + type patch; + faces + ( + quad2D(DT1l, DT0l) + ); + } + + DTCYCLIC2 + { + type patch; + faces + ( + quad2D(DT0r, DT1r) + ); + } + + DTHUB + { + type patch; + faces + ( + backQuad(DT0l, DT0r, DT1r, DT1l) + ); + } + + DTSHROUD + { + type patch; + faces + ( + frontQuad(DT0l, DT0r, DT1r, DT1l) + ); + } +); + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/blockMeshDict-non-conformal.m4 b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/blockMeshDict-non-conformal.m4 new file mode 100644 index 00000000000..f91443c509b --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/blockMeshDict-non-conformal.m4 @@ -0,0 +1,477 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// General macros to create 2D/extruded-2D meshes + +changecom(//)changequote([,]) +define(calc, [esyscmd(perl -e 'printf ($1)')]) +//define(calc, [esyscmd(echo $1 | bc | tr -d \\n)]) +define(VCOUNT, 0) +define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) +define(pi, calc(3.14159265/20)) + +define(hex2D, hex ($1b $2b $3b $4b $1t $2t $3t $4t)) +define(quad2D, ($1b $2b $2t $1t)) +define(frontQuad, ($1t $2t $3t $4t)) +define(backQuad, ($1b $4b $3b $2b)) + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale (1 20 1); + +// HUB AND SHROUD RADIUS +// Hub radius (m) +define(hr, 0.05) +// Shroud radius (m) +define(sr, 0.1) + +// GUIDE VANE REGION GEOMETRY AND MESH PROPERTIES +// Guide vane inlet axial length (m) +define(GVial, 0.04) +// Guide vane axial length (m) +define(GVbal, 0.1) +// Guide vane outlet axial length (m) +define(GVoal, 0.02) +// Number of guide vanes per 360 degrees (integer!) +define(GVnb, 5) +// Number of cells in radial direction at guide vane +define(GVrc, 10) +// Number of cells in tangential direction between guide vanes +define(GVtc, 10) +// Number of cells in axial direction at guide vane inlet +define(GViac, 4) +// Number of cells in axial direction between guide vanes +define(GVbac, 10) +// Number of cells in axial direction at guide vane outlet +define(GVoac, 2) + +// RUNNER REGION GEOMETRY AND MESH PROPERTIES +// Runner inlet axial length (m) +define(RUial, 0.02) +// Runner axial length (m) +define(RUal, 0.1) +// Runner outlet axial length (m) +define(RUoal, 0.02) +// Number of runner blades per 360 degrees (integer!) +define(RUnb, 5) +// Number of cells in radial direction in runner +define(RUrc, 10) +// Number of cells in tangential direction between runner blades +define(RUtc, 10) +// Number of cells in axial direction at runner inlet +define(RUiac, 2) +// Number of cells in axial direction between runner blades +define(RUbac, 10) +// Number of cells in axial direction at runner outlet +define(RUoac, 2) + +// DRAFT TUBE REGION GEOMETRY AND MESH PROPERTIES +// "Draft tube" axial length (m) +define(DTal, 0.07) +// Number of sections per 360 degrees (integer!) +define(DTns, 5) +// Number of cells in radial direction in "draft tube" +define(DTrc, 10) +// Number of cells in tangential direction in "draft tube" +define(DTtc, 10) +// Number of cells in axial direction in "draft tube" +define(DTac, 7) + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// TANGENTIAL PITCHES (RADIANS) +// Guide vane region +define(GVp, calc(2*pi/GVnb)) +// Runner region +define(RUp, calc(2*pi/RUnb)) +// Draft tube region +define(DTp, calc(2*pi/DTns)) + +// TANGENTIAL SHIFTS BETWEEN AXIAL LEVELS (BOTTOM-UP) +// Tangential shift from level DT0 to DT1 +define(DTts01, calc(5*DTp)) +// Runner region +// Tangential shift from level RU0 to RU1 +define(RUts01, calc(-1/10*RUp)) +// Tangential shift from level RU1 to RU2 +define(RUts12, calc(-4/5*RUp)) +// Tangential shift from level RU2 to RU3 +define(RUts23, calc(-1/10*RUp)) +// Guide vane region +// Tangential shift from level GV0 to GV1 +define(GVts01, calc(1/10*GVp)) +// Tangential shift from level GV1 to GV2 +define(GVts12, calc(1/2*GVp)) +// Tangential shift from level GV2 to GV3 +define(GVts23, calc(0*GVp)) + +// AXIAL/TANGENTIAL BASE POINTS FOR EACH LEVEL (BOTTOM-UP): +// (CENTER OF RUNNER SET TO THETA=0, Z=0) +// Draft tube: +define(DTa0, calc(-RUoal-0.5*RUal-DTal)) //Center runner +define(DTt0, calc(-0.5*RUp-(0.5*RUts12)-(0*DTts01))) // Straight draft tube! +define(DTt1, calc(-0.5*RUp-(0.5*RUts12))) //Center runner +// Runner: +define(RUa0, calc(-RUoal-0.5*RUal)) //Center runner +define(RUt0, calc(-0.5*RUp-(0.5*RUts12))) //Center runner +define(RUt1, calc(RUt0+RUts01)) +define(RUt2, calc(RUt1+RUts12)) +define(RUt3, calc(RUt2+RUts23)) +// Guide vane: +define(GVa0, calc(0.5*RUal+RUial)) //Center runner +define(GVt0, calc(-0.5*RUp-(0.5*RUts12)+RUts01+RUts12+RUts23)) //Center runner +define(GVt1, calc(GVt0+GVts01)) +define(GVt2, calc(GVt1+GVts12)) +define(GVt3, calc(GVt2+GVts23)) + +// Add tangential twist at RU inlet (3) and outlet (0) at hub (h) and shroud (s) +define(RUt0htw, calc(-2*pi/100)) +define(RUt3htw, calc(-2*pi/100)) +define(RUt0stw, calc(2*pi/100)) +define(RUt3stw, calc(2*pi/100)) + +// Rotate runner +define(RUrot, calc(2*pi/3)) + +vertices //(radial [m], tangential [radians], axial [m]) +( +//Guide vane hub: + (hr GVt0 GVa0) vlabel(GV0lb) + (hr calc(GVt0+GVp) GVa0) vlabel(GV0rb) + (hr GVt1 calc(GVa0+GVoal)) vlabel(GV1lb) + (hr calc(GVt1+GVp) calc(GVa0+GVoal)) vlabel(GV1rb) + (hr GVt2 calc(GVa0+GVoal+GVbal)) vlabel(GV2lb) + (hr calc(GVt2+GVp) calc(GVa0+GVoal+GVbal)) vlabel(GV2rb) + (hr GVt3 calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3lb) + (hr calc(GVt3+GVp) calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3rb) + +//Guide vane shroud: + (sr GVt0 GVa0) vlabel(GV0lt) + (sr calc(GVt0+GVp) GVa0) vlabel(GV0rt) + (sr GVt1 calc(GVa0+GVoal)) vlabel(GV1lt) + (sr calc(GVt1+GVp) calc(GVa0+GVoal)) vlabel(GV1rt) + (sr GVt2 calc(GVa0+GVoal+GVbal)) vlabel(GV2lt) + (sr calc(GVt2+GVp) calc(GVa0+GVoal+GVbal)) vlabel(GV2rt) + (sr GVt3 calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3lt) + (sr calc(GVt3+GVp) calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3rt) + +//Runner hub: + (hr calc(RUt0+RUt0htw+RUrot) RUa0) vlabel(RU0lb) + (hr calc(RUt0+RUp+RUt0htw+RUrot) RUa0) vlabel(RU0rb) + (hr calc(RUt1+RUrot) calc(RUa0+RUoal)) vlabel(RU1lb) + (hr calc(RUt1+RUp+RUrot) calc(RUa0+RUoal)) vlabel(RU1rb) + (hr calc(RUt2+RUrot) calc(RUa0+RUoal+RUal)) vlabel(RU2lb) + (hr calc(RUt2+RUp+RUrot) calc(RUa0+RUoal+RUal)) vlabel(RU2rb) + (hr calc(RUt3+RUt3htw+RUrot) calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3lb) + (hr calc(RUt3+RUp+RUt3htw+RUrot) calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3rb) + +//Runner shroud: + (sr calc(RUt0+RUt0stw+RUrot) RUa0) vlabel(RU0lt) + (sr calc(RUt0+RUp+RUt0stw+RUrot) RUa0) vlabel(RU0rt) + (sr calc(RUt1+RUrot) calc(RUa0+RUoal)) vlabel(RU1lt) + (sr calc(RUt1+RUp+RUrot) calc(RUa0+RUoal)) vlabel(RU1rt) + (sr calc(RUt2+RUrot) calc(RUa0+RUoal+RUal)) vlabel(RU2lt) + (sr calc(RUt2+RUp+RUrot) calc(RUa0+RUoal+RUal)) vlabel(RU2rt) + (sr calc(RUt3+RUt3stw+RUrot) calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3lt) + (sr calc(RUt3+RUp+RUt3stw+RUrot) calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3rt) + +//Draft tube hub: + (hr DTt0 DTa0) vlabel(DT0lb) + (hr calc(DTt0+DTp) DTa0) vlabel(DT0rb) + (hr DTt1 calc(DTa0+DTal)) vlabel(DT1lb) + (hr calc(DTt1+DTp) calc(DTa0+DTal)) vlabel(DT1rb) + +//Draft tube shroud: + (sr DTt0 DTa0) vlabel(DT0lt) + (sr calc(DTt0+DTp) DTa0) vlabel(DT0rt) + (sr DTt1 calc(DTa0+DTal)) vlabel(DT1lt) + (sr calc(DTt1+DTp) calc(DTa0+DTal)) vlabel(DT1rt) +); + +blocks +( +//Guide vane: + hex2D(GV0l, GV0r, GV1r, GV1l) + (GVtc GVoac GVrc) + simpleGrading (1 1 1) + + hex2D(GV1l, GV1r, GV2r, GV2l) + (GVtc GVbac GVrc) + simpleGrading (1 1 1) + + hex2D(GV2l, GV2r, GV3r, GV3l) + (GVtc GViac GVrc) + simpleGrading (1 1 1) + +//Runner: + hex2D(RU0l, RU0r, RU1r, RU1l) + rotor + (RUtc RUoac RUrc) + simpleGrading (1 1 1) + + hex2D(RU1l, RU1r, RU2r, RU2l) + rotor + (RUtc RUbac RUrc) + simpleGrading (1 1 1) + + hex2D(RU2l, RU2r, RU3r, RU3l) + rotor + (RUtc RUiac RUrc) + simpleGrading (1 1 1) + +//Draft tube: + hex2D(DT0l, DT0r, DT1r, DT1l) + (DTtc DTac DTrc) + simpleGrading (1 1 1) + +); + +edges // Inappropriate with arc due to coordinate conversion +( +//Runner + spline RU1lt RU2lt + ( + (sr calc(RUt1+0.65*(RUt2-(RUt1))+RUrot) calc(RUa0+RUoal+0.5*RUal)) + ) + spline RU1lb RU2lb + ( + (hr calc(RUt1+0.65*(RUt2-(RUt1))+RUrot) calc(RUa0+RUoal+0.5*RUal)) + ) + spline RU1rt RU2rt + ( + (sr calc(RUt1+RUp+0.75*(RUt2-(RUt1))+RUrot) calc(RUa0+RUoal+0.5*RUal)) + ) + spline RU1rb RU2rb + ( + (hr calc(RUt1+RUp+0.75*(RUt2-(RUt1))+RUrot) calc(RUa0+RUoal+0.5*RUal)) + ) +//Guide vane + spline GV1lt GV2lt + ( + (sr calc(GVt1+0.75*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal)) + ) + spline GV1lb GV2lb + ( + (hr calc(GVt1+0.75*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal)) + ) + spline GV1rt GV2rt + ( + (sr calc(GVt1+GVp+0.65*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal)) + ) + spline GV1rb GV2rb + ( + (hr calc(GVt1+GVp+0.65*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal)) + ) +); + +boundary +( + GVINLET + { + type patch; + faces + ( + quad2D(GV3r, GV3l) + ); + } + + GVOUTLET + { + type patch; + faces + ( + quad2D(GV0l, GV0r) + ); + } + + GVCYCLIC1 + { + type patch; + faces + ( + quad2D(GV1l, GV0l) + quad2D(GV3l, GV2l) + ); + } + + GVCYCLIC2 + { + type patch; + faces + ( + quad2D(GV0r, GV1r) + quad2D(GV2r, GV3r) + ); + } + + GVBLADE + { + type patch; + faces + ( + quad2D(GV2l, GV1l) + quad2D(GV1r, GV2r) + ); + } + + GVHUB + { + type patch; + faces + ( + backQuad(GV0l, GV0r, GV1r, GV1l) + backQuad(GV1l, GV1r, GV2r, GV2l) + backQuad(GV2l, GV2r, GV3r, GV3l) + ); + } + + GVSHROUD + { + type patch; + faces + ( + frontQuad(GV0l, GV0r, GV1r, GV1l) + frontQuad(GV1l, GV1r, GV2r, GV2l) + frontQuad(GV2l, GV2r, GV3r, GV3l) + ); + } + + RUINLET + { + type patch; + faces + ( + quad2D(RU3r, RU3l) + ); + } + + RUOUTLET + { + type patch; + faces + ( + quad2D(RU0l, RU0r) + ); + } + + RUCYCLIC1 + { + type patch; + faces + ( + quad2D(RU1l, RU0l) + quad2D(RU3l, RU2l) + ); + } + + RUCYCLIC2 + { + type patch; + faces + ( + quad2D(RU0r, RU1r) + quad2D(RU2r, RU3r) + ); + } + + RUBLADE + { + type patch; + faces + ( + quad2D(RU2l, RU1l) + quad2D(RU1r, RU2r) + ); + } + + RUHUB + { + type patch; + faces + ( + backQuad(RU0l, RU0r, RU1r, RU1l) + backQuad(RU1l, RU1r, RU2r, RU2l) + backQuad(RU2l, RU2r, RU3r, RU3l) + ); + } + + RUSHROUD + { + type patch; + faces + ( + frontQuad(RU0l, RU0r, RU1r, RU1l) + frontQuad(RU1l, RU1r, RU2r, RU2l) + frontQuad(RU2l, RU2r, RU3r, RU3l) + ); + } + + DTINLET + { + type patch; + faces + ( + quad2D(DT1r, DT1l) + ); + } + + DTOUTLET + { + type patch; + faces + ( + quad2D(DT0l, DT0r) + ); + } + + DTCYCLIC1 + { + type patch; + faces + ( + quad2D(DT1l, DT0l) + ); + } + + DTCYCLIC2 + { + type patch; + faces + ( + quad2D(DT0r, DT1r) + ); + } + + DTHUB + { + type patch; + faces + ( + backQuad(DT0l, DT0r, DT1r, DT1l) + ); + } + + DTSHROUD + { + type patch; + faces + ( + frontQuad(DT0l, DT0r, DT1r, DT1l) + ); + } +); + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/changeDictionaryDict_cyclicAMI b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/changeDictionaryDict_cyclicAMI new file mode 100644 index 00000000000..7caa363b5f5 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/changeDictionaryDict_cyclicAMI @@ -0,0 +1,209 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object changeDictionaryDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +boundary +{ + GVINLET + { + type patch; + inGroups 1(inlet); + } + GVCYCLIC1 + { + type cyclicAMI; + inGroups 1(cyclicAMI); + matchTolerance 0.0001; + transform rotational; + rotationAxis (0 0 1); + rotationCentre (0 0 0); + rotationAngle 72; + neighbourPatch GVCYCLIC2; + AMIMethod faceAreaWeightAMI; + restartUncoveredSourceFace 1; + } + GVCYCLIC2 + { + type cyclicAMI; + inGroups 1(cyclicAMI); + matchTolerance 0.0001; + transform rotational; + rotationAxis (0 0 1); + rotationCentre (0 0 0); + rotationAngle -72; + neighbourPatch GVCYCLIC1; + AMIMethod faceAreaWeightAMI; + restartUncoveredSourceFace 1; + } + GVBLADE + { + type wall; + inGroups 1(blades); + closedSolidBodyMotion false; + } + GVHUB + { + type wall; + inGroups 1(hub); + closedSolidBodyMotion false; + } + GVSHROUD + { + type wall; + inGroups 1(shroud); + closedSolidBodyMotion false; + } + GVOUTLET + { + type cyclicPeriodicAMI; + inGroups 2(cyclicAMI upstreamRSIs); + matchTolerance 0.01; + transform unknown; + neighbourPatch RUINLET; + periodicPatch RUCYCLIC1; + AMIMethod faceAreaWeightAMI; + requireMatch 0; + restartUncoveredSourceFace 1; + maxIter 4; + } + RUINLET + { + type cyclicPeriodicAMI; + inGroups 2(cyclicAMI downstreamRSIs); + matchTolerance 0.01; + transform unknown; + neighbourPatch GVOUTLET; + periodicPatch RUCYCLIC1; + AMIMethod faceAreaWeightAMI; + requireMatch 0; + restartUncoveredSourceFace 1; + maxIter 4; + } + RUCYCLIC1 + { + type cyclicAMI; + inGroups 1(cyclicAMI); + matchTolerance 0.0001; + transform rotational; + neighbourPatch RUCYCLIC2; + rotationAxis (0 0 1); + rotationCentre (0 0 0); + rotationAngle 72; + AMIMethod faceAreaWeightAMI; + restartUncoveredSourceFace 1; + } + RUCYCLIC2 + { + type cyclicAMI; + inGroups 1(cyclicAMI); + matchTolerance 0.0001; + transform rotational; + neighbourPatch RUCYCLIC1; + rotationAxis (0 0 1); + rotationCentre (0 0 0); + rotationAngle -72; + AMIMethod faceAreaWeightAMI; + restartUncoveredSourceFace 1; + } + RUBLADE + { + type wall; + inGroups 1(blades); + closedSolidBodyMotion false; + } + RUHUB + { + type wall; + inGroups 1(hub); + closedSolidBodyMotion false; + } + RUSHROUD + { + type wall; + inGroups 1(shroud); + closedSolidBodyMotion false; + } + RUOUTLET + { + type cyclicPeriodicAMI; + inGroups 2(cyclicAMI upstreamRSIs); + matchTolerance 0.01; + transform unknown; + neighbourPatch DTINLET; + periodicPatch RUCYCLIC1; + AMIMethod faceAreaWeightAMI; + requireMatch 0; + restartUncoveredSourceFace 1; + maxIter 4; + } + DTINLET + { + type cyclicPeriodicAMI; + inGroups 2(cyclicAMI downstreamRSIs); + matchTolerance 0.01; + transform unknown; + neighbourPatch RUOUTLET; + periodicPatch RUCYCLIC1; + AMIMethod faceAreaWeightAMI; + requireMatch 0; + restartUncoveredSourceFace 1; + maxIter 4; + } + DTOUTLET + { + type patch; + inGroups 1(outlet); + } + DTCYCLIC1 + { + type cyclicAMI; + inGroups 1(cyclicAMI); + matchTolerance 0.0001; + transform rotational; + neighbourPatch DTCYCLIC2; + rotationAxis (0 0 1); + rotationCentre (0 0 0); + rotationAngle 72; + AMIMethod faceAreaWeightAMI; + restartUncoveredSourceFace 1; + } + DTCYCLIC2 + { + type cyclicAMI; + inGroups 1(cyclicAMI); + matchTolerance 0.0001; + transform rotational; + neighbourPatch DTCYCLIC1; + rotationAxis (0 0 1); + rotationCentre (0 0 0); + rotationAngle -72; + AMIMethod faceAreaWeightAMI; + restartUncoveredSourceFace 1; + } + DTHUB + { + type wall; + inGroups 1(hub); + closedSolidBodyMotion false; + } + DTSHROUD + { + type wall; + inGroups 1(shroud); + closedSolidBodyMotion false; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/controlDict b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/controlDict new file mode 100644 index 00000000000..e78937d2999 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/controlDict @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application pimpleFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 0.6283; //One rotation +//endTime 1.2566; //Two rotations + +deltaT 0.00175;//Approx 1 degree per time step + +writeControl timeStep; + +writeInterval 10;//Every 10 degrees + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +DebugSwitches +{ + //cyclicPeriodicAMI 5; + //cyclicAMI 5; + //cyclic 5; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/fvSchemes b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/fvSchemes new file mode 100644 index 00000000000..4f3f4fde58e --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/fvSchemes @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; + grad(p) Gauss linear; + grad(U) Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) Gauss linearUpwindV grad(U); + div(phi,k) Gauss linearUpwind default; + div(phi,epsilon) Gauss linearUpwind default; + div((nuEff*dev(T(grad(U))))) Gauss linear; + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/fvSolution b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/fvSolution new file mode 100644 index 00000000000..371ed65aebb --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade/system/fvSolution @@ -0,0 +1,81 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2406 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + "(p|pFinal)" + { + solver PBiCGStab; + preconditioner FDIC; + tolerance 1e-08; + relTol 0.05; + } + U + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-07; + relTol 0.1; + } + UFinal + { + $U; + relTol 0; + } + k + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-07; + relTol 0.1; + } + epsilon + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-07; + relTol 0.1; + } + "(k|epsilon)Final" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } + +} + + +PIMPLE +{ + correctPhi no; + nOuterCorrectors 10; + nCorrectors 1; + nNonOrthogonalCorrectors 1; +} + +relaxationFactors +{ + p 0.3; + U 0.7; + UFinal 0.7; // To avoid sudden increase in pressure residual + k 0.7; + epsilon 0.7; +} + + +// ************************************************************************* // -- GitLab From 1bce1e44c44929fd0a210d587d1a0c3d881585ee Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 7 Jun 2024 12:36:24 +0100 Subject: [PATCH 197/231] ENH: propellerInfo - updated to work in postProcess mode. Fixes #2588 --- .../forces/propellerInfo/propellerInfo.C | 26 ++++++++++++++----- .../forces/propellerInfo/propellerInfo.H | 8 +++++- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/functionObjects/forces/propellerInfo/propellerInfo.C b/src/functionObjects/forces/propellerInfo/propellerInfo.C index c6ed2737dd6..b080d929a36 100644 --- a/src/functionObjects/forces/propellerInfo/propellerInfo.C +++ b/src/functionObjects/forces/propellerInfo/propellerInfo.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -808,6 +808,7 @@ Foam::functionObjects::propellerInfo::propellerInfo ) : forces(name, runTime, dict, false), + dict_(dict), radius_(0), URefPtr_(nullptr), rotationMode_(rotationMode::SPECIFIED), @@ -827,7 +828,8 @@ Foam::functionObjects::propellerInfo::propellerInfo interpolationScheme_("cell"), wakeFilePtr_(nullptr), axialWakeFilePtr_(nullptr), - nanValue_(pTraits<scalar>::min) + nanValue_(pTraits<scalar>::min), + initialised_(false) { if (readFields) { @@ -855,21 +857,18 @@ bool Foam::functionObjects::propellerInfo::read(const dictionary& dict) { if (forces::read(dict)) { + dict_ = dict; + radius_ = dict.getScalar("radius"); URefPtr_.reset(Function1<scalar>::New("URef", dict, &mesh_)); rotationMode_ = rotationModeNames_.get("rotationMode", dict); - // Must be set before setting the surface - setCoordinateSystem(dict); - writePropellerPerformance_ = dict.get<bool>("writePropellerPerformance"); writeWakeFields_ = dict.get<bool>("writeWakeFields"); if (writeWakeFields_) { - setSampleDiskSurface(dict); - dict.readIfPresent("interpolationScheme", interpolationScheme_); dict.readIfPresent("nanValue", nanValue_); @@ -884,6 +883,19 @@ bool Foam::functionObjects::propellerInfo::read(const dictionary& dict) bool Foam::functionObjects::propellerInfo::execute() { + if (!initialised_) + { + // Must be set before setting the surface + setCoordinateSystem(dict_); + + if (writeWakeFields_) + { + setSampleDiskSurface(dict_); + } + + initialised_ = true; + } + calcForcesMoments(); createFiles(); diff --git a/src/functionObjects/forces/propellerInfo/propellerInfo.H b/src/functionObjects/forces/propellerInfo/propellerInfo.H index dfd464f0f81..ad34bbbdac3 100644 --- a/src/functionObjects/forces/propellerInfo/propellerInfo.H +++ b/src/functionObjects/forces/propellerInfo/propellerInfo.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -205,6 +205,9 @@ protected: // Protected data + //- Copy of dictionary used during construction + dictionary dict_; + //- Propeller radius scalar radius_; @@ -271,6 +274,9 @@ protected: //- scalar::min scalar nanValue_; + //- Initialised flag + bool initialised_; + // Protected Member Functions -- GitLab From a0fea418e228faad712fc87aa6aea2028b63c5e1 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 3 Jun 2024 12:08:56 +0100 Subject: [PATCH 198/231] ENH: New FreezeParticles cloud function object Sets the particle active flag to false to freeze the particle in space whilst allowing it to evolve its physical models. --- .../include/makeParcelCloudFunctionObjects.H | 4 +- .../makeReactingParcelCloudFunctionObjects.H | 4 +- .../makeThermoParcelCloudFunctionObjects.H | 4 +- .../FreezeParticles/FreezeParticles.C | 71 +++++++++ .../FreezeParticles/FreezeParticles.H | 141 ++++++++++++++++++ 5 files changed, 221 insertions(+), 3 deletions(-) create mode 100644 src/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles/FreezeParticles.C create mode 100644 src/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles/FreezeParticles.H diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H b/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H index 25647e25b44..fe73fa15b7d 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2018 OpenFOAM Foundation - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -33,6 +33,7 @@ License #include "FaceInteraction.H" #include "FacePostProcessing.H" +#include "FreezeParticles.H" #include "ParticleCollector.H" #include "ParticleErosion.H" #include "ParticleTracks.H" @@ -56,6 +57,7 @@ License \ makeCloudFunctionObjectType(FaceInteraction, CloudType); \ makeCloudFunctionObjectType(FacePostProcessing, CloudType); \ + makeCloudFunctionObjectType(FreezeParticles, CloudType); \ makeCloudFunctionObjectType(ParticleCollector, CloudType); \ makeCloudFunctionObjectType(ParticleErosion, CloudType); \ makeCloudFunctionObjectType(ParticleTracks, CloudType); \ diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingParcelCloudFunctionObjects.H b/src/lagrangian/intermediate/parcels/include/makeReactingParcelCloudFunctionObjects.H index 7c029ef8251..11491b4e929 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingParcelCloudFunctionObjects.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingParcelCloudFunctionObjects.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2018 OpenFOAM Foundation - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -33,6 +33,7 @@ License #include "FaceInteraction.H" #include "FacePostProcessing.H" +#include "FreezeParticles.H" #include "ParticleCollector.H" #include "ParticleErosion.H" #include "ParticleTracks.H" @@ -58,6 +59,7 @@ License \ makeCloudFunctionObjectType(FaceInteraction, CloudType); \ makeCloudFunctionObjectType(FacePostProcessing, CloudType); \ + makeCloudFunctionObjectType(FreezeParticles, CloudType); \ makeCloudFunctionObjectType(ParticleCollector, CloudType); \ makeCloudFunctionObjectType(ParticleErosion, CloudType); \ makeCloudFunctionObjectType(ParticleTracks, CloudType); \ diff --git a/src/lagrangian/intermediate/parcels/include/makeThermoParcelCloudFunctionObjects.H b/src/lagrangian/intermediate/parcels/include/makeThermoParcelCloudFunctionObjects.H index f43ae83b606..c6ad49a15a8 100644 --- a/src/lagrangian/intermediate/parcels/include/makeThermoParcelCloudFunctionObjects.H +++ b/src/lagrangian/intermediate/parcels/include/makeThermoParcelCloudFunctionObjects.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,6 +32,7 @@ License #include "FaceInteraction.H" #include "FacePostProcessing.H" +#include "FreezeParticles.H" #include "ParticleCollector.H" #include "ParticleErosion.H" #include "ParticleTracks.H" @@ -56,6 +57,7 @@ License \ makeCloudFunctionObjectType(FaceInteraction, CloudType); \ makeCloudFunctionObjectType(FacePostProcessing, CloudType); \ + makeCloudFunctionObjectType(FreezeParticles, CloudType); \ makeCloudFunctionObjectType(ParticleCollector, CloudType); \ makeCloudFunctionObjectType(ParticleErosion, CloudType); \ makeCloudFunctionObjectType(ParticleTracks, CloudType); \ diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles/FreezeParticles.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles/FreezeParticles.C new file mode 100644 index 00000000000..08ae46878a6 --- /dev/null +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles/FreezeParticles.C @@ -0,0 +1,71 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "FreezeParticles.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class CloudType> +Foam::FreezeParticles<CloudType>::FreezeParticles +( + const dictionary& dict, + CloudType& owner, + const word& modelName +) +: + CloudFunctionObject<CloudType>(dict, owner, modelName, typeName) +{} + + +template<class CloudType> +Foam::FreezeParticles<CloudType>::FreezeParticles +( + const FreezeParticles<CloudType>& vf +) +: + CloudFunctionObject<CloudType>(vf) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class CloudType> +void Foam::FreezeParticles<CloudType>::preEvolve +( + const typename parcelType::trackingData& td +) +{ + auto& c = this->owner(); + + forAllIters(c, particlePtr) + { + particlePtr->active(false); + } +} + + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles/FreezeParticles.H b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles/FreezeParticles.H new file mode 100644 index 00000000000..9802feab23c --- /dev/null +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles/FreezeParticles.H @@ -0,0 +1,141 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::FreezeParticles + +Group + grpLagrangianIntermediateFunctionObjects + +Description + Sets particle active flag to false to freeze particles in space + +Usage + Minimal example by using \c constant/\<CloudProperties\>: + \verbatim + cloudFunctions + { + FreezeParticles + { + // Mandatory entries + type FreezeParticles; + } + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + type | Type name: FreezeParticles | word | yes | - + \endtable + +SourceFiles + FreezeParticles.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_FreezeParticles_H +#define Foam_FreezeParticles_H + +#include "CloudFunctionObject.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class FreezeParticles Declaration +\*---------------------------------------------------------------------------*/ + +template<class CloudType> +class FreezeParticles +: + public CloudFunctionObject<CloudType> +{ + // Private Member Functions + + //- Write post-processing info + virtual void write() + {} + + +public: + + typedef typename CloudType::parcelType parcelType; + + //- Runtime type information + TypeName("FreezeParticles"); + + + // Constructors + + //- Construct from dictionary + FreezeParticles + ( + const dictionary& dict, + CloudType& owner, + const word& modelName + ); + + //- Copy construct + FreezeParticles(const FreezeParticles<CloudType>& vf); + + //- Construct and return a clone + virtual autoPtr<CloudFunctionObject<CloudType>> clone() const + { + return autoPtr<CloudFunctionObject<CloudType>> + ( + new FreezeParticles<CloudType>(*this) + ); + } + + + //- Destructor + virtual ~FreezeParticles() = default; + + + // Member Functions + + //- Pre-evolve hook + virtual void preEvolve(const typename parcelType::trackingData& td); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "FreezeParticles.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // -- GitLab From 8950c9b0c68d66b0b4c60a9817769047c8d15d1d Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 3 Jun 2024 12:12:08 +0100 Subject: [PATCH 199/231] ENH: Lagrangian - added particle Tomiyama drag model Based on the reference Tomiyama, A., Kataoka, I., Zun, I., Sakaguchi, T. (1998) Drag coefficients of single bubbles under normal and micro gravity conditions JSME International Journal, 41(2), 472-479. Example usage subModels { particleForces { tomiyamaDrag { sigma 0.07; contamination pure; // pure | slight | full } } } --- .../parcels/include/makeParcelForces.H | 4 +- .../parcels/include/makeThermoParcelForces.H | 4 +- .../TomiyamaDrag/TomiyamaDragForce.C | 125 +++++++++ .../TomiyamaDrag/TomiyamaDragForce.H | 256 ++++++++++++++++++ 4 files changed, 387 insertions(+), 2 deletions(-) create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag/TomiyamaDragForce.C create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag/TomiyamaDragForce.H diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelForces.H b/src/lagrangian/intermediate/parcels/include/makeParcelForces.H index 3f5fc615066..c4b6a016165 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelForces.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelForces.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,6 +38,7 @@ License #include "PlessisMasliyahDragForce.H" #include "SaffmanMeiLiftForce.H" +#include "TomiyamaDragForce.H" #include "TomiyamaLiftForce.H" #include "GravityForce.H" @@ -60,6 +61,7 @@ License makeParticleForceModelType(ErgunWenYuDragForce, CloudType); \ makeParticleForceModelType(PlessisMasliyahDragForce, CloudType); \ makeParticleForceModelType(SaffmanMeiLiftForce, CloudType); \ + makeParticleForceModelType(TomiyamaDragForce, CloudType); \ makeParticleForceModelType(TomiyamaLiftForce, CloudType); \ makeParticleForceModelType(GravityForce, CloudType); \ makeParticleForceModelType(NonInertialFrameForce, CloudType); \ diff --git a/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H b/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H index 2efc413d19b..682c8a3d84d 100644 --- a/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H +++ b/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,6 +35,7 @@ License #include "NonSphereDragForce.H" #include "SaffmanMeiLiftForce.H" +#include "TomiyamaDragForce.H" #include "TomiyamaLiftForce.H" #include "GravityForce.H" @@ -53,6 +54,7 @@ License makeParticleForceModelType(SphereDragForce, CloudType); \ makeParticleForceModelType(NonSphereDragForce, CloudType); \ makeParticleForceModelType(SaffmanMeiLiftForce, CloudType); \ + makeParticleForceModelType(TomiyamaDragForce, CloudType); \ makeParticleForceModelType(TomiyamaLiftForce, CloudType); \ makeParticleForceModelType(GravityForce, CloudType); \ makeParticleForceModelType(NonInertialFrameForce, CloudType); \ diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag/TomiyamaDragForce.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag/TomiyamaDragForce.C new file mode 100644 index 00000000000..09e953e4a8e --- /dev/null +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag/TomiyamaDragForce.C @@ -0,0 +1,125 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "TomiyamaDragForce.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +template<class CloudType> +const Foam::Enum<typename Foam::TomiyamaDragForce<CloudType>::contaminationType> +Foam::TomiyamaDragForce<CloudType>::contaminationTypeNames +{ + { contaminationType::PURE, "pure" }, + { contaminationType::SLIGHT, "slight" }, + { contaminationType::FULL, "full" }, +}; + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template<class CloudType> +Foam::scalar Foam::TomiyamaDragForce<CloudType>::CdRe(const scalar Re) const +{ + const scalar f = 1 + 0.15*pow(Re, 0.687); + + switch (contaminationType_) + { + case contaminationType::PURE: + { + // Eq. 31 pure system + return min(16*f, 48); + } + case contaminationType::SLIGHT: + { + // Eq. 32 slightly contaminated system + return min(24*f, 72); + } + case contaminationType::FULL: + { + // Eq. 33 fully contaminated system + return 24*f; + } + default: + {} + } + + return Zero; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class CloudType> +Foam::TomiyamaDragForce<CloudType>::TomiyamaDragForce +( + CloudType& owner, + const fvMesh& mesh, + const dictionary& dict +) +: + ParticleForce<CloudType>(owner, mesh, dict, typeName, true), + sigma_(this->coeffs().getScalar("sigma")), + contaminationType_ + ( + contaminationTypeNames.get("contamination", this->coeffs()) + ) +{} + + +template<class CloudType> +Foam::TomiyamaDragForce<CloudType>::TomiyamaDragForce +( + const TomiyamaDragForce<CloudType>& df +) +: + ParticleForce<CloudType>(df), + sigma_(df.sigma_), + contaminationType_(df.contaminationType_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class CloudType> +Foam::forceSuSp Foam::TomiyamaDragForce<CloudType>::calcCoupled +( + const typename CloudType::parcelType& p, + const typename CloudType::parcelType::trackingData& td, + const scalar dt, + const scalar mass, + const scalar Re, + const scalar muc +) const +{ + const scalar Eo = p.Eo(td, sigma_); + const scalar CdRe = max(this->CdRe(Re), Re*8/3*Eo/(Eo + 4)); + + return forceSuSp(Zero, mass*0.75*muc*CdRe/(p.rho()*sqr(p.d()))); +} + + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag/TomiyamaDragForce.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag/TomiyamaDragForce.H new file mode 100644 index 00000000000..1ed29e7b039 --- /dev/null +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag/TomiyamaDragForce.H @@ -0,0 +1,256 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::TomiyamaDragForce + +Group + grpLagrangianIntermediateForceSubModels + +Description + Particle-drag model wherein drag forces (per unit carrier-fluid + velocity) are dynamically computed using empirical expressions based on + their level of contamination. + + \f[ + \mathrm{F}_\mathrm{D} = + \frac{3}{4} + \frac{\mu_c\,\mathrm{C}_\mathrm{D}\,\mathrm{Re}_p}{\rho_p \, d_p^2} + \f] + + For pure systems: + \f[ + \mathrm{C}_\mathrm{D} = + \max\left[ + \min\left(\frac{16}{Re}(1+0.15Re^{0.687}), \frac{48}{Re}\right), + \frac{8}{3}\frac{Eo}{Eo+4} + \right] + \f] + + For slightly contaminated systems: + \f[ + \mathrm{C}_\mathrm{D} = + \max\left[ + \min\left(\frac{24}{Re}(1+0.15Re^{0.687}), \frac{72}{Re}\right), + \frac{8}{3}\frac{Eo}{Eo+4} + \right] + \f] + + For fully contaminated systems: + \f[ + \mathrm{C}_\mathrm{D} = + \max\left[ + \frac{24}{Re}(1+0.15Re^{0.687}), + \frac{8}{3}\frac{Eo}{Eo+4} + \right] + \f] + + where + \vartable + \mathrm{F}_\mathrm{D} | Drag force per carrier-fluid velocity [kg/s] + \mathrm{C}_\mathrm{D} | Particle drag coefficient + \mathrm{Re}_p | Particle Reynolds number + \rho_p | Particle mass density + \mu_c | Dynamic viscosity of carrier at the cell occupying particle + d_p | Particle diameter + \rho_c | Density of carrier at the cell occupying particle + \mathbf{u}_\mathrm{rel} | Relative velocity between particle and carrier + Eo | Eotvos number + \endvartable + + Constraints: + - Applicable to bubbles with a spatially homogeneous distribution. + + References: + \verbatim + Tomiyama, A., Kataoka, I., Zun, I., & Sakaguchi, T. (1998). + Drag coefficients of single bubbles under normal and micro gravity + conditions. + JSME International Journal Series B + Fluids and Thermal Engineering, 41(2), 472-479. + \endverbatim + +Usage + Minimal example by using \c constant/\<CloudProperties\>: + \verbatim + subModels + { + particleForces + { + tomiyamaDrag + { + // Mandatory entries + sigma <scalar>; + contamination <word>; // pure | slight | full + } + } + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + type | Type name: tomiyamaDrag | word | yes | - + sigma | Surface tension | scalar | yes | - + contamination | Contamination type | word | yes | - + \endtable + + Options for the \c contamination entry: + \verbatim + pure | Pure systems + slight | Slightly contaminated systems + full | Fully contaminated systems + \endverbatim + +Note + - \f$\mathrm{F}_\mathrm{D}\f$ is weighted with the particle mass/density + at the stage of a function return, so that it can later be normalised + with the effective mass, if necessary (e.g. when using virtual-mass forces). + +SourceFiles + TomiyamaDragForce.C + +\*---------------------------------------------------------------------------*/ + +#ifndef TomiyamaDragForce_H +#define TomiyamaDragForce_H + +#include "ParticleForce.H" +#include "Enum.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +/*---------------------------------------------------------------------------*\ + Class TomiyamaDragForce Declaration +\*---------------------------------------------------------------------------*/ + +template<class CloudType> +class TomiyamaDragForce +: + public ParticleForce<CloudType> +{ +public: + + // Public Enumerations + + //- Options for the contamination types + enum contaminationType : char + { + PURE = 0, //!< "Pure systems" + SLIGHT, //!< "Slightly contaminated systems" + FULL //!< "Fully contaminated systems" + }; + + //- Names for the contaminationType options + static const Enum<contaminationType> contaminationTypeNames; + + +private: + + // Private Data + + //- Surface tension + const scalar sigma_; + + //- Contamination type option + const contaminationType contaminationType_; + + + // Private Member Functions + + //- Drag coefficient multiplied by Reynolds number + scalar CdRe(const scalar Re) const; + + +public: + + //- Runtime type information + TypeName("TomiyamaDrag"); + + + // Constructors + + //- Construct from mesh + TomiyamaDragForce + ( + CloudType& owner, + const fvMesh& mesh, + const dictionary& dict + ); + + //- Copy construct + TomiyamaDragForce(const TomiyamaDragForce<CloudType>& df); + + //- Construct and return a clone + virtual autoPtr<ParticleForce<CloudType>> clone() const + { + return autoPtr<ParticleForce<CloudType>> + ( + new TomiyamaDragForce<CloudType>(*this) + ); + } + + //- No copy assignment + void operator=(const TomiyamaDragForce<CloudType>&) = delete; + + + //- Destructor + virtual ~TomiyamaDragForce() = default; + + + // Member Functions + + // Evaluation + + //- Calculate the coupled force + virtual forceSuSp calcCoupled + ( + const typename CloudType::parcelType& p, + const typename CloudType::parcelType::trackingData& td, + const scalar dt, + const scalar mass, + const scalar Re, + const scalar muc + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "TomiyamaDragForce.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // -- GitLab From d3861a5dcc3cf7c53d0340f411d59e361849263b Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 3 Jun 2024 22:10:32 +0100 Subject: [PATCH 200/231] ENH: Lagrangian - added tutorial case for particle Tomiyama drag model --- .../kinematicParcelFoam/particleDrag/Allclean | 7 + .../kinematicParcelFoam/particleDrag/Allrun | 16 +++ .../kinematicParcelFoam/particleDrag/Alltest | 7 + .../particleDrag/README.md | 14 ++ .../particleDrag/parcelInBox/0.orig/U | 51 +++++++ .../particleDrag/parcelInBox/0.orig/p | 51 +++++++ .../particleDrag/parcelInBox/Allclean | 10 ++ .../particleDrag/parcelInBox/Allrun | 41 ++++++ .../particleDrag/parcelInBox/constant/g | 20 +++ .../kinematicCloudProperties.TEMPLATE | 106 ++++++++++++++ .../parcelInBox/constant/parcelPositions | 19 +++ .../parcelInBox/constant/transportProperties | 23 +++ .../parcelInBox/constant/turbulenceProperties | 19 +++ .../particleDrag/parcelInBox/plot | 21 +++ .../particleDrag/parcelInBox/process | 11 ++ .../parcelInBox/system/blockMeshDict | 89 ++++++++++++ .../parcelInBox/system/controlDict | 53 +++++++ .../particleDrag/parcelInBox/system/fvSchemes | 54 +++++++ .../parcelInBox/system/fvSolution | 70 +++++++++ .../kinematicParcelFoam/particleDrag/plot | 33 +++++ .../particleDrag/reference.dat | 133 ++++++++++++++++++ 21 files changed, 848 insertions(+) create mode 100755 tutorials/lagrangian/kinematicParcelFoam/particleDrag/Allclean create mode 100755 tutorials/lagrangian/kinematicParcelFoam/particleDrag/Allrun create mode 100755 tutorials/lagrangian/kinematicParcelFoam/particleDrag/Alltest create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/README.md create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/0.orig/U create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/0.orig/p create mode 100755 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/Allclean create mode 100755 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/Allrun create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/g create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/kinematicCloudProperties.TEMPLATE create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/parcelPositions create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/transportProperties create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/turbulenceProperties create mode 100755 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/plot create mode 100755 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/process create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/blockMeshDict create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/controlDict create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/fvSchemes create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/fvSolution create mode 100755 tutorials/lagrangian/kinematicParcelFoam/particleDrag/plot create mode 100644 tutorials/lagrangian/kinematicParcelFoam/particleDrag/reference.dat diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Allclean b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Allclean new file mode 100755 index 00000000000..59040dddba3 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Allclean @@ -0,0 +1,7 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +#------------------------------------------------------------------------------ + +rm -rf parcelInBox-* *.png + +#------------------------------------------------------------------------------ diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Allrun b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Allrun new file mode 100755 index 00000000000..ea47f8f6173 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Allrun @@ -0,0 +1,16 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +#------------------------------------------------------------------------------ + +BASE="parcelInBox" + +for cont in "pure" "slight" "full" +do + cp -rf "$BASE" "$BASE-$cont" + + (cd ./$BASE-$cont && ./Allrun $cont) +done + +./plot + +#------------------------------------------------------------------------------ diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Alltest b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Alltest new file mode 100755 index 00000000000..0258ca10a14 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/Alltest @@ -0,0 +1,7 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +#------------------------------------------------------------------------------ + +echo "--- Skipping testing of tutorials in : $PWD" 1>&2 + +#------------------------------------------------------------------------------ diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/README.md b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/README.md new file mode 100644 index 00000000000..53665d87ec9 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/README.md @@ -0,0 +1,14 @@ +Test case for Tomiyama particle drag model + +Based on the `parcelInBox` tutorial + +- Makes use of the `FreezeParticles` cloud function object to keep the particle + location fixed in space +- Iterates across a range of particle velocities for different contamination + levels to reproduce the validation figure from the reference publication + +Reference + + Tomiyama, A., Kataoka, I., Zun, I., & Sakaguchi, T. (1998). + Drag coefficients of single bubbles under normal and micro gravity conditions. + JSME International Journal Series B Fluids and Thermal Engineering, 41(2), 472-479. diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/0.orig/U b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/0.orig/U new file mode 100644 index 00000000000..fc7e26ea442 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/0.orig/U @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + back + { + type symmetryPlane; + } + + front + { + type symmetryPlane; + } + + walls + { + type noSlip; + } + + outlet + { + type zeroGradient; + } + + inlet + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/0.orig/p b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/0.orig/p new file mode 100644 index 00000000000..95a6b1a7a9e --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/0.orig/p @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + back + { + type symmetryPlane; + } + + front + { + type symmetryPlane; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0; + } + + walls + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/Allclean b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/Allclean new file mode 100755 index 00000000000..2a0e02b0ece --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase0 + +rm -rf logs D_VS_U.txt *.png + +#------------------------------------------------------------------------------ diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/Allrun b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/Allrun new file mode 100755 index 00000000000..e6131eed5d3 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/Allrun @@ -0,0 +1,41 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +./Allclean + +mkdir logs + +D_VS_U="D_VS_U.txt" + +contamination="${1:-pure}" + +runApplication blockMesh + +APP=$(getApplication) + +for d in $(seq -f "%06.4f" 0.0002 0.0002 0.04) +do + foamListTimes -rm + + restore0Dir + + echo "Setting diameter: $d" + + sed -e "s/DIAMETER/$d/g" -e "s/CONTAMINATION/$contamination/g" constant/kinematicCloudProperties.TEMPLATE > constant/kinematicCloudProperties + + runApplication $APP + + mv log.$APP logs/log.${APP}_t$d + + ./process > logs/log.velocity_t$d + + #U=$(tail -5 logs/log.velocity_t$d | awk '{SUM += $2; if (++C == 5) {print SUM/C; exit}}') + U=$(tail -1 logs/log.velocity_t$d | awk '{print $2}') + + echo "$d $U" >> $D_VS_U +done + + +#------------------------------------------------------------------------------ diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/g b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/g new file mode 100644 index 00000000000..881915bac2f --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/g @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 -9.81 0); + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/kinematicCloudProperties.TEMPLATE b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/kinematicCloudProperties.TEMPLATE new file mode 100644 index 00000000000..8641367cbb4 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/kinematicCloudProperties.TEMPLATE @@ -0,0 +1,106 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object kinematicCloudProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solution +{ + active true; + coupled no; + transient yes; + cellValueSourceCorrection no; + maxCo 0.3; + + sourceTerms + { + schemes + { + U semiImplicit 1; + } + } + + interpolationSchemes + { + rho cell; + U cellPoint; + muc cell; + p cell; + curlUcDt cellPoint; + } + + integrationSchemes + { + U Euler; + } +} + +constantProperties +{ + rho0 1.2; +} + +subModels +{ + particleForces + { + gravity; + TomiyamaDrag + { + sigma 0.07; + contamination CONTAMINATION; + } + } + + injectionModels + { + model1 + { + type manualInjection; + massTotal 1; // unused - calculated by number of particles + parcelBasisType fixed; + nParticle 1; + SOI 0; + positionsFile "parcelPositions"; + U0 (0 0 0); + sizeDistribution + { + type fixedValue; + fixedValueDistribution + { + value DIAMETER; + } + } + } + } + + dispersionModel none; + + patchInteractionModel none; + + stochasticCollisionModel none; + + surfaceFilmModel none; +} + + +cloudFunctions +{ + FreezeParticles + { + type FreezeParticles; + } +} + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/parcelPositions b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/parcelPositions new file mode 100644 index 00000000000..4ad02f9731c --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/parcelPositions @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class vectorField; + object parcelPositions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +( +(0.05 0.05 0.005) +) +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/transportProperties b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/transportProperties new file mode 100644 index 00000000000..224305c9fb1 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/transportProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu 1e-06; + +rhoInf 1000; + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/turbulenceProperties b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/turbulenceProperties new file mode 100644 index 00000000000..0e4214acde2 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/constant/turbulenceProperties @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/plot b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/plot new file mode 100755 index 00000000000..4bc1b6d4151 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/plot @@ -0,0 +1,21 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +#------------------------------------------------------------------------------ + +gnuplot<<EOF + +set terminal pngcairo font "helvetica,20" size 1200, 627 +set output "velocity.png" +set logscale x +set logscale y +set xrange [0.1:100] +set yrange [1:100] +set format x '10^{%T}' +set format y '10^{%T}' +set xlabel "Diameter / [mm]" +set ylabel "Terminal velocity / [cm/s]" +plot "D_VS_U.txt" u (\$1*1000):(\$2*100) t "Results" w lines + +EOF + +#------------------------------------------------------------------------------ diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/process b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/process new file mode 100755 index 00000000000..e08508fafa2 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/process @@ -0,0 +1,11 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +#------------------------------------------------------------------------------ + +for t in $(foamListTimes) +do + U=$(awk '/1\(\(/{print $2}' "$t/lagrangian/kinematicCloud/U") + echo "$t $U" +done + +#------------------------------------------------------------------------------ diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/blockMeshDict b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/blockMeshDict new file mode 100644 index 00000000000..c5400ddfaf0 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/blockMeshDict @@ -0,0 +1,89 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 0.1; + +vertices +( + (0 0 0) + (1 0 0) + (1 1 0) + (0 1 0) + (0 0 0.1) + (1 0 0.1) + (1 1 0.1) + (0 1 0.1) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (5 5 5) simpleGrading (1 1 1) +); + +edges +( +); + +boundary +( + outlet + { + type wall; + faces + ( + (3 7 6 2) + ); + } + inlet + { + type wall; + faces + ( + (1 5 4 0) + ); + } + walls + { + type wall; + faces + ( + (0 4 7 3) + (2 6 5 1) + ); + } + back + { + type symmetryPlane; + faces + ( + (0 3 2 1) + ); + } + front + { + type symmetryPlane; + faces + ( + (4 5 6 7) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/controlDict b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/controlDict new file mode 100644 index 00000000000..7897fa99f56 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/controlDict @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application kinematicParcelFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 0.1; + +deltaT 0.001; + +writeControl adjustable; + +writeInterval 0.02; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 10; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +adjustTimeStep yes; + +maxCo 5; + +maxDeltaT 1e-3; + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/fvSchemes b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/fvSchemes new file mode 100644 index 00000000000..1f567f82caa --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/fvSchemes @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; + grad(p) Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) Gauss upwind; + div(phi,K) Gauss upwind; + div(phi,k) Gauss upwind; + div(phi,epsilon) Gauss upwind; + div(phi,omega) Gauss upwind; + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear orthogonal; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default orthogonal; +} + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/fvSolution b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/fvSolution new file mode 100644 index 00000000000..a9d5f019506 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox/system/fvSolution @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2312 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + "(U|k|epsilon)" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-05; + relTol 0.1; + } + + "(U|k|epsilon)Final" + { + $U; + tolerance 1e-05; + relTol 0; + } + + p + { + solver GAMG; + tolerance 0; + relTol 0.1; + smoother GaussSeidel; + maxIter 20; + } + + pFinal + { + $p; + tolerance 1e-06; + relTol 0; + } +} + +PIMPLE +{ + nCorrectors 2; + nNonOrthogonalCorrectors 0; + momentumPredictor yes; + pRefCell 0; + pRefValue 0; + + solvePrimaryRegion no; +} + +relaxationFactors +{ + equations + { + ".*" 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/plot b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/plot new file mode 100755 index 00000000000..469dccb0ff2 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/plot @@ -0,0 +1,33 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +#------------------------------------------------------------------------------ + +# Require gnuplot +command -v gnuplot >/dev/null || { + echo "FOAM FATAL ERROR: gnuplot not found - skipping graph creation" 1>&2 + exit 1 +} + +#------------------------------------------------------------------------------ + +gnuplot<<EOF + +set terminal pngcairo font "helvetica,20" size 1200, 627 +set output "velocity-all.png" +set logscale x +set logscale y +set xrange [0.1:100] +set yrange [1:100] +set format x '10^{%T}' +set format y '10^{%T}' +set xlabel "Diameter / [mm]" +set ylabel "Terminal velocity / [cm/s]" +set key bottom right +plot "parcelInBox-pure/D_VS_U.txt" u (\$1*1000):(\$2*100) w lines lw 2 t "Pure", \ + "parcelInBox-slight/D_VS_U.txt" u (\$1*1000):(\$2*100) w lines lw 2 t "Slight", \ + "parcelInBox-full/D_VS_U.txt" u (\$1*1000):(\$2*100) w lines lw 2 t "Full", \ + "reference.dat" w points ps 1.5 pt 6 lw 2 t "Reference" + +EOF + +#------------------------------------------------------------------------------ diff --git a/tutorials/lagrangian/kinematicParcelFoam/particleDrag/reference.dat b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/reference.dat new file mode 100644 index 00000000000..c8905c2ad27 --- /dev/null +++ b/tutorials/lagrangian/kinematicParcelFoam/particleDrag/reference.dat @@ -0,0 +1,133 @@ +0.23165101120517492 2.1732780450024016 +0.2786631410991471 2.7554435877275303 +0.31515405186588796 3.277250219184025 +0.31886520638584326 3.5902134819203972 +0.4978239202916686 4.942987804512482 +0.4676150366190196 5.17315663478947 +0.6619921926307331 5.774038478986354 +0.7126355937667286 6.501402977557853 +0.6610628611729201 6.866357210111907 +0.8370505701073748 7.254777453922249 +0.5904419261961209 7.729417543954037 +0.5900055251010418 8.467404459440496 +0.7282245608167323 9.711289880017386 +0.8137593798629431 10.935174992075732 +0.9006865413556834 8.628069378407506 +0.9229787505679002 9.113601233170218 +0.8779584829617016 9.365749545622034 +1.0061805423494876 10.076364347300366 +0.9809354792026469 10.740192528563373 +0.9684440612161139 11.241045328313858 +0.7931662069226446 11.978846567813266 +0.773380028323336 12.537256146456983 +0.9092735998230909 12.426101889245032 +0.8535921282048915 13.988908480817003 +0.9310208142063753 14.51025998543782 +1.1648114905293085 14.514552073234752 +1.1091428316485272 13.128381987289988 +0.8308229564337555 18.22299739902968 +0.98860499126058 19.077500879260405 +1.1923177540005803 17.57864258431216 +1.268687107568668 17.90365589267156 +1.3002796861863217 18.56938019922389 +1.2368557564382168 19.083143942086448 +1.0774039588371362 21.87644441480781 +1.0506825972403409 22.482444334007745 +0.9504729461553073 24.4022360263223 +1.1748738107474148 23.321107095659826 +1.2039522210317675 24.633467936384264 +1.2960563817107371 27.73658373979171 +1.364229713919241 23.113964341791714 +1.3649359780109478 21.68462736014056 +1.4695729381364084 23.975002889223052 +1.564394669867641 23.11814228994263 +1.9599847486630102 19.446195923303094 +2.423441825934615 17.91895926989588 +2.7790183988404484 17.922198198607575 +1.8679698156044853 15.765871408835274 +1.1154204807714807 30.378818282070274 +1.232473890918246 29.562890943806565 +1.3612070046903368 30.386805667113173 +1.2312898095053275 33.28369232462191 +1.1856365436426777 35.153794797654214 +1.359497109974116 35.482242560145025 +1.4836934021925274 34.21524044054916 +1.5596594378452673 33.59908357572838 +1.7440119709056936 34.85243040056519 +1.6797207455234935 35.817289914583135 +1.5609284572804127 30.39229821251436 +1.6416984467099933 27.99941142614912 +1.7253716846940905 28.257764337258006 +1.8572278954709418 32.10891013161875 +1.977062413852472 30.961345724442516 +1.7233317560557992 32.69666497025472 +1.3775416734000945 32.39027682401308 +2.0040446434815276 27.003599607874264 +1.9796954153373971 26.274439681552593 +1.9543410934478054 27.751626977870593 +2.15783566787852 29.5847573118874 +2.296217350703592 29.858228930341827 +2.3546156284462203 29.053419450979717 +2.506543256981503 28.01505751555313 +2.3863976489540977 25.805946495094368 +2.3577514457085824 24.655333902523985 +2.7724509467327523 23.99510156728321 +3.101073064604044 23.998650141460843 +3.0611307106833245 25.580095073641456 +2.9836650670570997 28.02150256390747 +2.767944828660806 29.32583406357721 +3.2977492237579575 26.29214567446453 +3.509752366187053 26.05561659895924 +3.6902723615878426 24.895917143417048 +3.468134284308305 24.44397009729808 +3.8809379450247494 23.14588781506479 +4.445759528069668 26.30251569408809 +4.179689373311847 24.673975774787817 +4.286305742022923 23.790961322628167 +4.616603382692932 25.131414170626826 +4.913755298669292 24.679246684101443 +5.296709631239145 23.581582461886754 +5.040586919016832 22.943693976492987 +4.9192080391357305 21.524178961745047 +2.8057207341882155 25.577153146629186 +5.707399207390559 23.583907351182233 +6.002283837346771 21.92610421406726 +6.547714573315105 22.33223203948944 +7.147463547975362 20.95364619571266 +8.091794963612895 21.93475220095214 +7.414450890782723 22.747003617969234 +7.4117103396422435 23.80816726002665 +7.407875269752266 25.377476861935904 +6.707787946910021 24.46526586984581 +9.747658509920964 23.38633920785961 +10.501130569943498 24.037324156745406 +11.0330832155357 25.160335710872054 +10.365874203823042 25.62131759999305 +12.79993734016203 27.820565335612148 +13.127411333538197 26.581436934213123 +13.802604334726778 25.39833394284629 +14.689935448804953 25.16984576537851 +13.981670145905074 24.046409737539996 +12.345411673306193 24.04245906313136 +13.138092473094165 24.044434319195126 +13.134207417179638 24.93767603393331 +14.4975104376071 27.572551401799 +16.21232215792386 28.34146123410482 +15.622755153061773 27.32495252117466 +17.2622236746448 26.591047220060872 +17.253291615617243 28.34378968324605 +17.03232554887369 29.93731885292788 +19.532817098527627 29.670922059622974 +19.54148435521353 28.091111324854964 +21.584207513879484 28.611901043506922 +18.35295647779691 29.94027034917495 +18.574567765516946 31.62459520176675 +22.944636449551577 32.808599943161525 +24.72003288529783 33.4157505206007 +23.50730689166101 35.61600079207824 +25.632054756888756 38.31580302071371 +26.954395049516194 35.94876702219261 +31.667232345313366 39.03192290876572 +30.493087504485278 41.22499977196252 +33.67812057650644 42.37393626619761 +35.38937597655966 43.552031042597214 -- GitLab From bf9b9204c31b472f936039de5e25c9a1eaeedfbb Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 3 Jun 2024 10:46:27 +0100 Subject: [PATCH 201/231] ENH: MRF - added function to return the frame absolute flux --- .../cfdTools/general/MRF/MRFZoneList.C | 23 ++++++++++++++++++- .../cfdTools/general/MRF/MRFZoneList.H | 5 +++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C index a66957b9ec8..d50d8a65cfd 100644 --- a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C +++ b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,6 +28,7 @@ License #include "MRFZoneList.H" #include "volFields.H" +#include "surfaceFields.H" #include "fixedValueFvsPatchFields.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -216,6 +217,26 @@ Foam::tmp<Foam::volVectorField> Foam::MRFZoneList::DDt } +Foam::tmp<Foam::surfaceScalarField> Foam::MRFZoneList::phi() const +{ + auto tphi = surfaceScalarField::New + ( + "phiMRF", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimVelocity*dimArea, Zero) + ); + auto& phi = tphi.ref(); + + for (const auto& mrf : *this) + { + mrf.makeAbsolute(phi); + } + + return tphi; +} + + void Foam::MRFZoneList::makeRelative(volVectorField& U) const { for (const auto& mrf: *this) diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.H b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.H index 72ee1c98603..c91c24f4e74 100644 --- a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.H +++ b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2018 OpenFOAM Foundation - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -127,6 +127,9 @@ public: const volVectorField& U ) const; + //- Return the MRF absolute flux + tmp<surfaceScalarField> phi() const; + //- Make the given absolute velocity relative within the MRF region void makeRelative(volVectorField& U) const; -- GitLab From f6ba6bc40e35d0094a9ce0ae220c3d560b4a1f9a Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 3 Jun 2024 11:17:02 +0100 Subject: [PATCH 202/231] ENH: MRF - added work term to compressible solver energy eqns --- applications/solvers/combustion/reactingFoam/EEqn.H | 5 +++++ applications/solvers/compressible/rhoPimpleFoam/EEqn.H | 5 +++++ applications/solvers/compressible/rhoSimpleFoam/EEqn.H | 5 +++++ applications/solvers/compressible/sonicFoam/EEqn.H | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/applications/solvers/combustion/reactingFoam/EEqn.H b/applications/solvers/combustion/reactingFoam/EEqn.H index f92598bbed3..b82fde0266b 100644 --- a/applications/solvers/combustion/reactingFoam/EEqn.H +++ b/applications/solvers/combustion/reactingFoam/EEqn.H @@ -21,6 +21,11 @@ + fvOptions(rho, he) ); + if (MRF.active()) + { + EEqn += fvc::div(MRF.phi(), p); + } + EEqn.relax(); fvOptions.constrain(EEqn); diff --git a/applications/solvers/compressible/rhoPimpleFoam/EEqn.H b/applications/solvers/compressible/rhoPimpleFoam/EEqn.H index ee2a95f2082..1b27acf827f 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/EEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/EEqn.H @@ -20,6 +20,11 @@ fvOptions(rho, he) ); + if (MRF.active()) + { + EEqn += fvc::div(MRF.phi(), p); + } + EEqn.relax(); fvOptions.constrain(EEqn); diff --git a/applications/solvers/compressible/rhoSimpleFoam/EEqn.H b/applications/solvers/compressible/rhoSimpleFoam/EEqn.H index 56e78ff6308..f791d0a0f63 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/EEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/EEqn.H @@ -14,6 +14,11 @@ fvOptions(rho, he) ); + if (MRF.active()) + { + EEqn += fvc::div(MRF.phi(), p); + } + EEqn.relax(); fvOptions.constrain(EEqn); diff --git a/applications/solvers/compressible/sonicFoam/EEqn.H b/applications/solvers/compressible/sonicFoam/EEqn.H index 73ce8373964..99fc62490e9 100644 --- a/applications/solvers/compressible/sonicFoam/EEqn.H +++ b/applications/solvers/compressible/sonicFoam/EEqn.H @@ -9,6 +9,11 @@ fvOptions(rho, e) ); + if (MRF.active()) + { + EEqn += fvc::div(MRF.phi(), p); + } + EEqn.relax(); fvOptions.constrain(EEqn); -- GitLab From 1b825b44707879a23afca8a10b55f0717593e989 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 6 Jun 2024 17:00:31 +0100 Subject: [PATCH 203/231] ENH: cellDecomposer: functionObject to map fields to 'tet' mesh. --- .../polyTopoChange/tetDecomposer.C | 974 +++++++++++++++--- .../polyTopoChange/tetDecomposer.H | 63 +- src/functionObjects/field/Make/files | 1 + src/functionObjects/field/Make/options | 1 + 4 files changed, 910 insertions(+), 129 deletions(-) diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C index 50363fc4ba9..0d83b5dc2f7 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2016 OpenFOAM Foundation - Copyright (C) 2015-2020,2022 OpenCFD Ltd. + Copyright (C) 2015-2020,2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,6 +34,7 @@ License #include "OFstream.H" #include "edgeHashes.H" #include "syncTools.H" +#include "dummyTransform.H" #include "triangle.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -52,6 +53,7 @@ Foam::tetDecomposer::decompositionTypeNames { decompositionType::FACE_CENTRE_TRIS, "faceCentre" }, { decompositionType::FACE_DIAG_TRIS, "faceDiagonal" }, { decompositionType::PYRAMID, "pyramid" }, + { decompositionType::FACE_DIAG_QUADS, "faceDiagonalQuads" }, }); @@ -69,6 +71,13 @@ void Foam::tetDecomposer::modifyFace const bool zoneFlip ) const { + if (own == nei) + { + FatalErrorInFunction + << "Problem own:" << own + << " nei:" << nei << exit(FatalError); + } + // First usage of face. Modify. if (nei == -1 || own < nei) { @@ -105,6 +114,7 @@ void Foam::tetDecomposer::addFace ( polyTopoChange& meshMod, const face& f, + const label facei, const label own, const label nei, const label masterPointID, @@ -115,9 +125,17 @@ void Foam::tetDecomposer::addFace const bool zoneFlip ) const { + if (own == nei) + { + FatalErrorInFunction + << "Problem own:" << own + << " nei:" << nei << exit(FatalError); + } + // Second or more usage of face. Add. if (nei == -1 || own < nei) { + //const label newFacei = meshMod.addFace ( f, // modified face @@ -134,6 +152,7 @@ void Foam::tetDecomposer::addFace } else { + //const label newFacei = meshMod.addFace ( f.reverseFace(), // modified face @@ -199,6 +218,273 @@ const } +void Foam::tetDecomposer::splitBoundaryFaces +( + List<faceList>& boundaryQuads, + List<faceList>& boundaryTris +) const +{ + // Work space + faceList quadFaces(1000); + faceList triFaces(1000); + + const auto& pbm = mesh_.boundaryMesh(); + for (const auto& pp : pbm) + { + if (pp.coupled() && refCast<const coupledPolyPatch>(pp).owner()) + { + forAll(pp, i) + { + const label facei = pp.start()+i; + const face& meshFace = pp[i]; + + if (meshFace.size() > 4) + { + label trii = 0; + label quadi = 0; + meshFace.trianglesQuads + ( + mesh_.points(), + trii, + quadi, + triFaces, + quadFaces + ); + + const label bFacei = facei-mesh_.nInternalFaces(); + + { + auto& faces = boundaryTris[bFacei]; + faces.setSize(trii); + // Express as relative w.r.t. 0th vertex + for (label i = 0; i < trii; i++) + { + const auto& f = triFaces[i]; + auto& verts = faces[i]; + verts.setSize(f.size()); + forAll(f, fp) + { + verts[fp] = meshFace.find(f[fp]); + } + } + } + { + auto& faces = boundaryQuads[bFacei]; + faces.setSize(quadi); + // Express as relative w.r.t. 0th vertex + for (label i = 0; i < quadi; i++) + { + const auto& f = quadFaces[i]; + auto& verts = faces[i]; + verts.setSize(f.size()); + forAll(f, fp) + { + verts[fp] = meshFace.find(f[fp]); + } + } + } + } + } + } + } + + // Send coupled side indices to neighbour. Note: could also do re-indexing + // here... + syncTools::syncBoundaryFaceList + ( + mesh_, + boundaryTris, + [](faceList& result, const faceList& input) + { + if (!result.size()) + { + result = input; + } + }, + dummyTransform() + ); + syncTools::syncBoundaryFaceList + ( + mesh_, + boundaryQuads, + [](faceList& result, const faceList& input) + { + if (!result.size()) + { + result = input; + } + }, + dummyTransform() + ); +} + + +void Foam::tetDecomposer::relativeIndicesToFace +( + const bool doFlip, + const face& meshFace, + const faceList& indexLists, + faceList& faces +) const +{ + //faces.setSize(indexLists.size()); + + if (!doFlip) + { + forAll(indexLists, facei) + { + const auto& verts = indexLists[facei]; + auto& f = faces[facei]; + f.setSize(verts.size()); + + forAll(verts, fp) + { + f[fp] = meshFace[verts[fp]]; + } + } + } + else + { + forAllReverse(indexLists, facei) + { + const auto& verts = indexLists[facei]; + auto& f = faces[facei]; + f.setSize(verts.size()); + + // - 0th vertex matches; walking order opposite + // - assemble in opposite order so as to flip normal + label destFp = verts.size()-1; + forAll(verts, fp) + { + if (verts[fp] == 0) + { + f[destFp] = meshFace[0]; + } + else + { + f[destFp] = meshFace[meshFace.size()-verts[fp]]; + } + --destFp; + } + } + } +} + + +void Foam::tetDecomposer::splitFace +( + const List<faceList>& boundaryQuads, + const List<faceList>& boundaryTris, + const label facei, + const label patchi, + label& quadi, + faceList& quadFaces, + label& trii, + faceList& triFaces +) const +{ + // Split face into quads (in quadFaces) and tris (in triFaces) + + const face& f = mesh_.faces()[facei]; + + trii = 0; + quadi = 0; + if (patchi != -1 && mesh_.boundaryMesh()[patchi].coupled()) + { + const auto& pp = mesh_.boundaryMesh()[patchi]; + const bool owner = + refCast<const coupledPolyPatch>(pp).owner(); + const label bFacei = facei-mesh_.nInternalFaces(); + + // Triangles + trii = boundaryTris[bFacei].size(); + relativeIndicesToFace + ( + !owner, + f, + boundaryTris[bFacei], + triFaces + ); + + // Quads + quadi = boundaryQuads[bFacei].size(); + relativeIndicesToFace + ( + !owner, + f, + boundaryQuads[bFacei], + quadFaces + ); + } + else if (f.size() == 4) + { + quadFaces[quadi++] = f; + } + else + { + f.trianglesQuads + ( + mesh_.points(), + trii, + quadi, + triFaces, + quadFaces + ); + } +} + + +void Foam::tetDecomposer::splitFace +( + const List<faceList>& boundaryQuads, + const List<faceList>& boundaryTris, + const label facei, + const label patchi, + faceList& quadFaces, + faceList& triFaces, + faceList& subFaces +) const +{ + const face& f = mesh_.faces()[facei]; + + if (f.size() <= 4) + { + subFaces.resize_nocopy(1); + subFaces[0] = f; + } + else + { + label trii; + label quadi; + splitFace + ( + boundaryQuads, + boundaryTris, + facei, + patchi, + quadi, + quadFaces, + trii, + triFaces + ); + + // Collect into single face list + subFaces.resize_nocopy(quadi+trii); + { + label subFacei = 0; + for (label i = 0; i < quadi; i++) + { + subFaces[subFacei++] = quadFaces[i]; + } + for (label i = 0; i < trii; i++) + { + subFaces[subFacei++] = triFaces[i]; + } + } + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::tetDecomposer::tetDecomposer(const polyMesh& mesh) @@ -216,25 +502,6 @@ void Foam::tetDecomposer::setRefinement polyTopoChange& meshMod ) { - cellToPoint_.setSize(mesh_.nCells(), -1); - forAll(mesh_.cellCentres(), celli) - { - if (decomposeCell[celli]) - { - // Any point on the cell - label masterPointi = mesh_.faces()[mesh_.cells()[celli][0]][0]; - - cellToPoint_[celli] = meshMod.addPoint - ( - mesh_.cellCentres()[celli], - masterPointi, - -1, - true - ); - } - } - - // Determine for every face whether it borders a cell that is decomposed bitSet decomposeFace(mesh_.nFaces()); { @@ -272,6 +539,95 @@ void Foam::tetDecomposer::setRefinement } } } + setRefinement(decomposeType, decomposeCell, decomposeFace, meshMod); +} + + +void Foam::tetDecomposer::setRefinement +( + const decompositionType decomposeType, + const bitSet& decomposeCell, + const bitSet& decomposeFace, + polyTopoChange& meshMod +) +{ + if (debug) + { + // Check that current mesh makes sense + const auto& faces = mesh_.faces(); + labelList nVerts(mesh_.nFaces()); + forAll(faces, facei) + { + nVerts[facei] = faces[facei].size(); + } + syncTools::swapFaceList(mesh_, nVerts); + forAll(nVerts, facei) + { + if (nVerts[facei] != faces[facei].size()) + { + FatalErrorInFunction<< "problem with nVerts" + << exit(FatalError); + } + } + } + if (debug) + { + // Check that decomposeFace makes sense + bitSet newDecomposeFace(decomposeFace); + syncTools::swapFaceList(mesh_, newDecomposeFace); + forAll(newDecomposeFace, facei) + { + if (decomposeFace[facei] != newDecomposeFace[facei]) + { + FatalErrorInFunction<< "problem with decomposeFace" + << exit(FatalError); + } + } + } + + + // For diagonal splitting : send over diagonals since two sides of + // coupled face might make different decisions + // TBD: probably also for FACE_DIAG_TRIS ? + faceList quadFaces; + faceList triFaces; + List<faceList> boundaryQuads; + List<faceList> boundaryTris; + faceList subFaces; + + if (decomposeType == FACE_DIAG_QUADS) + { + // Pre-calculate coupled faces triangulation. Store as indices w.r.t. + // vertex 0. + // Note: could triangulate all faces here but trying to save some + // memory so only doing: + // - faces on proc boundaries + // - faces > 4 verts + quadFaces.resize_nocopy(1000); + triFaces.resize_nocopy(1000); + boundaryQuads.resize_nocopy(mesh_.nBoundaryFaces()); + boundaryTris.resize_nocopy(mesh_.nBoundaryFaces()); + splitBoundaryFaces(boundaryQuads, boundaryTris); + } + + + cellToPoint_.setSize(mesh_.nCells(), -1); + forAll(mesh_.cellCentres(), celli) + { + if (decomposeCell[celli]) + { + // Any point on the cell + label masterPointi = mesh_.faces()[mesh_.cells()[celli][0]][0]; + + cellToPoint_[celli] = meshMod.addPoint + ( + mesh_.cellCentres()[celli], + masterPointi, + -1, + true + ); + } + } // Add face centre points @@ -306,9 +662,17 @@ void Foam::tetDecomposer::setRefinement { forAll(faceOwnerCells_, facei) { - const face& f = mesh_.faces()[facei]; - faceOwnerCells_[facei].setSize(f.size(), -1); - faceNeighbourCells_[facei].setSize(f.size(), -1); + if (decomposeFace[facei]) + { + const face& f = mesh_.faces()[facei]; + faceOwnerCells_[facei].setSize(f.size(), -1); + faceNeighbourCells_[facei].setSize(f.size(), -1); + } + else + { + faceOwnerCells_[facei].setSize(1, -1); + faceNeighbourCells_[facei].setSize(1, -1); + } } } else if (decomposeType == FACE_DIAG_TRIS) @@ -318,9 +682,78 @@ void Foam::tetDecomposer::setRefinement forAll(faceOwnerCells_, facei) { - const face& f = mesh_.faces()[facei]; - faceOwnerCells_[facei].setSize(f.size()-2, -1); - faceNeighbourCells_[facei].setSize(f.size()-2, -1); + if (decomposeFace[facei]) + { + const face& f = mesh_.faces()[facei]; + faceOwnerCells_[facei].setSize(f.size()-2, -1); + faceNeighbourCells_[facei].setSize(f.size()-2, -1); + } + else + { + faceOwnerCells_[facei].setSize(1, -1); + faceNeighbourCells_[facei].setSize(1, -1); + } + } + } + else if (decomposeType == FACE_DIAG_QUADS) + { + // Note: sizing according to the number of sub-faces, not according to + // f.size(). Plus: less storage. Min: much harder to look up + // cell corresponding to face+edge + + // Do coupled faces first - do not use local face triangulation + // but use coupled version instead + const auto& pbm = mesh_.boundaryMesh(); + for (const auto& pp : pbm) + { + if (pp.coupled()) + { + forAll(pp, i) + { + const label facei = pp.start()+i; + if (decomposeFace[facei]) + { + const label bFacei = pp.offset()+i; + const label n = + boundaryQuads[bFacei].size() + + boundaryTris[bFacei].size(); + + faceOwnerCells_[facei].setSize(n, -1); + faceNeighbourCells_[facei].setSize(n, -1); + } + } + } + } + + // Do all other faces + forAll(faceOwnerCells_, facei) + { + if (faceOwnerCells_[facei].empty()) + { + if (decomposeFace[facei]) + { + const face& f = mesh_.faces()[facei]; + + // Convention: quads first, followed by triangles + + label nTris = 0; + label nQuads = 0; + const label nSubFaces = f.nTrianglesQuads + ( + mesh_.points(), + nTris, + nQuads + ); + + faceOwnerCells_[facei].setSize(nSubFaces, -1); + faceNeighbourCells_[facei].setSize(nSubFaces, -1); + } + else + { + faceOwnerCells_[facei].setSize(1, -1); + faceNeighbourCells_[facei].setSize(1, -1); + } + } } } else @@ -345,7 +778,6 @@ void Foam::tetDecomposer::setRefinement forAll(cFaces, cFacei) { label facei = cFaces[cFacei]; - const face& f = mesh_.faces()[facei]; // Get reference to either owner or neighbour labelList& added = @@ -359,17 +791,17 @@ void Foam::tetDecomposer::setRefinement { if (decomposeType == FACE_CENTRE_TRIS) { - forAll(f, fp) + forAll(added, i) { if (!modifiedCell) { // Reuse cell itself - added[fp] = celli; + added[i] = celli; modifiedCell = true; } else { - added[fp] = meshMod.addCell + added[i] = meshMod.addCell ( -1, // masterPoint -1, // masterEdge @@ -380,19 +812,23 @@ void Foam::tetDecomposer::setRefinement } } } - else if (decomposeType == FACE_DIAG_TRIS) + else if + ( + decomposeType == FACE_DIAG_TRIS + || decomposeType == FACE_DIAG_QUADS + ) { - for (label triI = 0; triI < f.size()-2; triI++) + forAll(added, subi) { if (!modifiedCell) { // Reuse cell itself - added[triI] = celli; + added[subi] = celli; modifiedCell = true; } else { - added[triI] = meshMod.addCell + added[subi] = meshMod.addCell ( -1, // masterPoint -1, // masterEdge @@ -400,12 +836,6 @@ void Foam::tetDecomposer::setRefinement celli, // masterCell mesh_.cellZones().whichZone(celli) ); - //Pout<< "For cell:" << celli - // << " at:" << mesh_.cellCentres()[celli] - // << " face:" << facei - // << " at:" << mesh_.faceCentres()[facei] - // << " tri:" << triI - // << " added cell:" << added[triI] << endl; } } } @@ -413,6 +843,19 @@ void Foam::tetDecomposer::setRefinement { // Pyramidal decomposition. // Assign same cell to all slots + + if (added.size() != 1) + { + FatalErrorInFunction + << "For cell:" << celli + << " at:" << mesh_.cellCentres()[celli] + << " face:" << facei + << " at:" << mesh_.faceCentres()[facei] + << " added cells:" << added + << exit(FatalError); + } + + if (!modifiedCell) { // Reuse cell itself @@ -442,33 +885,36 @@ void Foam::tetDecomposer::setRefinement - // Add triangle faces + // Add split faces face triangle(3); forAll(mesh_.faces(), facei) { label own = mesh_.faceOwner()[facei]; - const labelList& addedOwn = faceOwnerCells_[facei]; - const labelList& addedNei = faceNeighbourCells_[facei]; + const auto& addedOwn = faceOwnerCells_[facei]; + const auto& addedNei = faceNeighbourCells_[facei]; const face& f = mesh_.faces()[facei]; + //const point& fc = mesh_.faceCentres()[facei]; + label nei = -1; label patchi = -1; if (facei >= mesh_.nInternalFaces()) { patchi = mesh_.boundaryMesh().whichPatch(facei); } + else + { + nei = mesh_.faceNeighbour()[facei]; + } - label zoneI = mesh_.faceZones().whichZone(facei); + label zonei = mesh_.faceZones().whichZone(facei); bool zoneFlip = false; - if (zoneI != -1) + if (zonei != -1) { - const faceZone& fz = mesh_.faceZones()[zoneI]; + const faceZone& fz = mesh_.faceZones()[zonei]; zoneFlip = fz.flipMap()[fz.whichFace(facei)]; } - //Pout<< "Face:" << facei << " at:" << mesh_.faceCentres()[facei] - // << endl; - if (decomposeType == FACE_CENTRE_TRIS && decomposeFace[facei]) { forAll(f, fp) @@ -480,12 +926,18 @@ void Foam::tetDecomposer::setRefinement triangle[1] = f[f.fcIndex(fp)]; triangle[2] = faceToPoint_[facei]; - //Pout<< " triangle:" << triangle - // << " points:" - // << UIndirectList<point>(meshMod.points(), triangle) - // << " between:" << addedOwn[fp] - // << " and:" << addedNei[fp] << endl; - + const label newOwn + ( + addedOwn.size() == 1 + ? addedOwn[0] + : addedOwn[fp] + ); + const label newNei + ( + addedNei.size() == 1 + ? addedNei[0] + : addedNei[fp] + ); if (fp == 0) { @@ -494,10 +946,10 @@ void Foam::tetDecomposer::setRefinement meshMod, triangle, facei, - addedOwn[fp], - addedNei[fp], + newOwn, + newNei, patchi, - zoneI, + zonei, zoneFlip ); } @@ -507,13 +959,14 @@ void Foam::tetDecomposer::setRefinement ( meshMod, triangle, - addedOwn[fp], - addedNei[fp], + facei, + newOwn, + newNei, -1, //point -1, //edge facei, //face patchi, - zoneI, + zonei, zoneFlip ); } @@ -534,6 +987,7 @@ void Foam::tetDecomposer::setRefinement ( meshMod, triangle, + facei, newOwn, newNei, f[fp], //point @@ -545,23 +999,20 @@ void Foam::tetDecomposer::setRefinement ); } // 2b. Within neighbour cell - to cell centre - if - ( - facei < mesh_.nInternalFaces() - && decomposeCell[mesh_.faceNeighbour()[facei]] - ) + if (facei < mesh_.nInternalFaces() && decomposeCell[nei]) { label newOwn = addedNei[f.rcIndex(fp)]; label newNei = addedNei[fp]; triangle[0] = f[fp]; triangle[1] = faceToPoint_[facei]; - triangle[2] = cellToPoint_[mesh_.faceNeighbour()[facei]]; + triangle[2] = cellToPoint_[nei]; addFace ( meshMod, triangle, + facei, newOwn, newNei, f[fp], //point @@ -579,9 +1030,9 @@ void Foam::tetDecomposer::setRefinement label fp0 = max(mesh_.tetBasePtIs()[facei], 0); label fp = f.fcIndex(fp0); - for (label triI = 0; triI < f.size()-2; triI++) + for (label trii = 0; trii < f.size()-2; trii++) { - label nextTri = triI+1; + label nextTri = trii+1; if (nextTri >= f.size()-2) { nextTri -= f.size()-2; @@ -589,27 +1040,40 @@ void Foam::tetDecomposer::setRefinement label nextFp = f.fcIndex(fp); - // Triangle triI consisiting of f[fp0], f[fp], f[nextFp] + // Triangle trii consisiting of f[fp0], f[fp], f[nextFp] // 1. Front triangle (decomposition of face itself) // (between owner and neighbour cell) { + const label newOwn + ( + addedOwn.size() == 1 + ? addedOwn[0] + : addedOwn[trii] + ); + const label newNei + ( + addedNei.size() == 1 + ? addedNei[0] + : addedNei[trii] + ); + triangle[0] = f[fp0]; triangle[1] = f[fp]; triangle[2] = f[nextFp]; - if (triI == 0) + if (trii == 0) { modifyFace ( meshMod, triangle, facei, - addedOwn[triI], - addedNei[triI], + newOwn, + newNei, patchi, - zoneI, + zonei, zoneFlip ); } @@ -619,13 +1083,14 @@ void Foam::tetDecomposer::setRefinement ( meshMod, triangle, - addedOwn[triI], - addedNei[triI], + facei, + newOwn, + newNei, -1, //point -1, //edge facei, //face patchi, - zoneI, + zonei, zoneFlip ); } @@ -633,11 +1098,11 @@ void Foam::tetDecomposer::setRefinement // 2. Within owner cell - diagonal to cell centre - if (triI < f.size()-3) + if (trii < f.size()-3) { if (decomposeCell[own]) { - label newOwn = addedOwn[triI]; + label newOwn = addedOwn[trii]; label newNei = addedOwn[nextTri]; triangle[0] = f[fp0]; @@ -648,6 +1113,7 @@ void Foam::tetDecomposer::setRefinement ( meshMod, triangle, + facei, newOwn, newNei, f[fp], //point @@ -660,24 +1126,20 @@ void Foam::tetDecomposer::setRefinement } // 2b. Within neighbour cell - to cell centre - if - ( - facei < mesh_.nInternalFaces() - && decomposeCell[mesh_.faceNeighbour()[facei]] - ) + if (facei < mesh_.nInternalFaces() && decomposeCell[nei]) { - label newOwn = addedNei[triI]; + label newOwn = addedNei[trii]; label newNei = addedNei[nextTri]; triangle[0] = f[nextFp]; triangle[1] = f[fp0]; - triangle[2] = - cellToPoint_[mesh_.faceNeighbour()[facei]]; + triangle[2] = cellToPoint_[nei]; addFace ( meshMod, triangle, + facei, newOwn, newNei, f[fp], //point @@ -694,6 +1156,175 @@ void Foam::tetDecomposer::setRefinement fp = nextFp; } } + else if (decomposeType == FACE_DIAG_QUADS && decomposeFace[facei]) + { + // Decompose face into subFaces (quads followed by any triangles) + splitFace + ( + boundaryQuads, + boundaryTris, + facei, + patchi, + quadFaces, // work space + triFaces, // work space + subFaces + ); + + EdgeMap<labelPair> edgeFaces(subFaces.size()); + + forAll(subFaces, subFacei) + { + const face& subF = subFaces[subFacei]; + + // 1. Front quad (decomposition of face itself) + // (between owner and neighbour cell) + { + const label newOwn + ( + addedOwn.size() == 1 + ? addedOwn[0] + : addedOwn[subFacei] + ); + const label newNei + ( + addedNei.size() == 1 + ? addedNei[0] + : addedNei[subFacei] + ); + + if (subFacei == 0) + { + modifyFace + ( + meshMod, + subF, + facei, + newOwn, + newNei, + patchi, + zonei, + zoneFlip + ); + } + else + { + addFace + ( + meshMod, + subF, + facei, + newOwn, + newNei, + -1, //point + -1, //edge + facei, //face + patchi, + zonei, + zoneFlip + ); + } + } + + // Populate edge-faces (note: in order of increasing subFacei + // and hence in order of added cells) + forAll(subF, fp) + { + const edge e(subF.edge(fp)); + auto eFnd = edgeFaces.find(e); + if (!eFnd) + { + edgeFaces.insert(e, labelPair(subFacei, -1)); + } + else + { + auto& eFaces = eFnd(); + if (eFaces[1] != -1) + { + FatalErrorInFunction << "edgeFaces:" << edgeFaces + << exit(FatalError); + } + eFaces[1] = subFacei; + } + } + } + + // Get diagonals + forAllConstIters(edgeFaces, iter) + { + const auto& e = iter.key(); + const auto& eFaces = iter(); + + if (eFaces.find(-1) != -1) + { + // Open edge + //Pout<< "for face:" << facei + // << " ignoring open edge:" << e << endl; + continue; + } + + if (decomposeCell[own]) + { + const label newOwn(addedOwn[eFaces[0]]); + const label newNei(addedOwn[eFaces[1]]); + + if (newNei < newOwn) FatalErrorInFunction << "problem" + << exit(FatalError); + + // Point out of owner side + triangle[0] = e[1]; + triangle[1] = e[0]; + triangle[2] = cellToPoint_[own]; + + addFace + ( + meshMod, + triangle, + facei, + newOwn, + newNei, + e[0], //point ? or edge ? or face ? + -1, //edge + -1, //face + -1, //patchi + -1, //zone + false + ); + } + + // 2b. Within neighbour cell - to cell centre + if + ( + facei < mesh_.nInternalFaces() + && decomposeCell[nei] + ) + { + const label newOwn(addedNei[eFaces[0]]); + const label newNei(addedNei[eFaces[1]]); + + if (newNei < newOwn) FatalErrorInFunction << "problem" + << exit(FatalError); + + triangle[0] = e[0]; + triangle[1] = e[1]; + triangle[2] = cellToPoint_[nei]; + + addFace + ( + meshMod, + triangle, + facei, + newOwn, + newNei, + e[0], //point ? or edge ? or face ? + -1, //edge + -1, //face + -1, //patchi + -1, //zone + false + ); + } + } + } else { // No decomposition. Use zero'th slot. @@ -705,31 +1336,32 @@ void Foam::tetDecomposer::setRefinement addedOwn[0], addedNei[0], patchi, - zoneI, + zonei, zoneFlip ); } } - - // Add triangles for all edges. + // Add triangles to the cell centre for all edges to form the pyramids EdgeMap<label> edgeToFace; forAll(mesh_.cells(), celli) { - const cell& cFaces = mesh_.cells()[celli]; - - edgeToFace.clear(); - - forAll(cFaces, cFacei) + if (decomposeCell[celli]) { - label facei = cFaces[cFacei]; + const cell& cFaces = mesh_.cells()[celli]; - if (decomposeCell[celli]) + edgeToFace.clear(); + + forAll(cFaces, cFacei) { + const label facei = cFaces[cFacei]; + const label patchi = mesh_.boundaryMesh().whichPatch(facei); const face& f = mesh_.faces()[facei]; - //const labelList& fEdges = mesh_.faceEdges()[facei]; + + // Loop over edges of face. Avoid constructing faceEdges for + // whole mesh. forAll(f, fp) { label p0 = f[fp]; @@ -782,79 +1414,173 @@ void Foam::tetDecomposer::setRefinement } // Determine tets on either side - label thisTet, otherTet; + + const auto& thisCells = + ( + (mesh_.faceOwner()[facei] == celli) + ? faceOwnerCells_[facei] + : faceNeighbourCells_[facei] + ); + const auto& otherCells = + ( + (mesh_.faceOwner()[otherFacei] == celli) + ? faceOwnerCells_[otherFacei] + : faceNeighbourCells_[otherFacei] + ); + + label thisTet = -1; + label otherTet = -1; if (decomposeType == FACE_CENTRE_TRIS) { - if (mesh_.faceOwner()[facei] == celli) + if (thisCells.size() == 1) { - thisTet = faceOwnerCells_[facei][fp]; + thisTet = thisCells[0]; } else { - thisTet = faceNeighbourCells_[facei][fp]; + thisTet = thisCells[fp]; } - if (mesh_.faceOwner()[otherFacei] == celli) + if (otherCells.size() == 1) { - otherTet = - faceOwnerCells_[otherFacei][otherFp]; + otherTet = otherCells[0]; } else { - otherTet = - faceNeighbourCells_[otherFacei][otherFp]; + otherTet = otherCells[otherFp]; } } else if (decomposeType == FACE_DIAG_TRIS) { - label thisTriI = triIndex(facei, fp); - if (mesh_.faceOwner()[facei] == celli) + if (thisCells.size() == 1) { - thisTet = faceOwnerCells_[facei][thisTriI]; + thisTet = thisCells[0]; } else { - thisTet = faceNeighbourCells_[facei][thisTriI]; + thisTet = thisCells[triIndex(facei, fp)]; } - label otherTriI = triIndex(otherFacei, otherFp); - if (mesh_.faceOwner()[otherFacei] == celli) + if (otherCells.size() == 1) { - otherTet = - faceOwnerCells_[otherFacei][otherTriI]; + otherTet = otherCells[0]; } else { otherTet = - faceNeighbourCells_[otherFacei][otherTriI]; + otherCells[triIndex(otherFacei, otherFp)]; } } - else + else if (decomposeType == FACE_DIAG_QUADS) { - if (mesh_.faceOwner()[facei] == celli) + // Get added cell on facei + if (thisCells.size() == 1) { - thisTet = faceOwnerCells_[facei][0]; + thisTet = thisCells[0]; } else { - thisTet = faceNeighbourCells_[facei][0]; + // We have not stored the face-split so + // don't know yet the correspondence. Maybe + // store to avoid re-doing split? + splitFace + ( + boundaryQuads, + boundaryTris, + facei, + patchi, + quadFaces, // work space + triFaces, // work space + subFaces + ); + + // Find the edge. Should be only on one of the + // subfaces. + forAll(subFaces, subFacei) + { + const auto& subF = subFaces[subFacei]; + if (subF.find(e) != -1) + { + thisTet = thisCells[subFacei]; + break; + } + } + if (thisTet == -1) + { + FatalErrorInFunction + << "For cell:" << celli + << " at:" << mesh_.cellCentres()[celli] + << " patch:" << patchi + << " face:" << facei + << " at:" << mesh_.faceCentres()[facei] + << " did not find edge:" << e + << " at:" << e.line(mesh_.points()) + << " in OWNER-side decomposed faces:" + << flatOutput(subFaces) + << exit(FatalError); + } } - if (mesh_.faceOwner()[otherFacei] == celli) + + + // Get added cell on otherFacei + if (otherCells.size() == 1) { - otherTet = faceOwnerCells_[otherFacei][0]; + otherTet = otherCells[0]; } else { - otherTet = - faceNeighbourCells_[otherFacei][0]; + splitFace + ( + boundaryQuads, + boundaryTris, + otherFacei, + mesh_.boundaryMesh().whichPatch(otherFacei), + quadFaces, // work space + triFaces, // work space + subFaces + ); + + // Find the edge. Should be only on one of the + // subfaces. + forAll(subFaces, subFacei) + { + const auto& subF = subFaces[subFacei]; + if (subF.find(e) != -1) + { + otherTet = otherCells[subFacei]; + break; + } + } + if (otherTet == -1) + { + FatalErrorInFunction + << "For cell:" << celli + << " at:" << mesh_.cellCentres()[celli] + << " patch:" + << mesh_.boundaryMesh().whichPatch(otherFacei) + << " face:" << otherFacei + << " at:" + << mesh_.faceCentres()[otherFacei] + << " did not find edge:" << e + << " at:" << e.line(mesh_.points()) + << " in decomposed faces:" + << flatOutput(subFaces) + << exit(FatalError); + } } } + else + { + thisTet = thisCells[0]; + otherTet = otherCells[0]; + } addFace ( meshMod, triangle, + facei, otherTet, thisTet, -1, //masterPoint diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.H index cd53c03499c..215bf1fecbe 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.H +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2016 OpenFOAM Foundation - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2020,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,7 @@ Class Foam::tetDecomposer Description - Decomposes polyMesh into tets or pyramids. + Decomposes polyMesh into tets (or pyramids) Cells neighbouring decomposed cells are not decomposed themselves so will be polyhedral. @@ -46,6 +46,7 @@ SourceFiles #include "boolList.H" #include "typeInfo.H" #include "Enum.H" +#include "faceList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +73,8 @@ public: FACE_CENTRE_TRIS, //- Faces decomposed into triangles // using face-centre FACE_DIAG_TRIS, //- Faces decomposed into triangles diagonally - PYRAMID //- Faces not decomposed (generates pyramids) + PYRAMID, //- Faces not decomposed (generates pyramids) + FACE_DIAG_QUADS //- Like FACE_DIAG_TRIS but does quads mainly }; static const Enum<decompositionType> decompositionTypeNames; @@ -89,7 +91,6 @@ private: //- From face to tet point labelList faceToPoint_; - // Per face, per point (faceCentre) or triangle (faceDiag) // the added tet on the owner side labelListList faceOwnerCells_; @@ -119,6 +120,7 @@ private: ( polyTopoChange& meshMod, const face& f, + const label facei, const label own, const label nei, const label masterPointID, @@ -132,6 +134,46 @@ private: //- Work out triangle index given the starting vertex in the face label triIndex(const label facei, const label fp) const; + //- Calculate triangulation of boundary faces + void splitBoundaryFaces + ( + List<faceList>& boundaryQuads, + List<faceList>& boundaryTris + ) const; + + //- Correct coupled faces to match up + void relativeIndicesToFace + ( + const bool doFlip, + const face& meshFace, + const faceList& indexLists, + faceList& faces + ) const; + + //- Calculate triangulation of any face + void splitFace + ( + const List<faceList>& boundaryQuads, + const List<faceList>& boundaryTris, + const label facei, + const label patchi, + label& quadi, + faceList& quadFaces, + label& trii, + faceList& triFaces + ) const; + + void splitFace + ( + const List<faceList>& boundaryQuads, + const List<faceList>& boundaryTris, + const label facei, + const label patchi, + faceList& quadFaces, + faceList& triFaces, + faceList& subFaces + ) const; + //- No copy construct tetDecomposer(const tetDecomposer&) = delete; @@ -188,11 +230,22 @@ public: // Edit //- Insert all changes into meshMod to convert the polyMesh into - // tets. + // subshapes (tets/prisms) + void setRefinement + ( + const decompositionType decomposeType, + const bitSet& decomposeCell, + polyTopoChange& meshMod + ); + + //- Insert all changes into meshMod to convert the polyMesh into + //- subshapes (tets/prisms). Explicit control over which faces + //- get decomposed. Can be used e.g. to not split triangles. void setRefinement ( const decompositionType decomposeType, const bitSet& decomposeCell, + const bitSet& decomposeFace, polyTopoChange& meshMod ); diff --git a/src/functionObjects/field/Make/files b/src/functionObjects/field/Make/files index f94c5218315..fe9eec32830 100644 --- a/src/functionObjects/field/Make/files +++ b/src/functionObjects/field/Make/files @@ -120,6 +120,7 @@ fluxSummary/fluxSummary.C mapFields/mapFields.C reactionSensitivityAnalysis/reactionsSensitivityAnalysisObjects.C DESModelRegions/DESModelRegions.C +cellDecomposer/cellDecomposer.C externalCoupled/externalCoupled.C externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchFields.C diff --git a/src/functionObjects/field/Make/options b/src/functionObjects/field/Make/options index c5df9e3b470..a5d2baee2b8 100644 --- a/src/functionObjects/field/Make/options +++ b/src/functionObjects/field/Make/options @@ -6,6 +6,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -- GitLab From 3083c32c35c7426c8a7c30383530702f5a1d5b6e Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 10 Jun 2024 09:39:20 +0100 Subject: [PATCH 204/231] SUBMODULE: update for visualization --- modules/visualization | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/visualization b/modules/visualization index e9d400b5cda..e773eb92890 160000 --- a/modules/visualization +++ b/modules/visualization @@ -1 +1 @@ -Subproject commit e9d400b5cda290ca3cfba1a04bd915846925fd36 +Subproject commit e773eb9289074ffc6bbadcbdeb15a3ab42ddab32 -- GitLab From 3e64faf605e61b26e71de5b418dca154cf91498f Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Fri, 7 Jun 2024 15:41:48 +0100 Subject: [PATCH 205/231] DOC: cellSetOption: add porous option --- src/fvOptions/cellSetOption/cellSetOption.H | 1 + 1 file changed, 1 insertion(+) diff --git a/src/fvOptions/cellSetOption/cellSetOption.H b/src/fvOptions/cellSetOption/cellSetOption.H index aa020ef8490..e45c5adce7f 100644 --- a/src/fvOptions/cellSetOption/cellSetOption.H +++ b/src/fvOptions/cellSetOption/cellSetOption.H @@ -122,6 +122,7 @@ Usage points | Use cells containing a given set of points movingPoints | Use cells containing a given set of moving points geometric | Select cells based on topoSetCellSource actions + cellType | For overset only : use cells of type 'porous \endverbatim The inherited entries are elaborated in: -- GitLab From dced6c581ef35c65aad641e4719d67a5e1db4d86 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 10 Jun 2024 10:04:55 +0100 Subject: [PATCH 206/231] BUG: regionSplit2D: revert to original code. Fixes #3149. --- src/meshTools/regionSplit2D/regionSplit2D.C | 56 ++++++++------------- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/src/meshTools/regionSplit2D/regionSplit2D.C b/src/meshTools/regionSplit2D/regionSplit2D.C index c86761302a2..306a04fbd37 100644 --- a/src/meshTools/regionSplit2D/regionSplit2D.C +++ b/src/meshTools/regionSplit2D/regionSplit2D.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,7 @@ License #include "regionSplit2D.H" #include "polyMesh.H" #include "PatchEdgeFaceWave.H" -#include "edgeTopoDistanceData.H" +#include "patchEdgeFaceRegion.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -51,12 +51,11 @@ Foam::regionSplit2D::regionSplit2D nRegions_(0) { globalIndex globalFaces(blockedFaces.size()); - label regionI = globalFaces.toGlobal(0); - List<edgeTopoDistanceData<label>> allEdgeInfo(patch.nEdges()); - List<edgeTopoDistanceData<label>> allFaceInfo(patch.size()); + label regioni = globalFaces.toGlobal(0); + List<patchEdgeFaceRegion> allEdgeInfo(patch.nEdges()); + List<patchEdgeFaceRegion> allFaceInfo(patch.size()); DynamicList<label> changedEdges; - DynamicList<edgeTopoDistanceData<label>> changedRegions; - + DynamicList<patchEdgeFaceRegion> changedRegions; label nBlockedFaces = 0; forAll(blockedFaces, facei) { @@ -67,26 +66,15 @@ Foam::regionSplit2D::regionSplit2D changedEdges.append(edgei); // Append globally unique value - changedRegions.append - ( - edgeTopoDistanceData<label> - ( - 0, // distance - regionI // passive data - ) - ); + changedRegions.append(regioni); } nBlockedFaces++; - regionI++; + regioni++; } else { // Block all non-seeded faces from the walk - allFaceInfo[facei] = edgeTopoDistanceData<label> - ( - 0, // distance - BLOCKED // passive data - ); + allFaceInfo[facei] = BLOCKED; } } @@ -99,7 +87,7 @@ Foam::regionSplit2D::regionSplit2D PatchEdgeFaceWave < indirectPrimitivePatch, - edgeTopoDistanceData<label> + patchEdgeFaceRegion > ( mesh, @@ -115,23 +103,23 @@ Foam::regionSplit2D::regionSplit2D // Map from regions to local compact indexing // - only for regions that originate from this processor Map<label> regionToCompactAddr(changedRegions.size()); - label compactRegionI = 0; - forAll(allFaceInfo, faceI) + label compactRegioni = 0; + forAll(allFaceInfo, facei) { - label regionI = allFaceInfo[faceI].data(); + const label regioni = allFaceInfo[facei].region(); if ( - globalFaces.isLocal(regionI) - && regionToCompactAddr.insert(regionI, compactRegionI) + globalFaces.isLocal(regioni) + && regionToCompactAddr.insert(regioni, compactRegioni) ) { - compactRegionI++; + compactRegioni++; } } - // In-place renumber the local regionI to global (compact) regionI + // In-place renumber the local regionI to global (compact) regioni { - const label myProcOffset = globalIndex::calcOffset(compactRegionI); + const label myProcOffset = globalIndex::calcOffset(compactRegioni); forAllIters(regionToCompactAddr, iter) { iter.val() += myProcOffset; @@ -147,12 +135,12 @@ Foam::regionSplit2D::regionSplit2D nRegions_ = regionToCompactAddr.size(); // Set the region index per face - forAll(allFaceInfo, faceI) + forAll(allFaceInfo, facei) { - label regionI = allFaceInfo[faceI].data(); - if (regionI >= 0) + const label regioni = allFaceInfo[facei].region(); + if (regioni >= 0) { - this->operator[](faceI) = regionToCompactAddr[regionI] + offset; + this->operator[](facei) = regionToCompactAddr[regioni] + offset; } } } -- GitLab From 5059e1ddecb76b21879c24a0486e4e8ece253f93 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 10 Jun 2024 10:17:10 +0100 Subject: [PATCH 207/231] COMP: v2406: various missing dependencies --- src/functionObjects/field/Make/options | 1 + src/meshTools/Make/files | 1 + 2 files changed, 2 insertions(+) diff --git a/src/functionObjects/field/Make/options b/src/functionObjects/field/Make/options index a5d2baee2b8..f4eb6523ddb 100644 --- a/src/functionObjects/field/Make/options +++ b/src/functionObjects/field/Make/options @@ -34,6 +34,7 @@ LIB_LIBS = \ -lmeshTools \ -ldynamicMesh \ -lsampling \ + -lfvOptions \ -llagrangian \ -ldistributionModels \ -lfluidThermophysicalModels \ diff --git a/src/meshTools/Make/files b/src/meshTools/Make/files index ad31ad0254d..acbb97b1f14 100644 --- a/src/meshTools/Make/files +++ b/src/meshTools/Make/files @@ -76,6 +76,7 @@ patchWave = $(algorithms)/PatchEdgeFaceWave $(patchWave)/PatchEdgeFaceWaveBase.C $(patchWave)/patchEdgeFaceInfo.C $(patchWave)/patchPatchDist.C +$(patchWave)/patchEdgeFaceRegion.C $(patchWave)/patchEdgeFaceRegions.C -- GitLab From baa8dccb0a3ade8a8a2e544924f58bdd001db7c4 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 10 Jun 2024 11:22:50 +0100 Subject: [PATCH 208/231] ENH: cellDecomposer: functionObject to map fields. Left out original files --- .../field/cellDecomposer/cellDecomposer.C | 415 ++++++++++++++++++ .../field/cellDecomposer/cellDecomposer.H | 226 ++++++++++ .../cellDecomposer/cellDecomposerTemplates.C | 364 +++++++++++++++ 3 files changed, 1005 insertions(+) create mode 100644 src/functionObjects/field/cellDecomposer/cellDecomposer.C create mode 100644 src/functionObjects/field/cellDecomposer/cellDecomposer.H create mode 100644 src/functionObjects/field/cellDecomposer/cellDecomposerTemplates.C diff --git a/src/functionObjects/field/cellDecomposer/cellDecomposer.C b/src/functionObjects/field/cellDecomposer/cellDecomposer.C new file mode 100644 index 00000000000..446c3d88813 --- /dev/null +++ b/src/functionObjects/field/cellDecomposer/cellDecomposer.C @@ -0,0 +1,415 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "cellDecomposer.H" +#include "addToRunTimeSelectionTable.H" +#include "polyTopoChange.H" +#include "mapPolyMesh.H" +#include "tetDecomposer.H" +#include "syncTools.H" +#include "dummyTransform.H" +#include "ReadFields.H" +#include "surfaceFields.H" +#include "PackedBoolList.H" +#include "fvMeshTools.H" +#include "cellSetOption.H" +#include "cellBitSet.H" +#include "cellSet.H" +#include "hexMatcher.H" +#include "prismMatcher.H" +#include "pyrMatcher.H" +#include "tetMatcher.H" + +#include "OBJstream.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace functionObjects +{ + defineTypeNameAndDebug(cellDecomposer, 0); + addToRunTimeSelectionTable(functionObject, cellDecomposer, dictionary); +} +} + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +void Foam::functionObjects::cellDecomposer::makeMesh +( + const dictionary& dict, + const word& regionName +) +{ + Info<< name() << ':' << nl + << " Decomposing cells to region " << regionName << endl; + + Info<< incrIndent; + + const fv::cellSetOption::selectionModeType selectionMode + ( + fv::cellSetOption::selectionModeTypeNames_.get + ( + "selectionMode", + dict + ) + ); + + + // Start off from existing mesh + polyTopoChange meshMod(mesh_); + + tetDecompPtr_.reset(new Foam::tetDecomposer(mesh_)); + + // Default values + bitSet decomposeCell(mesh_.nCells()); + autoPtr<bitSet> decomposeFacePtr; + tetDecomposer::decompositionType decompType + ( + tetDecomposer::FACE_CENTRE_TRIS + ); + + + switch (selectionMode) + { + case fv::cellSetOption::smAll: + { + Info<< indent << "- selecting all cells" << endl; + + decomposeCell = true; + break; + } + case fv::cellSetOption::smGeometric: + { + Info<< indent << "- selecting cells geometrically" << endl; + + decomposeCell = + cellBitSet::select(mesh_, dict.subDict("selection"), true); + break; + } + case fv::cellSetOption::smCellSet: + { + const word selectionName(dict.get<word>("cellSet")); + + Info<< indent + << "- selecting cells using cellSet " + << selectionName << endl; + + decomposeCell.set + ( + cellSet(mesh_, selectionName, IOobject::MUST_READ).toc() + ); + break; + } + case fv::cellSetOption::smCellZone: + { + wordRes selectionNames; + if + ( + !dict.readIfPresent("cellZones", selectionNames) + || selectionNames.empty() + ) + { + selectionNames.resize(1); + dict.readEntry("cellZone", selectionNames.first()); + } + + Info<< indent + << "- selecting cells using cellZones " + << flatOutput(selectionNames) << nl; + + const auto& zones = mesh_.cellZones(); + + // Also handles groups, multiple zones etc ... + labelList zoneIDs = zones.indices(selectionNames); + + if (zoneIDs.empty()) + { + FatalErrorInFunction + << "No matching cellZones: " + << flatOutput(selectionNames) << nl + << "Valid zones : " + << flatOutput(zones.names()) << nl + << "Valid groups: " + << flatOutput(zones.groupNames()) + << nl + << exit(FatalError); + } + + if (zoneIDs.size() == 1) + { + decomposeCell.set(zones[zoneIDs.first()]); + // TBD: Foam::sort(cells_); + } + else + { + decomposeCell.set(zones.selection(zoneIDs).sortedToc()); + } + break; + } + default: + { + FatalErrorInFunction + << "Unsupported selectionMode " + << fv::cellSetOption::selectionModeTypeNames_[selectionMode] + << ". Valid selectionMode types are " + << fv::cellSetOption::selectionModeTypeNames_ + << exit(FatalError); + } + } + + word decompTypeName; + if (dict.readIfPresent("decomposeType", decompTypeName)) + { + if (decompTypeName == "polyhedral") + { + // Automatic selection to generate hex/prism/tet only + // - subset decomposeCell to exclude hex/prism/tet + // - set faces to FACE_DIAG_QUADS + // Usually start with cellSetOption::smAll + decomposeFacePtr.reset(new bitSet(mesh_.nFaces())); + auto& decomposeFace = decomposeFacePtr(); + + decompType = tetDecomposer::FACE_DIAG_QUADS; + bitSet oldDecomposeCell(decomposeCell); + decomposeCell = false; + + // Construct shape recognizers + prismMatcher prism; + + for (const label celli : oldDecomposeCell) + { + if + ( + !hexMatcher::test(mesh_, celli) + && !tetMatcher::test(mesh_, celli) + && !pyrMatcher::test(mesh_, celli) + && !prism.isA(mesh_, celli) + ) + { + decomposeCell.set(celli); + decomposeFace.set(mesh_.cells()[celli]); + } + } + + // Sync boundary info + syncTools::syncFaceList + ( + mesh_, + decomposeFace, + orEqOp<unsigned int>() + ); + } + else + { + decompType = tetDecomposer::decompositionTypeNames[decompTypeName]; + } + } + + + // Insert all changes to create tets + if (decomposeFacePtr) + { + if (debug) + { + OBJstream os(mesh_.time().path()/"orig_faces.obj"); + os.write + ( + UIndirectList<face> + ( + mesh_.faces(), + decomposeFacePtr().sortedToc() + )(), + mesh_.points(), + false + ); + Pout<< "Written " << meshMod.faces().size() + << " faces to " << os.name() << endl; + } + + tetDecompPtr_().setRefinement + ( + decompType, //Foam::tetDecomposer::FACE_CENTRE_TRIS, + decomposeCell, + decomposeFacePtr(), + meshMod + ); + } + else + { + tetDecompPtr_().setRefinement + ( + decompType, //Foam::tetDecomposer::FACE_CENTRE_TRIS, + decomposeCell, + meshMod + ); + } + + + if (debug) + { + OBJstream os(mesh_.time().path()/"faces.obj"); + os.write(meshMod.faces(), pointField(meshMod.points()), false); + Pout<< "Written " << meshMod.faces().size() + << " faces to " << os.name() << endl; + } + + + autoPtr<fvMesh> tetMeshPtr; + + mapPtr_ = meshMod.makeMesh + ( + tetMeshPtr, + IOobject + ( + regionName, + mesh_.facesInstance(), // same instance as original mesh + mesh_.time(), //? why same database? TBD. + IOobject::READ_IF_PRESENT, // Read fv* if present + IOobject::AUTO_WRITE, + IOobject::REGISTER + ), + mesh_ + ); + + + //- Update numbering on tet-decomposition engine + tetDecompPtr_().updateMesh(mapPtr_()); + + Info<< indent << "Writing decomposed mesh to " + << tetMeshPtr().objectRegistry::objectRelPath() + << endl; + tetMeshPtr().write(); + + fvMeshTools::createDummyFvMeshFiles(mesh_.time(), regionName, true); + + // Store new mesh on object registry + tetMeshPtr.ptr()->polyMesh::store(); + + Info<< decrIndent; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::functionObjects::cellDecomposer::cellDecomposer +( + const word& name, + const Time& runTime, + const dictionary& dict +) +: + fvMeshFunctionObject(name, runTime, dict) +{ + read(dict); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::functionObjects::cellDecomposer::read(const dictionary& dict) +{ + if (fvMeshFunctionObject::read(dict)) + { + // Generate new tet equivalent mesh. TBD: why meshObject? + //meshObjects::tetDecomposition::New(mesh, dict); + + dict_ = dict.optionalSubDict(typeName + "Coeffs"); + dict_.readEntry("mapRegion", mapRegion_); + dict_.readEntry("fields", fieldNames_); + makeMesh(dict_, mapRegion_); + } + + return true; +} + + +bool Foam::functionObjects::cellDecomposer::execute() +{ + Log << type() << " " << name() << " execute:" << nl; + + bool ok = false; + + if (mesh_.changing()) + { + // Re-do mesh. Currently rebuilds whole mesh. Could move points only + // for mesh motion. + tetDecompPtr_.clear(); + mapPtr_.clear(); + const_cast<Time&>(this->mesh_.time()).erase(mapRegion_); + makeMesh(dict_, mapRegion_); + } + + + // Look up + ok = mapFieldType<scalar>() || ok; + ok = mapFieldType<vector>() || ok; + ok = mapFieldType<sphericalTensor>() || ok; + ok = mapFieldType<symmTensor>() || ok; + ok = mapFieldType<tensor>() || ok; + + if (log) + { + if (!ok) + { + Info<< " none" << nl; + } + + Info<< endl; + } + return true; +} + + +bool Foam::functionObjects::cellDecomposer::write() +{ + Log << type() << " " << name() << " write:" << nl; + + bool ok = false; + + ok = writeFieldType<scalar>() || ok; + ok = writeFieldType<vector>() || ok; + ok = writeFieldType<sphericalTensor>() || ok; + ok = writeFieldType<symmTensor>() || ok; + ok = writeFieldType<tensor>() || ok; + + if (log) + { + if (!ok) + { + Info<< " none" << nl; + } + + Info<< endl; + } + + return true; +} + + +// ************************************************************************* // diff --git a/src/functionObjects/field/cellDecomposer/cellDecomposer.H b/src/functionObjects/field/cellDecomposer/cellDecomposer.H new file mode 100644 index 00000000000..0e3363bfc0f --- /dev/null +++ b/src/functionObjects/field/cellDecomposer/cellDecomposer.H @@ -0,0 +1,226 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::functionObjects::cellDecomposer + +Group + grpFieldFunctionObjects + +Description + Maps input fields from local mesh to a secondary mesh at runtime. + + The secondary mesh gets created on-the-fly by decomposing the current mesh. + + + Operands: + \table + Operand | Type | Location + input | {vol,surface}\<Type\>Field <!-- + --> | $FOAM_CASE/\<time\>/\<inpField\> + output file | - | - + output field | {vol,surface}\<Type\>Field <!-- + --> | $FOAM_CASE/\<time\>/\<outField\> + \endtable + + where \c \<Type\>=Scalar/Vector/SphericalTensor/SymmTensor/Tensor. + +Usage + Minimal example by using \c system/controlDict.functions: + \verbatim + cellDecomposer1 + { + // Mandatory entries (unmodifiable) + type cellDecomposer; + libs (fieldFunctionObjects); + + // Mandatory (inherited) entries (runtime modifiable) + fields (<field1> <field2> ... <fieldN>); + mapRegion myTetMesh; + ... + // Mandatory entries + // Decompose type: + decomposeType polyhedral; + // Cell set to decompose + selectionMode all; + } + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Req'd | Dflt + type | Type name: cellDecomposer | word | yes | - + libs | Library name: fieldFunctionObjects | word | yes | - + fields | Names of operand fields | wordList | yes | - + mapRegion | Name of region to map to | word | yes | - + decomposeType | How to decompose cells | word | yes | - + selectionMode | How to select cells (see fvOption)| word | yes | - + \endtable + + decomposeType: + - faceCentre : decompose cells into tets using face centre and cell centre. + (hex becomes 6*4 tets) + - faceDiagonal : decompose cells into tets using face diagonal, similar + to implicit decomposition inside lagrangian tracking. + (hex becomes 6*2 tets) + - pyramid : keep faces intact but create (polygonal-base) pyramids using + cell centre (hex becomes 6 pyramids) + - faceDiagonalQuads : like faceDiagonal but split faces into quads and + triangles instead of just triangles + - polyhedral : like faceDiagonalQuads but only decompose non-hex/prism/tet + cells in selected set. Used to convert polyhedral mesh into + 'simple' mesh. + + The inherited entries are elaborated in: + - \link functionObject.H \endlink + +See also + - Foam::functionObjects::mapFields + +SourceFiles + cellDecomposer.C + +\*---------------------------------------------------------------------------*/ + +#ifndef functionObjects_cellDecomposer_H +#define functionObjects_cellDecomposer_H + +#include "fvMeshFunctionObject.H" +#include "volFieldsFwd.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class tetDecomposer; +class mapPolyMesh; + +namespace functionObjects +{ + +/*---------------------------------------------------------------------------*\ + Class cellDecomposer Declaration +\*---------------------------------------------------------------------------*/ + +class cellDecomposer +: + public fvMeshFunctionObject +{ + // Private Data + + //- Parameter dictionary + dictionary dict_; + + //- Name of new mesh + word mapRegion_; + + //- List of field names to interpolate + wordRes fieldNames_; + + //- Tet decomposer + autoPtr<tetDecomposer> tetDecompPtr_; + + //- Map from polyMesh to tet-mesh + autoPtr<mapPolyMesh> mapPtr_; + + + // Private Member Functions + + //- Generate mesh + void makeMesh(const dictionary& dict, const word& name); + + //- Helper function to map the \<Type\> fields + template<class Type> + bool mapFieldType() const; + + //- Helper function to write the \<Type\> fields + template<class Type> + bool writeFieldType() const; + + template<class Type> + tmp<GeometricField<Type, fvPatchField, volMesh>> + interpolate + ( + const GeometricField<Type, fvPatchField, volMesh>& vf, + const fvMesh& sMesh, + const labelUList& patchMap, + const labelUList& cellMap, + const labelUList& faceMap, + const bool allowUnmapped + ) const; + + +public: + + + //- Runtime type information + TypeName("cellDecomposer"); + + + // Constructors + + //- Construct from Time and dictionary + cellDecomposer + ( + const word& name, + const Time& runTime, + const dictionary& dict + ); + + + //- Destructor + virtual ~cellDecomposer() = default; + + + // Member Functions + + //- Read the cellDecomposer data + virtual bool read(const dictionary& dict); + + //- Execute + virtual bool execute(); + + //- Write + virtual bool write(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace functionObjects +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "cellDecomposerTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/functionObjects/field/cellDecomposer/cellDecomposerTemplates.C b/src/functionObjects/field/cellDecomposer/cellDecomposerTemplates.C new file mode 100644 index 00000000000..e982aeff5b5 --- /dev/null +++ b/src/functionObjects/field/cellDecomposer/cellDecomposerTemplates.C @@ -0,0 +1,364 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "fvMesh.H" +#include "emptyFvPatchFields.H" +#include "directFvPatchFieldMapper.H" +#include "mapPolyMesh.H" +//#include "polyPatch.H" +//#include "lduSchedule.H" +//#include "meshToMesh.H" + +//template<class Type> +//void Foam::functionObjects::cellDecomposer::evaluateConstraintTypes +//( +// GeometricField<Type, fvPatchField, volMesh>& fld +//) const +//{ +// auto& fldBf = fld.boundaryFieldRef(); +// +// const UPstream::commsTypes commsType = UPstream::defaultCommsType; +// const label startOfRequests = UPstream::nRequests(); +// +// if +// ( +// commsType == UPstream::commsTypes::blocking +// || commsType == UPstream::commsTypes::nonBlocking +// ) +// { +// forAll(fldBf, patchi) +// { +// fvPatchField<Type>& tgtField = fldBf[patchi]; +// +// if +// ( +// tgtField.type() == tgtField.patch().patch().type() +// && polyPatch::constraintType(tgtField.patch().patch().type()) +// ) +// { +// tgtField.initEvaluate(commsType); +// } +// } +// +// // Wait for outstanding requests +// if (commsType == UPstream::commsTypes::nonBlocking) +// { +// UPstream::waitRequests(startOfRequests); +// } +// +// forAll(fldBf, patchi) +// { +// fvPatchField<Type>& tgtField = fldBf[patchi]; +// +// if +// ( +// tgtField.type() == tgtField.patch().patch().type() +// && polyPatch::constraintType(tgtField.patch().patch().type()) +// ) +// { +// tgtField.evaluate(commsType); +// } +// } +// } +// else if (commsType == UPstream::commsTypes::scheduled) +// { +// const lduSchedule& patchSchedule = +// fld.mesh().globalData().patchSchedule(); +// +// for (const auto& schedEval : patchSchedule) +// { +// const label patchi = schedEval.patch; +// +// fvPatchField<Type>& tgtField = fldBf[patchi]; +// +// if +// ( +// tgtField.type() == tgtField.patch().patch().type() +// && polyPatch::constraintType(tgtField.patch().patch().type()) +// ) +// { +// if (schedEval.init) +// { +// tgtField.initEvaluate(commsType); +// } +// else +// { +// tgtField.evaluate(commsType); +// } +// } +// } +// } +//} + +template<class Type> +Foam::tmp +< + Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh> +> +Foam::functionObjects::cellDecomposer::interpolate +( + const GeometricField<Type, fvPatchField, volMesh>& vf, + const fvMesh& sMesh, + const labelUList& patchMap, + const labelUList& cellMap, + const labelUList& faceMap, + const bool allowUnmapped +) const +{ + // 1. Create the complete field with dummy patch fields + PtrList<fvPatchField<Type>> patchFields(patchMap.size()); + + forAll(patchFields, patchi) + { + // Set the first one by hand as it corresponds to the + // exposed internal faces. Additional interpolation can be put here + // as necessary. + if (patchMap[patchi] == -1) + { + patchFields.set + ( + patchi, + new emptyFvPatchField<Type> + ( + sMesh.boundary()[patchi], + fvPatchField<Type>::Internal::null() + ) + ); + } + else + { + patchFields.set + ( + patchi, + fvPatchField<Type>::New + ( + fvPatchFieldBase::calculatedType(), + sMesh.boundary()[patchi], + fvPatchField<Type>::Internal::null() + ) + ); + } + } + + auto tresult = tmp<GeometricField<Type, fvPatchField, volMesh>>::New + ( + IOobject + ( + "subset"+vf.name(), + sMesh.time().timeName(), + sMesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + sMesh, + vf.dimensions(), + Field<Type>(vf.primitiveField(), cellMap), + patchFields + ); + auto& result = tresult.ref(); + result.oriented() = vf.oriented(); + + + // 2. Change the fvPatchFields to the correct type using a mapper + // constructor (with reference to the now correct internal field) + + auto& bf = result.boundaryFieldRef(); + + forAll(bf, patchi) + { + const label basePatchId = patchMap[patchi]; + + if (basePatchId != -1) + { + // Construct addressing + const fvPatch& subPatch = sMesh.boundary()[patchi]; + const fvPatch& basePatch = vf.mesh().boundary()[basePatchId]; + const label baseStart = basePatch.start(); + const label baseSize = basePatch.size(); + + labelList directAddressing(subPatch.size()); + + forAll(directAddressing, i) + { + const label baseFacei = faceMap[subPatch.start()+i]; + + if (baseFacei >= baseStart && baseFacei < baseStart+baseSize) + { + directAddressing[i] = baseFacei-baseStart; + } + else + { + // Mapped from internal face. Do what? Leave up to + // fvPatchField + directAddressing[i] = -1; + } + } + + + directFvPatchFieldMapper mapper(directAddressing); + + // allowUnmapped : special mode for if we do not want to be + // warned for unmapped faces (e.g. from fvMeshDistribute). + + const bool hasUnmapped = mapper.hasUnmapped(); + if (allowUnmapped) + { + mapper.hasUnmapped() = false; + } + + bf.set + ( + patchi, + fvPatchField<Type>::New + ( + vf.boundaryField()[basePatchId], + subPatch, + result.internalField(), + mapper + ) + ); + + if (allowUnmapped && hasUnmapped) + { + // Set unmapped values to zeroGradient. This is the default + // action for unmapped fvPatchFields. Note that this bypasses + // any special logic for handling unmapped fvPatchFields but + // since this is only used inside fvMeshDistribute ... + + tmp<Field<Type>> tfld(bf[patchi].patchInternalField()); + const Field<Type>& fld = tfld(); + + Field<Type> value(bf[patchi]); + forAll(directAddressing, i) + { + if (directAddressing[i] == -1) + { + value[i] = fld[i]; + } + } + bf[patchi].fvPatchField<Type>::operator=(value); + } + } + } + + return tresult; +} + + +template<class Type> +bool Foam::functionObjects::cellDecomposer::mapFieldType() const +{ + typedef GeometricField<Type, fvPatchField, volMesh> VolFieldType; + + const fvMesh& mapRegion = + this->mesh_.time().lookupObject<fvMesh>(mapRegion_); + + const labelList patchMap(identity(mapRegion.boundaryMesh().size())); + + const wordList fieldNames + ( + this->mesh_.sortedNames<VolFieldType>(fieldNames_) + ); + + const bool processed = !fieldNames.empty(); + + for (const word& fieldName : fieldNames) + { + const VolFieldType& field = lookupObject<VolFieldType>(fieldName); + + auto* mapFieldPtr = mapRegion.getObjectPtr<VolFieldType>(fieldName); + + if (!mapFieldPtr) + { + mapFieldPtr = new VolFieldType + ( + IOobject + ( + fieldName, + time_.timeName(), + mapRegion, + IOobject::NO_READ, + IOobject::NO_WRITE, + IOobject::REGISTER + ), + mapRegion, + dimensioned<Type>(field.dimensions(), Zero) + ); + + mapFieldPtr->store(); + } + + auto& mappedField = *mapFieldPtr; + + mappedField = interpolate + ( + field, + mapRegion, + patchMap, + mapPtr_().cellMap(), + mapPtr_().faceMap(), + false //allowUnmapped + ); + Log << " " << fieldName << ": interpolated"; + + //evaluateConstraintTypes(mappedField); + } + + return processed; +} + + +template<class Type> +bool Foam::functionObjects::cellDecomposer::writeFieldType() const +{ + typedef GeometricField<Type, fvPatchField, volMesh> VolFieldType; + + const fvMesh& mapRegion = + this->mesh_.time().lookupObject<fvMesh>(mapRegion_); + + const wordList fieldNames + ( + this->mesh_.sortedNames<VolFieldType>(fieldNames_) + ); + + const bool processed = !fieldNames.empty(); + + for (const word& fieldName : fieldNames) + { + const VolFieldType& mappedField = + mapRegion.template lookupObject<VolFieldType>(fieldName); + + mappedField.write(); + + Log << " " << fieldName << ": written"; + } + + return processed; +} + + +// ************************************************************************* // -- GitLab From d859f7b00f767183cb1a6252a3a09f27869b90cd Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 17 May 2024 14:10:28 +0200 Subject: [PATCH 209/231] ENH: add comparison operators to exprValue, integrate exprValueFieldTag - exprValueFieldTag is an extended version of exprValue, with additional Field/List uniformity handling - the exprValueFieldTag reduce() method provides a more efficient method than using a regular combine operator. Since fields are usually non-uniform, will mostly only need the bitwise reduce and not a more expensive gather/combine. ENH: output of exprValue (scalar type) now includes '.' - prevents scalar/label ambiguity for values like '100.0', which would otherwise be written as '100' and thus interpreted as a label value when re-reading. --- .../test/exprValue1/Test-exprValue1.cxx | 58 +++- applications/test/exprValue2/Make/files | 2 - .../test/exprValue2/Test-exprValue2.cxx | 61 +++- .../test/exprValue2/exprValueFieldTag.cxx | 160 --------- src/OpenFOAM/Make/files | 1 + .../expressions/exprResult/exprResult.H | 8 +- src/OpenFOAM/expressions/value/exprValue.C | 221 +++++++++---- src/OpenFOAM/expressions/value/exprValue.H | 34 +- .../expressions/value/exprValueFieldTag.C | 307 ++++++++++++++++++ .../expressions/value}/exprValueFieldTag.H | 113 ++++++- src/OpenFOAM/expressions/value/exprValueFwd.H | 56 ++++ 11 files changed, 745 insertions(+), 276 deletions(-) delete mode 100644 applications/test/exprValue2/exprValueFieldTag.cxx create mode 100644 src/OpenFOAM/expressions/value/exprValueFieldTag.C rename {applications/test/exprValue2 => src/OpenFOAM/expressions/value}/exprValueFieldTag.H (58%) create mode 100644 src/OpenFOAM/expressions/value/exprValueFwd.H diff --git a/applications/test/exprValue1/Test-exprValue1.cxx b/applications/test/exprValue1/Test-exprValue1.cxx index df77fd99567..2a1f41564c1 100644 --- a/applications/test/exprValue1/Test-exprValue1.cxx +++ b/applications/test/exprValue1/Test-exprValue1.cxx @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -21,6 +21,8 @@ Description #include "argList.H" #include "IOstreams.H" #include "ITstream.H" +#include "OTstream.H" +#include "SpanStream.H" #include "exprValue.H" #include "Pstream.H" @@ -34,6 +36,41 @@ void printInfo(const expressions::exprValue& val) } +void write_read(const expressions::exprValue& val) +{ + OCharStream os; + os << val; + + ISpanStream is(os.view()); + expressions::exprValue val2; + is >> val2; + + Pout<< "wrote " << os.count() << " chars: " << os.str() << nl; + + printInfo(val); + printInfo(val2); + Pout<< "====" << nl; +} + + +tokenList tokens_of(const expressions::exprValue& val) +{ + OTstream toks; + toks << val; + + Pout<< "val with tokens: "; + toks.writeList(Pout, 0) << nl; + + for (const auto& t : toks) + { + Pout<< " " << t.info() << nl; + } + Pout<< nl; + + return toks; +} + + expressions::exprValue tryParse(const std::string& str) { expressions::exprValue val, val2; @@ -90,6 +127,7 @@ int main(int argc, char *argv[]) { expressions::exprValue value; + tokenList toks; Info<< "exprValue" << " sizeof:" << value.size_bytes() @@ -99,21 +137,31 @@ int main(int argc, char *argv[]) // Nothing printInfo(value); + toks = tokens_of(value); + write_read(value); value.set(scalar(100)); - printInfo(value); + printInfo(value); write_read(value); toks = tokens_of(value); + + value.set(scalar(100.01)); + printInfo(value); write_read(value); toks = tokens_of(value); value.set(vector(1,2,3)); - printInfo(value); + printInfo(value); write_read(value); toks = tokens_of(value); value = vector(4,5,6); - printInfo(value); + printInfo(value); write_read(value); toks = tokens_of(value); value = Zero; - printInfo(value); + printInfo(value); write_read(value); toks = tokens_of(value); value.clear(); + printInfo(value); write_read(value); toks = tokens_of(value); + + value.set<bool>(true); + printInfo(value); + printInfo(value); write_read(value); toks = tokens_of(value); if (UPstream::parRun()) { diff --git a/applications/test/exprValue2/Make/files b/applications/test/exprValue2/Make/files index c49a9ce7059..42c8232f685 100644 --- a/applications/test/exprValue2/Make/files +++ b/applications/test/exprValue2/Make/files @@ -1,5 +1,3 @@ -exprValueFieldTag.cxx - Test-exprValue2.cxx EXE = $(FOAM_USER_APPBIN)/Test-exprValue2 diff --git a/applications/test/exprValue2/Test-exprValue2.cxx b/applications/test/exprValue2/Test-exprValue2.cxx index 93897ae321e..49f75f24b4d 100644 --- a/applications/test/exprValue2/Test-exprValue2.cxx +++ b/applications/test/exprValue2/Test-exprValue2.cxx @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,7 +36,6 @@ Description #include "vectorField.H" #include "DynamicList.H" #include "Random.H" -#include "exprValue.H" #include "exprValueFieldTag.H" using namespace Foam; @@ -61,27 +60,81 @@ int main(int argc, char *argv[]) #include "setRootCase.H" + DynamicList<fieldTag> allTags; + { scalarField fld1(20); scalarField fld2a(20, Zero); scalarField fld2b(10, 3.10); scalarField fld3; - forAll(fld1, i) + for (auto& val : fld1) + { + val = rnd.position<scalar>(0, 20); + } + + if (!UPstream::master()) { - fld1[i] = rnd.position<scalar>(0, 20); + fld2b.resize(5); + fld2b *= 2; } fieldTag tag1(fld1.begin(), fld1.end()); fieldTag tag2a(fld2a.begin(), fld2a.end()); fieldTag tag2b(fld2b.begin(), fld2b.end()); fieldTag tag3(fld3.begin(), fld3.end()); + fieldTag tag4(fld3.begin(), fld3.end()); printInfo(tag1) << nl; printInfo(tag2a) << nl; printInfo(tag2b) << nl; printInfo(tag3) << nl; + { + Pout<< "Test reduce" << nl; + + fieldTag work(fld2b.begin(), fld2b.end()); + + Pout<< "Before" << nl; + printInfo(work) << nl; + + work.reduce(); + + Pout<< "After" << nl; + printInfo(work) << nl; + Pout<< "====" << nl; + } + + allTags.clear(); + allTags.push_back(tag1); + allTags.push_back(tag2a); + allTags.push_back(tag2b); + allTags.push_back(tag3); + allTags.push_back(tag4); + allTags.push_back(fieldTag::make_empty<tensor>()); + + + // Add some other types + { + vectorField vfld2a(20, vector::uniform(1.23)); + + allTags.emplace_back + ( + vfld2a.begin(), + vfld2a.end() + ); + allTags.emplace_back(vector(1.01, 2.02, 3.03)); + allTags.emplace_back(12.4); + + allTags.emplace_back().set_value(vector::uniform(2.0)); + allTags.back().set_empty(); + } + Info<< "all tags: " << allTags << nl; + + Foam::sort(allTags); + + Info<< "sorted: " << allTags << nl; + fieldTag result; result = fieldTag::combineOp{}(tag1, tag2a); diff --git a/applications/test/exprValue2/exprValueFieldTag.cxx b/applications/test/exprValue2/exprValueFieldTag.cxx deleted file mode 100644 index e30226107bc..00000000000 --- a/applications/test/exprValue2/exprValueFieldTag.cxx +++ /dev/null @@ -1,160 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | www.openfoam.com - \\/ M anipulation | -------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. - -\*---------------------------------------------------------------------------*/ - -#include "exprValueFieldTag.H" - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -bool Foam::expressions::exprValueFieldTag::empty() const noexcept -{ - return - ( - uniformity_ == Foam::Detail::ListPolicy::uniformity::EMPTY - ); -} - - -bool Foam::expressions::exprValueFieldTag::is_uniform() const noexcept -{ - return - ( - uniformity_ == Foam::Detail::ListPolicy::uniformity::UNIFORM - ); -} - - -bool Foam::expressions::exprValueFieldTag::is_nonuniform() const noexcept -{ - return - ( - uniformity_ == Foam::Detail::ListPolicy::uniformity::NONUNIFORM - ); -} - - -bool Foam::expressions::exprValueFieldTag::equal -( - const exprValueFieldTag& rhs -) const -{ - return (value_ == rhs.value_); -} - - -void Foam::expressions::exprValueFieldTag::set_nouniform() noexcept -{ - uniformity_ = Foam::Detail::ListPolicy::uniformity::NONUNIFORM; - value_ = Foam::zero{}; -} - - -void Foam::expressions::exprValueFieldTag::combine -( - const exprValueFieldTag& b -) -{ - if (b.empty()) - { - // no-op - return; - } - - exprValueFieldTag& a = *this; - - if (a.empty()) - { - a = b; - } - else if (a.is_nonuniform()) - { - // Already non-uniform/mixed - // a.uniformity_ |= b.uniformity_; - - a.value_ = Foam::zero{}; - } - else if (a.is_uniform() && b.is_uniform()) - { - // Both are uniform, but are they the same value? - if (!a.equal(b)) - { - a.set_nouniform(); - } - } -} - - -// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // - -void Foam::expressions::exprValueFieldTag::read(Istream& is) -{ - label uniformTag; - - is >> uniformTag; - uniformity_ = int(uniformTag); - value_.read(is); -} - - -void Foam::expressions::exprValueFieldTag::write(Ostream& os) const -{ - os << label(uniformity_); - value_.write(os, false); // No pruning -} - - -void Foam::expressions::exprValueFieldTag::print(Ostream& os) const -{ - os << "{ uniform:" - << label(uniformity_) - << " type:" << label(value_.typeCode()) - << " value: " << value_ << " }"; -} - - -Foam::Istream& Foam::operator>> -( - Istream& is, - expressions::exprValueFieldTag& tag -) -{ - tag.read(is); - return is; -} - - -Foam::Ostream& Foam::operator<< -( - Ostream& os, - const expressions::exprValueFieldTag& tag -) -{ - tag.write(os); - return os; -} - - -// ************************************************************************* // diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index 3c994955373..f8df675d93d 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -185,6 +185,7 @@ $(expr)/scanToken/exprScanToken.C $(expr)/traits/exprTraits.C $(expr)/value/exprValue.C +$(expr)/value/exprValueFieldTag.C $(expr)/exprDriver/exprDriver.C $(expr)/exprDriver/exprDriverFields.C diff --git a/src/OpenFOAM/expressions/exprResult/exprResult.H b/src/OpenFOAM/expressions/exprResult/exprResult.H index cd7f3d6177d..e712e1c440f 100644 --- a/src/OpenFOAM/expressions/exprResult/exprResult.H +++ b/src/OpenFOAM/expressions/exprResult/exprResult.H @@ -146,11 +146,11 @@ class exprResult //- Type-checked determination of centre value (min/max) // \return True if the type check was satisfied template<class Type> - bool setAverageValueChecked(const bool parRun = Pstream::parRun()); + bool setAverageValueChecked(const bool parRun = UPstream::parRun()); //- Type-checked determination of average bool value // \return True if the type check was satisfied - bool setAverageValueCheckedBool(const bool parRun = Pstream::parRun()); + bool setAverageValueCheckedBool(const bool parRun = UPstream::parRun()); //- Type-checked copy of field // \return True if the type check was satisfied @@ -385,7 +385,7 @@ public: //- Test if field corresponds to a single-value and thus uniform. // Uses field min/max to establish uniformity. // Test afterwards with isUniform() - void testIfSingleValue(const bool parRun = Pstream::parRun()); + void testIfSingleValue(const bool parRun = UPstream::parRun()); // Set results @@ -437,7 +437,7 @@ public: ( const label size, const bool noWarn, - const bool parRun = Pstream::parRun() + const bool parRun = UPstream::parRun() ) const; //- Get a reduced result diff --git a/src/OpenFOAM/expressions/value/exprValue.C b/src/OpenFOAM/expressions/value/exprValue.C index bfddba1137a..7272979d2c6 100644 --- a/src/OpenFOAM/expressions/value/exprValue.C +++ b/src/OpenFOAM/expressions/value/exprValue.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,24 +26,42 @@ License \*---------------------------------------------------------------------------*/ #include "exprValue.H" +#include "error.H" #include "ITstream.H" #include "Switch.H" #include <cstring> // For memcpy, memset +// * * * * * * * * * * * * * * * * Details * * * * * * * * * * * * * * * * // + +void Foam::expressions::Detail::exprValueUnion::notSpecialized +( + const std::string& msg +) noexcept +{ + FatalErrorInFunction + << "non-specialized: " << msg.c_str() << endl + << abort(FatalError); +} + + // * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // namespace Foam { +#if 0 +// General way to add tokens for VectorSpace types +// (caller excludes none/invalid) template<class Type> -static void fillTokens(const Type& val, tokenList& toks) +static void addTokens(tokenList& toks, const Type& val) { const direction nCmpt = pTraits<Type>::nComponents; const direction nParen = 2*(pTraits<Type>::rank || (nCmpt > 1) ? 1 : 0); - toks.resize_nocopy(nCmpt + nParen); + const label nOld = toks.size(); + toks.resize(nOld + label(nCmpt + nParen)); - auto iter = toks.begin(); + auto iter = toks.begin(nOld); if (nParen) { @@ -67,28 +85,57 @@ static void fillTokens(const Type& val, tokenList& toks) //- Specialized for bool template<> -void fillTokens<bool>(const bool& val, tokenList& toks) +void addTokens<bool>(tokenList& toks, const bool& val) { - toks.resize_nocopy(1); - toks.front() = token::boolean(val); + toks.emplace_back() = token::boolean(val); } //- Specialized for label template<> -void fillTokens<label>(const label& val, tokenList& toks) +void addTokens<label>(tokenList& toks, const label& val) { - toks.resize_nocopy(1); - toks.front() = val; + toks.emplace_back() = val; } //- Specialized for scalar template<> -void fillTokens<scalar>(const scalar& val, tokenList& toks) +void addTokens<scalar>(tokenList& toks, const scalar& val) +{ + toks.emplace_back() = val; +} + +#endif + + +// General output of type (caller excludes none/invalid) +template<class Type> +static void putType(Ostream& os, const Type& val) +{ + os << val; +} + + +//- Specialized for bool. +//- Write as (true/false) via Switch to avoid bool/label ambiguity +template<> +void putType<bool>(Ostream& os, const bool& val) +{ + // Note: prefer Switch() vs (std::ios::boolalpha) to avoid any + // potential locale issues. + os << Switch(val); +} + + +//- Specialized for scalar. +//- Write with '.' to avoid scalar/label ambiguity +template<> +void putType<scalar>(Ostream& os, const scalar& val) { - toks.resize_nocopy(1); - toks.front() = val; + const auto oldflags = os.setf(std::ios::showpoint); + os << val; + os.flags(oldflags); // Restore } } // End namespace Foam @@ -226,6 +273,7 @@ void Foam::expressions::exprValue::deepCopy(const exprValue& rhs) } +#if 0 Foam::tokenList Foam::expressions::exprValue::tokens(bool prune) const { // Handling for NONE, INVALID: @@ -237,24 +285,28 @@ Foam::tokenList Foam::expressions::exprValue::tokens(bool prune) const tokenList toks; - if (!prune) + switch (typeCode_) { - if (typeCode_ == expressions::valueTypeCode::NONE) + case expressions::valueTypeCode::NONE : { - toks.resize(2); - toks.front() = token::BEGIN_LIST; - toks.back() = token::END_LIST; - return toks; + if (!prune) + { + toks.resize(2); + toks.front() = token::BEGIN_LIST; + toks.back() = token::END_LIST; + } + break; } - else if (typeCode_ == expressions::valueTypeCode::INVALID) + + case expressions::valueTypeCode::INVALID : { - toks.emplace_back(word("bad")); - return toks; + if (!prune) + { + toks.emplace_back(word("bad")); + } + break; } - } - switch (typeCode_) - { #undef doLocalCode #define doLocalCode(Type, UnusedParam) \ \ @@ -263,7 +315,7 @@ Foam::tokenList Foam::expressions::exprValue::tokens(bool prune) const const Type* dataPtr = data_.get<Type>(); \ if (dataPtr) \ { \ - fillTokens<Type>(*dataPtr, toks); \ + addTokens<Type>(toks, *dataPtr); \ } \ break; \ } @@ -277,6 +329,7 @@ Foam::tokenList Foam::expressions::exprValue::tokens(bool prune) const return toks; } +#endif void Foam::expressions::exprValue::write(Ostream& os, bool prune) const @@ -288,22 +341,26 @@ void Foam::expressions::exprValue::write(Ostream& os, bool prune) const // With prune: // - no output for either - if (!prune) + switch (typeCode_) { - if (typeCode_ == expressions::valueTypeCode::NONE) + case expressions::valueTypeCode::NONE : { - os << token::BEGIN_LIST << token::END_LIST; - return; + if (!prune) + { + os << token::BEGIN_LIST << token::END_LIST; + } + break; } - else if (typeCode_ == expressions::valueTypeCode::INVALID) + + case expressions::valueTypeCode::INVALID : { - os << word("bad"); - return; + if (!prune) + { + os << word("bad"); + } + break; } - } - switch (typeCode_) - { #undef doLocalCode #define doLocalCode(Type, UnusedParam) \ \ @@ -312,7 +369,7 @@ void Foam::expressions::exprValue::write(Ostream& os, bool prune) const const Type* dataPtr = data_.get<Type>(); \ if (dataPtr) \ { \ - os << *dataPtr; \ + putType(os, *dataPtr); \ } \ break; \ } @@ -381,34 +438,27 @@ bool Foam::expressions::exprValue::readTokens(ITstream& is) const valueTypeCode whichCode(exprValue::peekType(is)); - if (whichCode == expressions::valueTypeCode::NONE) - { - typeCode_ = whichCode; - is.skip(2); // Skip tokens: '( )' - return true; - } - - // This one should be rare or even impossible - if (whichCode == expressions::valueTypeCode::INVALID) + switch (whichCode) { - typeCode_ = whichCode; - - if (is.bad()) + case expressions::valueTypeCode::NONE : { - return false; + typeCode_ = whichCode; + is.skip(2); // Skip tokens: '( )' + return true; } - const token& tok0 = is.peek(); - - if (tok0.isWord("bad")) + // This one should be rare or even impossible + case expressions::valueTypeCode::INVALID : { - is.skip(1); // Skip token: "bad" - return true; + typeCode_ = whichCode; + if (!is.bad() && is.peek().isWord("bad")) + { + is.skip(1); // Skip token: "bad" + return true; + } + return false; // Some type of failure.. } - } - switch (whichCode) - { #undef doLocalCode #define doLocalCode(Type, UnusedParam) \ \ @@ -430,6 +480,58 @@ bool Foam::expressions::exprValue::readTokens(ITstream& is) } +int Foam::expressions::exprValue::compare +( + const exprValue& rhs +) const +{ + if (typeCode_ != rhs.typeCode_) + { + // First compare by type + return (int(typeCode_) - int(rhs.typeCode_)); + } + else if ((this == &rhs) || !good()) + { + // Identical: same object or not good + // (ie, no further comparison possible) + return 0; + } + + // Types are identical (and good) + // - compare by value. + // This is even messier than usual, since can only rely on + // operator< being defined + + switch (typeCode_) + { + #undef doLocalCode + #define doLocalCode(Type, UnusedParam) \ + \ + case expressions::valueTypeCode::type_##Type : \ + { \ + const Type* a = data_.get<Type>(); \ + const Type* b = rhs.data_.get<Type>(); \ + return \ + ( \ + (a && b) \ + ? ((*a < *b) ? -1 : (*b < *a) ? 1 : 0) \ + : 0 \ + ); \ + break; \ + } + + FOR_ALL_EXPR_VALUE_TYPES(doLocalCode); + #undef doLocalCode + + // exprValue may only be a subset of valueTypeCode types + default: break; + } + + // Should not happen + return 0; +} + + // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // bool Foam::expressions::exprValue::operator==(const exprValue& rhs) const @@ -470,8 +572,7 @@ bool Foam::expressions::exprValue::operator==(const exprValue& rhs) const bool Foam::expressions::exprValue::operator<(const exprValue& rhs) const { - // Not yet sortable - return false; + return (this->compare(rhs) < 0); } diff --git a/src/OpenFOAM/expressions/value/exprValue.H b/src/OpenFOAM/expressions/value/exprValue.H index 16cf5753c23..97e057614dd 100644 --- a/src/OpenFOAM/expressions/value/exprValue.H +++ b/src/OpenFOAM/expressions/value/exprValue.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2023 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,10 +42,8 @@ SourceFiles #ifndef Foam_expressions_exprValue_H #define Foam_expressions_exprValue_H -#include "exprTraits.H" -#include "error.H" +#include "exprTraits.H" // For valueTypeCode and label, scalar, vector etc. #include "contiguous.H" -#include "tokenList.H" #include "InfoProxy.H" #include <typeinfo> @@ -102,12 +100,7 @@ union exprValueUnion // This seems to be the best way to catch programming errors // since static_assert does not help here. // The 'noexcept' is slightly misleading (needed for the caller) - static void notSpecialized(const std::string& msg) noexcept - { - FatalErrorInFunction - << "non-specialized: " << msg.c_str() << endl - << abort(FatalError); - } + static void notSpecialized(const std::string& msg) noexcept; //- Return read pointer to typed union member, //- which is nullptr for unspecialized versions @@ -175,13 +168,8 @@ class exprValue //- Copy assignment void deepCopy(const exprValue& rhs); - public: - //- Runtime type information - ClassName("exprValue"); - - // Constructors //- Default construct (zero-initialized) as 'none' @@ -244,7 +232,7 @@ public: //- The value type code expressions::valueTypeCode typeCode() const noexcept { - return typeCode_; + return typeCode_; } //- True if the value type is not none/invalid @@ -277,6 +265,9 @@ public: // \return True on success bool readTokens(ITstream& is); + //- Compare (type,value) + int compare(const exprValue& rhs) const; + // Typed Access @@ -350,7 +341,7 @@ public: //- Compare (type,value) for inequality bool operator!=(const exprValue& rhs) const { return !(*this == rhs); } - //- Compare (type,value) - currently not implemented. + //- Compare (type,value) bool operator<(const exprValue& rhs) const; @@ -359,17 +350,12 @@ public: //- Return info proxy for printing information to a stream InfoProxy<exprValue> info() const { return *this; } - //- The exprValue as tokens. - // For none : emits pair of brackets. - // For invalid : emits "bad". - // - // \param prune suppress the output for none/invalid - tokenList tokens(bool prune = false) const; - //- Write the (type-specific) content. // For none : emits pair of brackets. // For invalid : emits "bad". // + // Use OTstream for the stream to recover as tokens. + // // \param prune suppress the output for none/invalid void write(Ostream& os, bool prune = false) const; }; diff --git a/src/OpenFOAM/expressions/value/exprValueFieldTag.C b/src/OpenFOAM/expressions/value/exprValueFieldTag.C new file mode 100644 index 00000000000..0e739b8a869 --- /dev/null +++ b/src/OpenFOAM/expressions/value/exprValueFieldTag.C @@ -0,0 +1,307 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "exprValueFieldTag.H" +#include "PstreamReduceOps.H" + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::expressions::exprValueFieldTag::empty() const noexcept +{ + return + ( + uniformity_ == Foam::Detail::ListPolicy::uniformity::EMPTY + ); +} + + +bool Foam::expressions::exprValueFieldTag::is_uniform() const noexcept +{ + return + ( + uniformity_ == Foam::Detail::ListPolicy::uniformity::UNIFORM + ); +} + + +bool Foam::expressions::exprValueFieldTag::is_nonuniform() const noexcept +{ + return + ( + uniformity_ == Foam::Detail::ListPolicy::uniformity::NONUNIFORM + // Extra safety for direct reductions? + // || uniformity_ == Foam::Detail::ListPolicy::uniformity::MIXED + ); +} + + +const Foam::expressions::exprValue& +Foam::expressions::exprValueFieldTag::value() const noexcept +{ + return value_; +} + + +void Foam::expressions::exprValueFieldTag::set_empty() +{ + uniformity_ = Foam::Detail::ListPolicy::uniformity::EMPTY; + value_ = Foam::zero{}; +} + + +void Foam::expressions::exprValueFieldTag::set_nouniform() +{ + uniformity_ = Foam::Detail::ListPolicy::uniformity::NONUNIFORM; + value_ = Foam::zero{}; +} + + +int Foam::expressions::exprValueFieldTag::compare +( + const exprValueFieldTag& rhs +) const +{ + if (uniformity_ != rhs.uniformity_) + { + // First compare by uniformity + return (int(uniformity_) - int(rhs.uniformity_)); + } + if (this == &rhs) + { + // Identical objects + return 0; + } + + return value_.compare(rhs.value_); +} + + +bool Foam::expressions::exprValueFieldTag::equal +( + const exprValueFieldTag& rhs +) const +{ + return (value_ == rhs.value_); +} + + +void Foam::expressions::exprValueFieldTag::reduce() +{ + if (!UPstream::is_parallel()) + { + // Nothing to do + return; + } + + // Two-stage reduction + // ~~~~~~~~~~~~~~~~~~~ + // + // Fields will usually be non-uniform somewhere, so first check with + // the cheapest option (bit-wise Allreduce). + // Only if they are uniform (with/without empty) do we actually + // need to compare values. + + typedef unsigned char bitmask_type; + + bitmask_type shape = static_cast<bitmask_type>(uniformity_); + + // Step 1 + // ~~~~~~ + Foam::reduce + ( + shape, + bitOrOp<bitmask_type>{}, + UPstream::msgType(), // ignored + UPstream::worldComm + ); + + // Step 2 + // ~~~~~~ + if + ( + shape == static_cast<bitmask_type> + ( + Foam::Detail::ListPolicy::uniformity::EMPTY + ) + ) + { + // no-op (empty everywhere) + value_ = Foam::zero{}; + } + else if + ( + shape == static_cast<bitmask_type> + ( + Foam::Detail::ListPolicy::uniformity::UNIFORM + ) + ) + { + // Ranks are locally uniform (or empty), need to check values too + Foam::reduce + ( + *this, + exprValueFieldTag::combineOp{}, + UPstream::msgType(), + UPstream::worldComm + ); + } + else + { + // Field is global non-empty and not uniform + set_nouniform(); + } +} + + +Foam::expressions::exprValueFieldTag +Foam::expressions::exprValueFieldTag::returnReduce +( + const exprValueFieldTag& tag +) +{ + exprValueFieldTag work(tag); + work.reduce(); + return work; +} + + +void Foam::expressions::exprValueFieldTag::combine +( + const exprValueFieldTag& b +) +{ + exprValueFieldTag& a = *this; + + if (b.empty()) + { + // no-op + return; + } + else if (a.empty()) + { + a = b; + } + else if (a.is_uniform() && (!b.is_uniform() || !a.equal(b))) + { + // Handle two cases: + // 1. uniform / non-uniform + // 2. uniform / uniform, but with different values + a.set_nouniform(); + } + + // No meaningful value if it is not uniform. + // So use zero, but keep the type + if (!a.is_uniform()) + { + a.value_ = Foam::zero{}; + } +} + + +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + +bool Foam::expressions::exprValueFieldTag:: +operator==(const exprValueFieldTag& rhs) const +{ + if (uniformity_ != rhs.uniformity_) + { + // Uniformity must match + return false; + } + else if (this == &rhs) + { + return true; + } + + return (value_ == rhs.value_); +} + + +bool Foam::expressions::exprValueFieldTag:: +operator<(const exprValueFieldTag& rhs) const +{ + return (this->compare(rhs) < 0); +} + + +// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // + +void Foam::expressions::exprValueFieldTag::read(Istream& is) +{ + label uniformTag; + + is.readBegin("fieldTag"); + + is >> uniformTag; + uniformity_ = int(uniformTag); + value_.read(is); + + is.readEnd("fieldTag"); +} + + +void Foam::expressions::exprValueFieldTag::write(Ostream& os) const +{ + os << token::BEGIN_LIST + << label(uniformity_) << token::SPACE; + value_.write(os, false); // No pruning + os << token::END_LIST; +} + + +void Foam::expressions::exprValueFieldTag::print(Ostream& os) const +{ + os << "{ uniform:" + << label(uniformity_) + << " type:" << label(value_.typeCode()) + << " value: " << value_ << " }"; +} + + +Foam::Istream& Foam::operator>> +( + Istream& is, + expressions::exprValueFieldTag& tag +) +{ + tag.read(is); + return is; +} + + +Foam::Ostream& Foam::operator<< +( + Ostream& os, + const expressions::exprValueFieldTag& tag +) +{ + tag.write(os); + return os; +} + + +// ************************************************************************* // diff --git a/applications/test/exprValue2/exprValueFieldTag.H b/src/OpenFOAM/expressions/value/exprValueFieldTag.H similarity index 58% rename from applications/test/exprValue2/exprValueFieldTag.H rename to src/OpenFOAM/expressions/value/exprValueFieldTag.H index cd92e3597cb..25f9e29f67b 100644 --- a/applications/test/exprValue2/exprValueFieldTag.H +++ b/src/OpenFOAM/expressions/value/exprValueFieldTag.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2023 OpenCFD Ltd. + Copyright (C) 2023-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,11 +27,11 @@ Class Foam::expressions::exprValueFieldTag Description - A polymorphic single-value container for tracking Field content - as uniform etc. + An expressions::exprValue (polymorphic typed union) with an additional + flag for tracking Field content as uniform etc. SourceFiles - exprValueFieldTag.cxx + exprValueFieldTag.C \*---------------------------------------------------------------------------*/ @@ -39,7 +39,7 @@ SourceFiles #define Foam_expressions_exprValueFieldTag_H #include "exprValue.H" -#include "List.H" // For ListPolicy +#include "UList.H" // For ListPolicy // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -54,21 +54,39 @@ namespace expressions class exprValueFieldTag { - // Private data + // Private Data - //- Uniformity of field + //- Uniformity of field (0: empty, 1: uniform, 2: non-uniform, ...) + // Values as per internal enum Foam::Detail::ListPolicy::uniformity int uniformity_{}; - //- Representative (uniform) value for the field + //- Representative (uniform) type/value for the field expressions::exprValue value_{}; + public: - // Constructors + // Generated Methods - //- Default construct + //- Default construct. Uniformity = empty, type = none exprValueFieldTag() = default; + //- Copy construct + exprValueFieldTag(const exprValueFieldTag&) = default; + + //- Copy assignment + exprValueFieldTag& operator=(const exprValueFieldTag&) = default; + + + // Constructors + + //- Construct as uniform with the specified type/value + template<class Type> + explicit exprValueFieldTag(const Type& val) + { + set_value(val); + } + //- Construct from a range of values template<class Type> explicit exprValueFieldTag(const Type* first, const Type* last) @@ -77,6 +95,18 @@ public: } + // Factory Methods + + //- Make an empty field tag with the specified type (zero-value) + template<class Type> + static exprValueFieldTag make_empty() + { + exprValueFieldTag tag; // construct empty, no type + tag.set_zero<Type>(); // set type and zero value + return tag; + } + + // Member Functions //- True if the uniformity is "empty" @@ -88,9 +118,18 @@ public: //- True if the uniformity is "non-uniform" bool is_nonuniform() const noexcept; + //- Representative (uniform) value for the field + const expressions::exprValue& value() const noexcept; + + //- Compare (uniformity, type, value) + int compare(const exprValueFieldTag& rhs) const; + //- Test for equality of the values bool equal(const exprValueFieldTag& rhs) const; + + // Setters + //- Set value and uniformity from range of data template<class Type> void set(const Type* first, const Type* last) @@ -104,29 +143,48 @@ public: } else { + // Is empty, set zero value value_.set<Type>(Foam::zero{}); } } - //- Set uniform type and value + //- Set as uniform, with specified value template<class Type> - void set_uniform(const Type& val) + void set_value(const Type& val) { uniformity_ = Foam::Detail::ListPolicy::uniformity::UNIFORM; value_.set<Type>(val); } - //- Set as non-uniform - void set_nouniform() noexcept; + //- Set type and zero value (does not affect uniformity) + template<class Type> + void set_zero() + { + value_.set<Type>(Foam::zero{}); + } + + //- Set as empty with zero value, leave type unchanged + void set_empty(); + + //- Set as non-uniform with zero value, leave type unchanged + void set_nouniform(); + + + // Parallel + + //- Inplace parallel reduction, uses worldComm + void reduce(); + + //- Perform a reduction on a copy and return the result + static exprValueFieldTag returnReduce(const exprValueFieldTag& tag); // Reduction operations - //- Combine - eg, for global uniformity + //- Inplace combine - eg, for global uniformity void combine(const exprValueFieldTag& b); - //- Binary operator to be used by reduce function for detecting - //- global uniformity + //- Binary combine operator, e.g. for global reduction struct combineOp { exprValueFieldTag operator() @@ -144,11 +202,32 @@ public: // IO Operations + //- Read uniformity label and the value as pair void read(Istream& is); + + //- Write uniformity label and the value as pair void write(Ostream& os) const; //- Print description to Ostream void print(Ostream& os) const; + + + // Member Operators + + //- Assign from zero. Changes value but not type + void operator=(const Foam::zero) { value_ = Foam::zero{}; } + + //- Compare (uniformity,value) for equality + bool operator==(const exprValueFieldTag&) const; + + //- Compare (uniformity,value) for inequality + bool operator!=(const exprValueFieldTag& rhs) const + { + return !(*this == rhs); + } + + //- Compare (uniformity,value) + bool operator<(const exprValueFieldTag&) const; }; } // End namespace expressions diff --git a/src/OpenFOAM/expressions/value/exprValueFwd.H b/src/OpenFOAM/expressions/value/exprValueFwd.H new file mode 100644 index 00000000000..f352103d99d --- /dev/null +++ b/src/OpenFOAM/expressions/value/exprValueFwd.H @@ -0,0 +1,56 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::expressions::exprValue + +Description + Forward declarations for Foam::expressions::exprValue etc + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_expressions_exprValueFwd_H +#define Foam_expressions_exprValueFwd_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace expressions +{ + +// Forward Declarations +class exprValue; +class exprValueFieldTag; + +} // End namespace expressions +} // End namespace Foam + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // -- GitLab From 9d6b8a9c28bbfb9999f8ba3e357a431f2941d63f Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Tue, 11 Jun 2024 14:15:29 +0100 Subject: [PATCH 210/231] TUT: mixerVessel2D: add missing MRF-related keyword --- .../rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes | 1 + 1 file changed, 1 insertion(+) diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes index 46e3ad541d9..d830113c76a 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes @@ -29,6 +29,7 @@ divSchemes default none; div(phi,U) Gauss limitedLinearV 1; + div(phiMRF,p) Gauss limitedLinear 1; div(phi,h) Gauss limitedLinear 1; div(phi,K) Gauss linear; -- GitLab From 93ee308ebf7cee7633fe146c8b6dd91721feb342 Mon Sep 17 00:00:00 2001 From: Andrew Heather <aht@esi-group.com> Date: Tue, 11 Jun 2024 16:06:13 +0000 Subject: [PATCH 211/231] CONFIG: Added value to cyclicAMI entry --- etc/caseDicts/setConstraintTypes | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/caseDicts/setConstraintTypes b/etc/caseDicts/setConstraintTypes index 939659331c5..c2dc0311934 100644 --- a/etc/caseDicts/setConstraintTypes +++ b/etc/caseDicts/setConstraintTypes @@ -14,6 +14,7 @@ cyclic cyclicAMI { type cyclicAMI; + value $internalField; } cyclicACMI -- GitLab From c6501b799e0404a1b9701218966ac53f259d35ac Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Tue, 11 Jun 2024 19:11:31 +0100 Subject: [PATCH 212/231] BUG: ddt2, zeroGradient FOs - set candidates using name match --- src/functionObjects/field/ddt2/ddt2.C | 5 +---- src/functionObjects/field/zeroGradient/zeroGradient.C | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/functionObjects/field/ddt2/ddt2.C b/src/functionObjects/field/ddt2/ddt2.C index c4f8f83dc26..28630f3033a 100644 --- a/src/functionObjects/field/ddt2/ddt2.C +++ b/src/functionObjects/field/ddt2/ddt2.C @@ -172,10 +172,7 @@ bool Foam::functionObjects::ddt2::execute() { results_.clear(); - wordHashSet candidates - ( - mesh_.names(selectFields_) - ); + wordHashSet candidates(mesh_.names<regIOobject>(selectFields_)); DynamicList<word> missing(selectFields_.size()); DynamicList<word> ignored(selectFields_.size()); diff --git a/src/functionObjects/field/zeroGradient/zeroGradient.C b/src/functionObjects/field/zeroGradient/zeroGradient.C index ba0977f6582..a69b3cf2ef2 100644 --- a/src/functionObjects/field/zeroGradient/zeroGradient.C +++ b/src/functionObjects/field/zeroGradient/zeroGradient.C @@ -134,10 +134,7 @@ bool Foam::functionObjects::zeroGradient::execute() { results_.clear(); - wordHashSet candidates - ( - mesh_.names(selectFields_) - ); + wordHashSet candidates(mesh_.names<regIOobject>(selectFields_)); DynamicList<word> missing(selectFields_.size()); DynamicList<word> ignored(selectFields_.size()); -- GitLab From 732872b9cc31134db4f175ee35f851bc5b87063b Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 10 Jun 2024 16:20:11 +0200 Subject: [PATCH 213/231] REGRESSION: missing "value" handling for some surface fields (#3144) - changes in 8a8b5db977c3 were overly aggressive. Only need to suppress "value" IO for empty patches types --- .../constraint/empty/emptyFaPatchField.C | 10 ++++++++++ .../constraint/empty/emptyFaPatchField.H | 6 ++++++ .../basic/sliced/slicedFaePatchField.C | 10 ++++++++++ .../basic/sliced/slicedFaePatchField.H | 3 +++ .../constraint/empty/emptyFaePatchField.C | 10 ++++++++++ .../constraint/empty/emptyFaePatchField.H | 10 ++++++++-- .../constraint/empty/emptyFvPatchField.C | 8 ++++++++ .../constraint/empty/emptyFvPatchField.H | 8 +++++++- .../basic/calculated/calculatedFvsPatchField.H | 5 +++-- .../basic/coupled/coupledFvsPatchField.H | 2 +- .../basic/fixedValue/fixedValueFvsPatchField.H | 6 +++--- .../constraint/cyclic/cyclicFvsPatchField.H | 2 +- .../constraint/cyclicSlip/cyclicSlipFvsPatchField.H | 1 - .../constraint/empty/emptyFvsPatchField.C | 10 ++++++++++ .../constraint/empty/emptyFvsPatchField.H | 8 +++++++- .../nonuniformTransformCyclicFvsPatchField.H | 1 - .../constraint/symmetry/symmetryFvsPatchField.C | 12 +++++++++++- .../constraint/symmetry/symmetryFvsPatchField.H | 13 ++++++++++--- .../symmetryPlane/symmetryPlaneFvsPatchField.C | 12 +++++++++++- .../symmetryPlane/symmetryPlaneFvsPatchField.H | 13 ++++++++++--- .../constraint/wedge/wedgeFvsPatchField.C | 12 +++++++++++- .../constraint/wedge/wedgeFvsPatchField.H | 13 ++++++++++--- 22 files changed, 150 insertions(+), 25 deletions(-) diff --git a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.C b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.C index daeae4a111d..a011455ef27 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.C +++ b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.C @@ -137,4 +137,14 @@ void Foam::emptyFaPatchField<Type>::updateCoeffs() } +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::emptyFaPatchField<Type>::write(Ostream& os) const +{ + faPatchField<Type>::write(os); + // Never write "value" +} + + // ************************************************************************* // diff --git a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H index ef6b2d9e36a..cd7d1febbe0 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/empty/emptyFaPatchField.H @@ -186,6 +186,12 @@ public: { return tmp<Field<Type>>::New(); } + + + // Member Functions + + //- Write without "value" entry! + virtual void write(Ostream&) const; }; diff --git a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C index 9f0e1818aba..4439efada22 100644 --- a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C +++ b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.C @@ -131,4 +131,14 @@ Foam::slicedFaePatchField<Type>::~slicedFaePatchField() } +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::slicedFaePatchField<Type>::write(Ostream& os) const +{ + faePatchField<Type>::write(os); + faePatchField<Type>::writeValueEntry(os); +} + + // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H index 17302930ee5..3dd671d7644 100644 --- a/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/basic/sliced/slicedFaePatchField.H @@ -141,6 +141,9 @@ public: //- True: this patch field fixes a value. virtual bool fixesValue() const { return true; } + //- Write includes "value" entry + virtual void write(Ostream&) const; + // Member Operators diff --git a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.C b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.C index d77ef591d5d..233c5888129 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.C +++ b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.C @@ -108,4 +108,14 @@ Foam::emptyFaePatchField<Type>::emptyFaePatchField {} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::emptyFaePatchField<Type>::write(Ostream& os) const +{ + faePatchField<Type>::write(os); + // Never write "value" +} + + // ************************************************************************* // diff --git a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H index 3d9afcace46..1d26f2b7881 100644 --- a/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H +++ b/src/finiteArea/fields/faePatchFields/constraint/empty/emptyFaePatchField.H @@ -124,9 +124,9 @@ public: virtual ~emptyFaePatchField() = default; - // Member functions + // Member Functions - // Mapping functions + // Mapping Functions //- Map (and resize as needed) from self given a mapping object virtual void autoMap @@ -142,6 +142,12 @@ public: const labelList& ) {} + + + // Member Functions + + //- Write without "value" entry! + virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C index 5bbc2ddd6f2..3a7da4963b0 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C @@ -123,4 +123,12 @@ void Foam::emptyFvPatchField<Type>::updateCoeffs() } +template<class Type> +void Foam::emptyFvPatchField<Type>::write(Ostream& os) const +{ + fvPatchField<Type>::write(os); + // Never write "value" +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H index b22e96584c7..3cf910fc072 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.H @@ -42,7 +42,7 @@ Usage \verbatim <patchName> { - type empty; + type empty; } \endverbatim @@ -194,6 +194,12 @@ public: { return tmp<Field<Type>>::New(); } + + + // Member Functions + + //- Write without "value" entry! + virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H index 1e8914fd250..4b629cba984 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H @@ -43,8 +43,8 @@ Usage \verbatim <patchName> { - type calculated; - value uniform (0 0 0); // Required value entry + type calculated; + value uniform (0 0 0); // Required value entry } \endverbatim @@ -88,6 +88,7 @@ public: ); //- Construct from patch, internal field and dictionary + //- The "value" entry is MUST_READ. calculatedFvsPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H index b6ce0ea9f0c..ddb82695625 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H @@ -123,7 +123,7 @@ public: // Member Functions - //- True if this patch field is derived from coupledFvsPatchField + //- True: this patch field is derived from coupledFvsPatchField virtual bool coupled() const { return true; diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H index 5934499fe08..600abc3ba6c 100644 --- a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H @@ -43,8 +43,8 @@ Usage \verbatim <patchName> { - type fixedValue; - value uniform 0; // Example for scalar field usage + type fixedValue; + value uniform 0; // Example for scalar field usage } \endverbatim @@ -151,7 +151,7 @@ public: virtual void write(Ostream&) const; - // Evaluation functions + // Evaluation Functions //- Return the matrix diagonal coefficients corresponding to the // evaluation of the value of this patchField with given weights diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H index 384638a7547..8678370201c 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.H @@ -88,7 +88,7 @@ public: ); //- Construct from patch, internal field and dictionary. - //- The "value" entry is NO_READ. + //- The "value" entry is MUST_READ. cyclicFvsPatchField ( const fvPatch&, diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchField.H index 09833a088ea..023beff5b41 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchField.H @@ -54,7 +54,6 @@ class cyclicSlipFvsPatchField : public cyclicFvsPatchField<Type> { - public: //- Runtime type information diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C index 5c1d93d7d53..4ad2d350be9 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C @@ -110,4 +110,14 @@ Foam::emptyFvsPatchField<Type>::emptyFvsPatchField {} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::emptyFvsPatchField<Type>::write(Ostream& os) const +{ + fvsPatchField<Type>::write(os); + // Never write "value" +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H index 6a703550751..f736e76d2b4 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.H @@ -37,7 +37,7 @@ Usage \verbatim <patchName> { - type empty; + type empty; } \endverbatim @@ -146,6 +146,12 @@ public: const labelList& ) {} + + + // Member Functions + + //- Write without "value" entry! + virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H index 6f5fdd7d718..8c78a68aa1a 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H @@ -54,7 +54,6 @@ class nonuniformTransformCyclicFvsPatchField : public cyclicFvsPatchField<Type> { - public: //- Runtime type information diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C index 071abfefee3..fb604eabd44 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C @@ -49,7 +49,7 @@ Foam::symmetryFvsPatchField<Type>::symmetryFvsPatchField const dictionary& dict ) : - fvsPatchField<Type>(p, iF, dict, IOobjectOption::NO_READ) + fvsPatchField<Type>(p, iF, dict, IOobjectOption::MUST_READ) { if (!isType<symmetryFvPatch>(p)) { @@ -105,4 +105,14 @@ Foam::symmetryFvsPatchField<Type>::symmetryFvsPatchField {} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::symmetryFvsPatchField<Type>::write(Ostream& os) const +{ + fvsPatchField<Type>::write(os); + fvsPatchField<Type>::writeValueEntry(os); +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H index 4142b0d70fa..03269966a17 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.H @@ -30,14 +30,15 @@ Class Description This boundary condition enforces a symmetry constraint - The "value" entry is NO_READ, NO_WRITE. + The "value" entry is MUST_READ. Usage Example of the boundary condition specification: \verbatim <patchName> { - type symmetry; + type symmetry; + value ...; } \endverbatim @@ -82,7 +83,7 @@ public: ); //- Construct from patch, internal field and dictionary - //- The "value" entry is NO_READ. + //- The "value" entry is MUST_READ. symmetryFvsPatchField ( const fvPatch&, @@ -126,6 +127,12 @@ public: { return fvsPatchField<Type>::Clone(*this, iF); } + + + // Member Functions + + //- Write includes "value" entry + virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C index 80d4b9378d4..c12a280cb33 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C @@ -49,7 +49,7 @@ Foam::symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField const dictionary& dict ) : - fvsPatchField<Type>(p, iF, dict, IOobjectOption::NO_READ) + fvsPatchField<Type>(p, iF, dict, IOobjectOption::MUST_READ) { if (!isType<symmetryPlaneFvPatch>(p)) { @@ -105,4 +105,14 @@ Foam::symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField {} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::symmetryPlaneFvsPatchField<Type>::write(Ostream& os) const +{ + fvsPatchField<Type>::write(os); + fvsPatchField<Type>::writeValueEntry(os); +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H index 717506e082a..515f1bdbecf 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H @@ -29,14 +29,15 @@ Class Description This boundary condition enforces a symmetryPlane constraint - The "value" entry is NO_READ, NO_WRITE. + The "value" entry is MUST_READ. Usage Example of the boundary condition specification: \verbatim <patchName> { - type symmetryPlane; + type symmetryPlane; + value ...; } \endverbatim @@ -81,7 +82,7 @@ public: ); //- Construct from patch, internal field and dictionary. - //- The "value" entry is NO_READ. + //- The "value" entry is MUST_READ. symmetryPlaneFvsPatchField ( const fvPatch&, @@ -125,6 +126,12 @@ public: { return fvsPatchField<Type>::Clone(*this, iF); } + + + // Member Functions + + //- Write includes "value" entry + virtual void write(Ostream&) const; }; diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C index df57e01f614..013a628b533 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C @@ -49,7 +49,7 @@ Foam::wedgeFvsPatchField<Type>::wedgeFvsPatchField const dictionary& dict ) : - fvsPatchField<Type>(p, iF, dict, IOobjectOption::NO_READ) + fvsPatchField<Type>(p, iF, dict, IOobjectOption::MUST_READ) { if (!isType<wedgeFvPatch>(p)) { @@ -105,4 +105,14 @@ Foam::wedgeFvsPatchField<Type>::wedgeFvsPatchField {} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::wedgeFvsPatchField<Type>::write(Ostream& os) const +{ + fvsPatchField<Type>::write(os); + fvsPatchField<Type>::writeValueEntry(os); +} + + // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H index aeb04ff0bc3..1325dd9a422 100644 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.H @@ -31,14 +31,15 @@ Description This boundary condition is similar to the cyclic condition, except that it is applied to 2-D geometries. - The "value" entry is NO_READ, NO_WRITE. + The "value" entry is MUST_READ. Usage Example of the boundary condition specification: \verbatim <patchName> { - type wedge; + type wedge; + value uniform ...; // Required value entry } \endverbatim @@ -83,7 +84,7 @@ public: ); //- Construct from patch, internal field and dictionary. - //- The "value" entry is NO_READ. + //- The "value" entry is MUST_READ. wedgeFvsPatchField ( const fvPatch&, @@ -127,6 +128,12 @@ public: { return fvsPatchField<Type>::Clone(*this, iF); } + + + // Member Functions + + //- Write includes "value" entry + virtual void write(Ostream&) const; }; -- GitLab From bb483951b788c389d673c3e8e662f9444baf0e0e Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 12 Jun 2024 09:59:35 +0100 Subject: [PATCH 214/231] ENH: compressibleMultiPhaseTurbulenceModels - added some (tested) RAS models --- .../compressibleMultiPhaseTurbulenceModels.C | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels/compressibleMultiPhaseTurbulenceModels.C b/src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels/compressibleMultiPhaseTurbulenceModels.C index b5abbaa5f2d..6d444b325e3 100644 --- a/src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels/compressibleMultiPhaseTurbulenceModels.C +++ b/src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels/compressibleMultiPhaseTurbulenceModels.C @@ -91,6 +91,14 @@ makeLaminarModel(generalizedNewtonian); #include "kEpsilon.H" makeRASModel(kEpsilon); +#include "realizableKE.H" +makeRASModel(realizableKE); + +#include "kOmega.H" +makeRASModel(kOmega); + +#include "kOmegaSST.H" +makeRASModel(kOmegaSST); // -------------------------------------------------------------------------- // // LES models -- GitLab From 5873ec1b22188232abc91121236a6b2e85cd57ab Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 12 Jun 2024 15:11:44 +0100 Subject: [PATCH 215/231] ENH: topoSet: allow transformation of input locations --- etc/caseDicts/annotated/topoSetSourcesDict | 36 +++++++++++++++++++ .../constant/dynamicMeshDict | 7 ---- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/etc/caseDicts/annotated/topoSetSourcesDict b/etc/caseDicts/annotated/topoSetSourcesDict index 0c0a816e79f..4a056d9ca81 100644 --- a/etc/caseDicts/annotated/topoSetSourcesDict +++ b/etc/caseDicts/annotated/topoSetSourcesDict @@ -34,6 +34,16 @@ cellSet_doc // or min (0 0 0); max (1 1 1); + + // Optional the cell centres can be transformed before being used. This + // can be used to simulate moving selections in transient simulations. + // Any solidBodyMotionFunction can be used. Note: the same optional + // transformation can be used for any selection requiring face centres + // or point locations. + solidBodyMotionFunction linearMotion + { + velocity (-0.1 -0.1 0); + } } @@ -58,6 +68,8 @@ cellSet_doc radius 5.0; // optional innerRadius 1.0; + + // See boxToCell for optional transformation of the cell centres } //- Select based on faceSet @@ -117,6 +129,8 @@ cellSet_doc { source nearestToCell; points ((0 0 0) (1 1 1)(2 2 2)); + + // See boxToCell for optional transformation of the cell centres } @@ -162,6 +176,8 @@ cellSet_doc i (0.2 0.2 0); j (-0.2 0.2 0); k (10 10 10); + + // See boxToCell for optional transformation of the cell centres } @@ -170,6 +186,8 @@ cellSet_doc source searchableSurfaceToCell; surfaceType triSurfaceMesh; // Type of surface surfaceName blob.obj; // Name for surface object + + // See boxToCell for optional transformation of the cell centres } @@ -188,6 +206,8 @@ cellSet_doc // optional innerRadius 1.0; + + // See boxToCell for optional transformation of the cell centres } @@ -209,6 +229,7 @@ cellSet_doc useSurfaceOrientation false; // use closed surface inside/outside // test (ignores includeCut, // outsidePoints) + // See boxToCell for optional transformation of the cell centres } @@ -257,6 +278,8 @@ faceSet_doc // or min (0 0 0); max (1 1 1); + + // See boxToCell for optional transformation of the face centres } @@ -286,6 +309,8 @@ faceSet_doc radius 5.0; // optional innerRadius 1.0; + + // See boxToCell for optional transformation of the face centres } @@ -352,6 +377,8 @@ faceSet_doc source searchableSurfaceToFace; surfaceType triSurfaceMesh; // Type of surface surfaceName blob.obj; // Name for surface object + + // See boxToCell for optional transformation of the face centres } @@ -362,6 +389,8 @@ faceSet_doc radius 5.0; // optional innerRadius 1.0; + + // See boxToCell for optional transformation of the face centres } @@ -410,6 +439,8 @@ pointSet_doc // or min (0 0 0); max (1 1 1); + + // See boxToCell for optional transformation of the points } @@ -436,6 +467,7 @@ pointSet_doc radius 5.0; // optional innerRadius 1.0; + // See boxToCell for optional transformation of the points } @@ -465,6 +497,7 @@ pointSet_doc { source nearestToPoint; points ((0 0 0) (1 1 1)); + // See boxToCell for optional transformation of the points } @@ -486,6 +519,7 @@ pointSet_doc source searchableSurfaceToCell; surfaceType triSurfaceMesh; // Type of surface surfaceName blob.obj; // Name for surface object + // See boxToCell for optional transformation of the points } @@ -496,6 +530,7 @@ pointSet_doc radius 5.0; // optional innerRadius 1.0; + // See boxToCell for optional transformation of the points } @@ -508,6 +543,7 @@ pointSet_doc // (requires closed surface with consistent // normals) includeOutside false; // ,, outside ,, + // See boxToCell for optional transformation of the points } diff --git a/tutorials/multiphase/overInterDyMFoam/twoSquaresOutDomain/constant/dynamicMeshDict b/tutorials/multiphase/overInterDyMFoam/twoSquaresOutDomain/constant/dynamicMeshDict index 310f5959d61..a74ffbc88a8 100644 --- a/tutorials/multiphase/overInterDyMFoam/twoSquaresOutDomain/constant/dynamicMeshDict +++ b/tutorials/multiphase/overInterDyMFoam/twoSquaresOutDomain/constant/dynamicMeshDict @@ -28,9 +28,6 @@ multiSolidBodyMotionSolverCoeffs one { solidBodyMotionFunction linearMotion; - origin (0.005 0.005 0.005); - axis (0 0 1); - omega 0; velocity (-0.1 -0.1 0); } two @@ -39,7 +36,6 @@ multiSolidBodyMotionSolverCoeffs origin (0.005 0.005 0.005); axis (0 0 1); omega 20.0; - velocity (-0.1 0 0); } } } @@ -50,9 +46,6 @@ multiSolidBodyMotionSolverCoeffs linearMotionCoeffs { velocity (0.1 0 0); - origin (0.009 0.005 0.005); - axis (0 0 1); - omega -100.0; } } } -- GitLab From 391f059335dbee7876156120ab1e13dbb7a3c176 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Fri, 7 Jun 2024 11:48:17 +0100 Subject: [PATCH 216/231] CONFIG: update foamPackRelease packaging --- bin/tools/foamPackRelease | 231 ++++++++++++++++++++++++-------------- 1 file changed, 146 insertions(+), 85 deletions(-) diff --git a/bin/tools/foamPackRelease b/bin/tools/foamPackRelease index 570b7b18d3b..9851ad283d0 100755 --- a/bin/tools/foamPackRelease +++ b/bin/tools/foamPackRelease @@ -6,7 +6,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2019-2023 OpenCFD Ltd. +# Copyright (C) 2019-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -48,9 +48,16 @@ options: -name=NAME Stem for tar-file (default: auto) -output=DIR Output directory (default: ".") -prefix=NAME Prefix directory within tar-file (default: auto) - -pkg-modules Only package submodules - exclude OpenFOAM - -pkg-plugins Only package plugins - exclude OpenFOAM - -no-modules Exclude submodules + -pkg-modules Package 'modules' exclusively (no OpenFOAM) + -pkg-plugins Package 'plugins' exclusively (no OpenFOAM) + -no-extras Exclude 'modules, plugins,...' from source pack + -no-modules Exclude 'modules' from source pack (default: off) + -no-plugins Exclude 'plugins' from source pack (default: on) + -all-extras Include 'modules, plugins,...' into source pack + -with-modules Include 'modules' into source pack (default: on) + -with-plugins Include 'plugins' into source pack (default: off) + -modules=name1,.. Include specifed 'modules' into source pack + -plugins=name1,.. Include specifed 'plugins' into source pack -no-patch Ignore '_patch' number for output tar-file -no-prefix Do not prefix subdirectory -no-compress Disable compression @@ -68,7 +75,7 @@ Script generator for packing OpenFOAM sources and submodules. Eg, $Script -output=some-dir origin/master > create-tar-file - sh ./create-tar-file + bash ./create-tar-file $Script -tgz origin/master | bash @@ -91,11 +98,16 @@ die() #------------------------------------------------------------------------------- -outputDir="." +outputDir='.' versionSeparator='_' withPatchNum=true -unset compress packageApi withSource withModules withPlugins prefixDir tarName -unset gitbase +# Default selections +select_source=true +select_modules=true +select_plugins=false + +unset compress gitbase packageApi prefixDir tarName + # Cleanup tarName to remove trailing '.tar', detect compression etc cleanTarName() { @@ -118,7 +130,7 @@ cleanTarName() { while [ "$#" -gt 0 ] do case "$1" in - -h | -help*) + -h | -help* | --help*) printHelp ;; -debian | -debian=[0-9]*) @@ -147,20 +159,43 @@ do prefixDir="${1#*=}" prefixDir="${prefixDir%/}" ;; - -pkg-modules) - withModules=true - withPlugins=false - withSource=false + -all-extras) + select_modules=true + select_plugins=true + ;; + -with-modules) + select_modules=true + ;; + -modules=*) + select_modules="${1#*=}" + : "${select_modules:=true}" + ;; + -with-plugins) + select_plugins=true + ;; + -plugins=*) + select_plugins="${1#*=}" + : "${select_plugins:=true}" + ;; + -no-extras) + select_modules=false + select_plugins=false + ;; + -no-modules) + select_modules=false ;; - -pkg-plugins) - withModules=false - withPlugins=true - withSource=false + -no-plugins) + select_plugins=false ;; - -no-modules | -no-plugins) - withModules=false - withPlugins=false - withSource=true + -pkg-modules) # Package modules exclusively + select_modules=true + select_plugins=false + select_source=false + ;; + -pkg-plugins) # Package plugins exclusively + select_modules=false + select_plugins=true + select_source=false ;; -no-patch) withPatchNum=false @@ -299,13 +334,14 @@ fi if [ -z "$prefixDir" ] then prefixDir="OpenFOAM-v${packageApi}" - if [ "$withSource" = false ] + if [ "$select_source" = false ] then - if [ "$withPlugins" = true ] + # Either -pkg-modules or -pkg-plugins, not both + if [ "$select_modules" != false ] then - prefixDir="OpenFOAM-plugins-v${packageApi}" - else prefixDir="OpenFOAM-modules-v${packageApi}" + else + prefixDir="OpenFOAM-plugins-v${packageApi}" fi fi elif [ "$prefixDir" = false ] @@ -333,13 +369,14 @@ case "$tarName" in ('') tarName="OpenFOAM-v${packageApi}" - if [ "$withSource" = false ] + if [ "$select_source" = false ] then - if [ "$withPlugins" = true ] + # Either -pkg-modules or -pkg-plugins, not both + if [ "$select_modules" != false ] then - tarName="OpenFOAM-plugins-v${packageApi}" - else tarName="OpenFOAM-modules-v${packageApi}" + else + tarName="OpenFOAM-plugins-v${packageApi}" fi fi @@ -380,55 +417,56 @@ echo 'tar -cf "$outputDir/$tarName.tar" -T /dev/null' echo echo 'buildInfo="${prefixDir}${prefixDir:+@}META-INFO@build-info"' echo 'manifest0="${prefixDir}${prefixDir:+@}META-INFO@manifest.txt"' -echo 'manifest1="${prefixDir}${prefixDir:+@}META-INFO@modules-manifest.txt"' -echo 'manifest2="${prefixDir}${prefixDir:+@}META-INFO@plugins-manifest.txt"' -echo '#--------' +echo 'manifest1="${prefixDir}${prefixDir:+@}META-INFO@manifest-modules.txt"' +echo 'manifest2="${prefixDir}${prefixDir:+@}META-INFO@manifest-plugins.txt"' #------------------------------------------------------------------------------ -# Sort out particulars related to modules -if [ "$withModules" = false ] +# Sort out particulars related to modules, source + +if [ "$select_source" = false ] then - echo '# No modules' - echo 'unset manifest1' + echo 'unset buildInfo manifest0 # No source' fi -if [ "$withPlugins" = false ] +if [ "$select_modules" = false ] then - echo '# No plugins' - echo 'unset manifest2' + echo 'unset manifest1 # No modules' fi -if [ "$withSource" = false ] +if [ "$select_plugins" = false ] then - echo '# No OpenFOAM source (package modules exclusively)' - echo 'unset buildInfo' - echo 'unset manifest0' + echo 'unset manifest2 # No plugins' fi +echo '#--------' echo 'set -x' echo #------------------------------------------------------------------------------ -# OpenFOAM sources -if [ "$withSource" != false ] +# OpenFOAM sources (unless explicitly excluded) + +if [ "$select_source" != false ] then echo 'git -c tar.umask=0022 archive --format=tar ${prefixDir:+--prefix="$prefixDir/"} -o "$outputDir/$tarName.tar" "$head"' # Tag build information with underscore to distinguish from "real" build # information when git is available. - echo 'echo build="${build:+_}$build" > "$outputDir/$buildInfo"' - + echo echo 'build="${build:+_}$build" > "$outputDir/$buildInfo"' + echo + echo '# source' + echo 'manifestFile="$manifest0"' echo '{' echo ' echo api="$api"' echo ' echo patch="$patch"' echo ' echo head="$head"' echo ' echo' echo ' git ls-tree -r "$head"' - echo '} > "$outputDir/$manifest0"' + echo '} > "$outputDir/${manifestFile:?}"' + echo 'unset manifestFile' fi #------------------------------------------------------------------------------ -# Add in modules +# OpenFOAM modules/plugins # Recursive addition of submodule content. # NB: must be called from within the respective parent directory. @@ -436,11 +474,15 @@ fi # # packModule abc (implied cd) # packModule abc/def -# packModule abc/def/hij +# packModule abc/def/ghi # packModule() { local parent="$1" + local filter="$2" + + # Using filter=true means accept everything + if [ "$filter" = true ]; then unset filter; fi ( if [ -n "$parent" ] @@ -449,34 +491,51 @@ packModule() fi git ls-tree -d HEAD | \ - while read mode gittype sha1 module + while read mode gittype sha1 moduleName do [ "$gittype" == commit ] || continue - case "$module" in + case "$moduleName" in (. | ./) echo echo "# ----" - echo "# module $parent : not initialized?" + echo "# submodule $parent : not initialized?" echo "# ----" continue ;; esac # Fully qualified - module="$parent${parent:+/}$module" + module="$parent${parent:+/}$moduleName" + moduleName="${moduleName##*/}" echo - echo "# module" + echo "# submodule" echo "module='$module'" echo "commit='$sha1'" - echo "tmpTarFile='$tarName-${module##*/}.tar'" + + # Simplistic filtering + if [ -n "$filter" ] && [ "${filter/$moduleName/}" = "$filter" ] + then + echo "# ----" + echo '{' + echo ' echo' + echo ' echo "$module"' + echo ' echo commit="$commit"' + echo ' echo "# not exported"' + echo ' echo' + echo '} >> "$outputDir/${manifestFile:?}"' + continue + fi + + # Intermediate tar file for module contents + echo "tmpTarFile='$tarName-$moduleName.tar'" echo "# ----" echo '(' echo ' cd "$module" || exit' echo ' newPrefix="$prefixDir${prefixDir:+/}$module"' echo ' git -c tar.umask=0022 archive --format=tar --prefix="$newPrefix/" -o "$outputDir/$tmpTarFile" "$commit" || exit' - # Without {test,tests,validation} directories (potentially large) + echo ' # Without {test,tests,validation} directories (potentially large)' echo ' tar --delete -f "$outputDir/$tmpTarFile" "$newPrefix/test" "$newPrefix/tests" "$newPrefix/validation" 2>/dev/null' echo ' tar -Af "$outputDir/$tarName.tar" "$outputDir/$tmpTarFile"' echo ' {' @@ -486,56 +545,58 @@ packModule() echo ' echo' echo ' # Without {test,tests,validation} directories' echo ' git ls-tree -r "$commit" | sed -e '"'"'/\t\(test\|\tests\|validation\)\//d'"'" - echo ' } >> "$outputDir/$manifest1"' + echo ' } >> "$outputDir/${manifestFile:?}"' echo ')' - # Remove tmp tar file, even if git archive failed (creates zero-sized tar) + echo "# ----" echo 'rm -f "$outputDir/$tmpTarFile"' + # No filter for lower levels... packModule "$module" done ) } -if [ "$withModules" != false ] +# modules/ +if [ "$select_modules" != false ] then echo - echo '# Modules' + echo '# modules/' + echo 'manifestFile="$manifest1"' echo '{' echo ' echo "# OpenFOAM modules"' echo ' echo api="$api"' echo ' echo patch="$patch"' echo ' echo head="$head"' - echo '} > "$outputDir/$manifest1"' + echo '} > "$outputDir/${manifestFile:?}"' - packModule modules + # With all or specified modules + packModule modules "$select_modules" echo - echo '{ echo; echo "# End"; } >> "$outputDir/$manifest1"' + echo '{ echo; echo "# End"; } >> "$outputDir/${manifestFile:?}"' + echo 'unset manifestFile' fi -if [ "$withPlugins" != false ] +# plugins/ +if [ "$select_plugins" != false ] then echo - echo '# Plugins' + echo '# plugins/' + echo 'manifestFile="$manifest2"' echo '{' echo ' echo "# OpenFOAM plugins"' echo ' echo api="$api"' echo ' echo patch="$patch"' echo ' echo head="$head"' - echo '} > "$outputDir/$manifest2"' - - # HACK - echo 'oldManifest1="$manifest1"' - echo 'manifest1="$manifest2"' + echo '} > "$outputDir/${manifestFile:?}"' - packModule plugins - - # HACK RESTORE - echo 'manifest1="$oldManifest1"' + # With all or specified plugins + packModule plugins "$select_plugins" echo - echo '{ echo; echo "# End"; } >> "$outputDir/$manifest2"' + echo '{ echo; echo "# End"; } >> "$outputDir/${manifestFile:?}"' + echo 'unset manifestFile' fi #------------------------------------------------------------------------------ @@ -543,9 +604,9 @@ fi # Decode '@' in the names as '/' directory separator echo -echo "echo 'Adding build-info and manifest files'" +echo echo 'Adding build-info and manifest files' echo 'if pushd "$outputDir"; then' -echo "tar --owner=root --group=root --append --transform='s|@|/|g' -v -f \"\$tarName.tar\" \"\$buildInfo\" \"\$manifest0\" \"\$manifest1\"" +echo "tar --owner=root --group=root --append --transform='s|@|/|g' -v -f \"\$tarName.tar\" \"\$buildInfo\" \"\$manifest0\" \"\$manifest1\" \"\$manifest2\"" echo 'rm -f "$buildInfo" "$manifest0" "$manifest1" "$manifest2"' echo 'popd; fi' @@ -558,18 +619,18 @@ echo "# -----------------------" # Compression case "$compress" in - ('') +('') echo "No compression requested" 1>&2 ;; - (gz | gzip) +(gz | gzip) echo "Using gzip compression" 1>&2 echo 'gzip -f -9 "$outputDir/$tarName.tar"' echo echo '# End of compression' ;; - (tgz) +(tgz) echo "Using gzip compression with tgz ending" 1>&2 echo 'gzip -c -9 "$outputDir/$tarName.tar" > "$outputDir/$tarName.tgz"' echo 'rm -f "$outputDir/$tarName.tar"' @@ -577,28 +638,28 @@ case "$compress" in echo '# End of compression' ;; - (bz | bzip | bzip2) +(bz | bzip | bzip2) echo "Using bzip2 compression" 1>&2 echo 'bzip2 -f -9 "$outputDir/$tarName.tar"' echo echo '# End of compression' ;; - (xz) +(xz) echo "Using xz compression" 1>&2 echo 'xz -f -9 "$outputDir/$tarName.tar"' echo echo '# End of compression' ;; - (zst | zstd) +(zst | zstd) echo "Using zstd compression" 1>&2 echo 'zstd --rm -f -9 "$outputDir/$tarName.tar"' echo echo '# End of compression' ;; - (*) +(*) echo "Unknown compression scheme: $compress" 1>&2 ;; esac -- GitLab From 21c554d7d07fcb8e5574bf3cf31eca767e95c615 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 10 Jun 2024 10:59:54 +0200 Subject: [PATCH 217/231] CONFIG: bump adios and paraview versions - adios: 2.9.2 -> 2.10.1 - paraview: 5.11.2 -> 5.12.1 Ancillary libs: - hdf5: 1.14.4.3 - hypre: 2.23.0 -> 2.31.0 - petsc: 3.19.2 -> 3.21.2 --- etc/config.csh/adios2 | 4 +-- etc/config.csh/hypre | 4 +-- etc/config.csh/paraview | 4 +-- etc/config.csh/petsc | 4 +-- etc/config.sh/adios2 | 4 +-- etc/config.sh/hdf5 | 61 +++++++++++++++++++++++++++++++++++++++++ etc/config.sh/hypre | 4 +-- etc/config.sh/paraview | 4 +-- etc/config.sh/petsc | 4 +-- 9 files changed, 77 insertions(+), 16 deletions(-) create mode 100644 etc/config.sh/hdf5 diff --git a/etc/config.csh/adios2 b/etc/config.csh/adios2 index bd134ea4444..eaf0eeab4eb 100644 --- a/etc/config.csh/adios2 +++ b/etc/config.csh/adios2 @@ -5,7 +5,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2017-2023 OpenCFD Ltd. +# Copyright (C) 2017-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -20,7 +20,7 @@ #------------------------------------------------------------------------------ # USER EDITABLE PART: Changes made here may be lost with the next upgrade -set adios2_version=ADIOS2-2.9.2 +set adios2_version=ADIOS2-2.10.1 setenv ADIOS2_ARCH_PATH "$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$adios2_version" # END OF (NORMAL) USER EDITABLE PART diff --git a/etc/config.csh/hypre b/etc/config.csh/hypre index 56c45ad1eb5..9e3d4af9fa8 100644 --- a/etc/config.csh/hypre +++ b/etc/config.csh/hypre @@ -5,7 +5,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2018-2021 OpenCFD Ltd. +# Copyright (C) 2018-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -30,7 +30,7 @@ #------------------------------------------------------------------------------ # USER EDITABLE PART: Changes made here may be lost with the next upgrade -set hypre_version=hypre-2.23.0 +set hypre_version=hypre-2.31.0 setenv HYPRE_ARCH_PATH "$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$hypre_version" # END OF (NORMAL) USER EDITABLE PART diff --git a/etc/config.csh/paraview b/etc/config.csh/paraview index 2e6819a744c..bf990e749ee 100644 --- a/etc/config.csh/paraview +++ b/etc/config.csh/paraview @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2016-2023 OpenCFD Ltd. +# Copyright (C) 2016-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -52,7 +52,7 @@ #------------------------------------------------------------------------------ # USER EDITABLE PART: Changes made here may be lost with the next upgrade -set ParaView_VERSION=5.11.2 +set ParaView_VERSION=5.12.1 set ParaView_QT=qt-system # END OF (NORMAL) USER EDITABLE PART diff --git a/etc/config.csh/petsc b/etc/config.csh/petsc index b4518e6053f..b118ea0f5e3 100644 --- a/etc/config.csh/petsc +++ b/etc/config.csh/petsc @@ -5,7 +5,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2018-2023 OpenCFD Ltd. +# Copyright (C) 2018-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -30,7 +30,7 @@ #------------------------------------------------------------------------------ # USER EDITABLE PART: Changes made here may be lost with the next upgrade -set petsc_version=petsc-3.19.2 +set petsc_version=petsc-3.21.2 setenv PETSC_ARCH_PATH "$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$petsc_version" # END OF (NORMAL) USER EDITABLE PART diff --git a/etc/config.sh/adios2 b/etc/config.sh/adios2 index ae967dc7c8b..72439447591 100644 --- a/etc/config.sh/adios2 +++ b/etc/config.sh/adios2 @@ -5,7 +5,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2017-2023 OpenCFD Ltd. +# Copyright (C) 2017-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -21,7 +21,7 @@ #------------------------------------------------------------------------------ # USER EDITABLE PART: Changes made here may be lost with the next upgrade -adios2_version=ADIOS2-2.9.2 +adios2_version=ADIOS2-2.10.1 export ADIOS2_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$adios2_version" # END OF (NORMAL) USER EDITABLE PART diff --git a/etc/config.sh/hdf5 b/etc/config.sh/hdf5 new file mode 100644 index 00000000000..61ecb637483 --- /dev/null +++ b/etc/config.sh/hdf5 @@ -0,0 +1,61 @@ +#----------------------------------*-sh-*-------------------------------------- +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | www.openfoam.com +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# Copyright (C) 2024 OpenCFD Ltd. +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. +# +# File +# etc/config.sh/hdf5 +# [optional/experimental: not sourced by OpenFOAM-*/etc/bashrc] +# +# Description +# Setup for HDF5 include/libraries (usually ThirdParty installation). +# +# To disable its use: hdf5_version=hdf5-none +# For system-wide installations: hdf5_version=hdf5-system +# +# For central installations not located under ThirdParty: +# 1. use hdf5-system +# 2. and provide full path for HDF5_ARCH_PATH +# +#------------------------------------------------------------------------------ +# USER EDITABLE PART: Changes made here may be lost with the next upgrade + +hdf5_version=hdf5-1.14.4.3 +export HDF5_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$hdf5_version" + +# END OF (NORMAL) USER EDITABLE PART +#------------------------------------------------------------------------------ +if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] +then + echo "Using hdf5 ($hdf5_version) -> $HDF5_ARCH_PATH" 1>&2 +fi + +if command -v _foamAddLibAuto >/dev/null +then + # Normal sourcing (not makeHDF5) + + _foamAddLibAuto $HDF5_ARCH_PATH + + unset hdf5_version + +elif [ "$1" = "-force" ] +then + # Forced command-line sourcing + + if output="$($WM_PROJECT_DIR/bin/tools/lib-dir -sh $HDF5_ARCH_PATH 2>/dev/null)" + then + eval "$output" + fi + + unset hdf5_version output +fi + + +#------------------------------------------------------------------------------ diff --git a/etc/config.sh/hypre b/etc/config.sh/hypre index 6f2648f2a33..ba2564c03c8 100644 --- a/etc/config.sh/hypre +++ b/etc/config.sh/hypre @@ -5,7 +5,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2018-2021 OpenCFD Ltd. +# Copyright (C) 2018-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -27,7 +27,7 @@ #------------------------------------------------------------------------------ # USER EDITABLE PART: Changes made here may be lost with the next upgrade -hypre_version=hypre-2.23.0 +hypre_version=hypre-2.31.0 export HYPRE_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$hypre_version" # END OF (NORMAL) USER EDITABLE PART diff --git a/etc/config.sh/paraview b/etc/config.sh/paraview index 304ea7f4d2d..66e2eb26775 100644 --- a/etc/config.sh/paraview +++ b/etc/config.sh/paraview @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2016-2023 OpenCFD Ltd. +# Copyright (C) 2016-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -57,7 +57,7 @@ #------------------------------------------------------------------------------ # USER EDITABLE PART: Changes made here may be lost with the next upgrade -ParaView_VERSION=5.11.2 +ParaView_VERSION=5.12.1 ParaView_QT=qt-system # END OF (NORMAL) USER EDITABLE PART diff --git a/etc/config.sh/petsc b/etc/config.sh/petsc index c512ebb376a..93054546c62 100644 --- a/etc/config.sh/petsc +++ b/etc/config.sh/petsc @@ -5,7 +5,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2018-2023 OpenCFD Ltd. +# Copyright (C) 2018-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -27,7 +27,7 @@ #------------------------------------------------------------------------------ # USER EDITABLE PART: Changes made here may be lost with the next upgrade -petsc_version=petsc-3.19.2 +petsc_version=petsc-3.21.2 export PETSC_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$petsc_version" # END OF (NORMAL) USER EDITABLE PART -- GitLab From 0e23e6c66ceec51547aa27857bbffa5682282fd3 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 12 Jun 2024 15:31:38 +0200 Subject: [PATCH 218/231] CONFIG: set API level to 2406 (pre-release state) - README updated to v2406, project-version updated to v2406 --- .gitlab/issue_templates/bug.md | 6 +++--- META-INFO/api-info | 4 ++-- README.md | 16 ++++++++-------- doc/Build.md | 14 +++++++------- doc/BuildIssues.md | 4 ++-- etc/bashrc | 4 ++-- etc/cshrc | 4 ++-- wmake/rules/General/general | 2 +- 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.gitlab/issue_templates/bug.md b/.gitlab/issue_templates/bug.md index 1caf2f671aa..13017cdcfe0 100644 --- a/.gitlab/issue_templates/bug.md +++ b/.gitlab/issue_templates/bug.md @@ -49,10 +49,10 @@ <!-- Providing details of your set-up can help us identify any issues, e.g. - OpenFOAM version : v2312|v2306|v2212|v2206|v2112 etc - Operating system : ubuntu|openSUSE|centos etc + OpenFOAM version : v2406|v2312|v2306|v2212|v2206 etc + Operating system : ubuntu|openSUSE|RedHat etc Hardware info : any info that may help? - Compiler : gcc|intel|clang etc + Compiler : gcc|clang etc --> - OpenFOAM version : diff --git a/META-INFO/api-info b/META-INFO/api-info index f2dc945939c..7828837f89b 100644 --- a/META-INFO/api-info +++ b/META-INFO/api-info @@ -1,2 +1,2 @@ -api=2403 -patch=240522 +api=2406 +patch=0 diff --git a/README.md b/README.md index ad37c448d11..2fe975eb5d0 100644 --- a/README.md +++ b/README.md @@ -40,9 +40,9 @@ Violations of the Trademark are monitored, and will be duly prosecuted. If OpenFOAM has already been compiled on your system, simply source the appropriate `etc/bashrc` or `etc/cshrc` file and get started. -For example, for the OpenFOAM-v2312 version: +For example, for the OpenFOAM-v2406 version: ``` -source /installation/path/OpenFOAM-v2312/etc/bashrc +source /installation/path/OpenFOAM-v2406/etc/bashrc ``` ## Compiling OpenFOAM @@ -127,8 +127,8 @@ These 3rd-party sources are normally located in a directory parallel to the OpenFOAM directory. For example, ``` /path/parent -|-- OpenFOAM-v2312 -\-- ThirdParty-v2312 +|-- OpenFOAM-v2406 +\-- ThirdParty-v2406 ``` There are, however, many cases where this simple convention is inadequate: @@ -136,7 +136,7 @@ There are, however, many cases where this simple convention is inadequate: operating system or cluster installation provides it) * When we have changed the OpenFOAM directory name to some arbitrary - directory name, e.g. openfoam-sandbox2312, etc.. + directory name, e.g. openfoam-sandbox2406, etc.. * When we would like any additional 3rd party software to be located inside of the OpenFOAM directory to ensure that the installation is @@ -156,9 +156,9 @@ when locating the ThirdParty directory with the following precedence: 2. PREFIX/ThirdParty-VERSION * this corresponds to the traditional approach 3. PREFIX/ThirdParty-vAPI - * allows for an updated value of VERSION, *eg*, `v2312-myCustom`, + * allows for an updated value of VERSION, *eg*, `v2406-myCustom`, without requiring a renamed ThirdParty. The API value would still - be `2312` and the original `ThirdParty-v2312/` would be found. + be `2406` and the original `ThirdParty-v2406/` would be found. 4. PREFIX/ThirdParty-API * same as the previous example, but using an unadorned API value. 5. PREFIX/ThirdParty-common @@ -213,4 +213,4 @@ ThirdParty directory will contain either an `Allwmake` file or a - [Governance](http://www.openfoam.com/governance/), [Governance Projects](https://www.openfoam.com/governance/projects) - [Contacting OpenCFD](http://www.openfoam.com/contact/) -Copyright 2016-2023 OpenCFD Ltd +Copyright 2016-2024 OpenCFD Ltd diff --git a/doc/Build.md b/doc/Build.md index 3120428883a..bb20e72f8d6 100644 --- a/doc/Build.md +++ b/doc/Build.md @@ -1,23 +1,23 @@ ## Getting the code -Links to all code packs are available on https://dl.openfoam.com. For OpenFOAM-v2312: +Links to all code packs are available on https://dl.openfoam.com. For OpenFOAM-v2406: - https://dl.openfoam.com/source/latest/ -- Source: https://dl.openfoam.com/source/v2312/OpenFOAM-v2312.tgz -- ThirdParty: https://dl.openfoam.com/source/v2312/ThirdParty-v2312.tgz +- Source: https://dl.openfoam.com/source/v2406/OpenFOAM-v2406.tgz +- ThirdParty: https://dl.openfoam.com/source/v2406/ThirdParty-v2406.tgz ## OpenFOAM® Quick Build Guide Prior to building, ensure that the [system requirements][link openfoam-require] are satisfied (including any special [cross-compiling][wiki-cross-compile] considerations), and source the correct OpenFOAM environment. -For example, for the OpenFOAM-v2312 version: +For example, for the OpenFOAM-v2406 version: ``` -source <installation path>/OpenFOAM-v2312/etc/bashrc +source <installation path>/OpenFOAM-v2406/etc/bashrc ``` e.g. if installed under the `~/openfoam` directory ``` -source ~/openfoam/OpenFOAM-v2312/etc/bashrc +source ~/openfoam/OpenFOAM-v2406/etc/bashrc ``` @@ -157,4 +157,4 @@ More details in the [ThirdParty build guide][link third-build]. [wiki-config]: https://develop.openfoam.com/Development/openfoam/-/wikis/configuring --- -Copyright 2019-2023 OpenCFD Ltd +Copyright 2019-2024 OpenCFD Ltd diff --git a/doc/BuildIssues.md b/doc/BuildIssues.md index 2726ea8a2c1..44b0202490f 100644 --- a/doc/BuildIssues.md +++ b/doc/BuildIssues.md @@ -1,4 +1,4 @@ -## Known Build Issues (v2312, v2306, v2212, v2206, v2112, v2106, v2012) +## Known Build Issues (v2406, v2312, v2306, v2212, v2206, v2112, v2106, v2012) ### Windows cross-compilation @@ -188,4 +188,4 @@ and attempt to install a `paraview~qt` version instead. [wiki-config]: https://develop.openfoam.com/Development/openfoam/-/wikis/configuring --- -Copyright 2019-2023 OpenCFD Ltd +Copyright 2019-2024 OpenCFD Ltd diff --git a/etc/bashrc b/etc/bashrc index 548f726cd22..c65844adafc 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2016-2023 OpenCFD Ltd. +# Copyright (C) 2016-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -55,7 +55,7 @@ # [WM_PROJECT_VERSION] - A human-readable version name # A development version is often named 'com' - as in www.openfoam.com -export WM_PROJECT_VERSION=v2312 +export WM_PROJECT_VERSION=v2406 #------------------------------------------------------------------------------ # Configuration environment variables. diff --git a/etc/cshrc b/etc/cshrc index 7f94e0fa857..e7ed50257eb 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2016-2023 OpenCFD Ltd. +# Copyright (C) 2016-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -55,7 +55,7 @@ # [WM_PROJECT_VERSION] - A human-readable version name # A development version is often named 'com' - as in www.openfoam.com -setenv WM_PROJECT_VERSION v2312 +setenv WM_PROJECT_VERSION v2406 #------------------------------------------------------------------------------ # Configuration environment variables. diff --git a/wmake/rules/General/general b/wmake/rules/General/general index d9667f9006d..7f2951cb63c 100644 --- a/wmake/rules/General/general +++ b/wmake/rules/General/general @@ -1,5 +1,5 @@ #-------------------------------*- makefile -*--------------------------------- -WM_VERSION = OPENFOAM=2403 +WM_VERSION = OPENFOAM=2406 AR = ar ARFLAGS = cr -- GitLab From 24ac8308b3cd471db08aafa53358b9643ac4855a Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Thu, 13 Jun 2024 11:25:12 +0100 Subject: [PATCH 219/231] SUBMODULE: update OpenQBMM SUBMODULE: update data- and turbulence-community plugins --- modules/OpenQBMM | 2 +- plugins/data-community | 2 +- plugins/turbulence-community | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/OpenQBMM b/modules/OpenQBMM index d3ff7dee4e2..dfbb204b703 160000 --- a/modules/OpenQBMM +++ b/modules/OpenQBMM @@ -1 +1 @@ -Subproject commit d3ff7dee4e2c4f336d72a4425dac9ecb6fc81b9b +Subproject commit dfbb204b703b0245b00ff82d60ba45e185d4c433 diff --git a/plugins/data-community b/plugins/data-community index cfb50e6b1a1..1b1617294c2 160000 --- a/plugins/data-community +++ b/plugins/data-community @@ -1 +1 @@ -Subproject commit cfb50e6b1a182bda5f25d5690f26a23fc8d22c8f +Subproject commit 1b1617294c2f881515054f497a049920769dd410 diff --git a/plugins/turbulence-community b/plugins/turbulence-community index 4dbaff2c56c..8111aa13396 160000 --- a/plugins/turbulence-community +++ b/plugins/turbulence-community @@ -1 +1 @@ -Subproject commit 4dbaff2c56cacd3b5170cfd2899f003b1dc5832a +Subproject commit 8111aa133964bc9a94a772f5eb0b33283f1ff1cb -- GitLab From 9f4bb2d4326d993381136c40916e9ff741d3a4f5 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 13 Jun 2024 18:19:00 +0100 Subject: [PATCH 220/231] BUG: createBaffles: incorrect sizing for overlapping zones. Fixes #3183 --- src/meshTools/polyTopoChange/polyTopoChange.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/meshTools/polyTopoChange/polyTopoChange.C b/src/meshTools/polyTopoChange/polyTopoChange.C index 149da72b5fe..ff2cc6f9846 100644 --- a/src/meshTools/polyTopoChange/polyTopoChange.C +++ b/src/meshTools/polyTopoChange/polyTopoChange.C @@ -930,9 +930,9 @@ void Foam::polyTopoChange::reorderCompactFaces if (faceAdditionalZones_.size()) { // Extend to number of faces so oldToNew can be used - faceAdditionalZones_.setSize(faceZoneFlip_.size()); + faceAdditionalZones_.setSize(newSize); inplaceReorder(oldToNew, faceAdditionalZones_); - faceAdditionalZones_.setCapacity(newSize); + //faceAdditionalZones_.setCapacity(newSize); } } -- GitLab From 58aa8c97c28c5ae973de2ca6906ef560a61a8018 Mon Sep 17 00:00:00 2001 From: Martin Lichtmes <> Date: Fri, 14 Jun 2024 09:23:39 +0200 Subject: [PATCH 221/231] ENH: report average surface normal in surfaceInertia utility (#3184) - can be useful for various orientation-related geometry or mesh manipulations during pre-/post-processing: * combine with linearDirection to achieve better extrusion results. * orientation of transformations, blockMesh, result projections, ... STYLE: minor code modernizations Co-authored-by: Mark Olesen <> --- .../surface/surfaceInertia/surfaceInertia.C | 77 ++++++++++--------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/applications/utilities/surface/surfaceInertia/surfaceInertia.C b/applications/utilities/surface/surfaceInertia/surfaceInertia.C index 2b512097884..44275cb4d06 100644 --- a/applications/utilities/surface/surfaceInertia/surfaceInertia.C +++ b/applications/utilities/surface/surfaceInertia/surfaceInertia.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -161,25 +161,22 @@ int main(int argc, char *argv[]) // rather than tensors to allow indexed permutation. // Cartesian basis vectors - right handed orthogonal triplet - List<vector> cartesian(3); + FixedList<vector, 3> cartesian; cartesian[0] = vector(1, 0, 0); cartesian[1] = vector(0, 1, 0); cartesian[2] = vector(0, 0, 1); - // Principal axis basis vectors - right handed orthogonal - // triplet - List<vector> principal(3); + // Principal axis basis vectors - right handed orthogonal triplet + FixedList<vector, 3> principal; principal[0] = eVec.x(); principal[1] = eVec.y(); principal[2] = eVec.z(); - scalar maxMagDotProduct = -GREAT; - // Matching axis indices, first: cartesian, second:principal - Pair<label> match(-1, -1); + scalar maxMagDotProduct = -GREAT; forAll(cartesian, cI) { @@ -187,12 +184,11 @@ int main(int argc, char *argv[]) { scalar magDotProduct = mag(cartesian[cI] & principal[pI]); - if (magDotProduct > maxMagDotProduct) + if (maxMagDotProduct < magDotProduct) { maxMagDotProduct = magDotProduct; match.first() = cI; - match.second() = pI; } } @@ -208,7 +204,7 @@ int main(int argc, char *argv[]) // Invert the best match direction and swap the order of // the other two vectors - List<vector> tPrincipal = principal; + FixedList<vector, 3> tPrincipal = principal; tPrincipal[match.second()] *= -1; @@ -237,7 +233,7 @@ int main(int argc, char *argv[]) permutationDelta += 3; - List<vector> tPrincipal = principal; + FixedList<vector, 3> tPrincipal = principal; vector tEVal = eVal; @@ -253,10 +249,9 @@ int main(int argc, char *argv[]) eVal = tEVal; } - label matchedAlready = match.first(); - - match =Pair<label>(-1, -1); + const label matchedAlready = match.first(); + match = Pair<label>(-1, -1); maxMagDotProduct = -GREAT; forAll(cartesian, cI) @@ -275,12 +270,11 @@ int main(int argc, char *argv[]) scalar magDotProduct = mag(cartesian[cI] & principal[pI]); - if (magDotProduct > maxMagDotProduct) + if (maxMagDotProduct < magDotProduct) { maxMagDotProduct = magDotProduct; match.first() = cI; - match.second() = pI; } } @@ -295,7 +289,7 @@ int main(int argc, char *argv[]) { principal[match.second()] *= -1; - List<vector> tPrincipal = principal; + FixedList<vector, 3> tPrincipal = principal; tPrincipal[(matchedAlready + 1) % 3] = principal[(matchedAlready + 2) % 3]*-sense; @@ -335,15 +329,16 @@ int main(int argc, char *argv[]) showTransform = false; } - // calculate the total surface area + // Calculate total surface area and average normal vector scalar surfaceArea = 0; + vector averageNormal(Zero); forAll(surf, facei) { const labelledTri& f = surf[facei]; - if (f[0] == f[1] || f[0] == f[2] || f[1] == f[2]) + if (!f.good()) { WarningInFunction << "Illegal triangle " << facei << " vertices " << f @@ -351,20 +346,23 @@ int main(int argc, char *argv[]) } else { - surfaceArea += triPointRef - ( - surf.points()[f[0]], - surf.points()[f[1]], - surf.points()[f[2]] - ).mag(); + triPointRef tri = f.tri(surf.points()); + + surfaceArea += tri.mag(); + averageNormal += tri.areaNormal(); } } + // The unit normal (area-averaged) + averageNormal.normalise(); + + Info<< nl << setprecision(12) << "Density: " << density << nl << "Mass: " << m << nl << "Centre of mass: " << cM << nl << "Surface area: " << surfaceArea << nl + << "Average normal: " << averageNormal << nl << "Inertia tensor around centre of mass: " << nl << J << nl << "eigenValues (principal moments): " << eVal << nl << "eigenVectors (principal axes): " << nl @@ -398,21 +396,26 @@ int main(int argc, char *argv[]) << endl; } - OFstream str("axes.obj"); - Info<< nl << "Writing scaled principal axes at centre of mass of " - << surfFileName << " to " << str.name() << endl; + // Write (scaled) principal axes at centre of mass + { + OFstream str("axes.obj"); - scalar scale = mag(cM - surf.points()[0])/eVal.component(findMin(eVal)); + Info<< nl << "Writing scaled principal axes at centre of mass of " + << surfFileName << " to " << str.name() << endl; - meshTools::writeOBJ(str, cM); - meshTools::writeOBJ(str, cM + scale*eVal.x()*eVec.x()); - meshTools::writeOBJ(str, cM + scale*eVal.y()*eVec.y()); - meshTools::writeOBJ(str, cM + scale*eVal.z()*eVec.z()); + scalar scale = + mag(cM - surf.points()[0])/eVal.component(findMin(eVal)); - for (label i = 1; i < 4; i++) - { - str << "l " << 1 << ' ' << i + 1 << endl; + meshTools::writeOBJ(str, cM); + meshTools::writeOBJ(str, cM + scale*eVal.x()*eVec.x()); + meshTools::writeOBJ(str, cM + scale*eVal.y()*eVec.y()); + meshTools::writeOBJ(str, cM + scale*eVal.z()*eVec.z()); + + for (label i = 1; i < 4; i++) + { + str << "l " << 1 << ' ' << i + 1 << endl; + } } Info<< "\nEnd\n" << endl; -- GitLab From 7c45670c8b2e4cb4ad48011e50a187f949b2f652 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 18 Jun 2024 10:32:27 +0200 Subject: [PATCH 222/231] SUBMODULE: update visualization - bugfix for parallel gather of patch values with serial rendering --- modules/visualization | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/visualization b/modules/visualization index e773eb92890..0f21605bec1 160000 --- a/modules/visualization +++ b/modules/visualization @@ -1 +1 @@ -Subproject commit e773eb9289074ffc6bbadcbdeb15a3ab42ddab32 +Subproject commit 0f21605bec1834acbe271c4849dd1d12fc802766 -- GitLab From ab5f6dbf4145a0fc955e7533938af9e007f05595 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 14 Jun 2024 16:53:28 +0100 Subject: [PATCH 223/231] ENH: Added new createViewFactors utility Creates view factors for the view factor radiation model. User-selectable models: - raySearchEngine: model to generate rays, i.e. face-to-face connections - viewFactorModel: model to compute the view factors For visualisation, use: - Write the view factors as a volume field writeViewFactors yes; - Write the rays using OBJ format: writeRays yes; // default = no Participating patches must be in the \c vewFactorWall group, i.e. using the \c inGroups entry of the "\<case\>/polyMesh/boundary" file. \verbatim myPatch { type wall; inGroups 2(wall viewFactorWall); ... } \endverbatim Reads: - <constant>/viewFactorsDict : main controls - <constant>/finalAgglom : agglomeration addressing (from faceAgglomerate) Generates: - <constant>/F : view factors (matrix) - <constant>/mapDist : map used for parallel running - <constant>/globalFaceFaces : face addressing --- .../preProcessing/createViewFactors/Allwmake | 11 + .../createViewFactors/Make/files | 3 + .../createViewFactors/Make/options | 7 + .../createViewFactors/createViewFactors.C | 165 +++ .../viewFactorModels/Make/files | 12 + .../viewFactorModels/Make/options | 14 + .../raySearchEngine/raySearchEngine.C | 620 ++++++++++++ .../raySearchEngine/raySearchEngine.H | 289 ++++++ .../raySearchEngine/raySearchEngineI.H | 101 ++ .../raySearchEngine/raySearchEngineNew.C | 59 ++ .../raySearchEngineTemplates.C | 86 ++ .../voxel/voxelRaySearchEngine.C | 948 ++++++++++++++++++ .../voxel/voxelRaySearchEngine.H | 284 ++++++ .../voxel/voxelRaySearchEngineI.H | 155 +++ .../viewFactor2AI/viewFactor2AI.C | 138 +++ .../viewFactor2AI/viewFactor2AI.H | 117 +++ .../viewFactor2LI/viewFactor2LI.C | 141 +++ .../viewFactor2LI/viewFactor2LI.H | 130 +++ .../viewFactorHottel/viewFactorHottel.C | 153 +++ .../viewFactorHottel/viewFactorHottel.H | 135 +++ .../viewFactorModel/viewFactorModel.C | 290 ++++++ .../viewFactorModel/viewFactorModel.H | 185 ++++ .../viewFactorModel/viewFactorModelNew.C | 72 ++ 23 files changed, 4115 insertions(+) create mode 100755 applications/utilities/preProcessing/createViewFactors/Allwmake create mode 100644 applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/files create mode 100644 applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/options create mode 100644 applications/utilities/preProcessing/createViewFactors/createViewFactors/createViewFactors.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/files create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/options create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngine.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngine.H create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineI.H create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineNew.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineTemplates.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngine.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngine.H create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngineI.H create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2AI/viewFactor2AI.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2AI/viewFactor2AI.H create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2LI/viewFactor2LI.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2LI/viewFactor2LI.H create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorHottel/viewFactorHottel.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorHottel/viewFactorHottel.H create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModel.C create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModel.H create mode 100644 applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModelNew.C diff --git a/applications/utilities/preProcessing/createViewFactors/Allwmake b/applications/utilities/preProcessing/createViewFactors/Allwmake new file mode 100755 index 00000000000..9de13a5b033 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/Allwmake @@ -0,0 +1,11 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory + + . "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments + +#------------------------------------------------------------------------------ + +wmake $targetType viewFactorModels +wmake $targetType createViewFactors + +#------------------------------------------------------------------------------ diff --git a/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/files b/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/files new file mode 100644 index 00000000000..3f36ae84ca3 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/files @@ -0,0 +1,3 @@ +createViewFactors.C + +EXE = $(FOAM_APPBIN)/createViewFactors diff --git a/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/options b/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/options new file mode 100644 index 00000000000..71f2b983ab7 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/options @@ -0,0 +1,7 @@ +EXE_INC = \ + -I../viewFactorModels/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude + +EXE_LIBS = \ + -lviewFactorModels \ + -lfiniteVolume diff --git a/applications/utilities/preProcessing/createViewFactors/createViewFactors/createViewFactors.C b/applications/utilities/preProcessing/createViewFactors/createViewFactors/createViewFactors.C new file mode 100644 index 00000000000..84ad369a99c --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/createViewFactors/createViewFactors.C @@ -0,0 +1,165 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Application + createViewFactors + +Group + grpPreProcessingUtilities + +Description + Creates view factors to be used in the view-factor radiation model. + + Operands: + \table + Operand | Type | Location + input | dictionary | \<constant\>/viewFactorsDict + input | dictionary | \<constant\>/finalAgglom + output | scalarListList | \<constant\>/F + output | mapDistribute | \<constant\>/mapDist + output | labelListList | \<constant\>/globalFaceFaces + output | volScalarField | \<time\>/viewVectorField + output | OBJ | allVisibleFaces.obj + \endtable + + where the dictionaries mean: + \table + Dictionary | Description + viewFactorsDict | Main-control dictionary + finalAgglom | (Optional) Agglomeration addressing (from faceAgglomerate) + F | View factors (matrix) + mapDist | Map used for parallel running + globalFaceFaces | Face addressing + viewVectorField | View factors as a volume field + allVisibleFaces.obj | The visualisation of the rays + \endtable + +Usage + Minimal example in \c <constant>/viewFactorsDict: + \verbatim + // Inherited entries + raySearchEngine <word>; + agglomerate <bool>; + nRayPerFace <label>; + writeViewFactors <bool>; + writeRays <bool>; + ... + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + raySearchEngine | Ray search engine type | word | yes | - + agglomerate | Flag to agglomeration | bool | yes | - + nRayPerFace | Number of rays issued per face | label | yes | - + writeViewFactors | Flag to write the view factor field | bool | yes |- + writeRays | Flag to write the ray geometry | bool | no | false + \endtable + + Options for the \c raySearchEngine entry: + \verbatim + voxel | Ray search engine discretising space into uniform voxels + \endverbatim + + The inherited entries are elaborated in: + - \link viewFactorModel.H \endlink + - \link raySearchEngine.H \endlink + +Note + + - Participating patches must be in the \c vewFactorWall group, i.e. using the + \c inGroups entry of the "\<case\>/polyMesh/boundary" file. + + \verbatim + myPatch + { + type wall; + inGroups 2(wall viewFactorWall); + ... + } + \endverbatim + + Reads: + + - <constant>/viewFactorsDict : main controls + - <constant>/finalAgglom : agglomeration addressing (from faceAgglomerate) + + + Generates: + + - <constant>/F : view factors (matrix) + - <constant>/mapDist : map used for parallel running + - <constant>/globalFaceFaces : face addressing + +SeeAlso +- Foam::VF::raySearchEngine +- Foam::VE::viewFactorModel + +\*---------------------------------------------------------------------------*/ + +#include "argList.H" +#include "Time.H" +#include "fvMesh.H" +#include "viewFactorModel.H" + +using namespace Foam; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + #include "addRegionOption.H" + #include "setRootCase.H" + #include "createTime.H" + #include "createNamedMesh.H" + + IOdictionary dict + ( + IOobject + ( + "viewFactorsDict", + runTime.constant(), + mesh, + IOobject::MUST_READ + ) + ); + + + // Calculate the view factors + auto modelPtr = VF::viewFactorModel::New(mesh, dict); + + modelPtr->calculate(); + + Info<< nl; + + runTime.printExecutionTime(Info); + + Info<< "End\n" << endl; + + return 0; +} + + +// ************************************************************************* // \ No newline at end of file diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/files b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/files new file mode 100644 index 00000000000..eddbe68d672 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/files @@ -0,0 +1,12 @@ +raySearchEngine/raySearchEngine/raySearchEngine.C +raySearchEngine/raySearchEngine/raySearchEngineNew.C +raySearchEngine/voxel/voxelRaySearchEngine.C +/* raySearchEngine/nonUniformVoxel/nonUniformVoxelRaySearchEngine.C */ +/* raySearchEngine/allToAll/allToAllRaySearchEngine.C */ +viewFactorModel/viewFactorModel/viewFactorModel.C +viewFactorModel/viewFactorModel/viewFactorModelNew.C +viewFactorModel/viewFactor2AI/viewFactor2AI.C +viewFactorModel/viewFactor2LI/viewFactor2LI.C +viewFactorModel/viewFactorHottel/viewFactorHottel.C + +LIB = $(FOAM_LIBBIN)/libviewFactorModels diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/options b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/options new file mode 100644 index 00000000000..ddcc52fdc7b --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/options @@ -0,0 +1,14 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/surfMesh/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/parallel/distributed/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude + +EXE_LIBS = \ + -lfiniteVolume \ + -lsurfMesh \ + -lmeshTools \ + -ldistributed \ + -lradiationModels \ + -lfileFormats diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngine.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngine.C new file mode 100644 index 00000000000..f1a37bbc5f3 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngine.C @@ -0,0 +1,620 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "raySearchEngine.H" +#include "surfaceFields.H" +#include "volFields.H" +#include "meshTools.H" + +using namespace Foam::constant; + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace VF +{ + defineTypeNameAndDebug(raySearchEngine, 0); + defineRunTimeSelectionTable(raySearchEngine, mesh); + + const label raySearchEngine::maxDynListLength = 1000000000; +} +} + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +void Foam::VF::raySearchEngine::check +( + const labelList& nVisibleFaceFaces +) +{ + label nRay = 0; + label nFaceMin = labelMax; + label nFaceMax = labelMin; + for (const label n : nVisibleFaceFaces) + { + nFaceMin = min(nFaceMin, n); + nFaceMax = max(nFaceMax, n); + nRay += n; + } + + const label nFace = nVisibleFaceFaces.size(); + const label nGlobalRays = returnReduce(nRay, sumOp<label>()); + + if (nGlobalRays == 0) + { + FatalErrorInFunction + << "No rays identified - view factors will not be calculated" + << exit(FatalError); + } + + const label globalNFacesMin = returnReduce(nFaceMin, minOp<label>()); + const label globalNFacesMax = returnReduce(nFaceMax, maxOp<label>()); + const label nGlobalFaces = returnReduce(nFace, sumOp<label>()); + const scalar avgFaces = nGlobalRays/scalar(nGlobalFaces); + + Info<< "\nRay summary:" << nl + << " Number of rays: " << nGlobalRays << nl + << " Number of rays-per-face (min, max, average): (" + << globalNFacesMin << ", " + << globalNFacesMax << ", " + << avgFaces << ")" << endl; +} + + +Foam::label Foam::VF::raySearchEngine::closestPointIndex +( + const point& p0, + const List<point>& pts +) +{ + label pointi = -1; + + scalar distSqr = GREAT; + forAll(pts, pti) + { + const scalar d2 = magSqr(pts[pti] - p0); + if (d2 < distSqr) + { + pointi = pti; + distSqr = d2; + } + } + + return pointi; +} + + +void Foam::VF::raySearchEngine::createAgglomeration(const IOobject& io) +{ + Info<< "\nFace agglomeration: active" << nl + << " Reading file " << io.name() << endl; + + // Read agglomeration map + const labelListIOList finalAgglom(io); + + Info<< " Creating coarse mesh" << nl; + + agglomMeshPtr_.reset + ( + new singleCellFvMesh + ( + IOobject + ( + IOobject::scopedName("agglom", mesh_.name()), + mesh_.time().timeName(), + mesh_.time(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh_, + finalAgglom + ) + ); + + const auto& coarseMesh = agglomMeshPtr_(); + + + // Calculate total number of fine and coarse faces + + nCoarseFace_ = 0; + nFace_ = 0; + + const polyBoundaryMesh& finePatches = mesh_.boundaryMesh(); + const polyBoundaryMesh& coarsePatches = coarseMesh.boundaryMesh(); + + for (const label patchi : patchIDs_) + { + nCoarseFace_ += coarsePatches[patchi].size(); + nFace_ += finePatches[patchi].size(); + } + + Info<< "\nTotal number of coarse faces: " + << returnReduce(nCoarseFace_, sumOp<label>()) + << endl; + + Info<< "\nTotal number of fine faces: " + << returnReduce(nFace_, sumOp<label>()) + << endl; + + // Collect local Cf, Sf, agglom index on coarse mesh + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + DynamicList<point> localCf(nCoarseFace_); + DynamicList<vector> localSf(nCoarseFace_); + DynamicList<label> localAgg(nCoarseFace_); + + for (const label patchi : patchIDs_) + { + const labelList& agglom = finalAgglom[patchi]; + + if (agglom.empty()) continue; + + label nAgglom = max(agglom) + 1; + const labelListList coarseToFine(invertOneToMany(nAgglom, agglom)); + const labelList& coarsePatchFace = coarseMesh.patchFaceMap()[patchi]; + + const pointField& coarseCf = coarseMesh.Cf().boundaryField()[patchi]; + const vectorField& coarseSf = coarseMesh.Sf().boundaryField()[patchi]; + + const polyPatch& pp = finePatches[patchi]; + patchAreas_[patchi] += sum(coarseMesh.magSf().boundaryField()[patchi]); + + forAll(coarseCf, facei) + { + const label coarseFacei = coarsePatchFace[facei]; + const label agglomi = coarseFacei + coarsePatches[patchi].start(); + + // Construct single coarse face + const labelList& fineFaces = coarseToFine[coarseFacei]; + uindirectPrimitivePatch cf + ( + UIndirectList<face>(pp, fineFaces), + pp.points() + ); + + // Collect all points (vertices, face centres) + const label nFaces = cf.faceCentres().size(); + const label nPoints = cf.localPoints().size(); + List<point> allPoints(nFaces + nPoints); + SubList<point>(allPoints, nFaces) = cf.faceCentres(); + SubList<point>(allPoints, nPoints, nFaces) = cf.localPoints(); + + // Coarse face centre set to closest point + const label pti = closestPointIndex(coarseCf[facei], allPoints); + + if (pti != -1) + { + localCf.push_back(allPoints[pti]); + localSf.push_back(coarseSf[facei]); + localAgg.push_back(agglomi); + } + } + } + + Info<< "\nAssembled coarse patch data" << endl; + + // Distribute local coarse Cf and Sf for shooting rays + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + allCf_[Pstream::myProcNo()].transfer(localCf); + allSf_[Pstream::myProcNo()].transfer(localSf); + allAgg_[Pstream::myProcNo()].transfer(localAgg); + + Pstream::allGatherList(allCf_); + Pstream::allGatherList(allSf_); + Pstream::allGatherList(allAgg_); + + Pstream::listCombineGather(patchAreas_, plusEqOp<scalar>()); + Pstream::broadcast(patchAreas_); + + globalNumbering_ = globalIndex(nCoarseFace_); +} + + +void Foam::VF::raySearchEngine::createGeometry() +{ + DynamicList<point> localCf(mesh_.nBoundaryFaces()); + DynamicList<vector> localSf(mesh_.nBoundaryFaces()); + + const auto& pbm = mesh_.boundaryMesh(); + + for (const label patchi : patchIDs_) + { + localCf.push_back(pbm[patchi].faceCentres()); + localSf.push_back(pbm[patchi].faceAreas()); + + patchAreas_[patchi] += sum(mesh_.magSf().boundaryField()[patchi]); + } + + Info<< "\nAssembled patch data" << endl; + + nFace_ = localCf.size(); + nCoarseFace_ = -1; + + allCf_[Pstream::myProcNo()].transfer(localCf); + allSf_[Pstream::myProcNo()].transfer(localSf); + + Pstream::allGatherList(allCf_); + Pstream::allGatherList(allSf_); + + Pstream::listCombineGather(patchAreas_, plusEqOp<scalar>()); + Pstream::broadcast(patchAreas_); + + globalNumbering_ = globalIndex(nFace_); +} + + +void Foam::VF::raySearchEngine::createParallelAddressing +( + labelList& rayEndFace +) const +{ + // Construct compact numbering + // - return map from remote to compact indices + // (per processor (!= myProcNo) a map from remote index to compact index) + // - construct distribute map + // - renumber rayEndFace into compact addressing + + DebugInfo << "\nCreating map distribute" << endl; + + List<Map<label>> compactMap(Pstream::nProcs()); + mapPtr_.reset(new mapDistribute(globalNumbering_, rayEndFace, compactMap)); + + DebugInfo << "\nCreating compact-to-global addressing" << endl; + + // Invert compactMap (from processor+localface to compact) to go + // from compact to processor+localface (expressed as a globalIndex) + compactToGlobal_.resize_nocopy(mapPtr_->constructSize()); + + // Local indices first + // Note: are not in compactMap + for (label i = 0; i < globalNumbering_.localSize(); ++i) + { + compactToGlobal_[i] = globalNumbering_.toGlobal(i); + } + + forAll(compactMap, proci) + { + const Map<label>& localToCompactMap = compactMap[proci]; + + forAllConstIters(localToCompactMap, iter) + { + compactToGlobal_[*iter] = + globalNumbering_.toGlobal(proci, iter.key()); + } + } +} + + +Foam::coordSystem::cartesian Foam::VF::raySearchEngine::createCoordSystem +( + const point& origin, + const vector& dir +) const +{ + vector axis(Zero); + + for (direction d=0; d<3; ++d) + { + axis = dir^tensor::I.col(d); + + // Remove empty direction for 2D + if (mesh_.nSolutionD() == 2) + { + meshTools::constrainDirection(mesh_, mesh_.solutionD(), axis); + } + + if (magSqr(axis) > 0) + { + axis.normalise(); + break; + } + } + + return coordSystem::cartesian(origin, dir, axis); +} + + +Foam::tmp<Foam::pointField> Foam::VF::raySearchEngine::createHemiPoints +( + const label nRayPerFace +) const +{ + auto themiPts = tmp<pointField>::New(nRayPerFace); + auto& hemiPts = themiPts.ref(); + + const label nPoints = hemiPts.size(); + + if (mesh_.nSolutionD() == 3) + { + // Point in range -1 < x < 1; -1 < y < 1; 0 < z 1 + + forAll(hemiPts, pointi) + { + const scalar phi = Foam::acos(1 - (pointi + 0.5)/nPoints); + const scalar theta = + mathematical::pi*(1 + Foam::sqrt(5.0))*(pointi + 0.5); + + hemiPts[pointi] = + vector + ( + Foam::cos(theta)*Foam::sin(phi), + Foam::sin(theta)*Foam::sin(phi), + Foam::cos(phi) + ); + } + } + else if (mesh_.nSolutionD() == 2) + { + // Point in range -1 < x < 1; y = 0; 0 < z < 1; _\|/_ + + forAll(hemiPts, pointi) + { + const scalar theta = mathematical::pi*(pointi+0.5)/nPoints; + hemiPts[pointi] = vector(Foam::cos(theta), 0, Foam::sin(theta)); + } + } + + return themiPts; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::VF::raySearchEngine::raySearchEngine +( + const fvMesh& mesh, + const dictionary& dict +) +: + mesh_(mesh), + mapPtr_(nullptr), + compactToGlobal_(), + globalNumbering_(), + patchGroup_(dict.getOrDefault<word>("patchGroup", "viewFactorWall")), + patchIDs_(mesh_.boundaryMesh().indices(patchGroup_)), + patchAreas_(mesh_.boundaryMesh().nNonProcessor(), Zero), + agglomerate_(dict.get<bool>("agglomerate")), + agglomMeshPtr_(nullptr), + nFace_(-1), + nCoarseFace_(-1), + allCf_(UPstream::nProcs()), + allSf_(UPstream::nProcs()), + allAgg_(UPstream::nProcs()) +{ + Info<< "\nParticipating patches:" << endl; + + forAll(patchIDs_, i) + { + const label patchi = patchIDs_[i]; + Info<< " " << i << ": " << mesh_.boundaryMesh()[patchi].name() + << endl; + } + + const word agglomName(dict.getOrDefault<word>("agglom", "finalAgglom")); + + IOobject agglomIO + ( + agglomName, + mesh_.facesInstance(), + mesh_, + IOobject::MUST_READ + ); + + + if (agglomerate_) + { + // Sets allCf_, allSf_, allAgg_ based on coarse mesh + // Sets nFace_, nCoarseFace_ + createAgglomeration(agglomIO); + } + else + { + // Check for presence of finalAgglom - will cause problems in later + // calculations with viewFactor radiation model + if (agglomIO.typeHeaderOk<labelListIOList>()) + { + WarningInFunction + << "Found agglomeration file: " << agglomIO.objectPath() << nl + << " This is inconsistent with the view factor calculation " + << "and should be removed" << nl << endl; + } + + // Sets allCf_, allSf_ based on fine mesh + // Sets nFace_; nCoarseFace_ remains unset (-1) + createGeometry(); + } + + globalNumbering_ = + nCoarseFace_ == -1 ? globalIndex(nFace_) : globalIndex(nCoarseFace_); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::VF::raySearchEngine::correct +( + labelListList& visibleFaceFaces +) const +{ + labelList rayStartFace; + labelList rayEndFace; + shootRays(rayStartFace, rayEndFace); + + const label nFace = nParticipatingFaces(); + + // Calculate number of visible faces from each local start face + labelList nVisibleFaceFaces(nFace, Zero); + for (const label facei : rayStartFace) + { + ++nVisibleFaceFaces[facei]; + } + + check(nVisibleFaceFaces); + + createParallelAddressing(rayEndFace); + + // Set visible face-faces + + // visibleFaceFaces has: + // (local face, local viewed face) = compact viewed face + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + visibleFaceFaces.resize_nocopy(nFace); + forAll(nVisibleFaceFaces, facei) + { + visibleFaceFaces[facei].resize_nocopy(nVisibleFaceFaces[facei]); + } + + nVisibleFaceFaces = 0; + forAll(rayStartFace, i) + { + const label facei = rayStartFace[i]; + const label sloti = rayEndFace[i]; + visibleFaceFaces[facei][nVisibleFaceFaces[facei]++] = sloti; + } +} + + +void Foam::VF::raySearchEngine::compactAddressing +( + const mapDistribute& map, + pointField& compactCf, + vectorField& compactSf, + List<List<vector>>& compactFineSf, + List<List<point>>& compactFineCf, + DynamicList<List<point>>& compactPoints, + DynamicList<label>& compactPatchId +) const +{ + compactCf.resize_nocopy(map.constructSize()); + compactSf.resize_nocopy(map.constructSize()); + compactFineSf.resize_nocopy(map.constructSize()); + compactFineCf.resize_nocopy(map.constructSize()); + compactPoints.setCapacity(map.constructSize()); + compactPatchId.setCapacity(map.constructSize()); + + // Insert my local values area and centre values + if (agglomMeshPtr_) + { + SubList<vector>(compactSf, nCoarseFace_) = allSf_[Pstream::myProcNo()]; + SubList<point>(compactCf, nCoarseFace_) = allCf_[Pstream::myProcNo()]; + + const auto& coarseMesh = agglomMeshPtr_(); + const auto& coarsePatches = coarseMesh.boundaryMesh(); + const auto& coarseFaces = coarseMesh.faces(); + const auto& coarsePoints = coarseMesh.points(); + + const auto& finalAgglom = coarseMesh.patchFaceAgglomeration(); + + // Insert my fine local values per coarse face + label sloti = 0; + for (const label patchi : patchIDs_) + { + const auto& fineCfp = mesh_.Cf().boundaryField()[patchi]; + const auto& fineSfp = mesh_.Sf().boundaryField()[patchi]; + const labelList& agglom = finalAgglom[patchi]; + + if (agglom.empty()) continue; + + const label nAgglom = max(agglom) + 1; + const labelListList coarseToFine = invertOneToMany(nAgglom, agglom); + const labelList& coarsePatchFace = + coarseMesh.patchFaceMap()[patchi]; + + const label coarseStart = coarsePatches[patchi].start(); + + forAll(coarseToFine, coarsei) + { + compactPatchId.push_back(patchi); + + const vectorField localPoints + ( + coarsePoints, + coarseFaces[coarseStart + coarsei] + ); + compactPoints.push_back(localPoints); + + const label coarseFacei = coarsePatchFace[coarsei]; + const labelList& fineFaces = coarseToFine[coarseFacei]; + + List<point>& fineCf = compactFineCf[sloti]; + fineCf.resize_nocopy(fineFaces.size()); + fineCf = UIndirectList<point>(fineCfp, fineFaces); + + List<vector>& fineSf = compactFineSf[sloti]; + fineSf.resize_nocopy(fineFaces.size()); + fineSf = UIndirectList<vector>(fineSfp, fineFaces); + + ++sloti; + } + } + } + else + { + SubList<vector>(compactSf, nFace_) = allSf_[Pstream::myProcNo()]; + SubList<point>(compactCf, nFace_) = allCf_[Pstream::myProcNo()]; + + const auto& patches = mesh_.boundaryMesh(); + const faceList& faces = mesh_.faces(); + + label sloti = 0; + + for (const label patchi : patchIDs_) + { + const auto& Sfp = mesh_.Sf().boundaryField()[patchi]; + const auto& Cfp = mesh_.Cf().boundaryField()[patchi]; + + const polyPatch& pp = patches[patchi]; + + forAll(pp, facei) + { + compactPatchId.push_back(patchi); + + const auto& fpts = faces[facei + pp.start()]; + compactPoints.push_back(List<point>(mesh_.points(), fpts)); + + compactFineCf[sloti] = List<point>({Cfp[facei]}); + compactFineSf[sloti] = List<vector>({Sfp[facei]}); + ++sloti; + } + } + } + + + // Do all swapping + map.distribute(compactSf); + map.distribute(compactCf); + map.distribute(compactFineCf); + map.distribute(compactFineSf); + map.distribute(compactPoints); + map.distribute(compactPatchId); +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngine.H b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngine.H new file mode 100644 index 00000000000..31a6d6f8d95 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngine.H @@ -0,0 +1,289 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::VF::raySearchEngine + +Description + Base class for ray search engines + + Participating patches must be in the \c viewFactorWall group, i.e. using the + \c inGroups entry of the "\<case\>/polyMesh/boundary" file. + + \verbatim + myPatch + { + type wall; + inGroups 2(wall viewFactorWall); + ... + } + \endverbatim + + Face agglomeration can be employed, created using the \c faceAgglomerate + utility. The file name to be read can be user-defined: + + \verbatim + // Name of agglomeration file; default = finalAgglom + agglom finalAgglom; + \endverbatim + +SourceFiles + raySearchEngine.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_vf_raySearchEngine_H +#define Foam_vf_raySearchEngine_H + +#include "cartesianCS.H" +#include "mapDistribute.H" +#include "singleCellFvMesh.H" +#include "runTimeSelectionTables.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +namespace VF +{ + +/*---------------------------------------------------------------------------*\ + Class raySearchEngine Declaration +\*---------------------------------------------------------------------------*/ + +class raySearchEngine +{ +protected: + + // Protected Data + + //- Reference to the mesh + const fvMesh& mesh_; + + //- Parallel map + mutable autoPtr<mapDistribute> mapPtr_; + + //- Compact to global addressing + mutable labelList compactToGlobal_; + + //- Global numbering + globalIndex globalNumbering_; + + //- Name of patch group to identify participating patches + const word patchGroup_; + + //- List of participating patch IDs + labelList patchIDs_; + + //- Patch areas + scalarList patchAreas_; + + //- Agglomeration flag + bool agglomerate_; + + //- Agglomerated mesh representation + autoPtr<singleCellFvMesh> agglomMeshPtr_; + + //- Number of original faces + label nFace_; + + //- Number of coarse faces + label nCoarseFace_; + + //- List of all face centres per processor + List<pointField> allCf_; + + //- List of all face areas per processor + List<vectorField> allSf_; + + //- List of all face agglomeration index per processor + List<labelField> allAgg_; + + + // Protected Member Functions + + static void check(const labelList& nVisibleFaceFaces); + + static label closestPointIndex + ( + const point& p0, + const List<point>& pts + ); + + //- Create patch geometry based on the original mesh + void createGeometry(); + + //- Create parallel addressing - map, compact-to-global + void createParallelAddressing(labelList& rayEndFace) const; + + //- Create Cartesian co-ordinate system + coordSystem::cartesian createCoordSystem + ( + const point& origin, + const vector& dir + ) const; + + //- Create patch geometry based on the agglomerated mesh + void createAgglomeration(const IOobject& io); + + //- Create a set of points describing a hemisphere + // Note: origin is (0 0 0) + tmp<pointField> createHemiPoints(const label nRayPerFace) const; + + +public: + + static const label maxDynListLength; + + //- Run-time type information + TypeName("raySearchEngine"); + + //- Selection table + declareRunTimeSelectionTable + ( + autoPtr, + raySearchEngine, + mesh, + ( + const fvMesh& mesh, + const dictionary& dict + ), + (mesh, dict) + ); + + //- Selector + static autoPtr<raySearchEngine> New + ( + const fvMesh& mesh, + const dictionary& dict + ); + + + // Generated Methods + + //- No copy construct + raySearchEngine(const raySearchEngine&) = delete; + + //- No copy assignment + void operator=(const raySearchEngine&) = delete; + + + //- Constructor + raySearchEngine(const fvMesh& mesh, const dictionary& dict); + + //- Destructor + virtual ~raySearchEngine() = default; + + + // Public Member Functions + + // Access + + //- Reference to the mesh + inline const fvMesh& mesh() const noexcept; + + //- Parallel map + inline const mapDistribute& map() const; + + //- Compact to global addressing + inline const labelList& compactToGlobal() const noexcept; + + //- Global numbering + inline const globalIndex& globalNumbering() const noexcept; + + //- List of participating patch IDs + inline const labelList& patchIDs() const noexcept; + + //- Patch areas + inline const scalarList& patchAreas() const noexcept; + + //- Number of participating faces + inline label nParticipatingFaces() const; + + //- List of all face centres per processor + inline const List<pointField>& allCf() const noexcept; + + //- List of all face areas per processor + inline const List<vectorField>& allSf() const noexcept; + + //- List of all face agglomeration index per processor + inline const List<labelField>& allAgg() const noexcept; + + + // Main calculation functions + + //- Shoot rays; returns lists of ray start and end faces + virtual void shootRays + ( + labelList& rayStartFaceOut, + labelList& rayEndFaceOut + ) const = 0; + + //- Correct + virtual void correct(labelListList& visibleFaceFaces) const; + + //- Create compact addressing + void compactAddressing + ( + const mapDistribute& map, + pointField& compactCf, + vectorField& compactSf, + List<List<vector>>& compactFineSf, + List<List<point>>& compactFineCf, + DynamicList<List<point>>& compactPoints, + DynamicList<label>& compactPatchId + ) const; + + //- Interpolate field + template<class Type> + void interpolate + ( + GeometricField<Type, fvPatchField, volMesh>& fld, + const List<List<Type>>& values + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace VF +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "raySearchEngineI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "raySearchEngineTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineI.H b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineI.H new file mode 100644 index 00000000000..bc410e8b21b --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineI.H @@ -0,0 +1,101 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +const Foam::fvMesh& Foam::VF::raySearchEngine::mesh() const noexcept +{ + return mesh_; +} + + +const Foam::mapDistribute& Foam::VF::raySearchEngine::map() const +{ + if (!mapPtr_) + { + FatalErrorInFunction + << "mapDistribute has not been set" + << abort(FatalError); + } + + return mapPtr_; +} + + +const Foam::labelList& +Foam::VF::raySearchEngine::compactToGlobal() const noexcept +{ + return compactToGlobal_; +} + + +const Foam::globalIndex& +Foam::VF::raySearchEngine::globalNumbering() const noexcept +{ + return globalNumbering_; +} + + +const Foam::labelList& Foam::VF::raySearchEngine::patchIDs() const noexcept +{ + return patchIDs_; +} + + +const Foam::scalarList& Foam::VF::raySearchEngine::patchAreas() const noexcept +{ + return patchAreas_; +} + + +Foam::label Foam::VF::raySearchEngine::nParticipatingFaces() const +{ + if (nCoarseFace_ == -1) return nFace_; + return nCoarseFace_; +} + + +const Foam::List<Foam::pointField>& +Foam::VF::raySearchEngine::allCf() const noexcept +{ + return allCf_; +} + + +const Foam::List<Foam::vectorField>& +Foam::VF::raySearchEngine::allSf() const noexcept +{ + return allSf_; +} + + +const Foam::List<Foam::labelField>& +Foam::VF::raySearchEngine::allAgg() const noexcept +{ + return allAgg_; +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineNew.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineNew.C new file mode 100644 index 00000000000..78af6adc522 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineNew.C @@ -0,0 +1,59 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "raySearchEngine.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +Foam::autoPtr<Foam::VF::raySearchEngine> Foam::VF::raySearchEngine::New +( + const fvMesh& mesh, + const dictionary& dict +) +{ + const word modelType(dict.get<word>("raySearchEngine")); + + Info<< "Selecting " << typeName << ": " << modelType << endl; + + auto* ctorPtr = meshConstructorTable(modelType); + + if (!ctorPtr) + { + FatalIOErrorInLookup + ( + dict, + typeName, + modelType, + *meshConstructorTablePtr_ + ) << exit(FatalIOError); + } + + return autoPtr<raySearchEngine>(ctorPtr(mesh, dict)); +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineTemplates.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineTemplates.C new file mode 100644 index 00000000000..b345451ada9 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/raySearchEngine/raySearchEngineTemplates.C @@ -0,0 +1,86 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +template<class Type> +void Foam::VF::raySearchEngine::interpolate +( + GeometricField<Type, fvPatchField, volMesh>& fld, + const List<List<Type>>& values +) const +{ + label compacti = 0; + + auto& vfbf = fld.boundaryFieldRef(); + + if (agglomMeshPtr_) + { + const auto& coarseMesh = agglomMeshPtr_(); + const auto& finalAgglom = coarseMesh.patchFaceAgglomeration(); + + for (const label patchi : patchIDs_) + { + const labelList& agglom = finalAgglom[patchi]; + + if (agglom.empty()) continue; + + label nAgglom = max(agglom) + 1; + const labelListList coarseToFine(invertOneToMany(nAgglom, agglom)); + const labelList& coarsePatchFace = + coarseMesh.patchFaceMap()[patchi]; + + forAll(coarseToFine, i) + { + const label coarseFacei = coarsePatchFace[i]; + const labelList& fineFaces = coarseToFine[coarseFacei]; + const Type sumValues = sum(values[compacti]); + + for (const label fineFacei : fineFaces) + { + vfbf[patchi][fineFacei] = sumValues; + } + + ++compacti; + } + } + } + else + { + label compacti = 0; + for (const label patchi : patchIDs_) + { + auto& vfp = vfbf[patchi]; + + for (Type& vfi : vfp) + { + vfi = sum(values[compacti++]); + } + } + } +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngine.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngine.C new file mode 100644 index 00000000000..757f1620443 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngine.C @@ -0,0 +1,948 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "voxelRaySearchEngine.H" +#include "processorPolyPatch.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace VF +{ + defineTypeNameAndDebug(voxel, 0); + addToRunTimeSelectionTable(raySearchEngine, voxel, mesh); +} +} + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +void Foam::VF::voxel::setTriangulation(const fvMesh& mesh) +{ + Info<< "\nCreating triangulated surface" << endl; + + // Storage for surfaceMesh. Size estimate. + DynamicList<labelledTri> triangles(mesh.nBoundaryFaces()); + DynamicList<label> globalFaces(mesh.nBoundaryFaces()); + label nFace = 0; + + const auto& pbm = mesh.boundaryMesh(); + + forAll(patchIDs_, i) + { + const label patchi = patchIDs_[i]; + const polyPatch& patch = pbm[patchi]; + const pointField& points = patch.points(); + + for (const face& f : patch) + { + label nTri = 0; + faceList triFaces(f.nTriangles(points)); + f.triangles(points, nTri, triFaces); + + const label globalFacei = + globalNumbering_.toGlobal(Pstream::myProcNo(), nFace++); + + for (const face& f : triFaces) + { + triangles.push_back(labelledTri(f[0], f[1], f[2], i)); + globalFaces.push_back(globalFacei); + } + } + } + + triToGlobalFace_.transfer(globalFaces); + + Info<< " Total number of triangles: " + << returnReduce(triangles.size(), sumOp<label>()) + << endl; + + triangles.shrink(); + surface_ = triSurface(triangles, mesh.points()); + surface_.compactPoints(); +} + + +Foam::labelList Foam::VF::voxel::setFaceVertexHits +( + const fvMesh& mesh, + const labelList& patchIDs +) +{ + labelList vertHits(mesh.points().size(), Zero); + + if (mesh.nSolutionD() == 3) + { + const auto& pbm = mesh.boundaryMesh(); + + // Create a new triangulation based on the surface agglomeration + for (const label patchI : patchIDs) + { + const polyPatch& patch = pbm[patchI]; + for (const face& f : patch) + { + for (const label fpi : f) + { + ++vertHits[fpi]; + } + } + } + + for (const auto& pp : pbm) + { + const labelList& meshPts = pp.meshPoints(); + + if (pp.size()) + { + if (isA<processorPolyPatch>(pp)) + { + // Add all processor patch points + for (const label pi : meshPts) + { + ++vertHits[pi]; + } + } + else + { + // Add boundary points + + const auto& bndyPts = pp.boundaryPoints(); + + for (const label pi : bndyPts) + { + ++vertHits[meshPts[pi]]; + } + } + } + } + } + + return vertHits; +} + + +void Foam::VF::voxel::setCoarseTriangulation(const fvMesh& mesh) +{ + Info<< "\nCreating triangulated surface" << endl; + + + // Filter out fine mesh points along coarse mesh faces + + + // Storage for surfaceMesh. Size estimate. + DynamicList<labelledTri> triangles(mesh.nBoundaryFaces()); + DynamicList<label> globalFaces(mesh.nBoundaryFaces()); + labelList vertHits = setFaceVertexHits(mesh, patchIDs_); + + + // Only simplifying edges for 3D + const label nVertMin = mesh.nSolutionD() == 3 ? 2 : 0; + + label nInvalid = 0; + label nFace = 0; + + const auto& pbm = mesh.boundaryMesh(); + + for (const label patchi : patchIDs_) + { + const polyPatch& patch = pbm[patchi]; + const pointField& points = patch.points(); + + for (const face& f : patch) + { + DynamicList<label> faceVerts; + for (const label fpi : f) + { + if (vertHits[fpi] > nVertMin) + { + faceVerts.push_back(fpi); + } + } + + if (faceVerts.size() < 3) + { + ++nInvalid; + continue; + } + + label nTri = 0; + const face reducedFace(faceVerts); + faceList triFaces(reducedFace.nTriangles(points)); + reducedFace.triangles(points, nTri, triFaces); + + const label globalFacei = + globalNumbering_.toGlobal(Pstream::myProcNo(), nFace++); + + for (const face& f : triFaces) + { + triangles.push_back(labelledTri(f[0], f[1], f[2], patchi)); + globalFaces.push_back(globalFacei); + } + } + } + + triToGlobalFace_.transfer(globalFaces); + + Info<< " Total number of triangles: " + << returnReduce(triangles.size(), sumOp<label>()) + << "\n Number of invalid (removed) triangles: " + << returnReduce(nInvalid, sumOp<label>()) + << endl; + + triangles.shrink(); + surface_ = triSurface(triangles, mesh.points()); + surface_.compactPoints(); +} + + +void Foam::VF::voxel::broadcast() +{ + // Every processor has whole surface + const globalIndex globalFaceIdx(globalIndex::gatherOnly{}, surface_.size()); + const globalIndex globalPointIdx + ( + globalIndex::gatherOnly{}, + surface_.points().size() + ); + + List<labelledTri> globalSurfaceTris(globalFaceIdx.gather(surface_)); + pointField globalSurfacePoints(globalPointIdx.gather(surface_.points())); + List<label> globalTriToGlobalFace(globalFaceIdx.gather(triToGlobalFace_)); + + + for (const label proci : globalPointIdx.allProcs()) + { + const label offset = globalPointIdx.localStart(proci); + + if (offset) + { + for + ( + labelledTri& tri + : globalSurfaceTris.slice(globalFaceIdx.range(proci)) + ) + { + tri[0] += offset; + tri[1] += offset; + tri[2] += offset; + } + } + } + + surface_ = + triSurface + ( + std::move(globalSurfaceTris), + std::move(globalSurfacePoints) + ); + + Pstream::broadcast(surface_); + + triToGlobalFace_ = std::move(globalTriToGlobalFace); + Pstream::broadcast(triToGlobalFace_); +} + + +Foam::pointHit Foam::VF::voxel::rayTriIntersect +( + const label trii, + const point& origin, + const vector& direction +) const +{ + // Note: origin was made relative to voxel mesh on entry to hit function + // - need to convert back into global position to be consistent with + // triangles for intersection tests + + const auto& ind = surface_[trii]; + const auto& pts = surface_.points(); + + // Note: flipped orientation of triangle (into domain) so that we can use + // visibility check when performing ray-triangle intersections + const triPointRef tri(pts[ind[0]], pts[ind[2]], pts[ind[1]]); + + static scalar tolerance = 1e-6; + + return + tri.intersection + ( + globalPosition(origin), + direction, + intersection::VISIBLE, + tolerance + ); +} + + +void Foam::VF::voxel::writeBox +( + OBJstream& os, + bool lines, + const boundBox& bb +) const +{ + os.write(treeBoundBox(bb), lines); +} + + +void Foam::VF::voxel::writeVoxels(const word& fName) const +{ + if (!UPstream::master()) return; + + OBJstream os(fName); + Info<< "Writing voxels to " << os.name() << endl; + + boundBox bb; + const bool lines = true; + for (label i = 0; i < nijk_[0]; ++i) + { + for (label j = 0; j < nijk_[1]; ++j) + { + for (label k = 0; k < nijk_[2]; ++k) + { + bb.min() = voxelMin(i, j, k); + bb.max() = voxelMax(i, j, k); + writeBox(os, lines, bb); + } + } + } + + Info<< "- done" << endl; +} + + +void Foam::VF::voxel::writeTriBoundBoxes(const word& fName) const +{ + if (!UPstream::master()) return; + + OBJstream os(fName); + Info<< "Writing triangle boundBoxes to " << os.name() << endl; + + const bool lines = true; + for (const auto& voxeli : objects_) + { + for (const label trii : voxeli) + { + writeBox(os, lines, objectBbs_[trii]); + } + } + + Info<< "- done" << endl; +} + + +void Foam::VF::voxel::writeHitObjects +( + const label voxeli, + const point& origin, + const vector& dir +) const +{ + OBJstream os("voxel_" + Foam::name(voxeli) + ".obj"); + + // Write voxel + labelVector ijk = this->ijk(voxeli); + + boundBox voxelBb; + voxelBb.min() = voxelMin(ijk[0], ijk[1], ijk[2]); + voxelBb.max() = voxelMax(ijk[0], ijk[1], ijk[2]); + + writeBox(os, true, voxelBb); + + for (const auto& trii : objects_[voxeli]) + { + writeBox(os, true, objectBbs_[trii]); + + const auto& ind = surface_[trii]; + const auto& pts = surface_.points(); + const triPointRef tri(pts[ind[0]], pts[ind[1]], pts[ind[2]]); + os.write(tri, false); + } +} + + +Foam::pointIndexHit Foam::VF::voxel::hitObject +( + const label voxeli, + const point& origin, + const vector& dir, + const vector& t, + const scalar minDistance +) const +{ + if (objects_[voxeli].empty()) return pointIndexHit(); + + // boundBox rayBb; + // rayBb.add(origin); + // rayBb.add(origin + dir*(dir & t)); + + label triHiti = -1; + //rayBb.add(origin + dir); + //rayBb.inflate(0.01); + + if (debug > 2) + { + writeHitObjects(voxeli, origin, dir); + } + + // Determine all triangles that intersect with ray + // - only keep nearest hit + + pointHit closestHit; + for (const auto& trii : objects_[voxeli]) + { + // Only perform ray/tri intersection if bound boxes intersect + //if (objectBbs_[trii].overlaps(rayBb)) + { + pointHit pi = rayTriIntersect(trii, origin, dir); + + if + ( + pi.hit() + && ( + pi.distance() > minDistance + && pi.distance() < closestHit.distance() + ) + ) + { + triHiti = trii; + closestHit = pi; + } + } + } + + return pointIndexHit(closestHit, triHiti); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::VF::voxel::voxel(const fvMesh& mesh, const dictionary& dict) +: + raySearchEngine(mesh, dict), + bb0_(), + span0_(Zero), + nijk_(Zero), + dxyz_(Zero), + nRayPerFace_(dict.get<label>("nRayPerFace")), + nTriPerVoxelMax_(dict.getOrDefault<label>("nTriPerVoxelMax", 50)), + depthMax_(dict.getOrDefault<label>("depthMax", 5)), + objects_(), + objectBbs_() +{ + if (agglomMeshPtr_) + { + setCoarseTriangulation(*agglomMeshPtr_); + } + else + { + setTriangulation(mesh); + } + + broadcast(); + + objectBbs_.resize_nocopy(surface_.size()); + + bb0_.add(surface_.points()); + bb0_.inflate(0.01); + span0_ = bb0_.span(); + + { + scalar maxDx = span0_.x(); + scalar maxDy = span0_.y(); + scalar maxDz = span0_.z(); + + const label refDn = 8; + scalar maxDim = max(maxDx, max(maxDy, maxDz)); + + setVoxelDims + ( + refDn*maxDx/maxDim, + refDn*maxDy/maxDim, + refDn*maxDz/maxDim + ); + + objects_.resize_nocopy(nVoxel()); + } + + label depth = 0; + label trii = 0; + voxelise(objects_, trii, depth); + + Info<< "\nCreated voxel mesh: " << nijk_ << endl; + + if ((debug > 3) && UPstream::master()) + { + writeVoxels("voxels.obj"); + writeTriBoundBoxes("triBoundBoxes.obj"); + } +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::VF::voxel::refineObjects +( + List<DynamicList<label>>& objects, + const label triMax +) +{ + refineVoxelDims(); + + if (debug > 2) Pout<< "Refining voxels: n=" << nijk_ << endl; + + List<DynamicList<label>> objectsNew(objects.size()*8); + + for (label trii = 0; trii <= triMax; ++trii) + { + addBbToVoxels(objectBbs_[trii], trii, objectsNew); + } + + objects.transfer(objectsNew); +} + + +Foam::label Foam::VF::voxel::addBbToVoxels +( + const boundBox& bb, + const label trii, + List<DynamicList<label>>& objects +) const +{ + //Pout<< "addBbToVoxels: trii=" << trii << " n=" << nijk_ << endl; + + const point minbb(localPosition(bb.min())); + const label i0 = max(0, floor(minbb.x()/dxyz_[0])); + const label j0 = max(0, floor(minbb.y()/dxyz_[1])); + const label k0 = max(0, floor(minbb.z()/dxyz_[2])); + + const point maxbb(localPosition(bb.max())); + const label i1 = min(nijk_[0], ceil(maxbb.x()/dxyz_[0])); + const label j1 = min(nijk_[1], ceil(maxbb.y()/dxyz_[1])); + const label k1 = min(nijk_[2], ceil(maxbb.z()/dxyz_[2])); + + label nTriMax = 0; + + for (label ii = i0; ii < i1; ++ii) + { + for (label jj = j0; jj < j1; ++jj) + { + for (label kk = k0; kk < k1; ++kk) + { + const label voxeli = this->voxeli(ii, jj, kk); + + objects[voxeli].push_back(trii); + nTriMax = max(nTriMax, objects[voxeli].size()); + } + } + } + + return nTriMax; +} + + +void Foam::VF::voxel::voxelise +( + List<DynamicList<label>>& objects, + const label trii0, + const label depth +) +{ + if (debug > 2) + { + Pout<< "voxelise - start at tri=" << trii0 + << " depth=" << depth + << endl; + } + + const auto& points = surface_.points(); + + for (label trii = trii0; trii < surface_.size(); ++trii) + { + // Triangle bounding box + boundBox bb(points, surface_[trii]); + bb.inflate(0.01); + objectBbs_[trii] = bb; + + const label nVoxelMax = addBbToVoxels(bb, trii, objects); + + // Number of triangles per voxel - if exceed limit, refine voxels... + if (nVoxelMax > nTriPerVoxelMax_ && depth < depthMax_) + { + refineObjects(objects, trii); + voxelise(objects, trii + 1, depth + 1); + break; + } + } +} + + +Foam::pointIndexHit Foam::VF::voxel::hit +( + const label tri0, + const vector& direction0 +) const +{ + if (tri0 > surface_.size()-1) + { + FatalErrorInFunction + << "Index tri0 out of bounds: " << tri0 + << ". Surface size: " << surface_.size() + << abort(FatalError); + } + + return hit(surface_.faceCentres()[tri0], direction0); +} + + +Foam::pointIndexHit Foam::VF::voxel::hit +( + const point& origin0, + const vector& direction0 +) const +{ + // Initialise return value + pointIndexHit hitInfo; + + const point origin(localPosition(origin0)); + + if (cmptMin(origin) < 0) + { + FatalErrorInFunction + << "Point located outside voxel mesh" + << " - possible coarsening problem?" + << abort(FatalError); + } + + if (magSqr(direction0) < ROOTVSMALL) + { + WarningInFunction + << "Supplied direction has zero size" + << endl; + + return hitInfo; + } + + const vector dir(normalised(direction0)); + + labelVector ijk(Zero); + labelVector step(Zero); + vector tDelta(vector::max); + vector tMax(vector::max); + + for (direction d = 0; d < 3; ++d) + { + ijk[d] = floor(origin[d]/dxyz_[d]); + step[d] = sign0(dir[d]); + if (step[d] != 0) + { + tDelta[d] = mag(dxyz_[d]/dir[d]); + + scalar voxelMax = (1 + ijk[d] - neg(dir[d]))*dxyz_[d]; + tMax[d] = (voxelMax - origin[d])/dir[d]; + } + } + + if (debug > 2) + { + Info<< "surfBb:" << boundBox(surface_.points()) + << " bb:" << bb0_ + << " origin" << origin0 + << " voxel_origin:" << origin + << " ijk:" << ijk + << " step:" << step + << " dxyz:" << dxyz_ + << " tDelta:" << tDelta + << " tMax:" << tMax + << endl; + } + + auto traverse = [&](const label i) + { + ijk[i] += step[i]; + if (outOfBounds(ijk, i)) return false; + tMax[i] += tDelta[i]; + return true; + }; + + + while (true) + { + const label voxeli = this->voxeli(ijk); + + if (debug > 2) + { + Info<< "ijk:" << ijk + << " voxeli:" << voxeli + << " t:" << tMax + << " objs:" << objects_[voxeli].size() + << endl; + } + + hitInfo = hitObject(voxeli, origin, dir, tMax); + + if (hitInfo.hit()) + { + // Valid hit + break; + } + else + { + if (tMax[0] < tMax[1] && tMax[0] < tMax[2]) + { + if (!traverse(0)) break; + } + else if (tMax[1] < tMax[2]) + { + if (!traverse(1)) break; + } + else + { + if (!traverse(2)) break; + } + } + } + + return hitInfo; +} + + +void Foam::VF::voxel::shootRays +( + labelList& rayStartFaceOut, + labelList& rayEndFaceOut +) const +{ + (void)mesh_.time().cpuTimeIncrement(); + + const pointField& myFc = allCf_[Pstream::myProcNo()]; + const vectorField& myArea = allSf_[Pstream::myProcNo()]; + + const label nTotalRays = myFc.size()*nRayPerFace_; + if (nTotalRays > maxDynListLength) + { + FatalErrorInFunction + << "Dynamic list needs more capacity to support " << nRayPerFace_ + << " rays per face (" << nTotalRays << "). " + << "Limit set by maxDynListLength: " << maxDynListLength + << abort(FatalError); + } + + DynamicList<label> rayStartFace(nTotalRays); + DynamicList<label> rayEndFace(rayStartFace.size()); + + DynamicList<label> endFacei(nTotalRays); + DynamicList<label> startFacei(nTotalRays); + + const pointField hemi(createHemiPoints(nRayPerFace_)); + + Info<< "\nShooting rays" << endl; + + const scalar nDiv = 10; + const label nStep = floor(myFc.size()/nDiv); + labelHashSet localFaceHits; + + for (label stepi=0; stepi<nDiv; ++stepi) + { + const label step0 = stepi*nStep; + const label step1 = stepi == nDiv - 1 ? myFc.size() : (stepi+1)*nStep; + + for (label i = step0; i < step1; ++i) + { + // Info<< "i/N = " << i << "/" << (myFc.size()-1) + // << " step0:" << step0 << " step1:" << step1 + // << endl; + + localFaceHits.clear(); + + const point& origin = myFc[i]; + const vector dir(-normalised(myArea[i])); + + const coordSystem::cartesian cs = createCoordSystem(origin, dir); + + const vectorField pts(cs.transformPoint(hemi)); + + for (const auto& p : pts) + { + const pointIndexHit hitInfo = hit(origin, p-origin); + + if (hitInfo.hit()) + { + label hitFacei = triToGlobalFace_[hitInfo.index()]; + + if (localFaceHits.insert(hitFacei)) + { + endFacei.push_back(hitFacei); + startFacei.push_back(i); + } + } + else + { + // Miss + } + } + } + + const label globalStepi = returnReduce(stepi, minOp<label>()) + 1; + + Info<< " " << globalStepi/nDiv*100 << "% complete" << endl; + } + + + // Ensure all rays are unique/filter out duplicates + // - add symmetric connections for non-self-intersecting rays + + if (UPstream::parRun()) + { + edgeHashSet uniqueRays; + List<DynamicList<label>> remoteStartFace(Pstream::nProcs()); + List<DynamicList<label>> remoteEndFace(Pstream::nProcs()); + + const labelList globalStartFaceIDs + ( + globalNumbering_.toGlobal(startFacei) + ); + + forAll(globalStartFaceIDs, rayi) + { + label start = globalStartFaceIDs[rayi]; + label end = endFacei[rayi]; + + const label endProci = globalNumbering_.whichProcID(end); + + if (start > end) Swap(start, end); + + if (uniqueRays.insert(edge(start, end))) + { + if (endProci != UPstream::myProcNo()) + { + // Convert local face into global face and vice-versa + remoteStartFace[endProci].push_back(start); + remoteEndFace[endProci].push_back(end); + } + } + } + + PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking); + + // Send remote data + for (const int domain : Pstream::allProcs()) + { + if (domain != Pstream::myProcNo()) + { + UOPstream str(domain, pBufs); + str << remoteStartFace[domain] + << remoteEndFace[domain]; + } + } + + pBufs.finishedSends(); + + // Consume + for (const int domain : Pstream::allProcs()) + { + if (domain != Pstream::myProcNo()) + { + UIPstream is(domain, pBufs); + is >> remoteStartFace[domain] + >> remoteEndFace[domain]; + + forAll(remoteStartFace[domain], i) + { + const label start = remoteStartFace[domain][i]; + const label end = remoteEndFace[domain][i]; + uniqueRays.insert(edge(start, end)); + } + } + } + + // Populate ray addressing based on uniqueRays + for (const edge& e : uniqueRays) + { + const label start = e.first(); + const label end = e.second(); + + bool sameFace = start == end; + + if (globalNumbering_.isLocal(start)) + { + // Ray originates from this processor + const label localStart = globalNumbering_.toLocal(start); + + rayStartFace.append(localStart); + rayEndFace.append(end); + } + + if (!sameFace && globalNumbering_.isLocal(end)) + { + // Ray hits this processor + // - add symmetric ray from end->start + const label localEnd = globalNumbering_.toLocal(end); + + rayStartFace.append(localEnd); + rayEndFace.append(start); + } + } + } + else + { + // Populate ray addressing based on uniqueRays + + edgeHashSet uniqueRays; + + forAll(startFacei, rayi) + { + label start = startFacei[rayi]; + label end = endFacei[rayi]; + + if (start > end) Swap(start, end); + + if (uniqueRays.insert(edge(start, end))) + { + rayStartFace.append(start); + rayEndFace.append(end); + + if (start != end) + { + // Add symmetric ray from end->start + rayStartFace.append(end); + rayEndFace.append(start); + } + } + } + } + + rayStartFaceOut.transfer(rayStartFace); + rayEndFaceOut.transfer(rayEndFace); + + Info<< " Time taken: " << mesh_.time().cpuTimeIncrement() << " s" + << endl; +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngine.H b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngine.H new file mode 100644 index 00000000000..1103e1a881c --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngine.H @@ -0,0 +1,284 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::VF::voxel + +Description + Ray search engine based on discretising space into uniform voxels + + Voxels are refined using 2x2x2 refinement. + + The number of rays per face is supplied by the user, whereby rays are + issued uniformly across a hemisphere. + +Usage + Minimal example by using \c <constant>/viewFactorsDict: + \verbatim + // Mandatory entries + nRayPerFace <label>; + + // Optional entries + nTriPerVoxelMax <label>; + depthMax <label>; + + // Inherited entries + ... + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + nRayPerFace | Number of rays issued per face | label | yes | - + nRayPerFace | Target number of triangles per voxel | label | no | 50 + depthMax | Maximum voxel refinement depth | label | no | 5 + \endtable + + The inherited entries are elaborated in: + - \link raySearchEngine.H \endlink + +SourceFiles + voxelRaySearchEngine.C + +SeeAlso +- Foam::VF::raySearchEngine + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_vf_voxelRaySearchEngine_H +#define Foam_vf_voxelRaySearchEngine_H + +#include "raySearchEngine.H" +#include "labelVector.H" +#include "OBJstream.H" +#include "pointIndexHit.H" +#include "triSurface.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +namespace VF +{ + +/*---------------------------------------------------------------------------*\ + Class voxel Declaration +\*---------------------------------------------------------------------------*/ + +class voxel +: + public raySearchEngine +{ + // Private Data + + //- Triangulation of view factor patches + triSurface surface_; + + //- Triangle to mesh face addressing + labelList triToGlobalFace_; + + //- Surface bounding box + boundBox bb0_; + + //- Span of surface bounding box + vector span0_; + + //- Voxel discretisation + labelVector nijk_; + + //- Voxel dimensions + vector dxyz_; + + //- Number of rays issued per face + const label nRayPerFace_; + + //- Maximum number of triangles per voxel (trigger to refine voxels) + const label nTriPerVoxelMax_; + + //- Maximum depth of voxel refinement. Note: voxels are refined 2x2x2 + const label depthMax_; + + //- List of triangle per voxel + List<DynamicList<label>> objects_; + + //- List of triangle bounding boxes + List<boundBox> objectBbs_; + + + // Private Member Functions + + inline bool outOfBounds(const labelVector& ijk, const label dir) const; + + inline point localPosition(const vector& globalPosition) const; + + inline point globalPosition(const vector& localPosition) const; + + inline void setVoxelDims(const label i, const label j, const label k); + + inline void refineVoxelDims(); + + inline point voxelMin + ( + const label i, + const label j, + const label k + ) const; + + inline point voxelMax + ( + const label i, + const label j, + const label k + ) const; + + inline constexpr label sign0(const scalar x) const; + + //- Set triangulation based on original mesh + void setTriangulation(const fvMesh& mesh); + + //- Set the participating face vertices when simplifying edges + static labelList setFaceVertexHits + ( + const fvMesh& mesh, + const labelList& patchIDs + ); + + //- Set triangulation based on agglomeration + void setCoarseTriangulation(const fvMesh& mesh); + + //- Broadcast triangulation across all procs + void broadcast(); + + void refineObjects + ( + List<DynamicList<label>>& objects, + const label triMax + ); + + label addBbToVoxels + ( + const boundBox& bb, + const label trii, + List<DynamicList<label>>& objects + ) const; + + void voxelise + ( + List<DynamicList<label>>& objects, + const label trii0, + const label depth + ); + + pointHit rayTriIntersect + ( + const label trii, + const point& origin, + const vector& direction + ) const; + + pointIndexHit hitObject + ( + const label voxeli, + const point& origin, + const vector& direction, + const vector& t, + const scalar minDistance = 1e-6 + ) const; + + void writeBox + ( + OBJstream& os, + bool lines, + const boundBox& bb + ) const; + + void writeVoxels(const word& fName) const; + + void writeTriBoundBoxes(const word& fName) const; + + void writeHitObjects + ( + const label voxeli, + const point& origin, + const vector& dir + ) const; + + +public: + + //- Runtime type information + TypeName("voxel"); + + //- Constructor + voxel(const fvMesh& mesh, const dictionary& dict); + + //- Destructor + virtual ~voxel() = default; + + + // Public Member Functions + + inline labelVector nijk() const noexcept; + + inline label nVoxel() const noexcept; + + inline label voxeli(const labelVector ijk) const noexcept; + + inline label voxeli + ( + const label i, + const label j, + const label k + ) const noexcept; + + inline labelVector ijk(const label voxeli) const noexcept; + + pointIndexHit hit(const point& origin, const vector& dir) const; + + pointIndexHit hit(const label tri0, const vector& dir) const; + + virtual void shootRays + ( + labelList& rayStartFaceOut, + labelList& rayEndFaceOut + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace VF +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "voxelRaySearchEngineI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngineI.H b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngineI.H new file mode 100644 index 00000000000..a46ca7e1da5 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/raySearchEngine/voxel/voxelRaySearchEngineI.H @@ -0,0 +1,155 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +bool Foam::VF::voxel::outOfBounds +( + const labelVector& ijk, + const label dir +) const +{ + return (ijk[dir] < 0 || ijk[dir] >= nijk_[dir]); +}; + + +Foam::point Foam::VF::voxel::localPosition(const vector& globalPosition) const +{ + return globalPosition - bb0_.min(); +} + + +Foam::point Foam::VF::voxel::globalPosition(const vector& localPosition) const +{ + return bb0_.min() + localPosition; +} + + +void Foam::VF::voxel::setVoxelDims(const label i, const label j, const label k) +{ + nijk_[0] = max(1, i); + nijk_[1] = max(1, j); + nijk_[2] = max(1, k); + + dxyz_[0] = span0_[0]/nijk_[0]; + dxyz_[1] = span0_[1]/nijk_[1]; + dxyz_[2] = span0_[2]/nijk_[2]; +} + + +void Foam::VF::voxel::refineVoxelDims() +{ + nijk_ *= 2; + + // Do not refine empty direction for 2D + const auto& solutionD = mesh_.solutionD(); + for (direction d=0; d<3; ++d) + { + if (solutionD[d] == -1) + { + nijk_[d] = 1; + } + } + + setVoxelDims(nijk_[0], nijk_[1], nijk_[2]); +} + + +Foam::point Foam::VF::voxel::voxelMin +( + const label i, + const label j, + const label k +) const +{ + return point(i*dxyz_[0], j*dxyz_[1], k*dxyz_[2]); +} + + +Foam::point Foam::VF::voxel::voxelMax +( + const label i, + const label j, + const label k +) const +{ + return voxelMin(i+1, j+1, k+1); +} + + +constexpr Foam::label Foam::VF::voxel::sign0(const scalar x) const +{ + if (x > 0) return 1; + if (x < 0) return -1; + return 0; +}; + + +Foam::labelVector Foam::VF::voxel::nijk() const noexcept +{ + return nijk_; +} + + +Foam::label Foam::VF::voxel::nVoxel() const noexcept +{ + return nijk_[0]*nijk_[1]*nijk_[2]; +} + + +Foam::label Foam::VF::voxel::voxeli +( + const labelVector ijk +) const noexcept +{ + return voxeli(ijk[0], ijk[1], ijk[2]); +} + + +Foam::label Foam::VF::voxel::voxeli +( + const label i, + const label j, + const label k +) const noexcept +{ + return i + (nijk_[0]*(j + (nijk_[1]*k))); +} + + +Foam::labelVector Foam::VF::voxel::ijk(const label voxeli) const noexcept +{ + const label nx = nijk_[0]; + const label ny = nijk_[1]; + + const label i = voxeli%nx; + const label k = voxeli/nx/ny; + const label j = (voxeli/nx)%ny; + + return labelVector(i, j, k); +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2AI/viewFactor2AI.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2AI/viewFactor2AI.C new file mode 100644 index 00000000000..2b7afe34bff --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2AI/viewFactor2AI.C @@ -0,0 +1,138 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "viewFactor2AI.H" +#include "mathematicalConstants.H" +#include "addToRunTimeSelectionTable.H" + +using namespace Foam::constant; + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace VF +{ + defineTypeNameAndDebug(viewFactor2AI, 0); + addToRunTimeSelectionTable(viewFactorModel, viewFactor2AI, mesh); +} +} + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +Foam::scalar Foam::VF::viewFactor2AI::calculateFij +( + const point& xi, + const point& xj, + const vector& dAi, + const vector& dAj +) +{ + const vector r(xj - xi); + const scalar rMag = mag(r); + const scalar dAiMag(mag(dAi)); + const scalar dAjMag(mag(dAj)); + + if (rMag > SMALL && dAiMag > SMALL && dAjMag > SMALL) + { + const vector nr(r/rMag); + const vector ni(dAi/dAiMag); + const vector nj(dAj/dAjMag); + + const scalar Fij = + -(nr & ni)*(nr & nj)/sqr(rMag)*dAjMag*dAiMag/mathematical::pi; + + if (Fij > 0) return Fij; + } + + return 0; +} + + +Foam::scalarListList Foam::VF::viewFactor2AI::calculate +( + const labelListList& visibleFaceFaces, + const pointField& compactCf, + const vectorField& compactSf, + const List<List<vector>>& compactFineSf, + const List<List<point>>& compactFineCf, + const DynamicList<List<point>>& compactPoints, + const DynamicList<label>& compactPatchId +) const +{ + // Fill local view factor matrix + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + scalarListList Fij(visibleFaceFaces.size()); + + forAll(visibleFaceFaces, facei) + { + if (debug > 1) + { + Pout<< "facei:" << facei << "/" << visibleFaceFaces.size() + << endl; + } + + const labelList& visibleFaces = visibleFaceFaces[facei]; + + Fij[facei].resize(visibleFaces.size(), Zero); + + const point& dCi = compactCf[facei]; + const vector& Ai = compactSf[facei]; + const scalar magAi = mag(Ai); + + if (magAi < SMALL) continue; + + forAll(visibleFaces, visibleFacei) + { + const label sloti = visibleFaces[visibleFacei]; + const point& dCj = compactCf[sloti]; + const vector& Aj = compactSf[sloti]; + + const scalar Fij2AI = calculateFij(dCi, dCj, Ai, Aj); + + Fij[facei][visibleFacei] = Fij2AI/magAi; + } + } + + + return Fij; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::VF::viewFactor2AI::viewFactor2AI +( + const fvMesh& mesh, + const dictionary& dict +) +: + viewFactorModel(mesh, dict) +{} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2AI/viewFactor2AI.H b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2AI/viewFactor2AI.H new file mode 100644 index 00000000000..9ba377435b4 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2AI/viewFactor2AI.H @@ -0,0 +1,117 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::VF::viewFactor2AI + +Description + Computes view factors according to the double area integral (2AI) method. + +Usage + Minimal example in \c <constant>/viewFactorsDict: + \verbatim + // Inherited entries + ... + \endverbatim + + The inherited entries are elaborated in: + - \link viewFactorModel.H \endlink + +SourceFiles + viewFactorModel.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_vf_viewFactor2AI_H +#define Foam_vf_viewFactor2AI_H + +#include "viewFactorModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +namespace VF +{ + +/*---------------------------------------------------------------------------*\ + Class viewFactor2AI Declaration +\*---------------------------------------------------------------------------*/ + +class viewFactor2AI +: + public viewFactorModel +{ + +protected: + + // Protected Member Functions + + //- Calculate view factor using the double-area integral + static scalar calculateFij + ( + const point& xi, + const point& xj, + const vector& dAi, + const vector& dAj + ); + + //- Calculate + virtual scalarListList calculate + ( + const labelListList& visibleFaceFaces, + const pointField& compactCf, + const vectorField& compactSf, + const List<List<vector>>& compactFineSf, + const List<List<point>>& compactFineCf, + const DynamicList<List<point>>& compactPoints, + const DynamicList<label>& compactPatchId + ) const; + + +public: + + //- Runtime type information + TypeName("viewFactor2AI"); + + //- Constructor + viewFactor2AI(const fvMesh& mesh, const dictionary& dict); + + //- Destructor + virtual ~viewFactor2AI() = default; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace VF +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2LI/viewFactor2LI.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2LI/viewFactor2LI.C new file mode 100644 index 00000000000..273b5c2ac5e --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2LI/viewFactor2LI.C @@ -0,0 +1,141 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "viewFactor2LI.H" +#include "mathematicalConstants.H" +#include "addToRunTimeSelectionTable.H" + +using namespace Foam::constant; + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace VF +{ + defineTypeNameAndDebug(viewFactor2LI, 0); + addToRunTimeSelectionTable(viewFactorModel, viewFactor2LI, mesh); +} +} + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +Foam::scalar Foam::VF::viewFactor2LI::calculateFij +( + const List<point>& lPoints, + const List<point>& rPoints, + const scalar alpha +) +{ + scalar Fij = 0; + + forAll(lPoints, i) + { + // Edge vector and centroid of edge i + const vector si(lPoints[i] - lPoints.rcValue(i)); + const point ci(0.5*(lPoints[i] + lPoints.rcValue(i))); + + forAll(rPoints, j) + { + // Edge vector and centroid of edge j + const vector sj(rPoints[j] - rPoints.rcValue(j)); + const point cj(0.5*(rPoints[j] + rPoints.rcValue(j))); + + vector r(ci - cj); + if (mag(r) < SMALL) + { + r = alpha*si; + } + + Fij += (si & sj)*Foam::log(r & r); + } + } + + return max(0, 0.25*Fij/mathematical::pi); +} + + +Foam::scalarListList Foam::VF::viewFactor2LI::calculate +( + const labelListList& visibleFaceFaces, + const pointField& compactCf, + const vectorField& compactSf, + const List<List<vector>>& compactFineSf, + const List<List<point>>& compactFineCf, + const DynamicList<List<point>>& compactPoints, + const DynamicList<label>& compactPatchId +) const +{ + // Fill local view factor matrix + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + scalarListList Fij(visibleFaceFaces.size()); + + forAll(visibleFaceFaces, facei) + { + if (debug > 1) + { + Pout<< "facei:" << facei << "/" << visibleFaceFaces.size() + << endl; + } + + const labelList& visibleFaces = visibleFaceFaces[facei]; + + Fij[facei].resize(visibleFaces.size(), Zero); + + const vector& Ai = compactSf[facei]; + const scalar magAi = mag(Ai); + + forAll(visibleFaces, visibleFacei) + { + const label sloti = visibleFaces[visibleFacei]; + const List<point>& lPoints = compactPoints[facei]; + const List<point>& rPoints = compactPoints[sloti]; + + const scalar Fij2LI = calculateFij(lPoints, rPoints, alpha_); + + Fij[facei][visibleFacei] = Fij2LI/magAi; + } + } + + return Fij; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::VF::viewFactor2LI::viewFactor2LI +( + const fvMesh& mesh, + const dictionary& dict +) +: + viewFactorModel(mesh, dict), + alpha_(dict.getOrDefault("alpha", 0.21)) +{} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2LI/viewFactor2LI.H b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2LI/viewFactor2LI.H new file mode 100644 index 00000000000..0d2c0d273d3 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactor2LI/viewFactor2LI.H @@ -0,0 +1,130 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::VF::viewFactor2LI + +Description + Computes view factors according to the double line integral (2LI) method. + +Usage + Minimal example in \c <constant>/viewFactorsDict: + \verbatim + // Optional entries + alpha <scalar>; + + // Inherited entries + ... + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + alpha | Perturbation for common edges | scalar | no | 0.21 + \endtable + + The inherited entries are elaborated in: + - \link viewFactorModel.H \endlink + +SourceFiles + viewFactorModel.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_vf_viewFactor2LI_H +#define Foam_vf_viewFactor2LI_H + +#include "viewFactorModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +namespace VF +{ + +/*---------------------------------------------------------------------------*\ + Class viewFactor2LI Declaration +\*---------------------------------------------------------------------------*/ + +class viewFactor2LI +: + public viewFactorModel +{ +protected: + + // Protected Data + + //- Perturbation for common edges; default = 0.21 + const scalar alpha_; + + + // Protected Member Functions + + //- Calculate view factor using the double-area integral + static scalar calculateFij + ( + const List<point>& lPoints, + const List<point>& rPoints, + const scalar alpha + ); + + //- Calculate + virtual scalarListList calculate + ( + const labelListList& visibleFaceFaces, + const pointField& compactCf, + const vectorField& compactSf, + const List<List<vector>>& compactFineSf, + const List<List<point>>& compactFineCf, + const DynamicList<List<point>>& compactPoints, + const DynamicList<label>& compactPatchId + ) const; + + +public: + + //- Runtime type information + TypeName("viewFactor2LI"); + + //- Constructor + viewFactor2LI(const fvMesh& mesh, const dictionary& dict); + + //- Destructor + virtual ~viewFactor2LI() = default; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace VF +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorHottel/viewFactorHottel.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorHottel/viewFactorHottel.C new file mode 100644 index 00000000000..3b352ab69f8 --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorHottel/viewFactorHottel.C @@ -0,0 +1,153 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "viewFactorHottel.H" +#include "mathematicalConstants.H" +#include "fvMesh.H" +#include "meshTools.H" +//#include "addToRunTimeSelectionTable.H" + +using namespace Foam::constant; + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace VF +{ + defineTypeNameAndDebug(viewFactorHottel, 0); +// addToRunTimeSelectionTable(viewFactorModel, viewFactorHottel, mesh); +} +} + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +Foam::scalar Foam::VF::viewFactorHottel::calculateFij +( + const point& p0, + const point& p1, + const point& p2, + const point& p3 +) +{ + return 0.5*(mag(p2-p1) + mag(p3-p0) - mag(p2-p0) - mag(p3-p1)); +} + + +Foam::scalarListList Foam::VF::viewFactorHottel::calculate +( + const labelListList& visibleFaceFaces, + const pointField& compactCf, + const vectorField& compactSf, + const List<List<vector>>& compactFineSf, + const List<List<point>>& compactFineCf, + const DynamicList<List<point>>& compactPoints, + const DynamicList<label>& compactPatchId +) const +{ + // Fill local view factor matrix + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + scalarListList Fij(visibleFaceFaces.size()); + + forAll(visibleFaceFaces, facei) + { + if (debug > 1) + { + Pout<< "facei:" << facei << "/" << visibleFaceFaces.size() + << endl; + } + + const labelList& visibleFaces = visibleFaceFaces[facei]; + + Fij[facei].resize_nocopy(visibleFaces.size()); + + const point& dCi = compactCf[facei]; + const vector& Ai = compactSf[facei]; + const scalar magAi = mag(Ai); + + const vector d1((Ai/magAi) ^ emptyDir_); + const vector l1(0.5*magAi/w_*d1); + const point p0(dCi + l1); + const point p1(dCi - l1); + + forAll(visibleFaces, visibleFacei) + { + const label sloti = visibleFaces[visibleFacei]; + + const point& dCj = compactCf[sloti]; + const vector& Aj = compactSf[sloti]; + const scalar magAj = mag(Aj); + + const vector d2((Aj/magAj) ^ emptyDir_); + const vector l2(0.5*magAj/w_*d2); + const point p2(dCj - l2); + const point p3(dCj + l2); + + const scalar FijH = calculateFij(p0, p1, p2, p3); + + Fij[facei][visibleFacei] = FijH/(magAi/w_); + } + } + + + return Fij; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::VF::viewFactorHottel::viewFactorHottel +( + const fvMesh& mesh, + const dictionary& dict +) +: + viewFactorModel(mesh, dict), + emptyDir_(vector::one), + w_(0) +{ + if (mesh.nSolutionD() != 2) + { + FatalErrorInFunction + << "Hottel crossed strings method only applicable to 2D cases" + << exit(FatalError); + } + + meshTools::constrainDirection(mesh, mesh.solutionD(), emptyDir_); + emptyDir_ = vector::one - emptyDir_; + emptyDir_.normalise(); + + // 2D width - assume slab + // TODO: warn wedge/axisymmetric? + w_ = mesh.bounds().span() & emptyDir_; + + Info<< "\nEmpty direction: " << emptyDir_ + << "\nWidth: " << w_ << endl; +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorHottel/viewFactorHottel.H b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorHottel/viewFactorHottel.H new file mode 100644 index 00000000000..da7bade587b --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorHottel/viewFactorHottel.H @@ -0,0 +1,135 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::VF::viewFactorHottel + +Description + Computes view factors according to Hottel's crossed strings method. + + Reference: + \verbatim + Hottel, H. C., & Saforim, A. F. (1967). + Radiative transfer. + McGraw-Hill Book Company, New York. + \endverbatim + +Usage + Minimal example in \c <constant>/viewFactorsDict: + \verbatim + // Inherited entries + ... + \endverbatim + + The inherited entries are elaborated in: + - \link viewFactorModel.H \endlink + +Note + Only applicable to 2D cases + +SourceFiles + viewFactorModel.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_vf_viewFactorHottel_H +#define Foam_vf_viewFactorHottel_H + +#include "viewFactorModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +namespace VF +{ + +/*---------------------------------------------------------------------------*\ + Class viewFactorHottel Declaration +\*---------------------------------------------------------------------------*/ + +class viewFactorHottel +: + public viewFactorModel +{ + // Private Data + + //- Mesh empty direction + vector emptyDir_; + + //- Mesh 2D width + scalar w_; + + +protected: + + // Protected Member Functions + + //- Calculate view factor using the double-area integral + static scalar calculateFij + ( + const point& p0, + const point& p1, + const point& p2, + const point& p3 + ); + + //- Calculate + virtual scalarListList calculate + ( + const labelListList& visibleFaceFaces, + const pointField& compactCf, + const vectorField& compactSf, + const List<List<vector>>& compactFineSf, + const List<List<point>>& compactFineCf, + const DynamicList<List<point>>& compactPoints, + const DynamicList<label>& compactPatchId + ) const; + + +public: + + //- Runtime type information + TypeName("viewFactorHottel"); + + //- Constructor + viewFactorHottel(const fvMesh& mesh, const dictionary& dict); + + //- Destructor + virtual ~viewFactorHottel() = default; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace VF +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModel.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModel.C new file mode 100644 index 00000000000..cc4e1442f6c --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModel.C @@ -0,0 +1,290 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "viewFactorModel.H" +#include "raySearchEngine.H" +#include "OBJstream.H" +#include "volFields.H" +#include "IOmapDistribute.H" +#include "scalarListIOList.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace VF +{ + defineTypeNameAndDebug(viewFactorModel, 0); + defineRunTimeSelectionTable(viewFactorModel, mesh); +} +} + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +void Foam::VF::viewFactorModel::writeRays +( + const fileName& fName, + const pointField& compactCf, + const labelListList& visibleFaceFaces +) +{ + OBJstream str(fName); + + Pout<< "Writing rays to " << str.name() << endl; + + forAll(visibleFaceFaces, facei) + { + const labelList& visibleSlots = visibleFaceFaces[facei]; + + for (const label sloti : visibleSlots) + { + str.write(linePointRef(compactCf[facei], compactCf[sloti])); + } + } + + str.flush(); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::VF::viewFactorModel::viewFactorModel +( + const fvMesh& mesh, + const dictionary& dict +) +: + mesh_(mesh), + searchEnginePtr_(raySearchEngine::New(mesh, dict)), + writeViewFactors_(dict.get<bool>("writeViewFactors")), + writeRays_(dict.getOrDefault<bool>("writeRays", false)) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::VF::viewFactorModel::~viewFactorModel() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::VF::viewFactorModel::calculate() +{ + const auto& searchEngine = *searchEnginePtr_; + + labelListList visibleFaceFaces; + searchEngine.correct(visibleFaceFaces); + const auto& map = searchEngine.map(); + + // Construct data in compact addressing + // Compact addressing has all local data, followed by remote contributions + + pointField compactCf; + vectorField compactSf; + List<List<vector>> compactFineSf; + List<List<point>> compactFineCf; + DynamicList<List<point>> compactPoints; + DynamicList<label> compactPatchId; + + searchEngine.compactAddressing + ( + map, + compactCf, + compactSf, + compactFineSf, + compactFineCf, + compactPoints, + compactPatchId + ); + + if (writeRays_) + { + // Write all rays between visible faces using .OBJ format + + writeRays + ( + mesh_.time().path()/"allVisibleFaces.obj", + compactCf, + visibleFaceFaces + ); + } + + (void)mesh_.time().cpuTimeIncrement(); + + Info<< "\nCalculating view factors" << endl; + + scalarListIOList Fij + ( + IOobject + ( + "F", + mesh_.facesInstance(), + mesh_, + IOobject::NO_READ + ), + calculate + ( + visibleFaceFaces, + compactCf, + compactSf, + compactFineSf, + compactFineCf, + compactPoints, + compactPatchId + ) + ); + + const label totalPatches = mesh_.boundaryMesh().nNonProcessor(); + + // Matrix sum in j(Fij) for each i + // Note: if enclosure sum should = 1 + scalarSquareMatrix viewFactorPatch(totalPatches, Zero); + + forAll(visibleFaceFaces, startFacei) + { + const scalar magAi = mag(compactSf[startFacei]); + + const labelList& visibleSlots = visibleFaceFaces[startFacei]; + const label patchi = compactPatchId[startFacei]; + + forAll(visibleSlots, visSloti) + { + const label sloti = visibleSlots[visSloti]; + const label patchj = compactPatchId[sloti]; + + viewFactorPatch[patchi][patchj] += Fij[startFacei][visSloti]*magAi; + } + } + + reduce(viewFactorPatch, sumOp<scalarSquareMatrix>()); + + const scalarList patchArea = searchEngine.patchAreas(); + + + if (UPstream::master()) + { + Info<< "\nPatch view factor contributions:" << nl << endl; + + scalar vfSum = 0; + + const auto& patchIDs = searchEngine.patchIDs(); + const auto& patches = mesh_.boundaryMesh(); + + for (const label patchi : patchIDs) + { + Info<< " Patch " << patchi << ": " << patches[patchi].name() + << endl; + + scalar vfPatch = 0; + for (const label patchj: patchIDs) + { + scalar vf = viewFactorPatch[patchi][patchj]/patchArea[patchi]; + vfPatch += vf; + + Info<< " F" << patchi << patchj << ": " << vf << endl; + } + + Info<< " Sum: " << vfPatch << nl << endl; + + vfSum += vfPatch; + } + + Info<< "Sum(all patches) = " << vfSum << endl; + } + + // Write view factors matrix in list-list form + Info<< "\nWriting view factor matrix" << endl; + Fij.write(); + + if (writeViewFactors_) + { + Info<< "\nWriting view factor field" << endl; + + auto tviewFactorField = + volScalarField::New + ( + "viewFactorField", + mesh_, + dimensionedScalar(dimless, Zero) + ); + + auto& viewFactorField = tviewFactorField.ref(); + + searchEngine.interpolate(viewFactorField, Fij); + + viewFactorField.write(); + } + + + // Create globalFaceFaces needed to insert view factors + // in F to the global matrix Fmatrix + { + labelListIOList IOglobalFaceFaces + ( + IOobject + ( + "globalFaceFaces", + mesh_.facesInstance(), + mesh_, + IOobject::NO_READ + ), + visibleFaceFaces.size() + ); + + forAll(IOglobalFaceFaces, facei) + { + IOglobalFaceFaces[facei] = renumber + ( + searchEngine.compactToGlobal(), + visibleFaceFaces[facei] + ); + } + + IOglobalFaceFaces.write(); + } + + // Write parallel map + { + IOmapDistribute IOmapDist + ( + IOobject + ( + "mapDist", + mesh_.facesInstance(), + mesh_, + IOobject::NO_READ + ), + std::move(map) + ); + + IOmapDist.write(); + } +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModel.H b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModel.H new file mode 100644 index 00000000000..549c50978da --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModel.H @@ -0,0 +1,185 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Namespace + Foam::VF + +Description + A namespace for various \c viewFactor model implementations. + +Class + Foam::VF::viewFactorModel + +Description + A base class for \c viewFactor models. + +Usage + Minimal example in \c <constant>/viewFactorsDict: + \verbatim + // Mandatory entries + writeViewFactors <bool>; + + // Optional entries + writeRays <bool>; + \endverbatim + + where the entries mean: + \table + Property | Description | Type | Reqd | Deflt + writeViewFactors | Flag to write the view factor field | bool | yes | - + writeRays | Flag to write the ray geometry | bool | no | false + \endtable + +SourceFiles + viewFactorModel.C + viewFactorModelNew.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Foam_vf_viewFactorModel_H +#define Foam_vf_viewFactorModel_H + +#include "autoPtr.H" +#include "pointField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward Declarations +class fvMesh; + +namespace VF +{ + +// Forward Declarations +class raySearchEngine; + +/*---------------------------------------------------------------------------*\ + Class viewFactorModel Declaration +\*---------------------------------------------------------------------------*/ + +class viewFactorModel +{ +protected: + + // Protected Data + + //- Reference to the mesh database + const fvMesh& mesh_; + + //- Run-time selectable ray search engine + autoPtr<raySearchEngine> searchEnginePtr_; + + //- Flag to write the view factor field + bool writeViewFactors_; + + //- Flag to write the ray geometry + bool writeRays_; + + + // Protected Member Functions + + //- Write ray geometry to file + static void writeRays + ( + const fileName& fName, + const pointField& compactCf, + const labelListList& visibleFaceFaces + ); + + //- Calculate the view factors using run-time selectable model + virtual scalarListList calculate + ( + const labelListList& visibleFaceFaces, + const pointField& compactCoarseCf, + const vectorField& compactCoarseSf, + const List<List<vector>>& compactFineSf, + const List<List<point>>& compactFineCf, + const DynamicList<List<point>>& compactPoints, + const DynamicList<label>& compactPatchId + ) const = 0; + + +public: + + //- Runtime type information + TypeName("viewFactorModel"); + + //- Selection table + declareRunTimeSelectionTable + ( + autoPtr, + viewFactorModel, + mesh, + ( + const fvMesh& mesh, + const dictionary& dict + ), + (mesh, dict) + ); + + //- Selector + static autoPtr<viewFactorModel> New + ( + const fvMesh& mesh, + const dictionary& dict + ); + + + // Generated Methods + + //- No copy construct + viewFactorModel(const viewFactorModel&) = delete; + + //- No copy assignment + void operator=(const viewFactorModel&) = delete; + + + //- Constructor + viewFactorModel(const fvMesh& mesh, const dictionary& dict); + + //- Destructor + virtual ~viewFactorModel(); + + + // Public Member Functions + + //- Calculate the view factors + virtual void calculate(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace VF +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModelNew.C b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModelNew.C new file mode 100644 index 00000000000..e87f7d459fd --- /dev/null +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/viewFactorModel/viewFactorModel/viewFactorModelNew.C @@ -0,0 +1,72 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2023-2024 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "viewFactorModel.H" +#include "viewFactorHottel.H" +#include "fvMesh.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +Foam::autoPtr<Foam::VF::viewFactorModel> Foam::VF::viewFactorModel::New +( + const fvMesh& mesh, + const dictionary& dict +) +{ + // Intercept 2D cases + if (mesh.nSolutionD() == 2) + { + Info<< "Selecting " << typeName << ": " << viewFactorHottel::typeName + << " for 2D cases" << nl << endl; + return autoPtr<viewFactorModel>(new viewFactorHottel(mesh, dict)); + } + + + // 3D cases - use run-time selection + + const word modelType(dict.get<word>("viewFactorModel")); + + Info<< "Selecting " << typeName << ": " << modelType << endl; + + auto* ctorPtr = meshConstructorTable(modelType); + + if (!ctorPtr) + { + FatalIOErrorInLookup + ( + dict, + typeName, + modelType, + *meshConstructorTablePtr_ + ) << exit(FatalIOError); + } + + return autoPtr<viewFactorModel>(ctorPtr(mesh, dict)); +} + + +// ************************************************************************* // -- GitLab From 7bdc000865cd668e3324ea1060011956a1d38519 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 19 Jun 2024 11:00:15 +0100 Subject: [PATCH 224/231] COMP: corrected pointer to temporary --- .../optimisationManager/optimisationManager.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/optimisationManager.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/optimisationManager.C index 8384390a1b3..796a373eaa4 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/optimisationManager.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationManager/optimisationManager/optimisationManager.C @@ -338,8 +338,8 @@ Foam::optimisationManager::optimisationManager(fvMesh& mesh) shouldUpdateDesignVariables_(true) { // The "designVariables" sub-dictionary is optional - const dictionary* designVarsDictPtr = - this->subOrEmptyDict("optimisation").findDict("designVariables"); + const dictionary odict(this->subOrEmptyDict("optimisation")); + const dictionary* designVarsDictPtr = odict.findDict("designVariables"); if (designVarsDictPtr) { -- GitLab From 0b9391ff3b27dfb0af933903cfda41b0d775505d Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Tue, 18 Jun 2024 17:56:45 +0100 Subject: [PATCH 225/231] COMP: avoid remove dangling reference (finiteArea) --- .../leastSquaresFaGrad/leastSquaresFaGrad.C | 13 +++++++------ .../edgeInterpolationScheme.C | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C index 118c60e9f2c..963426c6fee 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C @@ -105,12 +105,13 @@ leastSquaresFaGrad<Type>::calcGrad { const faPatchField<Type>& bf = vsf.boundaryField()[patchi]; - const Field<Type>& vsfp = - ( - bf.coupled() - ? bf.patchNeighbourField().cref() - : const_cast<faPatchField<Type>&>(bf) - ); + tmp<Field<Type>> tvsfp(bf); + + if (bf.coupled()) + { + tvsfp = bf.patchNeighbourField(); + } + const auto& vsfp = tvsfp(); const faePatchVectorField& ownLsp = ownLs.boundaryField()[patchi]; const labelUList& edgeFaces = diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C index 5d4ead9d021..d84b52730fb 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C @@ -209,8 +209,8 @@ Foam::edgeInterpolationScheme<Type>::interpolate label size = vf.boundaryField()[pi].patch().size(); label start = vf.boundaryField()[pi].patch().start(); - Field<Type> pOwnVf = vf.boundaryField()[pi].patchInternalField(); - Field<Type> pNgbVf = vf.boundaryField()[pi].patchNeighbourField(); + Field<Type> pOwnVf(vf.boundaryField()[pi].patchInternalField()); + Field<Type> pNgbVf(vf.boundaryField()[pi].patchNeighbourField()); Field<Type>& pSf = sf.boundaryFieldRef()[pi]; -- GitLab From fa49ae252b5cbb70e78b4b3bbd603cc1494b38f2 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 19 Jun 2024 14:31:46 +0200 Subject: [PATCH 226/231] COMP: fix createViewFactors linkage errors (mingw, lld linker) --- .../createViewFactors/Make/options | 7 +++++-- .../viewFactorModels/Make/options | 14 +++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/options b/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/options index 71f2b983ab7..b3a37ed5f26 100644 --- a/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/options +++ b/applications/utilities/preProcessing/createViewFactors/createViewFactors/Make/options @@ -3,5 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ - -lviewFactorModels \ - -lfiniteVolume + -lfileFormats \ + -lsurfMesh \ + -lmeshTools \ + -lfiniteVolume \ + -lviewFactorModels diff --git a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/options b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/options index ddcc52fdc7b..f7a24dcbd31 100644 --- a/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/options +++ b/applications/utilities/preProcessing/createViewFactors/viewFactorModels/Make/options @@ -1,14 +1,14 @@ EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ -I$(LIB_SRC)/surfMesh/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/parallel/distributed/lnInclude \ - -I$(LIB_SRC)/fileFormats/lnInclude + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/parallel/distributed/lnInclude -EXE_LIBS = \ - -lfiniteVolume \ +LIB_LIBS = \ + -lfileFormats \ -lsurfMesh \ -lmeshTools \ + -lfiniteVolume \ -ldistributed \ - -lradiationModels \ - -lfileFormats + -lradiationModels -- GitLab From cdc1a34babc1753fac0e5c5fee8dabebd2bc0db9 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 19 Jun 2024 14:57:35 +0200 Subject: [PATCH 227/231] CONFIG: add top-level Allwmake-modules, Allwmake-plugins scripts --- Allwmake | 17 ++++++++++++++++- Allwmake-modules | 37 +++++++++++++++++++++++++++++++++++++ Allwmake-plugins | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+), 1 deletion(-) create mode 100755 Allwmake-modules create mode 100755 Allwmake-plugins diff --git a/Allwmake b/Allwmake index 514b42e3210..48868685235 100755 --- a/Allwmake +++ b/Allwmake @@ -68,19 +68,34 @@ src/Allwmake $targetType $* # OpenFOAM applications applications/Allwmake $targetType $* +#------------------------------------------------------------------------------ +# Additional components -# Additional components/modules case "$FOAM_MODULE_PREFIX" in (false | none) echo ======================================== echo "OpenFOAM modules disabled (prefix=${FOAM_MODULE_PREFIX})" + echo "Can be built separately:" + echo + echo " ./Allwmake-modules -prefix=..." + echo + echo ======================================== echo ;; (*) # Use wmake -all instead of Allwmake to allow for overrides ( cd "$WM_PROJECT_DIR/modules" 2>/dev/null && wmake -all ) + + echo ======================================== + echo "The optional plugins can be built separately:" + echo + echo " ./Allwmake-plugins -prefix=..." + echo + echo ======================================== + echo esac +#------------------------------------------------------------------------------ # Count files in given directory. Ignore "Test-*" binaries. _foamCountDirEntries() { diff --git a/Allwmake-modules b/Allwmake-modules new file mode 100755 index 00000000000..4a9dc1e022c --- /dev/null +++ b/Allwmake-modules @@ -0,0 +1,37 @@ +#!/bin/sh +# Run from OPENFOAM top-level directory only +cd "${0%/*}" || exit +wmake -check-dir "$WM_PROJECT_DIR" 2>/dev/null || { + echo "Error (${0##*/}) : not located in \$WM_PROJECT_DIR" + echo " Check your OpenFOAM environment and installation" + exit 1 +} +if [ -f "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments ] +then . "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments -no-recursion "$@" || \ + echo "Argument parse error" +else + echo "Error (${0##*/}) : WM_PROJECT_DIR appears to be incorrect" + echo " Check your OpenFOAM environment and installation" + exit 1 +fi + +#------------------------------------------------------------------------------ +# Additional components + +case "$FOAM_MODULE_PREFIX" in +(false | none) + echo ======================================== + echo "OpenFOAM modules disabled (prefix=${FOAM_MODULE_PREFIX})" + echo "Can be built separately:" + echo + echo " ./Allwmake-modules -prefix=..." + echo + echo ======================================== + echo + ;; +(*) + # Use wmake -all instead of Allwmake to allow for overrides + ( cd "$WM_PROJECT_DIR/modules" 2>/dev/null && wmake -all ) +esac + +#------------------------------------------------------------------------------ diff --git a/Allwmake-plugins b/Allwmake-plugins new file mode 100755 index 00000000000..c5aa93794cb --- /dev/null +++ b/Allwmake-plugins @@ -0,0 +1,37 @@ +#!/bin/sh +# Run from OPENFOAM top-level directory only +cd "${0%/*}" || exit +wmake -check-dir "$WM_PROJECT_DIR" 2>/dev/null || { + echo "Error (${0##*/}) : not located in \$WM_PROJECT_DIR" + echo " Check your OpenFOAM environment and installation" + exit 1 +} +if [ -f "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments ] +then . "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments -no-recursion "$@" || \ + echo "Argument parse error" +else + echo "Error (${0##*/}) : WM_PROJECT_DIR appears to be incorrect" + echo " Check your OpenFOAM environment and installation" + exit 1 +fi + +#------------------------------------------------------------------------------ +# Additional components + +case "$FOAM_MODULE_PREFIX" in +(false | none) + echo ======================================== + echo "OpenFOAM plugins disabled (prefix=${FOAM_MODULE_PREFIX})" + echo "Can be built separately:" + echo + echo " ./Allwmake-plugins -prefix=..." + echo + echo ======================================== + echo + ;; +(*) + # Use wmake -all instead of Allwmake to allow for overrides + ( cd "$WM_PROJECT_DIR/plugins" 2>/dev/null && wmake -all ) +esac + +#------------------------------------------------------------------------------ -- GitLab From c6399ca920b977a0314b51c22df752c23fe03b93 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 20 Jun 2024 12:52:06 +0200 Subject: [PATCH 228/231] CONFIG: update third-party compiler versions --- etc/config.csh/compiler | 45 ++++++++++++++++++++++++++++++++++++++--- etc/config.sh/compiler | 19 ++++++++++++++--- 2 files changed, 58 insertions(+), 6 deletions(-) diff --git a/etc/config.csh/compiler b/etc/config.csh/compiler index 262c7921252..5a1c2eca95e 100644 --- a/etc/config.csh/compiler +++ b/etc/config.csh/compiler @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2016 OpenFOAM Foundation -# Copyright (C) 2016-2023 OpenCFD Ltd. +# Copyright (C) 2016-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -73,9 +73,30 @@ case ThirdParty: case Gcc: set gcc_version="$default_gcc_version" breaksw + case Gcc141*: + set gcc_version=gcc-14.1.0 + breaksw + case Gcc133*: + set gcc_version=gcc-13.3.0 + breaksw + case Gcc132*: + set gcc_version=gcc-13.2.0 + breaksw + case Gcc131*: + set gcc_version=gcc-13.1.0 + breaksw + case Gcc123*: + set gcc_version=gcc-12.3.0 + breaksw + case Gcc122*: + set gcc_version=gcc-12.2.0 + breaksw case Gcc121*: set gcc_version=gcc-12.1.0 breaksw + case Gcc114*: + set gcc_version=gcc-11.4.0 + breaksw case Gcc113*: set gcc_version=gcc-11.3.0 breaksw @@ -83,7 +104,13 @@ case ThirdParty: set gcc_version=gcc-11.2.0 breaksw case Gcc111*: - set gcc_version=gcc-11.1.1 + set gcc_version=gcc-11.1.0 + breaksw + case Gcc105*: + set gcc_version=gcc-10.5.0 + breaksw + case Gcc104*: + set gcc_version=gcc-10.4.0 breaksw case Gcc103*: set gcc_version=gcc-10.3.0 @@ -182,8 +209,20 @@ case ThirdParty: case Clang: set clang_version="$default_clang_version" breaksw + case Clang181*: + set clang_version=llvm-18.1.6 + breaksw + case Clang170*: + set clang_version=llvm-17.0.6 + breaksw + case Clang160*: + set clang_version=llvm-16.0.6 + breaksw + case Clang150*: + set clang_version=llvm-15.0.7 + breaksw case Clang140*: - set clang_version=llvm-14.0.5 + set clang_version=llvm-14.0.6 breaksw case Clang130*: set clang_version=llvm-13.0.1 diff --git a/etc/config.sh/compiler b/etc/config.sh/compiler index 94c03678d19..74697e6ee15 100644 --- a/etc/config.sh/compiler +++ b/etc/config.sh/compiler @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2016-2023 OpenCFD Ltd. +# Copyright (C) 2016-2024 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -74,10 +74,19 @@ ThirdParty) case "$WM_COMPILER" in Gcc) gcc_version="$default_gcc_version" ;; + Gcc141*) gcc_version=gcc-14.1.0 ;; + Gcc133*) gcc_version=gcc-13.3.0 ;; + Gcc132*) gcc_version=gcc-13.2.0 ;; + Gcc131*) gcc_version=gcc-13.1.0 ;; + Gcc123*) gcc_version=gcc-12.3.0 ;; + Gcc122*) gcc_version=gcc-12.2.0 ;; Gcc121*) gcc_version=gcc-12.1.0 ;; + Gcc114*) gcc_version=gcc-11.4.0 ;; Gcc113*) gcc_version=gcc-11.3.0 ;; Gcc112*) gcc_version=gcc-11.2.0 ;; - Gcc111*) gcc_version=gcc-11.1.1 ;; + Gcc111*) gcc_version=gcc-11.1.0 ;; + Gcc105*) gcc_version=gcc-10.5.0 ;; + Gcc104*) gcc_version=gcc-10.4.0 ;; Gcc103*) gcc_version=gcc-10.3.0 ;; Gcc102*) gcc_version=gcc-10.2.0 ;; Gcc101*) gcc_version=gcc-10.1.0 ;; @@ -112,7 +121,11 @@ ThirdParty) #ancient# Gcc48*) gcc_version=gcc-4.8.5 ;; Clang) clang_version="$default_clang_version" ;; - Clang140*) clang_version=llvm-14.0.5 ;; + Clang181*) clang_version=llvm-18.1.6 ;; + Clang170*) clang_version=llvm-17.0.6 ;; + Clang160*) clang_version=llvm-16.0.6 ;; + Clang150*) clang_version=llvm-15.0.7 ;; + Clang140*) clang_version=llvm-14.0.6 ;; Clang130*) clang_version=llvm-13.0.1 ;; Clang120*) clang_version=llvm-12.0.1 ;; Clang111*) clang_version=llvm-11.1.0 ;; -- GitLab From 510d9fc5a56ba850fcd75299c53d33bde8e9ba92 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Mon, 24 Jun 2024 09:58:17 +0100 Subject: [PATCH 229/231] DOC: doxygen - activate treeview --- doc/Doxygen/Doxyfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/Doxygen/Doxyfile b/doc/Doxygen/Doxyfile index ee97f543f50..8c49c32b267 100644 --- a/doc/Doxygen/Doxyfile +++ b/doc/Doxygen/Doxyfile @@ -801,6 +801,7 @@ INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.H \ *.C \ + *.cpp \ *.dox # The RECURSIVE tag can be used to specify whether or not subdirectories should @@ -1396,7 +1397,7 @@ DISABLE_INDEX = NO # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -GENERATE_TREEVIEW = NO +GENERATE_TREEVIEW = YES # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. -- GitLab From 2390ebbf7e25aa4056000348239d0bc62642d321 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 21 Jun 2024 17:50:12 +0100 Subject: [PATCH 230/231] RELEASE: Updated completions --- etc/config.sh/completion_cache | 40 +++++++++++----------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/etc/config.sh/completion_cache b/etc/config.sh/completion_cache index d7a084a9b3e..50d2e1c2dba 100644 --- a/etc/config.sh/completion_cache +++ b/etc/config.sh/completion_cache @@ -25,13 +25,14 @@ _of_complete_cache_[boundaryFoam]="-case -fileHandler | -dry-run -dry-run-write _of_complete_cache_[boxTurb]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[buoyantBoussinesqPimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[buoyantBoussinesqSimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" +_of_complete_cache_[buoyantPbePimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[buoyantPimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[buoyantSimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[cavitatingDyMFoam]="-case -decomposeParDict -fileHandler -world | -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[cavitatingFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[cfx4ToFoam]="-case -fileHandler -scale | -noFunctionObjects -doc -help" _of_complete_cache_[changeDictionary]="-case -decomposeParDict -dict -fileHandler -instance -region -subDict -time -world | -constant -disablePatchGroups -enableFunctionEntries -latestTime -literalRE -mpi-threads -noFunctionObjects -noZero -parallel -doc -help" -_of_complete_cache_[checkFaMesh]="-case -decomposeParDict -fileHandler -geometryOrder -region -world | -mpi-threads -noFunctionObjects -parallel -write-vtk -doc -help" +_of_complete_cache_[checkFaMesh]="-area-region -case -decomposeParDict -fileHandler -geometryOrder -region -world | -mpi-threads -noFunctionObjects -parallel -write-vtk -doc -help" _of_complete_cache_[checkMesh]="-case -decomposeParDict -fileHandler -region -regions -time -world -writeChecks -writeFields -writeSets | -allGeometry -allRegions -allTopology -constant -latestTime -meshQuality -mpi-threads -noFunctionObjects -noTopology -noZero -parallel -write-edges -writeAllFields -writeAllSurfaceFields -doc -help" _of_complete_cache_[chemFoam]="-case -fileHandler | -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -noFunctionObjects -postProcess -doc -help" _of_complete_cache_[chemkinToFoam]="-case -fileHandler | -newFormat -doc -help" @@ -47,12 +48,15 @@ _of_complete_cache_[compressibleInterFilmFoam]="-case -decomposeParDict -fileHan _of_complete_cache_[compressibleInterFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[compressibleInterIsoFoam]="-case -decomposeParDict -fileHandler -world | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[compressibleMultiphaseInterFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" +_of_complete_cache_[compressiblePbeTransportFoam]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" +_of_complete_cache_[computeMoments]="-case -decomposeParDict -fileHandler -time -world | -constant -latestTime -mpi-threads -noFunctionObjects -noZero -parallel -doc -help" _of_complete_cache_[computeSensitivities]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[createBaffles]="-case -decomposeParDict -dict -fileHandler -region -world | -mpi-threads -overwrite -parallel -doc -help" _of_complete_cache_[createBoxTurb]="-case -decomposeParDict -fileHandler -world | -createBlockMesh -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[createExternalCoupledPatchGeometry]="-case -commsDir -decomposeParDict -fileHandler -region -regions -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[createPatch]="-case -decomposeParDict -dict -fileHandler -region -regions -world | -allRegions -mpi-threads -overwrite -parallel -writeObj -doc -help" _of_complete_cache_[createROMfields]="-case -decomposeParDict -dict -fileHandler -region -time | -latestTime -mpi-threads -parallel -doc -help" +_of_complete_cache_[createViewFactors]="-case -decomposeParDict -fileHandler -region -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[createZeroDirectory]="-case -decomposeParDict -fileHandler -templateDir -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[cumulativeDisplacement]="-case -decomposeParDict -fileHandler -region -time -world | -constant -latestTime -mpi-threads -noFunctionObjects -noZero -parallel -doc -help" _of_complete_cache_[datToFoam]="-case -fileHandler | -noFunctionObjects -doc -help" @@ -75,7 +79,6 @@ _of_complete_cache_[equilibriumCO]="-case -fileHandler | -doc -help" _of_complete_cache_[equilibriumFlameT]="-case -fileHandler | -doc -help" _of_complete_cache_[explicitRhoFoam]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[extrude2DMesh]="-case -decomposeParDict -fileHandler -world | -mpi-threads -overwrite -parallel -doc -help" -_of_complete_cache_[extrudeEdgesInto2DSurface]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[extrudeMesh]="-case -decomposeParDict -dict -fileHandler -region -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[extrudeToRegionMesh]="-case -decomposeParDict -dict -fileHandler -region -world | -mpi-threads -noFunctionObjects -overwrite -parallel -doc -help" _of_complete_cache_[faceAgglomerate]="-case -decomposeParDict -dict -fileHandler -region -world | -mpi-threads -noFunctionObjects -parallel -doc -help" @@ -99,13 +102,12 @@ _of_complete_cache_[foamToFireMesh]="-case -fileHandler -scale -time | -ascii -c _of_complete_cache_[foamToGMV]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[foamToStarMesh]="-case -fileHandler -scale -time | -constant -latestTime -noBnd -noFunctionObjects -noZero -doc -help" _of_complete_cache_[foamToSurface]="-case -fileHandler -scale -time | -constant -latestTime -noFunctionObjects -noZero -tri -doc -help" -_of_complete_cache_[foamToTetDualMesh]="-case -decomposeParDict -fileHandler -time -world | -constant -latestTime -mpi-threads -noFunctionObjects -noZero -overwrite -parallel -doc -help" +_of_complete_cache_[foamToTetDualMesh]="-case -decomposeParDict -fileHandler -time -world | -constant -latestTime -mpi-threads -noZero -overwrite -parallel -doc -help" _of_complete_cache_[foamToVTK]="-case -cellSet -cellZone -decomposeParDict -exclude-fields -exclude-patches -faceSet -faceZones -fields -fileHandler -name -patches -pointSet -region -regions -time -world | -allRegions -ascii -constant -latestTime -legacy -mpi-threads -nearCellValue -no-boundary -no-fields -no-finite-area -no-internal -no-lagrangian -no-point-data -noFunctionObjects -noZero -one-boundary -overwrite -parallel -poly-decomp -processor-fields -surfaceFields -verbose -with-ids -with-point-ids -doc -help" _of_complete_cache_[foamUpgradeCyclics]="-case -decomposeParDict -fileHandler -region -time -world | -constant -dry-run -enableFunctionEntries -latestTime -mpi-threads -noFunctionObjects -noZero -parallel -doc -help" _of_complete_cache_[foamyHexMesh]="-case -decomposeParDict -fileHandler -world | -checkGeometry -conformationOnly -mpi-threads -parallel -doc -help" _of_complete_cache_[foamyQuadMesh]="-case -fileHandler -pointsFile | -noFunctionObjects -overwrite -doc -help" _of_complete_cache_[gambitToFoam]="-case -fileHandler -scale | -noFunctionObjects -doc -help" -_of_complete_cache_[generateBoundaryLayers]="-case -decomposeParDict -fileHandler -world | -2DLayers -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[generateMoments]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[gmshToFoam]="-case -fileHandler -region | -keepOrientation -noFunctionObjects -doc -help" _of_complete_cache_[icoFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" @@ -113,9 +115,6 @@ _of_complete_cache_[icoReactingMultiphaseInterFoam]="-case -decomposeParDict -fi _of_complete_cache_[icoUncoupledKinematicParcelDyMFoam]="-case -cloud -decomposeParDict -fileHandler -world | -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[icoUncoupledKinematicParcelFoam]="-case -cloud -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[ideasUnvToFoam]="-case -fileHandler | -dump -noFunctionObjects -doc -help" -_of_complete_cache_[importSurfaceAsSubset]="-case -fileHandler | -noFunctionObjects -doc -help" -_of_complete_cache_[improveMeshQuality]="-case -constrainedCellsSet -decomposeParDict -fileHandler -nIterations -nLoops -nSurfaceIterations -qualityThreshold -world | -mpi-threads -noFunctionObjects -parallel -doc -help" -_of_complete_cache_[improveSymmetryPlanes]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[insideCells]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[interCondensatingEvaporatingFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[interFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" @@ -131,7 +130,7 @@ _of_complete_cache_[lumpedPointForces]="-case -decomposeParDict -fileHandler -re _of_complete_cache_[lumpedPointMovement]="-case -decomposeParDict -fileHandler -max -scale -span -visual-length -world | -dry-run -mpi-threads -parallel -removeLock -slave -doc -help" _of_complete_cache_[lumpedPointZones]="-case -decomposeParDict -fileHandler -region -visual-length -world | -dry-run -mpi-threads -no-interpolate -parallel -verbose -doc -help" _of_complete_cache_[magneticFoam]="-case -decomposeParDict -fileHandler -world | -HdotGradH -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -mpi-threads -noB -noFunctionObjects -noH -parallel -doc -help" -_of_complete_cache_[makeFaMesh]="-case -decomposeParDict -dict -empty-patch -fileHandler -region -world | -dry-run -mpi-threads -no-decompose -no-fields -noFunctionObjects -parallel -write-edges-obj -write-vtk -doc -help" +_of_complete_cache_[makeFaMesh]="-area-region -case -decomposeParDict -dict -empty-patch -fileHandler -region -world | -dry-run -mpi-threads -no-decompose -no-fields -noFunctionObjects -parallel -write-edges-obj -write-vtk -doc -help" _of_complete_cache_[mapFields]="-case -fileHandler -mapMethod -sourceDecomposeParDict -sourceRegion -sourceTime -targetDecomposeParDict -targetRegion | -consistent -noFunctionObjects -parallelSource -parallelTarget -subtract -doc -help" _of_complete_cache_[mapFieldsPar]="-case -decomposeParDict -fields -fileHandler -mapMethod -patchMapMethod -procMapMethod -sourceRegion -sourceTime -targetRegion -world | -consistent -mpi-threads -no-lagrangian -noFunctionObjects -parallel -subtract -doc -help" _of_complete_cache_[mdEquilibrationFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -doc -help" @@ -139,9 +138,9 @@ _of_complete_cache_[mdFoam]="-case -decomposeParDict -fileHandler -world | -list _of_complete_cache_[mdInitialise]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[mergeMeshes]="-addRegion -case -decomposeParDict -fileHandler -masterRegion -resultTime -world | -mpi-threads -noFunctionObjects -overwrite -parallel -doc -help" _of_complete_cache_[mergeOrSplitBaffles]="-case -decomposeParDict -dict -fileHandler -region -world | -detectOnly -mpi-threads -overwrite -parallel -split -doc -help" -_of_complete_cache_[mergeSurfacePatches]="-case -fileHandler -output -patchIdRange -patchIds -patchNames | -keep -noFunctionObjects -doc -help" _of_complete_cache_[mhdFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[mirrorMesh]="-case -decomposeParDict -dict -fileHandler -world | -mpi-threads -noFunctionObjects -overwrite -parallel -doc -help" +_of_complete_cache_[mixingFoam]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[mixingTransportFoam]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[mixtureAdiabaticFlameT]="-case -fileHandler | -doc -help" _of_complete_cache_[modifyMesh]="-case -decomposeParDict -dict -fileHandler -world | -mpi-threads -overwrite -parallel -doc -help" @@ -171,7 +170,6 @@ _of_complete_cache_[overRhoPimpleDyMFoam]="-case -decomposeParDict -fileHandler _of_complete_cache_[overRhoSimpleFoam]="-case -decomposeParDict -fileHandler -world | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[overSimpleFoam]="-case -decomposeParDict -fileHandler -world | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[particleTracks]="-case -decomposeParDict -dict -fields -fileHandler -format -region -stride -time -world | -constant -latestTime -mpi-threads -noFunctionObjects -noZero -parallel -verbose -doc -help" -_of_complete_cache_[patchesToSubsets]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[patchSummary]="-case -decomposeParDict -fileHandler -region -time -world | -constant -expand -latestTime -mpi-threads -noFunctionObjects -noZero -parallel -doc -help" _of_complete_cache_[pbeFoam]="-case -fileHandler | -noFunctionObjects -postProcess -doc -help" _of_complete_cache_[pbeTransportFoam]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" @@ -183,7 +181,6 @@ _of_complete_cache_[PDRsetFields]="-case -dict -fileHandler -time | -dry-run -le _of_complete_cache_[pimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[pisoFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[plot3dToFoam]="-2D -case -fileHandler -scale | -noBlank -noFunctionObjects -singleBlock -doc -help" -_of_complete_cache_[pMesh]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[polydisperseBubbleFoam]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[polyDualMesh]="-case -fileHandler | -concaveMultiCells -doNotPreserveFaceZones -noFunctionObjects -overwrite -splitAllFaces -doc -help" _of_complete_cache_[porousSimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" @@ -192,7 +189,6 @@ _of_complete_cache_[postProcess]="-case -decomposeParDict -dict -field -fields - _of_complete_cache_[potentialFoam]="-case -decomposeParDict -fileHandler -pName -region -world | -dry-run -dry-run-write -initialiseUBCs -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -withFunctionObjects -writePhi -writep -writephi -doc -help" _of_complete_cache_[potentialFreeSurfaceDyMFoam]="-case -decomposeParDict -fileHandler -world | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[potentialFreeSurfaceFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" -_of_complete_cache_[preparePar]="-case -decomposeParDict -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[profilingSummary]="-case -fileHandler -time | -constant -latestTime -noZero -withZero -doc -help" _of_complete_cache_[reactingFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[reactingHeterogenousParcelFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" @@ -207,10 +203,8 @@ _of_complete_cache_[refineHexMesh]="-case -decomposeParDict -fileHandler -region _of_complete_cache_[refinementLevel]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -readLevel -doc -help" _of_complete_cache_[refineMesh]="-case -decomposeParDict -dict -fileHandler -region -world | -all -mpi-threads -overwrite -parallel -doc -help" _of_complete_cache_[refineWallLayer]="-case -decomposeParDict -fileHandler -useSet -world | -mpi-threads -overwrite -parallel -doc -help" -_of_complete_cache_[releaseAreaMapping]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[removeFaces]="-case -decomposeParDict -fileHandler -world | -mpi-threads -overwrite -parallel -doc -help" -_of_complete_cache_[removeSurfaceFacets]="-case -fileHandler | -noFunctionObjects -doc -help" -_of_complete_cache_[renumberMesh]="-case -decomposeParDict -dict -fileHandler -region -regions -time -world | -allRegions -constant -frontWidth -latestTime -mpi-threads -noZero -overwrite -parallel -doc -help" +_of_complete_cache_[renumberMesh]="-case -decomposeParDict -dict -fileHandler -region -regions -renumber-coeffs -renumber-method -time -world | -allRegions -constant -decompose -dry-run -frontWidth -latestTime -list-renumber -mpi-threads -no-fields -noZero -overwrite -parallel -verbose -write-maps -doc -help" _of_complete_cache_[rhoCentralFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[rhoPimpleAdiabaticFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[rhoPimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" @@ -220,13 +214,11 @@ _of_complete_cache_[rhoReactingFoam]="-case -decomposeParDict -fileHandler -worl _of_complete_cache_[rhoSimpleFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[rotateMesh]="-case -decomposeParDict -fileHandler -region -regions -time -world | -allRegions -constant -latestTime -mpi-threads -noFunctionObjects -noZero -parallel -doc -help" _of_complete_cache_[scalarTransportFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -doc -help" -_of_complete_cache_[scaleMesh]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" -_of_complete_cache_[scaleSurfaceMesh]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[selectCells]="-case -fileHandler | -noFunctionObjects -doc -help" -_of_complete_cache_[setAlphaField]="-case -decomposeParDict -dict -fileHandler -region -world | -mpi-threads -noFunctionObjects -parallel -doc -help" +_of_complete_cache_[setAlphaField]="-case -decomposeParDict -dict -fileHandler -region -time -world | -constant -latestTime -mpi-threads -noZero -parallel -doc -help" _of_complete_cache_[setExprBoundaryFields]="-case -decomposeParDict -dict -fileHandler -load-fields -region -time -world | -ascii -backup -cache-fields -dry-run -latestTime -mpi-threads -noZero -parallel -withFunctionObjects -doc -help" _of_complete_cache_[setExprFields]="-case -decomposeParDict -dict -dimensions -expression -field -field-mask -fileHandler -load-fields -region -time -value-patches -world | -ascii -create -debug-parser -dry-run -dummy-phi -keepPatches -latestTime -mpi-threads -no-variable-cache -noZero -parallel -verbose -withFunctionObjects -doc -help" -_of_complete_cache_[setFields]="-case -decomposeParDict -dict -fileHandler -region -world | -mpi-threads -no-finite-area -noFunctionObjects -parallel -doc -help" +_of_complete_cache_[setFields]="-case -decomposeParDict -dict -fileHandler -region -time -world | -constant -latestTime -mpi-threads -no-finite-area -noZero -parallel -doc -help" _of_complete_cache_[setSet]="-batch -case -decomposeParDict -fileHandler -region -time -world | -constant -latestTime -loop -mpi-threads -noFunctionObjects -noSync -noVTK -noZero -parallel -doc -help" _of_complete_cache_[setsToZones]="-case -decomposeParDict -fileHandler -region -time -world | -constant -latestTime -mpi-threads -noFlipMap -noFunctionObjects -noZero -parallel -doc -help" _of_complete_cache_[setTurbulenceFields]="-case -decomposeParDict -dict -fileHandler -region -world | -mpi-threads -parallel -doc -help" @@ -236,7 +228,6 @@ _of_complete_cache_[simpleFoam]="-case -decomposeParDict -fileHandler -world | - _of_complete_cache_[simpleReactingParcelFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[simpleSprayFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[singleCellMesh]="-case -decomposeParDict -fileHandler -time -world | -constant -latestTime -mpi-threads -noFunctionObjects -noZero -parallel -doc -help" -_of_complete_cache_[slopeMesh]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[smapToFoam]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[smoothSurfaceData]="-case -decomposeParDict -field -fileHandler -radius -read-format -sweeps -world | -mpi-threads -noFunctionObjects -parallel -verbose -doc -help" _of_complete_cache_[snappyHexMesh]="-case -decomposeParDict -dict -fileHandler -outFile -patches -region -surfaceSimplify -world | -checkGeometry -dry-run -mpi-threads -overwrite -parallel -profiling -doc -help" @@ -259,7 +250,6 @@ _of_complete_cache_[star4ToFoam]="-case -fileHandler -scale | -ascii -noFunction _of_complete_cache_[steadyParticleTracks]="-case -dict -fileHandler -region -time | -constant -latestTime -noFunctionObjects -noZero -verbose -doc -help" _of_complete_cache_[stitchMesh]="-case -dict -fileHandler -region -toleranceDict | -integral -intermediate -overwrite -partial -perfect -doc -help" _of_complete_cache_[subsetMesh]="-case -decomposeParDict -exclude-patches -fileHandler -patch -patches -region -resultTime -world | -mpi-threads -overwrite -parallel -zone -doc -help" -_of_complete_cache_[subsetToPatch]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[surfaceAdd]="-case -fileHandler -points -scale | -mergeRegions -noFunctionObjects -verbose -doc -help" _of_complete_cache_[surfaceBooleanFeatures]="-case -fileHandler -scale -trim | -invertedSpace -no-cgal -noFunctionObjects -perturb -surf1Baffle -surf2Baffle -doc -help" _of_complete_cache_[surfaceCheck]="-case -fileHandler -outputThreshold -writeSets | -blockMesh -checkSelfIntersection -noFunctionObjects -splitNonManifold -verbose -doc -help" @@ -267,10 +257,8 @@ _of_complete_cache_[surfaceClean]="-case -fileHandler -scale | -no-clean -noFunc _of_complete_cache_[surfaceCoarsen]="-case -fileHandler -scale | -noFunctionObjects -doc -help" _of_complete_cache_[surfaceConvert]="-case -fileHandler -precision -read-format -scale -write-format | -clean -group -noFunctionObjects -verbose -doc -help" _of_complete_cache_[surfaceFeatureConvert]="-case -fileHandler -read-format -scale -write-format | -noFunctionObjects -doc -help" -_of_complete_cache_[surfaceFeatureEdges]="-angle -case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[surfaceFeatureExtract]="-case -dict -fileHandler | -doc -help" _of_complete_cache_[surfaceFind]="-case -fileHandler -x -y -z | -noFunctionObjects -doc -help" -_of_complete_cache_[surfaceGenerateBoundingBox]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[surfaceHookUp]="-case -dict -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[surfaceInertia]="-case -density -fileHandler -referencePoint | -noFunctionObjects -shellProperties -doc -help" _of_complete_cache_[surfaceInflate]="-case -featureAngle -fileHandler -nSmooth | -checkSelfIntersection -debug -doc -help" @@ -289,16 +277,14 @@ _of_complete_cache_[surfaceSplitByPatch]="-case -exclude-patches -fileHandler -p _of_complete_cache_[surfaceSplitByTopology]=" | -doc -help" _of_complete_cache_[surfaceSplitNonManifolds]="-case -fileHandler | -debug -noFunctionObjects -doc -help" _of_complete_cache_[surfaceSubset]="-case -fileHandler | -noFunctionObjects -doc -help" -_of_complete_cache_[surfaceToFMS]="-case -fileHandler | -noFunctionObjects -doc -help" _of_complete_cache_[surfaceToPatch]="-case -faceSet -fileHandler -tol | -noFunctionObjects -doc -help" -_of_complete_cache_[surfaceTransformPoints]="-case -centre -fileHandler -read-format -read-scale -rollPitchYaw -rotate -rotate-angle -rotate-x -rotate-y -rotate-z -translate -write-format -write-scale -yawPitchRoll | -auto-centre -noFunctionObjects -recentre -doc -help" +_of_complete_cache_[surfaceTransformPoints]="-case -centre -cylToCart -fileHandler -read-format -read-scale -rollPitchYaw -rotate -rotate-angle -rotate-x -rotate-y -rotate-z -translate -write-format -write-scale -yawPitchRoll | -auto-centre -noFunctionObjects -recentre -doc -help" _of_complete_cache_[surfactantFoam]="-case -decomposeParDict -fileHandler -world | -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[temporalInterpolate]="-case -decomposeParDict -divisions -fields -fileHandler -interpolationType -region -time -world | -constant -latestTime -mpi-threads -noZero -parallel -doc -help" _of_complete_cache_[tetgenToFoam]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFaceFile -noFunctionObjects -parallel -doc -help" -_of_complete_cache_[tetMesh]="-case -decomposeParDict -fileHandler -world | -mpi-threads -noFunctionObjects -parallel -doc -help" _of_complete_cache_[thermoFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[topoSet]="-case -decomposeParDict -dict -fileHandler -region -time -world | -constant -latestTime -mpi-threads -noFunctionObjects -noSync -noZero -parallel -doc -help" -_of_complete_cache_[transformPoints]="-case -centre -decomposeParDict -fileHandler -region -regions -rollPitchYaw -rotate -rotate-angle -rotate-x -rotate-y -rotate-z -scale -time -translate -world -yawPitchRoll | -allRegions -auto-centre -mpi-threads -noFunctionObjects -parallel -recentre -rotateFields -doc -help" +_of_complete_cache_[transformPoints]="-case -centre -cylToCart -decomposeParDict -fileHandler -region -regions -rollPitchYaw -rotate -rotate-angle -rotate-x -rotate-y -rotate-z -scale -time -translate -world -yawPitchRoll | -allRegions -auto-centre -mpi-threads -noFunctionObjects -parallel -recentre -rotateFields -doc -help" _of_complete_cache_[twoLiquidMixingFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[twoPhaseEulerFoam]="-case -decomposeParDict -fileHandler -world | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" _of_complete_cache_[uncoupledKinematicParcelDyMFoam]="-case -cloudName -decomposeParDict -fileHandler -world | -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -mpi-threads -noFunctionObjects -parallel -postProcess -doc -help" -- GitLab From 630d60de3bb6c1646fcd4e0da39332332ca14a2d Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Thu, 20 Jun 2024 19:28:40 +0100 Subject: [PATCH 231/231] RELEASE: Updated headers to v2406 --- applications/test/Function1/case1/constant/function1Properties | 2 +- applications/test/Function1/case1/system/controlDict | 2 +- applications/test/Hashing2/hashingTests | 2 +- applications/test/PDRblockMesh/box0/system/PDRblockMeshDict | 2 +- applications/test/PDRblockMesh/box0/system/controlDict | 2 +- applications/test/PDRblockMesh/box0/system/fvSchemes | 2 +- applications/test/PDRblockMesh/box0/system/fvSolution | 2 +- applications/test/PatchFunction1/function1Properties | 2 +- applications/test/codeStream/codeStreamDict1 | 2 +- applications/test/compoundToken1/testDict1 | 2 +- applications/test/compoundToken1/testDict2 | 2 +- .../test/coordinateSystem/testCase0/constant/coordinateSystems | 2 +- applications/test/coordinateSystem/testCase0/system/controlDict | 2 +- .../test/coordinateSystem/testCase1/constant/coordinateSystems | 2 +- applications/test/coordinateSystem/testCase1/system/controlDict | 2 +- applications/test/coordinateSystem/testCsys1 | 2 +- applications/test/coordinateSystem/testCsys2 | 2 +- applications/test/dictionary/blockMeshDict1.calc | 2 +- applications/test/dictionary/blockMeshDict1.eval | 2 +- applications/test/dictionary/testDict | 2 +- applications/test/dictionary/testDict2 | 2 +- applications/test/dictionary/testDictAPI | 2 +- applications/test/dictionary/testDictCalc1 | 2 +- applications/test/dictionary/testDictEval1 | 2 +- applications/test/dictionary/testDictEval2 | 2 +- applications/test/dictionary/testDictEval3 | 2 +- applications/test/dictionary/testDictEval4 | 2 +- applications/test/dictionary/testDictEval5 | 2 +- applications/test/dictionary/testDictList | 2 +- applications/test/dictionary/testDictRegex | 2 +- applications/test/dictionary/testPrimitiveEntry | 2 +- applications/test/dictionary/testSubkeyword | 2 +- applications/test/dictionaryCopy/testDictCopy | 2 +- applications/test/exprEntry/testDict1 | 2 +- .../test/fieldMapping/pipe1D/constant/manualDecomposition | 2 +- .../test/fieldMapping/pipe1D/constant/transportProperties | 2 +- applications/test/fieldMapping/pipe1D/system/blockMeshDict | 2 +- applications/test/fieldMapping/pipe1D/system/controlDict | 2 +- applications/test/fieldMapping/pipe1D/system/fvSchemes | 2 +- applications/test/fieldMapping/pipe1D/system/fvSolution | 2 +- applications/test/gravityMeshObject/case1/constant/banana | 2 +- applications/test/gravityMeshObject/case1/constant/g | 2 +- applications/test/gravityMeshObject/case1/constant/saturn | 2 +- applications/test/gravityMeshObject/case1/system/controlDict | 2 +- applications/test/hexRef8/block/constant/manualDecomposition | 2 +- applications/test/hexRef8/block/constant/transportProperties | 2 +- applications/test/hexRef8/block/system/blockMeshDict | 2 +- applications/test/hexRef8/block/system/controlDict | 2 +- applications/test/hexRef8/block/system/fvSchemes | 2 +- applications/test/hexRef8/block/system/fvSolution | 2 +- applications/test/mapDistributePolyMesh/cavity/0/U | 2 +- applications/test/mapDistributePolyMesh/cavity/0/p | 2 +- applications/test/mapDistributePolyMesh/cavity/0/phi | 2 +- .../mapDistributePolyMesh/cavity/constant/transportProperties | 2 +- .../test/mapDistributePolyMesh/cavity/system/blockMeshDict | 2 +- .../test/mapDistributePolyMesh/cavity/system/controlDict | 2 +- .../mapDistributePolyMesh/cavity/system/controlDict-latestTime | 2 +- .../mapDistributePolyMesh/cavity/system/controlDict-startTime | 2 +- .../test/mapDistributePolyMesh/cavity/system/decomposeParDict | 2 +- .../cavity/system/decomposeParDict-hierarchical | 2 +- .../mapDistributePolyMesh/cavity/system/decomposeParDict-scotch | 2 +- .../test/mapDistributePolyMesh/cavity/system/decomposeParDict.2 | 2 +- .../test/mapDistributePolyMesh/cavity/system/decomposeParDict.5 | 2 +- applications/test/mapDistributePolyMesh/cavity/system/fvSchemes | 2 +- .../test/mapDistributePolyMesh/cavity/system/fvSolution | 2 +- .../test/mapDistributePolyMesh/cavity/system/processorField | 2 +- .../test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/T | 2 +- .../test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/U | 2 +- .../multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/epsilon | 2 +- .../test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/k | 2 +- .../test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p | 2 +- .../multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p_rgh | 2 +- .../test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/g | 2 +- .../chtMultiRegionSimpleFoam/fluid/constant/regionProperties | 2 +- .../fluid/constant/topAir/radiationProperties | 2 +- .../fluid/constant/topAir/thermophysicalProperties | 2 +- .../fluid/constant/topAir/turbulenceProperties | 2 +- .../chtMultiRegionSimpleFoam/fluid/system/controlDict | 2 +- .../chtMultiRegionSimpleFoam/fluid/system/decomposeParDict | 2 +- .../multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSchemes | 2 +- .../multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSolution | 2 +- .../chtMultiRegionSimpleFoam/fluid/system/topAir/blockMeshDict | 2 +- .../multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/T | 2 +- .../multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/p | 2 +- .../solid/constant/bottomSolid/radiationProperties | 2 +- .../solid/constant/bottomSolid/thermophysicalProperties | 2 +- .../test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/g | 2 +- .../chtMultiRegionSimpleFoam/solid/constant/regionProperties | 2 +- .../solid/system/bottomSolid/blockMeshDict | 2 +- .../chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSchemes | 2 +- .../solid/system/bottomSolid/fvSolution | 2 +- .../chtMultiRegionSimpleFoam/solid/system/controlDict | 2 +- .../chtMultiRegionSimpleFoam/solid/system/decomposeParDict | 2 +- .../multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSchemes | 2 +- .../multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSolution | 2 +- applications/test/multiWorld/solidFoam/solid1/0/T | 2 +- applications/test/multiWorld/solidFoam/solid1/0/p | 2 +- applications/test/multiWorld/solidFoam/solid1/constant/g | 2 +- .../multiWorld/solidFoam/solid1/constant/radiationProperties | 2 +- .../solidFoam/solid1/constant/thermophysicalProperties | 2 +- .../test/multiWorld/solidFoam/solid1/system/blockMeshDict | 2 +- .../test/multiWorld/solidFoam/solid1/system/controlDict | 2 +- .../test/multiWorld/solidFoam/solid1/system/decomposeParDict | 2 +- applications/test/multiWorld/solidFoam/solid1/system/fvSchemes | 2 +- applications/test/multiWorld/solidFoam/solid1/system/fvSolution | 2 +- .../test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/T | 2 +- .../test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/p | 2 +- .../test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/T | 2 +- .../test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/p | 2 +- applications/test/multiWorld/solidFoam/solid1_solid2/constant/g | 2 +- .../solidFoam/solid1_solid2/constant/regionProperties | 2 +- .../solidFoam/solid1_solid2/constant/solid1/radiationProperties | 2 +- .../solid1_solid2/constant/solid1/thermophysicalProperties | 2 +- .../test/multiWorld/solidFoam/solid1_solid2/system/controlDict | 2 +- .../test/multiWorld/solidFoam/solid1_solid2/system/fvSchemes | 2 +- .../test/multiWorld/solidFoam/solid1_solid2/system/fvSolution | 2 +- .../solidFoam/solid1_solid2/system/fvSolution-energyCoupling | 2 +- .../solidFoam/solid1_solid2/system/solid1/blockMeshDict | 2 +- .../solidFoam/solid1_solid2/system/solid2/blockMeshDict | 2 +- applications/test/multiWorld/solidFoam/solid2/0/T | 2 +- applications/test/multiWorld/solidFoam/solid2/0/p | 2 +- .../test/multiWorld/solidFoam/solid2/system/blockMeshDict | 2 +- applications/test/namedDictionary/testDict1 | 2 +- applications/test/parallel-comm1/oneBlock_cyclic/0/T | 2 +- .../parallel-comm1/oneBlock_cyclic/constant/transportProperties | 2 +- .../test/parallel-comm1/oneBlock_cyclic/system/blockMeshDict | 2 +- .../test/parallel-comm1/oneBlock_cyclic/system/controlDict | 2 +- .../test/parallel-comm1/oneBlock_cyclic/system/decomposeParDict | 2 +- .../test/parallel-comm1/oneBlock_cyclic/system/fvSchemes | 2 +- .../test/parallel-comm1/oneBlock_cyclic/system/fvSolution | 2 +- applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/T | 2 +- .../test/parallel-comm1/twoBlocks_cyclicAMI/0/cellToRegion | 2 +- .../test/parallel-comm1/twoBlocks_cyclicAMI/0/processorID | 2 +- .../twoBlocks_cyclicAMI/constant/transportProperties | 2 +- .../parallel-comm1/twoBlocks_cyclicAMI/system/blockMeshDict | 2 +- .../test/parallel-comm1/twoBlocks_cyclicAMI/system/controlDict | 2 +- .../parallel-comm1/twoBlocks_cyclicAMI/system/decomposeParDict | 2 +- .../test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSchemes | 2 +- .../test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSolution | 2 +- applications/test/parallelOverset/heatTransfer/0.orig/T | 2 +- .../test/parallelOverset/heatTransfer/0.orig/pointDisplacement | 2 +- applications/test/parallelOverset/heatTransfer/0.orig/zoneID | 2 +- .../test/parallelOverset/heatTransfer/constant/dynamicMeshDict | 2 +- .../parallelOverset/heatTransfer/constant/transportProperties | 2 +- .../test/parallelOverset/heatTransfer/system/blockMeshDict | 2 +- .../test/parallelOverset/heatTransfer/system/controlDict | 2 +- .../test/parallelOverset/heatTransfer/system/decomposeParDict | 2 +- applications/test/parallelOverset/heatTransfer/system/fvSchemes | 2 +- .../test/parallelOverset/heatTransfer/system/fvSolution | 2 +- .../test/parallelOverset/heatTransfer/system/postProcessingDict | 2 +- .../test/parallelOverset/heatTransfer/system/processorField | 2 +- .../test/parallelOverset/heatTransfer/system/setFieldsDict | 2 +- .../test/parallelOverset/heatTransfer/system/topoSetDict | 2 +- .../patchRegion/cavity_pinched/constant/transportProperties | 2 +- .../test/patchRegion/cavity_pinched/system/blockMeshDict | 2 +- .../test/patchRegion/cavity_pinched/system/collapseDict | 2 +- applications/test/patchRegion/cavity_pinched/system/controlDict | 2 +- .../test/patchRegion/cavity_pinched/system/decomposeParDict | 2 +- applications/test/patchRegion/cavity_pinched/system/fvSchemes | 2 +- applications/test/patchRegion/cavity_pinched/system/fvSolution | 2 +- applications/test/reconstructedDistanceFunction/case1/0.orig/U | 2 +- .../test/reconstructedDistanceFunction/case1/0.orig/alpha1 | 2 +- .../test/reconstructedDistanceFunction/case1/0.orig/markedCells | 2 +- .../test/reconstructedDistanceFunction/case1/constant/g | 2 +- .../case1/constant/transportProperties | 2 +- .../case1/constant/turbulenceProperties | 2 +- .../reconstructedDistanceFunction/case1/system/blockMeshDict | 2 +- .../case1/system/changeDictionaryDict | 2 +- .../test/reconstructedDistanceFunction/case1/system/controlDict | 2 +- .../reconstructedDistanceFunction/case1/system/decomposeParDict | 2 +- .../test/reconstructedDistanceFunction/case1/system/fvSchemes | 2 +- .../test/reconstructedDistanceFunction/case1/system/fvSolution | 2 +- .../test/reconstructedDistanceFunction/case1/system/isoSurfDict | 2 +- .../case1/system/setAlphaFieldDict | 2 +- .../test/reconstructedDistanceFunction/case1/system/topoSetDict | 2 +- applications/test/regex1/testRegexps | 2 +- applications/test/regex1/testRegexps2 | 2 +- applications/test/router/routerDict | 2 +- applications/test/setAlphaField/case1/0.orig/T | 2 +- applications/test/setAlphaField/case1/0.orig/U | 2 +- applications/test/setAlphaField/case1/0.orig/alpha.water | 2 +- applications/test/setAlphaField/case1/0.orig/p | 2 +- applications/test/setAlphaField/case1/0.orig/p_rgh | 2 +- applications/test/setAlphaField/case1/constant/g | 2 +- .../test/setAlphaField/case1/constant/thermophysicalProperties | 2 +- .../setAlphaField/case1/constant/thermophysicalProperties.air | 2 +- .../setAlphaField/case1/constant/thermophysicalProperties.water | 2 +- .../test/setAlphaField/case1/constant/turbulenceProperties | 2 +- applications/test/setAlphaField/case1/system/blockMeshDict | 2 +- applications/test/setAlphaField/case1/system/controlDict | 2 +- applications/test/setAlphaField/case1/system/decomposeParDict | 2 +- applications/test/setAlphaField/case1/system/fvSchemes | 2 +- applications/test/setAlphaField/case1/system/fvSolution | 2 +- applications/test/setAlphaField/case1/system/setAlphaFieldDict | 2 +- applications/test/spline/test-splines | 2 +- .../test/syncTools/block_2x2x1/constant/transportProperties | 2 +- applications/test/syncTools/block_2x2x1/system/blockMeshDict | 2 +- applications/test/syncTools/block_2x2x1/system/controlDict | 2 +- applications/test/syncTools/block_2x2x1/system/decomposeParDict | 2 +- applications/test/syncTools/block_2x2x1/system/fvSchemes | 2 +- applications/test/syncTools/block_2x2x1/system/fvSolution | 2 +- applications/test/volField/cavity/0/U | 2 +- applications/test/volField/cavity/0/p | 2 +- applications/test/volField/cavity/constant/transportProperties | 2 +- applications/test/volField/cavity/system/blockMeshDict | 2 +- applications/test/volField/cavity/system/controlDict | 2 +- applications/test/volField/cavity/system/fvSchemes | 2 +- applications/test/volField/cavity/system/fvSolution | 2 +- applications/test/wordRe/testRegexps | 2 +- applications/test/zoneDistribute/case1/system/blockMeshDict | 2 +- applications/test/zoneDistribute/case1/system/controlDict | 2 +- applications/test/zoneDistribute/case1/system/decomposeParDict | 2 +- applications/test/zoneDistribute/case1/system/fvSchemes | 2 +- applications/test/zoneDistribute/case1/system/fvSolution | 2 +- applications/test/zoneDistribute/case1/system/meshQualityDict | 2 +- applications/test/zoneDistribute/case1/system/snappyHexMeshDict | 2 +- .../test/zoneDistribute/case1/system/surfaceFeatureExtractDict | 2 +- .../lagrangian/particleTracks/particleTrackProperties | 2 +- .../preProcessing/PDR/pdrFields/obstacles/ObstaclesDict | 2 +- .../utilities/preProcessing/setAlphaField/setAlphaFieldDict | 2 +- .../setExprBoundaryFields/setExprBoundaryFieldsDict | 2 +- .../utilities/preProcessing/setExprFields/setExprFieldsDict | 2 +- .../utilities/surface/surfaceMeshConvert/coordinateSystems | 2 +- etc/caseDicts/annotated/PDRMeshDict | 2 +- etc/caseDicts/annotated/PDRblockMeshDict | 2 +- etc/caseDicts/annotated/ROMfieldsDict | 2 +- etc/caseDicts/annotated/adiabaticFlameTDict | 2 +- etc/caseDicts/annotated/adiosWriteDict | 2 +- etc/caseDicts/annotated/blockMeshDict | 2 +- etc/caseDicts/annotated/boxTurbDict | 2 +- etc/caseDicts/annotated/changeDictionaryDict | 2 +- etc/caseDicts/annotated/collapseDict | 2 +- etc/caseDicts/annotated/createBafflesDict | 2 +- etc/caseDicts/annotated/createBoxTurbDict | 2 +- etc/caseDicts/annotated/createPatchDict | 2 +- etc/caseDicts/annotated/decomposeParDict | 2 +- etc/caseDicts/annotated/dsmcInitialiseDict | 2 +- etc/caseDicts/annotated/equilibriumFlameTDict | 2 +- etc/caseDicts/annotated/extrude2DMeshDict | 2 +- etc/caseDicts/annotated/extrudeMeshDict | 2 +- etc/caseDicts/annotated/extrudeToRegionMeshDict | 2 +- etc/caseDicts/annotated/fieldCoordinateSystemTransformDict | 2 +- etc/caseDicts/annotated/foamDataToFluentDict | 2 +- etc/caseDicts/annotated/foamyHexMeshDict | 2 +- etc/caseDicts/annotated/foamyQuadMeshDict | 2 +- etc/caseDicts/annotated/mapFieldsDict | 2 +- etc/caseDicts/annotated/mdEquilibrationDict | 2 +- etc/caseDicts/annotated/mdInitialiseDict | 2 +- etc/caseDicts/annotated/mergeOrSplitBafflesDict | 2 +- etc/caseDicts/annotated/meshQualityDict-collapseEdges | 2 +- etc/caseDicts/annotated/mirrorMeshDict | 2 +- etc/caseDicts/annotated/mixtureAdiabaticFlameTDict | 2 +- etc/caseDicts/annotated/modifyMeshDict | 2 +- etc/caseDicts/annotated/noiseDict | 2 +- etc/caseDicts/annotated/obstaclesDict | 2 +- etc/caseDicts/annotated/optimisationDict | 2 +- etc/caseDicts/annotated/particleTrackDict | 2 +- etc/caseDicts/annotated/pdfDict | 2 +- etc/caseDicts/annotated/postChannelDict | 2 +- etc/caseDicts/annotated/potentialDict | 2 +- etc/caseDicts/annotated/probesDict | 2 +- etc/caseDicts/annotated/processorFieldDict | 2 +- etc/caseDicts/annotated/readFieldsDict | 2 +- etc/caseDicts/annotated/refineMeshDict | 2 +- etc/caseDicts/annotated/runTimePostProcessingDict | 2 +- etc/caseDicts/annotated/sampleDict | 2 +- etc/caseDicts/annotated/selectCellsDict | 2 +- etc/caseDicts/annotated/setAlphaFieldDict | 2 +- etc/caseDicts/annotated/setExprBoundaryFieldsDict | 2 +- etc/caseDicts/annotated/setExprFieldsDict | 2 +- etc/caseDicts/annotated/setFieldsDict | 2 +- etc/caseDicts/annotated/snappyHexMeshDict | 2 +- etc/caseDicts/annotated/snappyRefineMeshDict | 2 +- etc/caseDicts/annotated/stitchMeshDict | 2 +- etc/caseDicts/annotated/surfaceFeatureExtractDict | 2 +- etc/caseDicts/annotated/surfaceHookUpDict | 2 +- etc/caseDicts/annotated/surfacePatchDict | 2 +- etc/caseDicts/annotated/surfaceSubsetDict | 2 +- etc/caseDicts/annotated/toleranceDict | 2 +- etc/caseDicts/annotated/topoSetDict | 2 +- etc/caseDicts/annotated/topoSetSourcesDict | 2 +- etc/caseDicts/annotated/turbulenceFieldsDict | 2 +- etc/caseDicts/annotated/viewFactorsDict | 2 +- etc/caseDicts/annotated/wallFunctionDict | 2 +- .../createZeroDirectoryTemplates/boundaryConditions/boundaries | 2 +- .../boundaryConditions/fluid/buoyant/inlet | 2 +- .../boundaryConditions/fluid/buoyant/inletOptions | 2 +- .../boundaryConditions/fluid/buoyant/outlet | 2 +- .../boundaryConditions/fluid/buoyant/outletOptions | 2 +- .../boundaryConditions/fluid/buoyant/wall | 2 +- .../boundaryConditions/fluid/buoyant/wallOptions | 2 +- .../boundaryConditions/fluid/compressible/inlet | 2 +- .../boundaryConditions/fluid/compressible/inletOptions | 2 +- .../boundaryConditions/fluid/compressible/outlet | 2 +- .../boundaryConditions/fluid/compressible/outletOptions | 2 +- .../boundaryConditions/fluid/compressible/wall | 2 +- .../boundaryConditions/fluid/compressible/wallOptions | 2 +- .../boundaryConditions/fluid/incompressible/inlet | 2 +- .../boundaryConditions/fluid/incompressible/inletOptions | 2 +- .../boundaryConditions/fluid/incompressible/outlet | 2 +- .../boundaryConditions/fluid/incompressible/wall | 2 +- .../boundaryConditions/fluid/incompressible/wallOptions | 2 +- .../createZeroDirectoryTemplates/boundaryConditions/fluid/inlet | 2 +- .../boundaryConditions/fluid/inletOptions | 2 +- .../boundaryConditions/fluid/outlet | 2 +- .../boundaryConditions/fluid/outletOptions | 2 +- .../createZeroDirectoryTemplates/boundaryConditions/fluid/wall | 2 +- .../boundaryConditions/fluid/wallOptions | 2 +- .../createZeroDirectoryTemplates/boundaryConditions/solid/wall | 2 +- .../boundaryConditions/solid/wallOptions | 2 +- .../createZeroDirectoryTemplates/models/turbulence/kEpsilon | 2 +- .../createZeroDirectoryTemplates/models/turbulence/kOmega | 2 +- .../createZeroDirectoryTemplates/models/turbulence/kOmegaSST | 2 +- .../createZeroDirectoryTemplates/models/turbulence/laminar | 2 +- .../createZeroDirectoryTemplates/solvers/chtMultiRegionFoam | 2 +- etc/caseDicts/createZeroDirectoryTemplates/solvers/icoFoam | 2 +- etc/caseDicts/createZeroDirectoryTemplates/solvers/pimpleFoam | 2 +- etc/caseDicts/createZeroDirectoryTemplates/solvers/pisoFoam | 2 +- .../createZeroDirectoryTemplates/solvers/rhoPimpleFoam | 2 +- etc/caseDicts/createZeroDirectoryTemplates/solvers/simpleFoam | 2 +- etc/caseDicts/foamyHexMeshDict | 2 +- etc/caseDicts/general/coordinateSystem/cartesianXY | 2 +- etc/caseDicts/general/coordinateSystem/cartesianXZ | 2 +- etc/caseDicts/general/coordinateSystem/cartesianYZ | 2 +- etc/caseDicts/general/coordinateSystem/cylindrical | 2 +- etc/caseDicts/general/fvOptions/porosity/porousZone | 2 +- etc/caseDicts/general/fvSolution/relaxationFactors/steadyState | 2 +- etc/caseDicts/general/fvSolution/relaxationFactors/transient | 2 +- etc/caseDicts/insitu/adios/adiosWrite.cfg | 2 +- etc/caseDicts/insitu/catalyst/catalyst.cfg | 2 +- etc/caseDicts/mesh/generation/meshQualityDict.cfg | 2 +- etc/caseDicts/mesh/generation/snappyHexMeshDict.cfg | 2 +- etc/caseDicts/mesh/manipulation/refineRegion/refineMeshDict | 2 +- etc/caseDicts/mesh/manipulation/refineRegion/topoSetDict | 2 +- etc/caseDicts/meshQualityDict | 2 +- etc/caseDicts/postProcessing/fields/AMIWeights | 2 +- etc/caseDicts/postProcessing/fields/CourantNo | 2 +- etc/caseDicts/postProcessing/fields/LambVector | 2 +- etc/caseDicts/postProcessing/fields/Lambda2 | 2 +- etc/caseDicts/postProcessing/fields/MachNo | 2 +- etc/caseDicts/postProcessing/fields/ObukhovLength | 2 +- etc/caseDicts/postProcessing/fields/PecletNo | 2 +- etc/caseDicts/postProcessing/fields/Q | 2 +- etc/caseDicts/postProcessing/fields/R | 2 +- etc/caseDicts/postProcessing/fields/XiReactionRate | 2 +- etc/caseDicts/postProcessing/fields/add | 2 +- etc/caseDicts/postProcessing/fields/components | 2 +- etc/caseDicts/postProcessing/fields/ddt | 2 +- etc/caseDicts/postProcessing/fields/div | 2 +- etc/caseDicts/postProcessing/fields/energySpectrum | 2 +- etc/caseDicts/postProcessing/fields/enstrophy | 2 +- etc/caseDicts/postProcessing/fields/fieldMinMax | 2 +- etc/caseDicts/postProcessing/fields/flowType | 2 +- etc/caseDicts/postProcessing/fields/grad | 2 +- etc/caseDicts/postProcessing/fields/heatTransferCoeff | 2 +- etc/caseDicts/postProcessing/fields/log | 2 +- etc/caseDicts/postProcessing/fields/mag | 2 +- etc/caseDicts/postProcessing/fields/magSqr | 2 +- etc/caseDicts/postProcessing/fields/processorField | 2 +- etc/caseDicts/postProcessing/fields/randomise | 2 +- etc/caseDicts/postProcessing/fields/randomise.cfg | 2 +- etc/caseDicts/postProcessing/fields/streamFunction | 2 +- etc/caseDicts/postProcessing/fields/subtract | 2 +- etc/caseDicts/postProcessing/fields/turbulenceFields | 2 +- etc/caseDicts/postProcessing/fields/vorticity | 2 +- etc/caseDicts/postProcessing/fields/wallHeatFlux | 2 +- etc/caseDicts/postProcessing/fields/wallShearStress | 2 +- etc/caseDicts/postProcessing/fields/writeCellCentres | 2 +- etc/caseDicts/postProcessing/fields/writeCellVolumes | 2 +- etc/caseDicts/postProcessing/fields/writeObjects | 2 +- etc/caseDicts/postProcessing/fields/yPlus | 2 +- etc/caseDicts/postProcessing/flowRate/flowRateFaceZone | 2 +- etc/caseDicts/postProcessing/flowRate/flowRateFaceZone.cfg | 2 +- etc/caseDicts/postProcessing/flowRate/flowRatePatch | 2 +- etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg | 2 +- etc/caseDicts/postProcessing/flowRate/volFlowRateSurface | 2 +- etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg | 2 +- etc/caseDicts/postProcessing/forces/forceCoeffs.cfg | 2 +- etc/caseDicts/postProcessing/forces/forceCoeffsCompressible | 2 +- etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible | 2 +- .../postProcessing/forces/forceCoeffsIncompressible.cfg | 2 +- etc/caseDicts/postProcessing/forces/forces.cfg | 2 +- etc/caseDicts/postProcessing/forces/forcesCompressible | 2 +- etc/caseDicts/postProcessing/forces/forcesIncompressible | 2 +- etc/caseDicts/postProcessing/forces/forcesIncompressible.cfg | 2 +- etc/caseDicts/postProcessing/graphs/graph.cfg | 2 +- etc/caseDicts/postProcessing/graphs/sampleDict.cfg | 2 +- etc/caseDicts/postProcessing/graphs/singleGraph | 2 +- etc/caseDicts/postProcessing/lagrangian/dsmcFields | 2 +- etc/caseDicts/postProcessing/minMax/cellMax | 2 +- etc/caseDicts/postProcessing/minMax/cellMin | 2 +- etc/caseDicts/postProcessing/minMax/cellMin.cfg | 2 +- etc/caseDicts/postProcessing/minMax/cellMinMax.cfg | 2 +- etc/caseDicts/postProcessing/minMax/faceMax | 2 +- etc/caseDicts/postProcessing/minMax/faceMin | 2 +- etc/caseDicts/postProcessing/minMax/faceMin.cfg | 2 +- etc/caseDicts/postProcessing/minMax/faceMinMax.cfg | 2 +- etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg | 2 +- etc/caseDicts/postProcessing/minMax/minMaxComponents | 2 +- etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg | 2 +- etc/caseDicts/postProcessing/minMax/minMaxMagnitude | 2 +- etc/caseDicts/postProcessing/numerical/solverInfo | 2 +- etc/caseDicts/postProcessing/numerical/solverInfo.cfg | 2 +- etc/caseDicts/postProcessing/pressure/pressure.cfg | 2 +- etc/caseDicts/postProcessing/pressure/pressureDifference.cfg | 2 +- etc/caseDicts/postProcessing/pressure/pressureDifferencePatch | 2 +- .../postProcessing/pressure/pressureDifferencePatch.cfg | 2 +- etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface | 2 +- .../postProcessing/pressure/pressureDifferenceSurface.cfg | 2 +- etc/caseDicts/postProcessing/pressure/staticPressure | 2 +- etc/caseDicts/postProcessing/pressure/staticPressure.cfg | 2 +- etc/caseDicts/postProcessing/pressure/totalPressureCompressible | 2 +- .../postProcessing/pressure/totalPressureCompressible.cfg | 2 +- .../postProcessing/pressure/totalPressureIncompressible | 2 +- .../postProcessing/pressure/totalPressureIncompressible.cfg | 2 +- etc/caseDicts/postProcessing/probes/boundaryCloud | 2 +- etc/caseDicts/postProcessing/probes/boundaryCloud.cfg | 2 +- etc/caseDicts/postProcessing/probes/cloud.cfg | 2 +- etc/caseDicts/postProcessing/probes/internalCloud | 2 +- etc/caseDicts/postProcessing/probes/internalCloud.cfg | 2 +- etc/caseDicts/postProcessing/probes/probes | 2 +- etc/caseDicts/postProcessing/probes/probes.cfg | 2 +- .../postProcessing/solvers/scalarTransport/scalarTransport | 2 +- .../postProcessing/solvers/scalarTransport/scalarTransport.cfg | 2 +- etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg | 2 +- etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg | 2 +- etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage | 2 +- etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate | 2 +- .../postProcessing/surfaceFieldValue/surfaceRegion.cfg | 2 +- .../postProcessing/surfaceFieldValue/triSurfaceRegion.cfg | 2 +- etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg | 2 +- etc/caseDicts/postProcessing/visualization/streamlines | 2 +- etc/caseDicts/postProcessing/visualization/streamlines.cfg | 2 +- etc/caseDicts/postProcessing/visualization/surfaces | 2 +- etc/caseDicts/postProcessing/visualization/surfaces.cfg | 2 +- etc/caseDicts/profiling/parallel.cfg | 2 +- etc/caseDicts/setConstraintTypes | 2 +- etc/caseDicts/solvers/scalarTransport/s | 2 +- etc/caseDicts/solvers/scalarTransport/scalarTransportDict | 2 +- etc/caseDicts/solvers/scalarTransport/scalarTransportDict.cfg | 2 +- etc/caseDicts/surface/surfaceFeatureExtractDict.cfg | 2 +- etc/cellModels | 2 +- etc/colourTables | 2 +- etc/templates/axisymmetricJet/0/U | 2 +- etc/templates/axisymmetricJet/0/epsilon | 2 +- etc/templates/axisymmetricJet/0/k | 2 +- etc/templates/axisymmetricJet/0/nut | 2 +- etc/templates/axisymmetricJet/0/omega | 2 +- etc/templates/axisymmetricJet/0/p | 2 +- etc/templates/axisymmetricJet/constant/transportProperties | 2 +- etc/templates/axisymmetricJet/constant/turbulenceProperties | 2 +- etc/templates/axisymmetricJet/system/blockMeshDict | 2 +- etc/templates/axisymmetricJet/system/controlDict | 2 +- etc/templates/axisymmetricJet/system/extrudeMeshDict | 2 +- etc/templates/axisymmetricJet/system/fvSchemes | 2 +- etc/templates/axisymmetricJet/system/fvSolution | 2 +- etc/templates/axisymmetricJet/system/graph | 2 +- etc/templates/closedVolume/0/T | 2 +- etc/templates/closedVolume/0/U | 2 +- etc/templates/closedVolume/0/alphat | 2 +- etc/templates/closedVolume/0/epsilon | 2 +- etc/templates/closedVolume/0/k | 2 +- etc/templates/closedVolume/0/nut | 2 +- etc/templates/closedVolume/0/omega | 2 +- etc/templates/closedVolume/0/p | 2 +- etc/templates/closedVolume/0/p_rgh | 2 +- etc/templates/closedVolume/constant/g | 2 +- etc/templates/closedVolume/constant/transportProperties | 2 +- etc/templates/closedVolume/constant/turbulenceProperties | 2 +- etc/templates/closedVolume/system/blockMeshDict | 2 +- etc/templates/closedVolume/system/controlDict | 2 +- etc/templates/closedVolume/system/fvSchemes | 2 +- etc/templates/closedVolume/system/fvSolution | 2 +- etc/templates/closedVolume/system/meshQualityDict | 2 +- etc/templates/closedVolume/system/snappyHexMeshDict | 2 +- etc/templates/closedVolume/system/surfaceFeatureExtractDict | 2 +- etc/templates/closedVolumeRotating/0/U | 2 +- etc/templates/closedVolumeRotating/0/k | 2 +- etc/templates/closedVolumeRotating/0/nut | 2 +- etc/templates/closedVolumeRotating/0/omega | 2 +- etc/templates/closedVolumeRotating/0/p | 2 +- etc/templates/closedVolumeRotating/constant/MRFProperties | 2 +- etc/templates/closedVolumeRotating/constant/dynamicMeshDict | 2 +- .../closedVolumeRotating/constant/rotatingZoneProperties | 2 +- etc/templates/closedVolumeRotating/constant/transportProperties | 2 +- .../closedVolumeRotating/constant/turbulenceProperties | 2 +- etc/templates/closedVolumeRotating/system/blockMeshDict | 2 +- etc/templates/closedVolumeRotating/system/blockMeshDict-box | 2 +- etc/templates/closedVolumeRotating/system/controlDict | 2 +- etc/templates/closedVolumeRotating/system/createBafflesDict | 2 +- etc/templates/closedVolumeRotating/system/fvSchemes | 2 +- etc/templates/closedVolumeRotating/system/fvSolution | 2 +- etc/templates/closedVolumeRotating/system/meshQualityDict | 2 +- etc/templates/closedVolumeRotating/system/snappyHexMeshDict | 2 +- .../closedVolumeRotating/system/surfaceFeatureExtractDict | 2 +- etc/templates/compressibleInflowOutflow/0/T | 2 +- etc/templates/compressibleInflowOutflow/0/U | 2 +- etc/templates/compressibleInflowOutflow/0/alphat | 2 +- etc/templates/compressibleInflowOutflow/0/epsilon | 2 +- etc/templates/compressibleInflowOutflow/0/k | 2 +- etc/templates/compressibleInflowOutflow/0/nut | 2 +- etc/templates/compressibleInflowOutflow/0/omega | 2 +- etc/templates/compressibleInflowOutflow/0/p | 2 +- .../compressibleInflowOutflow/constant/thermophysicalProperties | 2 +- .../compressibleInflowOutflow/constant/turbulenceProperties | 2 +- etc/templates/compressibleInflowOutflow/system/blockMeshDict | 2 +- etc/templates/compressibleInflowOutflow/system/controlDict | 2 +- etc/templates/compressibleInflowOutflow/system/fvSchemes | 2 +- etc/templates/compressibleInflowOutflow/system/fvSolution | 2 +- etc/templates/compressibleInflowOutflow/system/meshQualityDict | 2 +- .../compressibleInflowOutflow/system/snappyHexMeshDict | 2 +- .../compressibleInflowOutflow/system/surfaceFeatureExtractDict | 2 +- etc/templates/inflowOutflow/0/U | 2 +- etc/templates/inflowOutflow/0/k | 2 +- etc/templates/inflowOutflow/0/nut | 2 +- etc/templates/inflowOutflow/0/omega | 2 +- etc/templates/inflowOutflow/0/p | 2 +- etc/templates/inflowOutflow/constant/transportProperties | 2 +- etc/templates/inflowOutflow/constant/turbulenceProperties | 2 +- etc/templates/inflowOutflow/system/blockMeshDict | 2 +- etc/templates/inflowOutflow/system/controlDict | 2 +- etc/templates/inflowOutflow/system/fvSchemes | 2 +- etc/templates/inflowOutflow/system/fvSolution | 2 +- etc/templates/inflowOutflow/system/meshQualityDict | 2 +- etc/templates/inflowOutflow/system/snappyHexMeshDict | 2 +- etc/templates/inflowOutflow/system/surfaceFeatureExtractDict | 2 +- etc/templates/inflowOutflowRotating/0/U | 2 +- etc/templates/inflowOutflowRotating/0/k | 2 +- etc/templates/inflowOutflowRotating/0/nut | 2 +- etc/templates/inflowOutflowRotating/0/omega | 2 +- etc/templates/inflowOutflowRotating/0/p | 2 +- etc/templates/inflowOutflowRotating/constant/MRFProperties | 2 +- etc/templates/inflowOutflowRotating/constant/dynamicMeshDict | 2 +- .../inflowOutflowRotating/constant/rotatingZoneProperties | 2 +- .../inflowOutflowRotating/constant/transportProperties | 2 +- .../inflowOutflowRotating/constant/turbulenceProperties | 2 +- etc/templates/inflowOutflowRotating/system/blockMeshDict | 2 +- etc/templates/inflowOutflowRotating/system/blockMeshDict-box | 2 +- etc/templates/inflowOutflowRotating/system/controlDict | 2 +- etc/templates/inflowOutflowRotating/system/createBafflesDict | 2 +- etc/templates/inflowOutflowRotating/system/fvSchemes | 2 +- etc/templates/inflowOutflowRotating/system/fvSolution | 2 +- etc/templates/inflowOutflowRotating/system/meshQualityDict | 2 +- etc/templates/inflowOutflowRotating/system/snappyHexMeshDict | 2 +- .../inflowOutflowRotating/system/surfaceFeatureExtractDict | 2 +- src/conversion/ccm/remapping | 2 +- src/conversion/common/tables/remappingDict | 2 +- src/dynamicFvMesh/dynamicRefineBalancedFvMesh/balanceParDict | 2 +- src/dynamicFvMesh/dynamicRefineBalancedFvMesh/dynamicMeshDict | 2 +- src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict | 2 +- .../cfdTools/general/solutionControl/loopControl/fvSolution | 2 +- src/lumpedPointMotion/lumpedPointMovementDict | 2 +- src/sampling/probes/probesDict | 2 +- tutorials/DNS/dnsFoam/boxTurb16/0.orig/U | 2 +- tutorials/DNS/dnsFoam/boxTurb16/0.orig/p | 2 +- tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict | 2 +- tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties | 2 +- tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties | 2 +- tutorials/DNS/dnsFoam/boxTurb16/system/blockMeshDict | 2 +- tutorials/DNS/dnsFoam/boxTurb16/system/controlDict | 2 +- tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes | 2 +- tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution | 2 +- tutorials/IO/cavity_parProfiling/0/U | 2 +- tutorials/IO/cavity_parProfiling/0/p | 2 +- tutorials/IO/cavity_parProfiling/constant/transportProperties | 2 +- tutorials/IO/cavity_parProfiling/system/blockMeshDict | 2 +- tutorials/IO/cavity_parProfiling/system/controlDict | 2 +- tutorials/IO/cavity_parProfiling/system/decomposeParDict | 2 +- tutorials/IO/cavity_parProfiling/system/fvSchemes | 2 +- tutorials/IO/cavity_parProfiling/system/fvSolution.template | 2 +- tutorials/IO/dictionary/fatal-ending1.dict | 2 +- tutorials/IO/dictionary/fatal-ending2.dict | 2 +- tutorials/IO/dictionary/fatal-ending3.dict | 2 +- tutorials/IO/dictionary/fatal-ending4.dict | 2 +- tutorials/IO/dictionary/fatal-premature-ending1.dict | 2 +- tutorials/IO/dictionary/fatal-premature-ending2.dict | 2 +- tutorials/IO/dictionary/fatal-primitive-ending1.dict | 2 +- tutorials/IO/dictionary/fatal-primitive-ending2.dict | 2 +- tutorials/IO/dictionary/fatal-primitive-ending3.dict | 2 +- tutorials/IO/dictionary/good-empty2.dict | 2 +- tutorials/IO/dictionary/good-ending1.dict | 2 +- tutorials/IO/dictionary/good-if1.dict | 2 +- tutorials/IO/dictionary/good-if2.dict | 2 +- tutorials/IO/dictionary/good-if3.dict | 2 +- tutorials/IO/dictionary/good-primitive-ending1.dict | 2 +- tutorials/IO/dictionary/good-word-expand.dict | 2 +- tutorials/IO/dictionary/missed-ending3.dict | 2 +- tutorials/IO/fileHandler/0.orig/U | 2 +- tutorials/IO/fileHandler/constant/g | 2 +- tutorials/IO/fileHandler/constant/kinematicCloudPositions | 2 +- tutorials/IO/fileHandler/constant/kinematicCloudProperties | 2 +- tutorials/IO/fileHandler/constant/transportProperties | 2 +- tutorials/IO/fileHandler/constant/turbulenceProperties | 2 +- tutorials/IO/fileHandler/system/blockMeshDict | 2 +- tutorials/IO/fileHandler/system/controlDict | 2 +- tutorials/IO/fileHandler/system/decomposeParDict | 2 +- tutorials/IO/fileHandler/system/fvSchemes | 2 +- tutorials/IO/fileHandler/system/fvSolution | 2 +- tutorials/IO/fileHandler_dynamicCode/0/U | 2 +- tutorials/IO/fileHandler_dynamicCode/0/p | 2 +- .../IO/fileHandler_dynamicCode/constant/transportProperties | 2 +- tutorials/IO/fileHandler_dynamicCode/system/blockMeshDict | 2 +- tutorials/IO/fileHandler_dynamicCode/system/controlDict | 2 +- tutorials/IO/fileHandler_dynamicCode/system/decomposeParDict | 2 +- tutorials/IO/fileHandler_dynamicCode/system/fvSchemes | 2 +- tutorials/IO/fileHandler_dynamicCode/system/fvSolution | 2 +- tutorials/IO/fileHandler_dynamicCode/system/fvSolution.0 | 2 +- tutorials/IO/fileHandler_dynamicCode/system/fvSolution.5 | 2 +- tutorials/IO/fileHandler_dynamicCode/system/solverControls | 2 +- tutorials/IO/fileHandler_dynamicCode/system/solverControls.0 | 2 +- tutorials/IO/fileHandler_dynamicCode/system/solverControls.5 | 2 +- tutorials/IO/systemCall/0.orig/U | 2 +- tutorials/IO/systemCall/0.orig/include/fixedInlet | 2 +- tutorials/IO/systemCall/0.orig/include/frontBackUpperPatches | 2 +- tutorials/IO/systemCall/0.orig/include/initialConditions | 2 +- tutorials/IO/systemCall/0.orig/k | 2 +- tutorials/IO/systemCall/0.orig/nut | 2 +- tutorials/IO/systemCall/0.orig/omega | 2 +- tutorials/IO/systemCall/0.orig/p | 2 +- tutorials/IO/systemCall/constant/transportProperties | 2 +- tutorials/IO/systemCall/constant/turbulenceProperties | 2 +- tutorials/IO/systemCall/system/blockMeshDict | 2 +- tutorials/IO/systemCall/system/controlDict | 2 +- tutorials/IO/systemCall/system/decomposeParDict | 2 +- tutorials/IO/systemCall/system/fvSchemes | 2 +- tutorials/IO/systemCall/system/fvSolution | 2 +- tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/T | 2 +- tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/U | 2 +- .../basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/epsilon | 2 +- .../2DImplicitCyclic/0.orig/include/emptyPatches | 2 +- tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/k | 2 +- tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p | 2 +- .../basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p_rgh | 2 +- tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/g | 2 +- .../2DImplicitCyclic/constant/leftSolid/radiationProperties | 2 +- .../constant/leftSolid/thermophysicalProperties | 2 +- .../2DImplicitCyclic/constant/regionProperties | 2 +- .../2DImplicitCyclic/constant/rightFluid/radiationProperties | 2 +- .../constant/rightFluid/thermophysicalProperties | 2 +- .../2DImplicitCyclic/constant/rightFluid/turbulenceProperties | 2 +- .../chtMultiRegionFoam/2DImplicitCyclic/system/blockMeshDict | 2 +- .../chtMultiRegionFoam/2DImplicitCyclic/system/controlDict | 2 +- .../basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSchemes | 2 +- .../basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSolution | 2 +- .../2DImplicitCyclic/system/leftSolid/changeDictionaryDict | 2 +- .../2DImplicitCyclic/system/leftSolid/fvSchemes | 2 +- .../2DImplicitCyclic/system/leftSolid/fvSolution | 2 +- .../2DImplicitCyclic/system/rightFluid/changeDictionaryDict | 2 +- .../2DImplicitCyclic/system/rightFluid/createBafflesDict | 2 +- .../2DImplicitCyclic/system/rightFluid/fvSchemes | 2 +- .../2DImplicitCyclic/system/rightFluid/fvSolution | 2 +- .../chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict | 2 +- .../chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict.f1 | 2 +- tutorials/basic/laplacianFoam/flange/0.orig/T | 2 +- .../basic/laplacianFoam/flange/constant/transportProperties | 2 +- tutorials/basic/laplacianFoam/flange/system/controlDict | 2 +- tutorials/basic/laplacianFoam/flange/system/decomposeParDict | 2 +- tutorials/basic/laplacianFoam/flange/system/fvSchemes | 2 +- tutorials/basic/laplacianFoam/flange/system/fvSolution | 2 +- tutorials/basic/laplacianFoam/implicitAMI-nonblocking/0/T | 2 +- .../implicitAMI-nonblocking/constant/transportProperties | 2 +- .../laplacianFoam/implicitAMI-nonblocking/system/blockMeshDict | 2 +- .../laplacianFoam/implicitAMI-nonblocking/system/controlDict | 2 +- .../implicitAMI-nonblocking/system/decomposeParDict | 2 +- .../implicitAMI-nonblocking/system/decomposeParDict.random | 2 +- .../laplacianFoam/implicitAMI-nonblocking/system/fvSchemes | 2 +- .../laplacianFoam/implicitAMI-nonblocking/system/fvSolution | 2 +- .../multiWorld1/common/constant/transportProperties | 2 +- .../basic/laplacianFoam/multiWorld1/common/system/controlDict | 2 +- .../laplacianFoam/multiWorld1/common/system/decomposeParDict | 2 +- .../basic/laplacianFoam/multiWorld1/common/system/fvSchemes | 2 +- .../basic/laplacianFoam/multiWorld1/common/system/fvSolution | 2 +- tutorials/basic/laplacianFoam/multiWorld1/left/0.orig/T | 2 +- .../basic/laplacianFoam/multiWorld1/left/system/blockMeshDict | 2 +- tutorials/basic/laplacianFoam/multiWorld1/right/0.orig/T | 2 +- .../basic/laplacianFoam/multiWorld1/right/system/blockMeshDict | 2 +- .../multiWorld2/common/constant/transportProperties | 2 +- .../basic/laplacianFoam/multiWorld2/common/system/controlDict | 2 +- .../laplacianFoam/multiWorld2/common/system/decomposeParDict | 2 +- .../basic/laplacianFoam/multiWorld2/common/system/fvSchemes | 2 +- .../basic/laplacianFoam/multiWorld2/common/system/fvSolution | 2 +- tutorials/basic/laplacianFoam/multiWorld2/slab1/0.orig/T | 2 +- .../basic/laplacianFoam/multiWorld2/slab1/system/blockMeshDict | 2 +- tutorials/basic/laplacianFoam/multiWorld2/slab2/0.orig/T | 2 +- .../basic/laplacianFoam/multiWorld2/slab2/system/blockMeshDict | 2 +- tutorials/basic/laplacianFoam/multiWorld2/slab3/0.orig/T | 2 +- .../basic/laplacianFoam/multiWorld2/slab3/system/blockMeshDict | 2 +- tutorials/basic/laplacianFoam/multiWorld2/slab4/0.orig/T | 2 +- .../basic/laplacianFoam/multiWorld2/slab4/system/blockMeshDict | 2 +- tutorials/basic/laplacianFoam/multiWorld2/top/0.orig/T | 2 +- .../basic/laplacianFoam/multiWorld2/top/system/blockMeshDict | 2 +- .../basic/laplacianFoam/multiWorld2/top/system/createPatchDict | 2 +- .../laplacianFoam/multiWorld2/top/system/topoSetDict.patches | 2 +- tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/0/T | 2 +- .../twoBlocks-processorAgglom/constant/transportProperties | 2 +- .../twoBlocks-processorAgglom/system/blockMeshDict | 2 +- .../laplacianFoam/twoBlocks-processorAgglom/system/controlDict | 2 +- .../twoBlocks-processorAgglom/system/decomposeParDict | 2 +- .../laplacianFoam/twoBlocks-processorAgglom/system/fvSchemes | 2 +- .../laplacianFoam/twoBlocks-processorAgglom/system/fvSolution | 2 +- tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/T | 2 +- .../overLaplacianDyMFoam/heatTransfer/0.orig/cellDisplacement | 2 +- .../overLaplacianDyMFoam/heatTransfer/0.orig/pointDisplacement | 2 +- tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/zoneID | 2 +- .../overLaplacianDyMFoam/heatTransfer/constant/dynamicMeshDict | 2 +- .../heatTransfer/constant/transportProperties | 2 +- .../overLaplacianDyMFoam/heatTransfer/system/blockMeshDict | 2 +- .../basic/overLaplacianDyMFoam/heatTransfer/system/controlDict | 2 +- .../overLaplacianDyMFoam/heatTransfer/system/decomposeParDict | 2 +- .../basic/overLaplacianDyMFoam/heatTransfer/system/fvSchemes | 2 +- .../basic/overLaplacianDyMFoam/heatTransfer/system/fvSolution | 2 +- .../overLaplacianDyMFoam/heatTransfer/system/setFieldsDict | 2 +- .../basic/overLaplacianDyMFoam/heatTransfer/system/topoSetDict | 2 +- .../heatTransferFluxConservation1D/0.orig/T | 2 +- .../heatTransferFluxConservation1D/0.orig/cellDisplacement | 2 +- .../heatTransferFluxConservation1D/0.orig/pointDisplacement | 2 +- .../heatTransferFluxConservation1D/0.orig/zoneID | 2 +- .../heatTransferFluxConservation1D/constant/dynamicMeshDict | 2 +- .../heatTransferFluxConservation1D/constant/transportProperties | 2 +- .../heatTransferFluxConservation1D/system/blockMeshDict | 2 +- .../heatTransferFluxConservation1D/system/controlDict | 2 +- .../heatTransferFluxConservation1D/system/fvSchemes | 2 +- .../heatTransferFluxConservation1D/system/fvSolution | 2 +- .../heatTransferFluxConservation1D/system/setFieldsDict | 2 +- .../heatTransferFluxConservation1D/system/topoSetDict | 2 +- .../overPotentialFoam/cylinder/cylinderAndBackground/0.orig/U | 2 +- .../cylinderAndBackground/0.orig/include/initialConditions | 2 +- .../overPotentialFoam/cylinder/cylinderAndBackground/0.orig/p | 2 +- .../cylinder/cylinderAndBackground/0.orig/pointDisplacement | 2 +- .../cylinder/cylinderAndBackground/0.orig/zoneID | 2 +- .../cylinder/cylinderAndBackground/constant/dynamicMeshDict | 2 +- .../cylinder/cylinderAndBackground/system/blockMeshDict | 2 +- .../cylinder/cylinderAndBackground/system/controlDict | 2 +- .../cylinder/cylinderAndBackground/system/fvSchemes | 2 +- .../cylinder/cylinderAndBackground/system/fvSolution | 2 +- .../cylinder/cylinderAndBackground/system/setFieldsDict | 2 +- .../cylinder/cylinderAndBackground/system/topoSetDict | 2 +- .../overPotentialFoam/cylinder/cylinderMesh/system/controlDict | 2 +- .../cylinder/cylinderMesh/system/createPatchDict | 2 +- .../cylinder/cylinderMesh/system/extrudeMeshDict | 2 +- .../overPotentialFoam/cylinder/cylinderMesh/system/fvSchemes | 2 +- .../overPotentialFoam/cylinder/cylinderMesh/system/fvSolution | 2 +- tutorials/basic/potentialFoam/cylinder/0.orig/U | 2 +- tutorials/basic/potentialFoam/cylinder/0.orig/p | 2 +- tutorials/basic/potentialFoam/cylinder/system/blockMeshDict | 2 +- tutorials/basic/potentialFoam/cylinder/system/controlDict | 2 +- tutorials/basic/potentialFoam/cylinder/system/decomposeParDict | 2 +- tutorials/basic/potentialFoam/cylinder/system/fvSchemes | 2 +- tutorials/basic/potentialFoam/cylinder/system/fvSolution | 2 +- tutorials/basic/potentialFoam/pitzDaily/0.orig/U | 2 +- tutorials/basic/potentialFoam/pitzDaily/0.orig/p | 2 +- tutorials/basic/potentialFoam/pitzDaily/system/blockMeshDict | 2 +- tutorials/basic/potentialFoam/pitzDaily/system/controlDict | 2 +- tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes | 2 +- tutorials/basic/potentialFoam/pitzDaily/system/fvSolution | 2 +- tutorials/basic/scalarTransportFoam/pitzDaily/0/T | 2 +- tutorials/basic/scalarTransportFoam/pitzDaily/0/U | 2 +- .../scalarTransportFoam/pitzDaily/constant/transportProperties | 2 +- .../basic/scalarTransportFoam/pitzDaily/system/blockMeshDict | 2 +- .../scalarTransportFoam/pitzDaily/system/changeDictionaryDict | 2 +- .../basic/scalarTransportFoam/pitzDaily/system/controlDict | 2 +- tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes | 2 +- tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution | 2 +- tutorials/basic/simpleFoam/implicitAMI/0/U | 2 +- tutorials/basic/simpleFoam/implicitAMI/0/p | 2 +- .../basic/simpleFoam/implicitAMI/constant/transportProperties | 2 +- .../basic/simpleFoam/implicitAMI/constant/turbulenceProperties | 2 +- tutorials/basic/simpleFoam/implicitAMI/system/blockMeshDict | 2 +- tutorials/basic/simpleFoam/implicitAMI/system/controlDict | 2 +- tutorials/basic/simpleFoam/implicitAMI/system/decomposeParDict | 2 +- tutorials/basic/simpleFoam/implicitAMI/system/fvSchemes | 2 +- tutorials/basic/simpleFoam/implicitAMI/system/fvSolution | 2 +- .../flamePropagationWithObstacles/constant/PDRProperties | 2 +- .../flamePropagationWithObstacles/constant/combustionProperties | 2 +- .../flamePropagationWithObstacles/constant/dynamicMeshDict | 2 +- .../combustion/PDRFoam/flamePropagationWithObstacles/constant/g | 2 +- .../constant/thermophysicalProperties | 2 +- .../flamePropagationWithObstacles/constant/turbulenceProperties | 2 +- .../PDRFoam/flamePropagationWithObstacles/system/PDRMeshDict | 2 +- .../PDRFoam/flamePropagationWithObstacles/system/blockMeshDict | 2 +- .../flamePropagationWithObstacles/system/changeDictionaryDict | 2 +- .../PDRFoam/flamePropagationWithObstacles/system/controlDict | 2 +- .../flamePropagationWithObstacles/system/decomposeParDict | 2 +- .../PDRFoam/flamePropagationWithObstacles/system/fvSchemes | 2 +- .../PDRFoam/flamePropagationWithObstacles/system/fvSolution | 2 +- .../PDRFoam/flamePropagationWithObstacles/system/topoSetDict | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRep | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRxp | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/RPers | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/Su | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/T | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/Tu | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/U | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xi | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xp | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/b | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/epsilon | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/ft | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/k | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/nut | 2 +- tutorials/combustion/PDRFoam/pipeLattice/0.orig/p | 2 +- tutorials/combustion/PDRFoam/pipeLattice/constant/PDRProperties | 2 +- .../PDRFoam/pipeLattice/constant/combustionProperties | 2 +- tutorials/combustion/PDRFoam/pipeLattice/constant/g | 2 +- .../PDRFoam/pipeLattice/constant/thermophysicalProperties | 2 +- .../PDRFoam/pipeLattice/constant/turbulenceProperties | 2 +- tutorials/combustion/PDRFoam/pipeLattice/geometry/obstaclesDict | 2 +- tutorials/combustion/PDRFoam/pipeLattice/geometry/pipeLattice | 2 +- .../combustion/PDRFoam/pipeLattice/system/PDRblockMeshDict | 2 +- .../combustion/PDRFoam/pipeLattice/system/PDRsetFieldsDict | 2 +- tutorials/combustion/PDRFoam/pipeLattice/system/controlDict | 2 +- tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemes | 2 +- tutorials/combustion/PDRFoam/pipeLattice/system/fvSolution | 2 +- tutorials/combustion/PDRFoam/pipeLattice/system/probes | 2 +- tutorials/combustion/PDRFoam/pipeLattice/system/setFieldsDict | 2 +- tutorials/combustion/PDRFoam/pipeLattice/system/topoSetDict | 2 +- .../combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Su | 2 +- tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/T | 2 +- .../combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Tu | 2 +- tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/U | 2 +- .../combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Xi | 2 +- .../combustion/XiDyMFoam/annularCombustorTurbine/0.orig/alphat | 2 +- tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/b | 2 +- .../combustion/XiDyMFoam/annularCombustorTurbine/0.orig/ft | 2 +- tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/k | 2 +- .../combustion/XiDyMFoam/annularCombustorTurbine/0.orig/nut | 2 +- tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/p | 2 +- .../XiDyMFoam/annularCombustorTurbine/0.orig/pPotential | 2 +- .../annularCombustorTurbine/constant/combustionProperties | 2 +- .../XiDyMFoam/annularCombustorTurbine/constant/dynamicMeshDict | 2 +- .../combustion/XiDyMFoam/annularCombustorTurbine/constant/g | 2 +- .../annularCombustorTurbine/constant/thermophysicalProperties | 2 +- .../annularCombustorTurbine/constant/turbulenceProperties | 2 +- .../XiDyMFoam/annularCombustorTurbine/system/FOXiReactionRate | 2 +- .../XiDyMFoam/annularCombustorTurbine/system/blockMeshDict | 2 +- .../XiDyMFoam/annularCombustorTurbine/system/controlDict | 2 +- .../annularCombustorTurbine/system/createPatchDict.ami | 2 +- .../annularCombustorTurbine/system/createPatchDict.cyclic | 2 +- .../XiDyMFoam/annularCombustorTurbine/system/decomposeParDict | 2 +- .../XiDyMFoam/annularCombustorTurbine/system/fvSchemes | 2 +- .../XiDyMFoam/annularCombustorTurbine/system/fvSolution | 2 +- .../XiDyMFoam/annularCombustorTurbine/system/meshQualityDict | 2 +- .../XiDyMFoam/annularCombustorTurbine/system/snappyHexMeshDict | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Su | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/T | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Tu | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/U | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Xi | 2 +- .../combustion/XiDyMFoam/oscillatingCylinder/0.orig/alphat | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/b | 2 +- .../combustion/XiDyMFoam/oscillatingCylinder/0.orig/epsilon | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/ft | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/k | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/nut | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/p | 2 +- .../XiDyMFoam/oscillatingCylinder/0.orig/pointDisplacementy | 2 +- .../XiDyMFoam/oscillatingCylinder/constant/combustionProperties | 2 +- .../XiDyMFoam/oscillatingCylinder/constant/dynamicMeshDict | 2 +- tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/g | 2 +- .../oscillatingCylinder/constant/thermophysicalProperties | 2 +- .../XiDyMFoam/oscillatingCylinder/constant/turbulenceProperties | 2 +- .../XiDyMFoam/oscillatingCylinder/system/blockMeshDict | 2 +- .../combustion/XiDyMFoam/oscillatingCylinder/system/controlDict | 2 +- .../combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes | 2 +- .../combustion/XiDyMFoam/oscillatingCylinder/system/fvSolution | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/Su | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/T | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/Tu | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/U | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/Xi | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/alphat | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/b | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/epsilon | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/ft | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/fu | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/k | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/nut | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/-180/p | 2 +- .../XiEngineFoam/kivaTest/constant/combustionProperties | 2 +- .../combustion/XiEngineFoam/kivaTest/constant/engineGeometry | 2 +- .../XiEngineFoam/kivaTest/constant/thermophysicalProperties | 2 +- .../XiEngineFoam/kivaTest/constant/turbulenceProperties | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/system/controlDict | 2 +- .../combustion/XiEngineFoam/kivaTest/system/decomposeParDict | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/system/fvSchemes | 2 +- tutorials/combustion/XiEngineFoam/kivaTest/system/fvSolution | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Su | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/T | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Tu | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/U | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Xi | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/alphat | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/b | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/epsilon | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/ft | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/fu | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/k | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/nut | 2 +- tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/p | 2 +- .../RAS/moriyoshiHomogeneous/constant/combustionProperties | 2 +- .../RAS/moriyoshiHomogeneous/constant/thermophysicalProperties | 2 +- .../constant/thermophysicalProperties.hydrogen | 2 +- .../RAS/moriyoshiHomogeneous/constant/turbulenceProperties | 2 +- .../XiFoam/RAS/moriyoshiHomogeneous/system/blockMeshDict | 2 +- .../XiFoam/RAS/moriyoshiHomogeneous/system/controlDict | 2 +- .../combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSchemes | 2 +- .../XiFoam/RAS/moriyoshiHomogeneous/system/fvSolution | 2 +- tutorials/combustion/chemFoam/gri/chemkin/transportProperties | 2 +- tutorials/combustion/chemFoam/gri/constant/chemistryProperties | 2 +- tutorials/combustion/chemFoam/gri/constant/initialConditions | 2 +- .../combustion/chemFoam/gri/constant/thermophysicalProperties | 2 +- tutorials/combustion/chemFoam/gri/system/controlDict | 2 +- tutorials/combustion/chemFoam/gri/system/fvSchemes | 2 +- tutorials/combustion/chemFoam/gri/system/fvSolution | 2 +- tutorials/combustion/chemFoam/h2/chemkin/transportProperties | 2 +- tutorials/combustion/chemFoam/h2/constant/chemistryProperties | 2 +- tutorials/combustion/chemFoam/h2/constant/initialConditions | 2 +- .../combustion/chemFoam/h2/constant/thermophysicalProperties | 2 +- tutorials/combustion/chemFoam/h2/system/controlDict | 2 +- tutorials/combustion/chemFoam/h2/system/fvSchemes | 2 +- tutorials/combustion/chemFoam/h2/system/fvSolution | 2 +- .../combustion/chemFoam/ic8h18/chemkin/transportProperties | 2 +- .../combustion/chemFoam/ic8h18/constant/chemistryProperties | 2 +- tutorials/combustion/chemFoam/ic8h18/constant/initialConditions | 2 +- .../chemFoam/ic8h18/constant/thermophysicalProperties | 2 +- tutorials/combustion/chemFoam/ic8h18/system/controlDict | 2 +- tutorials/combustion/chemFoam/ic8h18/system/fvSchemes | 2 +- tutorials/combustion/chemFoam/ic8h18/system/fvSolution | 2 +- .../combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties | 2 +- .../chemFoam/ic8h18_TDAC/constant/chemistryProperties | 2 +- .../combustion/chemFoam/ic8h18_TDAC/constant/initialConditions | 2 +- .../chemFoam/ic8h18_TDAC/constant/thermophysicalProperties | 2 +- tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict | 2 +- tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSchemes | 2 +- tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution | 2 +- .../combustion/chemFoam/nc7h16/chemkin/transportProperties | 2 +- .../combustion/chemFoam/nc7h16/constant/chemistryProperties | 2 +- tutorials/combustion/chemFoam/nc7h16/constant/initialConditions | 2 +- .../chemFoam/nc7h16/constant/thermophysicalProperties | 2 +- tutorials/combustion/chemFoam/nc7h16/system/controlDict | 2 +- tutorials/combustion/chemFoam/nc7h16/system/fvSchemes | 2 +- tutorials/combustion/chemFoam/nc7h16/system/fvSolution | 2 +- tutorials/combustion/coldEngineFoam/freePiston/0/T | 2 +- tutorials/combustion/coldEngineFoam/freePiston/0/U | 2 +- tutorials/combustion/coldEngineFoam/freePiston/0/air | 2 +- tutorials/combustion/coldEngineFoam/freePiston/0/alphat | 2 +- tutorials/combustion/coldEngineFoam/freePiston/0/epsilon | 2 +- .../coldEngineFoam/freePiston/0/include/boundaryConditions | 2 +- .../combustion/coldEngineFoam/freePiston/0/include/caseSettings | 2 +- tutorials/combustion/coldEngineFoam/freePiston/0/k | 2 +- tutorials/combustion/coldEngineFoam/freePiston/0/nut | 2 +- tutorials/combustion/coldEngineFoam/freePiston/0/p | 2 +- .../coldEngineFoam/freePiston/constant/engineGeometry | 2 +- tutorials/combustion/coldEngineFoam/freePiston/constant/g | 2 +- .../coldEngineFoam/freePiston/constant/thermophysicalProperties | 2 +- .../coldEngineFoam/freePiston/constant/turbulenceProperties | 2 +- .../combustion/coldEngineFoam/freePiston/system/blockMeshDict | 2 +- .../combustion/coldEngineFoam/freePiston/system/controlDict | 2 +- tutorials/combustion/coldEngineFoam/freePiston/system/fvSchemes | 2 +- .../combustion/coldEngineFoam/freePiston/system/fvSolution | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/C7H16 | 2 +- .../combustion/fireFoam/LES/compartmentFire/0.orig/IDefault | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/N2 | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/O2 | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/T | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/U | 2 +- .../combustion/fireFoam/LES/compartmentFire/0.orig/Ydefault | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/alphat | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/k | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/nut | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p_rgh | 2 +- .../fireFoam/LES/compartmentFire/0.orig/panelRegion/T | 2 +- .../fireFoam/LES/compartmentFire/0.orig/panelRegion/p | 2 +- .../fireFoam/LES/compartmentFire/constant/additionalControls | 2 +- .../LES/compartmentFire/constant/boundaryRadiationProperties | 2 +- .../fireFoam/LES/compartmentFire/constant/combustionProperties | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/constant/g | 2 +- tutorials/combustion/fireFoam/LES/compartmentFire/constant/hRef | 2 +- .../compartmentFire/constant/panelRegion/radiationProperties | 2 +- .../constant/panelRegion/thermophysicalProperties | 2 +- .../fireFoam/LES/compartmentFire/constant/pyrolysisZones | 2 +- .../fireFoam/LES/compartmentFire/constant/radiationProperties | 2 +- .../LES/compartmentFire/constant/reactingCloud1Properties | 2 +- .../fireFoam/LES/compartmentFire/constant/surfaceFilmProperties | 2 +- .../LES/compartmentFire/constant/thermo.compressibleGas | 2 +- .../LES/compartmentFire/constant/thermophysicalProperties | 2 +- .../fireFoam/LES/compartmentFire/constant/turbulenceProperties | 2 +- .../fireFoam/LES/compartmentFire/system/blockMeshDict.m4 | 2 +- .../combustion/fireFoam/LES/compartmentFire/system/controlDict | 2 +- .../fireFoam/LES/compartmentFire/system/createPatchDict | 2 +- .../fireFoam/LES/compartmentFire/system/decomposeParDict | 2 +- .../fireFoam/LES/compartmentFire/system/extrudeToRegionMeshDict | 2 +- .../combustion/fireFoam/LES/compartmentFire/system/fvSchemes | 2 +- .../combustion/fireFoam/LES/compartmentFire/system/fvSolution | 2 +- .../LES/compartmentFire/system/panelRegion/decomposeParDict | 2 +- .../fireFoam/LES/compartmentFire/system/panelRegion/fvSchemes | 2 +- .../fireFoam/LES/compartmentFire/system/panelRegion/fvSolution | 2 +- .../fireFoam/LES/compartmentFire/system/snappyHexMeshDict | 2 +- .../combustion/fireFoam/LES/compartmentFire/system/topoSetDict | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/C3H8 | 2 +- .../LES/flameSpreadWaterSuppressionPanel/0.orig/IDefault | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/N2 | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/O2 | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/T | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/U | 2 +- .../LES/flameSpreadWaterSuppressionPanel/0.orig/Ydefault | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/alphat | 2 +- .../LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Tf | 2 +- .../LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Uf | 2 +- .../flameSpreadWaterSuppressionPanel/0.orig/filmRegion/deltaf | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/k | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/nut | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p_rgh | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/ph_rgh | 2 +- .../flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/T | 2 +- .../0.orig/pyrolysisRegion/Y0Default | 2 +- .../0.orig/pyrolysisRegion/char | 2 +- .../flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/p | 2 +- .../flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/qr | 2 +- .../0.orig/pyrolysisRegion/wood | 2 +- .../constant/additionalControls | 2 +- .../constant/boundaryRadiationProperties | 2 +- .../constant/combustionProperties | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/g | 2 +- .../fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pRef | 2 +- .../constant/pyrolysisRegion/chemistryProperties | 2 +- .../constant/pyrolysisRegion/radiationProperties | 2 +- .../constant/pyrolysisRegion/thermo.solid | 2 +- .../constant/pyrolysisRegion/thermophysicalProperties | 2 +- .../flameSpreadWaterSuppressionPanel/constant/pyrolysisZones | 2 +- .../constant/radiationProperties | 2 +- .../constant/reactingCloud1Positions | 2 +- .../constant/reactingCloud1Properties | 2 +- .../constant/surfaceFilmProperties | 2 +- .../constant/thermo.compressibleGas | 2 +- .../constant/thermophysicalProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../LES/flameSpreadWaterSuppressionPanel/system/blockMeshDict | 2 +- .../LES/flameSpreadWaterSuppressionPanel/system/controlDict | 2 +- .../LES/flameSpreadWaterSuppressionPanel/system/createPatchDict | 2 +- .../system/extrudeToRegionMeshDictFilm | 2 +- .../system/extrudeToRegionMeshDictPyr | 2 +- .../system/filmRegion/changeDictionaryDict | 2 +- .../system/filmRegion/createPatchDict | 2 +- .../system/filmRegion/fvSchemes | 2 +- .../system/filmRegion/fvSolution | 2 +- .../system/filmRegion/topoSetDict | 2 +- .../LES/flameSpreadWaterSuppressionPanel/system/fvSchemes | 2 +- .../LES/flameSpreadWaterSuppressionPanel/system/fvSolution | 2 +- .../system/pyrolysisRegion/fvSchemes | 2 +- .../system/pyrolysisRegion/fvSolution | 2 +- .../LES/flameSpreadWaterSuppressionPanel/system/topoSetDict | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/C3H8 | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/G | 2 +- .../fireFoam/LES/oppositeBurningPanels/0.orig/IDefault | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/N2 | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/O2 | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/T | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/U | 2 +- .../fireFoam/LES/oppositeBurningPanels/0.orig/Ydefault | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/alphat | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/k | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/nut | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p_rgh | 2 +- .../fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/T | 2 +- .../LES/oppositeBurningPanels/0.orig/panelRegion/Y0Default | 2 +- .../fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/char | 2 +- .../fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/p | 2 +- .../fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/qr | 2 +- .../fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/wood | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/0.orig/ph_rgh | 2 +- .../LES/oppositeBurningPanels/constant/additionalControls | 2 +- .../oppositeBurningPanels/constant/boundaryRadiationProperties | 2 +- .../LES/oppositeBurningPanels/constant/combustionProperties | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/constant/g | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/constant/hRef | 2 +- .../combustion/fireFoam/LES/oppositeBurningPanels/constant/pRef | 2 +- .../constant/panelRegion/chemistryProperties | 2 +- .../constant/panelRegion/radiationProperties | 2 +- .../LES/oppositeBurningPanels/constant/panelRegion/thermo.solid | 2 +- .../constant/panelRegion/thermophysicalProperties | 2 +- .../fireFoam/LES/oppositeBurningPanels/constant/pyrolysisZones | 2 +- .../LES/oppositeBurningPanels/constant/radiationProperties | 2 +- .../LES/oppositeBurningPanels/constant/reactingCloud1Properties | 2 +- .../LES/oppositeBurningPanels/constant/surfaceFilmProperties | 2 +- .../LES/oppositeBurningPanels/constant/thermo.compressibleGas | 2 +- .../LES/oppositeBurningPanels/constant/thermophysicalProperties | 2 +- .../LES/oppositeBurningPanels/constant/turbulenceProperties | 2 +- .../fireFoam/LES/oppositeBurningPanels/system/blockMeshDict | 2 +- .../LES/oppositeBurningPanels/system/cRefine.topoSetDict | 2 +- .../fireFoam/LES/oppositeBurningPanels/system/controlDict | 2 +- .../fireFoam/LES/oppositeBurningPanels/system/createPatchDict | 2 +- .../fireFoam/LES/oppositeBurningPanels/system/decomposeParDict | 2 +- .../LES/oppositeBurningPanels/system/extrudeToRegionMeshDict | 2 +- .../fireFoam/LES/oppositeBurningPanels/system/f.topoSetDict | 2 +- .../LES/oppositeBurningPanels/system/fBurner.topoSetDict | 2 +- .../fireFoam/LES/oppositeBurningPanels/system/fvSchemes | 2 +- .../fireFoam/LES/oppositeBurningPanels/system/fvSolution | 2 +- .../oppositeBurningPanels/system/panelRegion/decomposeParDict | 2 +- .../LES/oppositeBurningPanels/system/panelRegion/fvSchemes | 2 +- .../LES/oppositeBurningPanels/system/panelRegion/fvSolution | 2 +- .../fireFoam/LES/oppositeBurningPanels/system/refineMeshDict | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/CH4 | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/G | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/N2 | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/O2 | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/T | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/U | 2 +- .../combustion/fireFoam/LES/simplePMMApanel/0.orig/Ydefault | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/alphat | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/k | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/nut | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p_rgh | 2 +- .../fireFoam/LES/simplePMMApanel/0.orig/panelRegion/PMMA | 2 +- .../fireFoam/LES/simplePMMApanel/0.orig/panelRegion/T | 2 +- .../fireFoam/LES/simplePMMApanel/0.orig/panelRegion/Y0Default | 2 +- .../fireFoam/LES/simplePMMApanel/0.orig/panelRegion/p | 2 +- .../fireFoam/LES/simplePMMApanel/0.orig/panelRegion/qr | 2 +- .../fireFoam/LES/simplePMMApanel/constant/additionalControls | 2 +- .../LES/simplePMMApanel/constant/boundaryRadiationProperties | 2 +- .../fireFoam/LES/simplePMMApanel/constant/combustionProperties | 2 +- tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/g | 2 +- .../simplePMMApanel/constant/panelRegion/chemistryProperties | 2 +- .../simplePMMApanel/constant/panelRegion/radiationProperties | 2 +- .../LES/simplePMMApanel/constant/panelRegion/thermo.solid | 2 +- .../constant/panelRegion/thermophysicalProperties | 2 +- .../fireFoam/LES/simplePMMApanel/constant/pyrolysisZones | 2 +- .../fireFoam/LES/simplePMMApanel/constant/radiationProperties | 2 +- .../LES/simplePMMApanel/constant/reactingCloud1Positions | 2 +- .../LES/simplePMMApanel/constant/reactingCloud1Properties | 2 +- .../fireFoam/LES/simplePMMApanel/constant/surfaceFilmProperties | 2 +- .../LES/simplePMMApanel/constant/thermo.compressibleGas | 2 +- .../LES/simplePMMApanel/constant/thermophysicalProperties | 2 +- .../fireFoam/LES/simplePMMApanel/constant/turbulenceProperties | 2 +- .../fireFoam/LES/simplePMMApanel/system/blockMeshDict | 2 +- .../combustion/fireFoam/LES/simplePMMApanel/system/controlDict | 2 +- .../fireFoam/LES/simplePMMApanel/system/extrudeToRegionMeshDict | 2 +- .../combustion/fireFoam/LES/simplePMMApanel/system/fvSchemes | 2 +- .../combustion/fireFoam/LES/simplePMMApanel/system/fvSolution | 2 +- .../fireFoam/LES/simplePMMApanel/system/panelRegion/fvSchemes | 2 +- .../fireFoam/LES/simplePMMApanel/system/panelRegion/fvSolution | 2 +- .../combustion/fireFoam/LES/simplePMMApanel/system/topoSetDict | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/CH4 | 2 +- .../combustion/fireFoam/LES/smallPoolFire2D/0.orig/FSDomega | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/G | 2 +- .../combustion/fireFoam/LES/smallPoolFire2D/0.orig/IDefault | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/N2 | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/O2 | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/T | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/U | 2 +- .../combustion/fireFoam/LES/smallPoolFire2D/0.orig/Ydefault | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/alphat | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/k | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/nut | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p_rgh | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/ph_rgh | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/soot | 2 +- .../fireFoam/LES/smallPoolFire2D/constant/additionalControls | 2 +- .../LES/smallPoolFire2D/constant/boundaryRadiationProperties | 2 +- .../fireFoam/LES/smallPoolFire2D/constant/chemistryProperties | 2 +- .../fireFoam/LES/smallPoolFire2D/constant/combustionProperties | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/g | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/hRef | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pRef | 2 +- .../fireFoam/LES/smallPoolFire2D/constant/pyrolysisZones | 2 +- .../fireFoam/LES/smallPoolFire2D/constant/radiationProperties | 2 +- .../LES/smallPoolFire2D/constant/reactingCloud1Properties | 2 +- .../fireFoam/LES/smallPoolFire2D/constant/surfaceFilmProperties | 2 +- .../LES/smallPoolFire2D/constant/thermo.compressibleGas | 2 +- .../LES/smallPoolFire2D/constant/thermophysicalProperties | 2 +- .../smallPoolFire2D/constant/thermophysicalProperties.twoSteps | 2 +- .../fireFoam/LES/smallPoolFire2D/constant/turbulenceProperties | 2 +- .../fireFoam/LES/smallPoolFire2D/system/blockMeshDict | 2 +- .../combustion/fireFoam/LES/smallPoolFire2D/system/controlDict | 2 +- .../fireFoam/LES/smallPoolFire2D/system/createPatchDict | 2 +- .../combustion/fireFoam/LES/smallPoolFire2D/system/fvSchemes | 2 +- .../combustion/fireFoam/LES/smallPoolFire2D/system/fvSolution | 2 +- .../combustion/fireFoam/LES/smallPoolFire2D/system/topoSetDict | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/CH4 | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/G | 2 +- .../combustion/fireFoam/LES/smallPoolFire3D/0.orig/IDefault | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/N2 | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/O2 | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/T | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/U | 2 +- .../combustion/fireFoam/LES/smallPoolFire3D/0.orig/Ydefault | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/alphat | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/k | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/nut | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p_rgh | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/ph_rgh | 2 +- .../fireFoam/LES/smallPoolFire3D/constant/additionalControls | 2 +- .../LES/smallPoolFire3D/constant/boundaryRadiationProperties | 2 +- .../fireFoam/LES/smallPoolFire3D/constant/chemistryProperties | 2 +- .../fireFoam/LES/smallPoolFire3D/constant/combustionProperties | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/g | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/hRef | 2 +- tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pRef | 2 +- .../fireFoam/LES/smallPoolFire3D/constant/pyrolysisZones | 2 +- .../fireFoam/LES/smallPoolFire3D/constant/radiationProperties | 2 +- .../LES/smallPoolFire3D/constant/reactingCloud1Properties | 2 +- .../fireFoam/LES/smallPoolFire3D/constant/surfaceFilmProperties | 2 +- .../LES/smallPoolFire3D/constant/thermo.compressibleGas | 2 +- .../LES/smallPoolFire3D/constant/thermophysicalProperties | 2 +- .../fireFoam/LES/smallPoolFire3D/constant/turbulenceProperties | 2 +- .../fireFoam/LES/smallPoolFire3D/system/blockMeshDict | 2 +- .../combustion/fireFoam/LES/smallPoolFire3D/system/controlDict | 2 +- .../fireFoam/LES/smallPoolFire3D/system/createPatchDict | 2 +- .../fireFoam/LES/smallPoolFire3D/system/decomposeParDict | 2 +- .../combustion/fireFoam/LES/smallPoolFire3D/system/fvSchemes | 2 +- .../combustion/fireFoam/LES/smallPoolFire3D/system/fvSolution | 2 +- .../combustion/fireFoam/LES/smallPoolFire3D/system/topoSetDict | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/CH4 | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/G | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2 | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2O | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/N2 | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/O2 | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/T | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/U | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/Ydefault | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/alphat | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/epsilon | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/k | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/nut | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/p | 2 +- .../reactingFoam/RAS/DLR_A_LTS/chemkin/transportProperties | 2 +- .../reactingFoam/RAS/DLR_A_LTS/constant/chemistryProperties | 2 +- .../reactingFoam/RAS/DLR_A_LTS/constant/combustionProperties | 2 +- tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/g | 2 +- .../RAS/DLR_A_LTS/constant/thermophysicalProperties | 2 +- .../reactingFoam/RAS/DLR_A_LTS/constant/turbulenceProperties | 2 +- .../combustion/reactingFoam/RAS/DLR_A_LTS/system/blockMeshDict | 2 +- .../combustion/reactingFoam/RAS/DLR_A_LTS/system/controlDict | 2 +- .../reactingFoam/RAS/DLR_A_LTS/system/decomposeParDict | 2 +- .../combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSchemes | 2 +- .../combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSolution | 2 +- .../combustion/reactingFoam/RAS/DLR_A_LTS/system/setFieldsDict | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CH4 | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO2 | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/G | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2 | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2O | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/N2 | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O2 | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/OH | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/T | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/U | 2 +- .../combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/Ydefault | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/alphat | 2 +- .../combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/epsilon | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/k | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/nut | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/p | 2 +- .../reactingFoam/RAS/SandiaD_LTS/chemkin/transportProperties | 2 +- .../RAS/SandiaD_LTS/constant/boundaryRadiationProperties | 2 +- .../reactingFoam/RAS/SandiaD_LTS/constant/chemistryProperties | 2 +- .../reactingFoam/RAS/SandiaD_LTS/constant/combustionProperties | 2 +- .../combustion/reactingFoam/RAS/SandiaD_LTS/constant/fvOptions | 2 +- tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/g | 2 +- .../reactingFoam/RAS/SandiaD_LTS/constant/radiationProperties | 2 +- .../RAS/SandiaD_LTS/constant/thermophysicalProperties | 2 +- .../reactingFoam/RAS/SandiaD_LTS/constant/turbulenceProperties | 2 +- .../reactingFoam/RAS/SandiaD_LTS/system/blockMeshDict | 2 +- .../combustion/reactingFoam/RAS/SandiaD_LTS/system/controlDict | 2 +- .../combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSchemes | 2 +- .../combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSolution | 2 +- .../combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict | 2 +- .../reactingFoam/RAS/SandiaD_LTS/system/setFieldsDict | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/CH4 | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2 | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2O | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/N2 | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/O2 | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/T | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/U | 2 +- .../combustion/reactingFoam/RAS/chokedNozzle/0.orig/Ydefault | 2 +- .../combustion/reactingFoam/RAS/chokedNozzle/0.orig/alphat | 2 +- .../combustion/reactingFoam/RAS/chokedNozzle/0.orig/epsilon | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/k | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/nut | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/p | 2 +- .../reactingFoam/RAS/chokedNozzle/constant/chemistryProperties | 2 +- .../reactingFoam/RAS/chokedNozzle/constant/combustionProperties | 2 +- tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/g | 2 +- .../RAS/chokedNozzle/constant/thermophysicalProperties | 2 +- .../reactingFoam/RAS/chokedNozzle/constant/turbulenceProperties | 2 +- .../reactingFoam/RAS/chokedNozzle/system/blockMeshDict | 2 +- .../combustion/reactingFoam/RAS/chokedNozzle/system/controlDict | 2 +- .../reactingFoam/RAS/chokedNozzle/system/decomposeParDict | 2 +- .../combustion/reactingFoam/RAS/chokedNozzle/system/fvSchemes | 2 +- .../combustion/reactingFoam/RAS/chokedNozzle/system/fvSolution | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/CH4 | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/N2 | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/O2 | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/T | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/U | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/Ydefault | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/alphat | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/epsilon | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/include | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/k | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/nut | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/0.orig/p | 2 +- .../reactingFoam/RAS/membrane/constant/chemistryProperties | 2 +- .../reactingFoam/RAS/membrane/constant/combustionProperties | 2 +- .../combustion/reactingFoam/RAS/membrane/constant/reactions | 2 +- .../reactingFoam/RAS/membrane/constant/thermo.compressibleGas | 2 +- .../reactingFoam/RAS/membrane/constant/thermophysicalProperties | 2 +- .../reactingFoam/RAS/membrane/constant/turbulenceProperties | 2 +- .../combustion/reactingFoam/RAS/membrane/system/blockMeshDict | 2 +- .../combustion/reactingFoam/RAS/membrane/system/controlDict | 2 +- .../reactingFoam/RAS/membrane/system/createBafflesDict | 2 +- tutorials/combustion/reactingFoam/RAS/membrane/system/fvSchemes | 2 +- .../combustion/reactingFoam/RAS/membrane/system/fvSolution | 2 +- .../combustion/reactingFoam/RAS/membrane/system/meshQualityDict | 2 +- .../combustion/reactingFoam/RAS/membrane/system/setFieldsDict | 2 +- .../reactingFoam/RAS/membrane/system/snappyHexMeshDict | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/T | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/U | 2 +- .../reactingFoam/laminar/counterFlowFlame2D/0/Ydefault | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D/0/p | 2 +- .../laminar/counterFlowFlame2D/constant/chemistryProperties | 2 +- .../laminar/counterFlowFlame2D/constant/combustionProperties | 2 +- .../laminar/counterFlowFlame2D/constant/thermo.compressibleGas | 2 +- .../counterFlowFlame2D/constant/thermophysicalProperties | 2 +- .../laminar/counterFlowFlame2D/constant/turbulenceProperties | 2 +- .../laminar/counterFlowFlame2D/system/FOBilgerMixtureFraction | 2 +- .../laminar/counterFlowFlame2D/system/blockMeshDict | 2 +- .../reactingFoam/laminar/counterFlowFlame2D/system/controlDict | 2 +- .../reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes | 2 +- .../reactingFoam/laminar/counterFlowFlame2D/system/fvSolution | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CH4 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CO2 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/H2O | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/N2 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/O2 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/T | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/U | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS/0/Ydefault | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS/0/alphat | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/p | 2 +- .../laminar/counterFlowFlame2DLTS/constant/chemistryProperties | 2 +- .../laminar/counterFlowFlame2DLTS/constant/combustionProperties | 2 +- .../counterFlowFlame2DLTS/constant/thermo.compressibleGas | 2 +- .../counterFlowFlame2DLTS/constant/thermophysicalProperties | 2 +- .../laminar/counterFlowFlame2DLTS/constant/turbulenceProperties | 2 +- .../laminar/counterFlowFlame2DLTS/system/blockMeshDict | 2 +- .../laminar/counterFlowFlame2DLTS/system/controlDict | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSchemes | 2 +- .../laminar/counterFlowFlame2DLTS/system/fvSolution | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CH4 | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CO2 | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/H2O | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/N2 | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/O2 | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/T | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/U | 2 +- .../laminar/counterFlowFlame2DLTS_GRI_TDAC/0/Ydefault | 2 +- .../laminar/counterFlowFlame2DLTS_GRI_TDAC/0/alphat | 2 +- .../reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/p | 2 +- .../counterFlowFlame2DLTS_GRI_TDAC/constant/chemistryProperties | 2 +- .../constant/combustionProperties | 2 +- .../constant/thermo.compressibleGas | 2 +- .../constant/thermophysicalProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../laminar/counterFlowFlame2DLTS_GRI_TDAC/system/blockMeshDict | 2 +- .../laminar/counterFlowFlame2DLTS_GRI_TDAC/system/controlDict | 2 +- .../counterFlowFlame2DLTS_GRI_TDAC/system/decomposeParDict | 2 +- .../laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSchemes | 2 +- .../laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSolution | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4 | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2 | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2 | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat | 2 +- .../combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p | 2 +- .../laminar/counterFlowFlame2D_GRI/constant/chemistryProperties | 2 +- .../counterFlowFlame2D_GRI/constant/combustionProperties | 2 +- .../counterFlowFlame2D_GRI/constant/thermo.compressibleGas | 2 +- .../counterFlowFlame2D_GRI/constant/thermophysicalProperties | 2 +- .../counterFlowFlame2D_GRI/constant/turbulenceProperties | 2 +- .../laminar/counterFlowFlame2D_GRI/system/blockMeshDict | 2 +- .../laminar/counterFlowFlame2D_GRI/system/controlDict | 2 +- .../laminar/counterFlowFlame2D_GRI/system/decomposeParDict | 2 +- .../laminar/counterFlowFlame2D_GRI/system/fvSchemes | 2 +- .../laminar/counterFlowFlame2D_GRI/system/fvSolution | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4 | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2 | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2 | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2 | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat | 2 +- .../reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p | 2 +- .../counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties | 2 +- .../counterFlowFlame2D_GRI_TDAC/constant/combustionProperties | 2 +- .../counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas | 2 +- .../constant/thermophysicalProperties | 2 +- .../counterFlowFlame2D_GRI_TDAC/constant/turbulenceProperties | 2 +- .../laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict | 2 +- .../laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict | 2 +- .../laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict | 2 +- .../laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes | 2 +- .../laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution | 2 +- .../combustion/rhoReactingFoam/groundAbsorption/0.orig/CH4 | 2 +- tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/N2 | 2 +- tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/O2 | 2 +- tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/T | 2 +- tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/U | 2 +- .../combustion/rhoReactingFoam/groundAbsorption/0.orig/Ydefault | 2 +- .../combustion/rhoReactingFoam/groundAbsorption/0.orig/alphat | 2 +- tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/k | 2 +- .../combustion/rhoReactingFoam/groundAbsorption/0.orig/nut | 2 +- tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p | 2 +- .../combustion/rhoReactingFoam/groundAbsorption/0.orig/p_rgh | 2 +- .../groundAbsorption/constant/chemistryProperties | 2 +- .../groundAbsorption/constant/combustionProperties | 2 +- .../rhoReactingFoam/groundAbsorption/constant/fvOptions | 2 +- .../combustion/rhoReactingFoam/groundAbsorption/constant/g | 2 +- .../groundAbsorption/constant/surfaceFilmProperties | 2 +- .../groundAbsorption/constant/thermo.compressibleGas | 2 +- .../groundAbsorption/constant/thermophysicalProperties | 2 +- .../groundAbsorption/constant/turbulenceProperties | 2 +- .../rhoReactingFoam/groundAbsorption/system/blockMeshDict | 2 +- .../rhoReactingFoam/groundAbsorption/system/controlDict | 2 +- .../rhoReactingFoam/groundAbsorption/system/createPatchDict | 2 +- .../rhoReactingFoam/groundAbsorption/system/decomposeParDict | 2 +- .../rhoReactingFoam/groundAbsorption/system/fvSchemes | 2 +- .../rhoReactingFoam/groundAbsorption/system/fvSolution | 2 +- .../rhoReactingFoam/groundAbsorption/system/topoSetDict | 2 +- .../obliqueAirJet/main/0.orig/finite-area/h_vibrationShell | 2 +- .../obliqueAirJet/main/0.orig/finite-area/ps_vibrationShell | 2 +- .../obliqueAirJet/main/0.orig/finite-area/ws_vibrationShell | 2 +- .../compressible/acousticFoam/obliqueAirJet/main/0.orig/pa | 2 +- .../obliqueAirJet/main/constant/transportProperties | 2 +- .../acousticFoam/obliqueAirJet/main/system/blockMeshDict | 2 +- .../acousticFoam/obliqueAirJet/main/system/controlDict | 2 +- .../acousticFoam/obliqueAirJet/main/system/decomposeParDict | 2 +- .../acousticFoam/obliqueAirJet/main/system/faOptions | 2 +- .../obliqueAirJet/main/system/finite-area/faMeshDefinition | 2 +- .../obliqueAirJet/main/system/finite-area/faSchemes | 2 +- .../obliqueAirJet/main/system/finite-area/faSolution | 2 +- .../acousticFoam/obliqueAirJet/main/system/fvSchemes | 2 +- .../acousticFoam/obliqueAirJet/main/system/fvSolution | 2 +- .../acousticFoam/obliqueAirJet/main/system/snappyHexMeshDict | 2 +- .../compressible/acousticFoam/obliqueAirJet/precursor/0.orig/T | 2 +- .../compressible/acousticFoam/obliqueAirJet/precursor/0.orig/U | 2 +- .../acousticFoam/obliqueAirJet/precursor/0.orig/alphat | 2 +- .../acousticFoam/obliqueAirJet/precursor/0.orig/nuTilda | 2 +- .../acousticFoam/obliqueAirJet/precursor/0.orig/nut | 2 +- .../compressible/acousticFoam/obliqueAirJet/precursor/0.orig/p | 2 +- .../obliqueAirJet/precursor/constant/thermophysicalProperties | 2 +- .../obliqueAirJet/precursor/constant/turbulenceProperties | 2 +- .../acousticFoam/obliqueAirJet/precursor/system/blockMeshDict | 2 +- .../obliqueAirJet/precursor/system/changeDictionaryDict | 2 +- .../acousticFoam/obliqueAirJet/precursor/system/controlDict | 2 +- .../acousticFoam/obliqueAirJet/precursor/system/createPatchDict | 2 +- .../obliqueAirJet/precursor/system/decomposeParDict | 2 +- .../acousticFoam/obliqueAirJet/precursor/system/extrudeMeshDict | 2 +- .../acousticFoam/obliqueAirJet/precursor/system/fvSchemes | 2 +- .../acousticFoam/obliqueAirJet/precursor/system/fvSolution | 2 +- .../acousticFoam/obliqueAirJet/precursor/system/topoSetDict | 2 +- .../compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/T | 2 +- .../compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/U | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/alphat | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/epsilon | 2 +- .../compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/k | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/nut | 2 +- .../compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/p | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/zoneID | 2 +- .../twoSimpleRotors/constant/dynamicMeshDict | 2 +- .../twoSimpleRotors/constant/thermophysicalProperties | 2 +- .../twoSimpleRotors/constant/turbulenceProperties | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/system/blockMeshDict | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/system/controlDict | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSchemes | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSolution | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/system/setFieldsDict | 2 +- .../overRhoPimpleDyMFoam/twoSimpleRotors/system/topoSetDict | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/T | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/U | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/alphat | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/epsilon | 2 +- .../cylinderAndBackground/0.orig/include/initialConditions | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/k | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/nut | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/p | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/pointDisplacement | 2 +- .../hotCylinder/cylinderAndBackground/0.orig/zoneID | 2 +- .../hotCylinder/cylinderAndBackground/constant/dynamicMeshDict | 2 +- .../cylinderAndBackground/constant/thermophysicalProperties | 2 +- .../cylinderAndBackground/constant/transportProperties | 2 +- .../cylinderAndBackground/constant/turbulenceProperties | 2 +- .../hotCylinder/cylinderAndBackground/system/blockMeshDict | 2 +- .../hotCylinder/cylinderAndBackground/system/controlDict | 2 +- .../hotCylinder/cylinderAndBackground/system/decomposeParDict | 2 +- .../hotCylinder/cylinderAndBackground/system/fvSchemes | 2 +- .../hotCylinder/cylinderAndBackground/system/fvSolution | 2 +- .../hotCylinder/cylinderAndBackground/system/setFieldsDict | 2 +- .../hotCylinder/cylinderAndBackground/system/topoSetDict | 2 +- .../hotCylinder/cylinderMesh/system/controlDict | 2 +- .../hotCylinder/cylinderMesh/system/createPatchDict | 2 +- .../hotCylinder/cylinderMesh/system/extrudeMeshDict | 2 +- .../overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSchemes | 2 +- .../hotCylinder/cylinderMesh/system/fvSolution | 2 +- .../LadenburgJet60psi/constant/thermophysicalProperties | 2 +- .../LadenburgJet60psi/constant/turbulenceProperties | 2 +- .../rhoCentralFoam/LadenburgJet60psi/system/blockMeshDict | 2 +- .../rhoCentralFoam/LadenburgJet60psi/system/controlDict | 2 +- .../rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict | 2 +- .../rhoCentralFoam/LadenburgJet60psi/system/fvSchemes | 2 +- .../rhoCentralFoam/LadenburgJet60psi/system/fvSolution | 2 +- .../biconic25-55Run35/constant/thermophysicalProperties | 2 +- .../biconic25-55Run35/constant/turbulenceProperties | 2 +- .../rhoCentralFoam/biconic25-55Run35/system/blockMeshDict | 2 +- .../rhoCentralFoam/biconic25-55Run35/system/collapseDict | 2 +- .../rhoCentralFoam/biconic25-55Run35/system/controlDict | 2 +- .../rhoCentralFoam/biconic25-55Run35/system/fvSchemes | 2 +- .../rhoCentralFoam/biconic25-55Run35/system/fvSolution | 2 +- .../compressible/rhoCentralFoam/biconic25-55Run35/system/sample | 2 +- tutorials/compressible/rhoCentralFoam/forwardStep/0/T | 2 +- tutorials/compressible/rhoCentralFoam/forwardStep/0/U | 2 +- tutorials/compressible/rhoCentralFoam/forwardStep/0/p | 2 +- .../forwardStep/constant/thermophysicalProperties | 2 +- .../rhoCentralFoam/forwardStep/constant/turbulenceProperties | 2 +- .../rhoCentralFoam/forwardStep/system/blockMeshDict | 2 +- .../compressible/rhoCentralFoam/forwardStep/system/controlDict | 2 +- .../compressible/rhoCentralFoam/forwardStep/system/fvSchemes | 2 +- .../compressible/rhoCentralFoam/forwardStep/system/fvSolution | 2 +- tutorials/compressible/rhoCentralFoam/movingCone/0/T | 2 +- tutorials/compressible/rhoCentralFoam/movingCone/0/U | 2 +- tutorials/compressible/rhoCentralFoam/movingCone/0/p | 2 +- .../compressible/rhoCentralFoam/movingCone/0/pointMotionUx | 2 +- .../rhoCentralFoam/movingCone/constant/dynamicMeshDict | 2 +- .../rhoCentralFoam/movingCone/constant/thermophysicalProperties | 2 +- .../rhoCentralFoam/movingCone/constant/turbulenceProperties | 2 +- .../compressible/rhoCentralFoam/movingCone/system/blockMeshDict | 2 +- .../compressible/rhoCentralFoam/movingCone/system/controlDict | 2 +- .../compressible/rhoCentralFoam/movingCone/system/cuttingPlane | 2 +- .../compressible/rhoCentralFoam/movingCone/system/fvSchemes | 2 +- .../compressible/rhoCentralFoam/movingCone/system/fvSolution | 2 +- tutorials/compressible/rhoCentralFoam/obliqueShock/0/T | 2 +- tutorials/compressible/rhoCentralFoam/obliqueShock/0/U | 2 +- tutorials/compressible/rhoCentralFoam/obliqueShock/0/p | 2 +- .../obliqueShock/constant/thermophysicalProperties | 2 +- .../rhoCentralFoam/obliqueShock/constant/turbulenceProperties | 2 +- .../rhoCentralFoam/obliqueShock/system/blockMeshDict | 2 +- .../compressible/rhoCentralFoam/obliqueShock/system/controlDict | 2 +- .../compressible/rhoCentralFoam/obliqueShock/system/fvSchemes | 2 +- .../compressible/rhoCentralFoam/obliqueShock/system/fvSolution | 2 +- tutorials/compressible/rhoCentralFoam/shockTube/0.orig/T | 2 +- tutorials/compressible/rhoCentralFoam/shockTube/0.orig/U | 2 +- tutorials/compressible/rhoCentralFoam/shockTube/0.orig/p | 2 +- .../rhoCentralFoam/shockTube/constant/thermophysicalProperties | 2 +- .../rhoCentralFoam/shockTube/constant/turbulenceProperties | 2 +- .../compressible/rhoCentralFoam/shockTube/system/blockMeshDict | 2 +- .../compressible/rhoCentralFoam/shockTube/system/controlDict | 2 +- .../compressible/rhoCentralFoam/shockTube/system/fvSchemes | 2 +- .../compressible/rhoCentralFoam/shockTube/system/fvSolution | 2 +- .../compressible/rhoCentralFoam/shockTube/system/setFieldsDict | 2 +- tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/T | 2 +- tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/U | 2 +- tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/p | 2 +- .../rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties | 2 +- .../rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties | 2 +- .../compressible/rhoCentralFoam/wedge15Ma5/system/blockMeshDict | 2 +- .../compressible/rhoCentralFoam/wedge15Ma5/system/controlDict | 2 +- .../compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes | 2 +- .../compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution | 2 +- .../rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/T | 2 +- .../rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/U | 2 +- .../rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/p | 2 +- .../rutlandVortex2D/constant/thermophysicalProperties | 2 +- .../rutlandVortex2D/constant/turbulenceProperties | 2 +- .../rhoPimpleAdiabaticFoam/rutlandVortex2D/system/blockMeshDict | 2 +- .../rhoPimpleAdiabaticFoam/rutlandVortex2D/system/controlDict | 2 +- .../rutlandVortex2D/system/decomposeParDict | 2 +- .../rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSchemes | 2 +- .../rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSolution | 2 +- .../rhoPimpleAdiabaticFoam/rutlandVortex2D/system/preProcess | 2 +- tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/T | 2 +- tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/U | 2 +- tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/alphat | 2 +- tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/k | 2 +- tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nuTilda | 2 +- tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nut | 2 +- tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/p | 2 +- .../LES/pitzDaily/constant/thermophysicalProperties | 2 +- .../rhoPimpleFoam/LES/pitzDaily/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict | 2 +- .../compressible/rhoPimpleFoam/LES/pitzDaily/system/controlDict | 2 +- .../compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSchemes | 2 +- .../compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSolution | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/T | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/U | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/alphat | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/epsilon | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/k | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nuTilda | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nut | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/p | 2 +- .../compressible/rhoPimpleFoam/RAS/TJunction/constant/fvOptions | 2 +- .../RAS/TJunction/constant/thermophysicalProperties | 2 +- .../rhoPimpleFoam/RAS/TJunction/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/TJunction/system/blockMeshDict | 2 +- .../compressible/rhoPimpleFoam/RAS/TJunction/system/controlDict | 2 +- .../compressible/rhoPimpleFoam/RAS/TJunction/system/fvSchemes | 2 +- .../compressible/rhoPimpleFoam/RAS/TJunction/system/fvSolution | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/T | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/U | 2 +- .../compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/alphat | 2 +- .../compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/epsilon | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/k | 2 +- .../compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nuTilda | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nut | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/p | 2 +- .../rhoPimpleFoam/RAS/TJunctionAverage/constant/fvOptions | 2 +- .../RAS/TJunctionAverage/constant/thermophysicalProperties | 2 +- .../RAS/TJunctionAverage/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/TJunctionAverage/system/blockMeshDict | 2 +- .../rhoPimpleFoam/RAS/TJunctionAverage/system/controlDict | 2 +- .../rhoPimpleFoam/RAS/TJunctionAverage/system/decomposeParDict | 2 +- .../rhoPimpleFoam/RAS/TJunctionAverage/system/fvSchemes | 2 +- .../rhoPimpleFoam/RAS/TJunctionAverage/system/fvSolution | 2 +- .../RAS/TJunctionAverage/system/setExprBoundaryFieldsDict | 2 +- .../rhoPimpleFoam/RAS/TJunctionAverage/system/setExprFieldsDict | 2 +- .../compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/T | 2 +- .../compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/U | 2 +- .../rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/alphat | 2 +- .../compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/k | 2 +- .../compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/nut | 2 +- .../rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/omega | 2 +- .../compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/p | 2 +- .../RAS/aerofoilNACA0012/constant/thermophysicalProperties | 2 +- .../RAS/aerofoilNACA0012/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/aerofoilNACA0012/system/blockMeshDict | 2 +- .../rhoPimpleFoam/RAS/aerofoilNACA0012/system/controlDict | 2 +- .../rhoPimpleFoam/RAS/aerofoilNACA0012/system/extrudeMeshDict | 2 +- .../rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvOptions | 2 +- .../rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSchemes | 2 +- .../rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSolution | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/T | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/U | 2 +- .../compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/alphat | 2 +- .../compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/epsilon | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/k | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/nut | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/p | 2 +- .../rhoPimpleFoam/RAS/angledDuct/constant/fvOptions | 2 +- .../RAS/angledDuct/constant/thermophysicalProperties | 2 +- .../rhoPimpleFoam/RAS/angledDuct/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/angledDuct/system/blockMeshDict | 2 +- .../rhoPimpleFoam/RAS/angledDuct/system/controlDict | 2 +- .../RAS/angledDuct/system/decomposeParDict.example | 2 +- .../compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSchemes | 2 +- .../compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSolution | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/T | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/U | 2 +- .../compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/alphat | 2 +- .../compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/epsilon | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/k | 2 +- .../compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/nut | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/p | 2 +- .../rhoPimpleFoam/RAS/angledDuctLTS/constant/fvOptions | 2 +- .../RAS/angledDuctLTS/constant/thermophysicalProperties | 2 +- .../RAS/angledDuctLTS/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/angledDuctLTS/system/blockMeshDict | 2 +- .../rhoPimpleFoam/RAS/angledDuctLTS/system/controlDict | 2 +- .../rhoPimpleFoam/RAS/angledDuctLTS/system/fvSchemes | 2 +- .../rhoPimpleFoam/RAS/angledDuctLTS/system/fvSolution | 2 +- .../compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/T | 2 +- .../compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/U | 2 +- .../rhoPimpleFoam/RAS/annularThermalMixer/0.orig/alphat | 2 +- .../rhoPimpleFoam/RAS/annularThermalMixer/0.orig/epsilon | 2 +- .../compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/k | 2 +- .../rhoPimpleFoam/RAS/annularThermalMixer/0.orig/nut | 2 +- .../compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/p | 2 +- .../RAS/annularThermalMixer/constant/boundaryConditions | 2 +- .../rhoPimpleFoam/RAS/annularThermalMixer/constant/caseSettings | 2 +- .../RAS/annularThermalMixer/constant/dynamicMeshDict | 2 +- .../RAS/annularThermalMixer/constant/thermophysicalProperties | 2 +- .../RAS/annularThermalMixer/constant/transportProperties | 2 +- .../RAS/annularThermalMixer/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/annularThermalMixer/system/blockMeshDict | 2 +- .../rhoPimpleFoam/RAS/annularThermalMixer/system/controlDict | 2 +- .../RAS/annularThermalMixer/system/createBafflesDict | 2 +- .../rhoPimpleFoam/RAS/annularThermalMixer/system/fvSchemes | 2 +- .../rhoPimpleFoam/RAS/annularThermalMixer/system/fvSolution | 2 +- .../RAS/annularThermalMixer/system/snappyHexMeshDict | 2 +- .../RAS/annularThermalMixer/system/surfaceFeatureExtractDict | 2 +- .../system/surfaceFeatureExtractDictDefaults | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/T | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/U | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/alphat | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/epsilon | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/k | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/nut | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/omega | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/p | 2 +- .../rhoPimpleFoam/RAS/cavity/constant/thermophysicalProperties | 2 +- .../rhoPimpleFoam/RAS/cavity/constant/turbulenceProperties | 2 +- .../compressible/rhoPimpleFoam/RAS/cavity/system/blockMeshDict | 2 +- .../compressible/rhoPimpleFoam/RAS/cavity/system/controlDict | 2 +- .../compressible/rhoPimpleFoam/RAS/cavity/system/fvSchemes | 2 +- .../compressible/rhoPimpleFoam/RAS/cavity/system/fvSolution | 2 +- .../rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/T | 2 +- .../rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/U | 2 +- .../RAS/externalCoupledSquareBendLiq/0.orig/alphat | 2 +- .../RAS/externalCoupledSquareBendLiq/0.orig/epsilon | 2 +- .../rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/k | 2 +- .../rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/nut | 2 +- .../rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/p | 2 +- .../constant/thermophysicalProperties | 2 +- .../externalCoupledSquareBendLiq/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/controls | 2 +- .../RAS/externalCoupledSquareBendLiq/system/blockMeshDict | 2 +- .../externalCoupledSquareBendLiq/system/changeDictionaryDict | 2 +- .../RAS/externalCoupledSquareBendLiq/system/controlDict | 2 +- .../RAS/externalCoupledSquareBendLiq/system/decomposeParDict | 2 +- .../RAS/externalCoupledSquareBendLiq/system/externalCoupled | 2 +- .../RAS/externalCoupledSquareBendLiq/system/fvSchemes | 2 +- .../RAS/externalCoupledSquareBendLiq/system/fvSolution | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/T | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/U | 2 +- .../compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/alphat | 2 +- .../compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/epsilon | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/k | 2 +- .../compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/nut | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/p | 2 +- .../compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/tracer0 | 2 +- .../rhoPimpleFoam/RAS/mixerVessel2D/constant/MRFProperties | 2 +- .../rhoPimpleFoam/RAS/mixerVessel2D/constant/fvOptions | 2 +- .../RAS/mixerVessel2D/constant/thermophysicalProperties | 2 +- .../RAS/mixerVessel2D/constant/transportProperties | 2 +- .../RAS/mixerVessel2D/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../rhoPimpleFoam/RAS/mixerVessel2D/system/controlDict | 2 +- .../rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes | 2 +- .../rhoPimpleFoam/RAS/mixerVessel2D/system/fvSolution | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/T | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/U | 2 +- .../compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/alphat | 2 +- .../compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/epsilon | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/k | 2 +- .../compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/nut | 2 +- tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/p | 2 +- .../RAS/squareBendLiq/constant/thermophysicalProperties | 2 +- .../RAS/squareBendLiq/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict | 2 +- .../rhoPimpleFoam/RAS/squareBendLiq/system/controlDict | 2 +- .../rhoPimpleFoam/RAS/squareBendLiq/system/decomposeParDict | 2 +- .../rhoPimpleFoam/RAS/squareBendLiq/system/fvSchemes | 2 +- .../rhoPimpleFoam/RAS/squareBendLiq/system/fvSolution | 2 +- .../rhoPimpleFoam/RAS/squareBendLiq/system/topoSetDict | 2 +- .../rhoPimpleFoam/laminar/helmholtzResonance/0.orig/T | 2 +- .../rhoPimpleFoam/laminar/helmholtzResonance/0.orig/U | 2 +- .../rhoPimpleFoam/laminar/helmholtzResonance/0.orig/p | 2 +- .../helmholtzResonance/constant/thermophysicalProperties | 2 +- .../laminar/helmholtzResonance/constant/turbulenceProperties | 2 +- .../laminar/helmholtzResonance/system/blockMeshDict | 2 +- .../rhoPimpleFoam/laminar/helmholtzResonance/system/controlDict | 2 +- .../laminar/helmholtzResonance/system/decomposeParDict | 2 +- .../rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes | 2 +- .../rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution | 2 +- .../compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/T | 2 +- .../compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/U | 2 +- .../compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/p | 2 +- .../laminar/sineWaveDamping/constant/thermophysicalProperties | 2 +- .../laminar/sineWaveDamping/constant/turbulenceProperties | 2 +- .../rhoPimpleFoam/laminar/sineWaveDamping/system/blockMeshDict | 2 +- .../rhoPimpleFoam/laminar/sineWaveDamping/system/controlDict | 2 +- .../rhoPimpleFoam/laminar/sineWaveDamping/system/fvOptions | 2 +- .../rhoPimpleFoam/laminar/sineWaveDamping/system/fvSchemes | 2 +- .../rhoPimpleFoam/laminar/sineWaveDamping/system/fvSolution | 2 +- .../compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/T | 2 +- .../compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/U | 2 +- .../rhoPorousSimpleFoam/angledDuct/common/0.orig/alphat | 2 +- .../rhoPorousSimpleFoam/angledDuct/common/0.orig/epsilon | 2 +- .../compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/k | 2 +- .../rhoPorousSimpleFoam/angledDuct/common/0.orig/nut | 2 +- .../compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/p | 2 +- .../rhoPorousSimpleFoam/angledDuct/common/blockMeshDict | 2 +- .../rhoPorousSimpleFoam/angledDuct/common/constant/fvOptions | 2 +- .../angledDuct/common/constant/porosityProperties | 2 +- .../angledDuct/common/constant/thermophysicalProperties | 2 +- .../angledDuct/common/constant/turbulenceProperties | 2 +- .../rhoPorousSimpleFoam/angledDuct/explicit/system/controlDict | 2 +- .../rhoPorousSimpleFoam/angledDuct/explicit/system/fvSchemes | 2 +- .../rhoPorousSimpleFoam/angledDuct/explicit/system/fvSolution | 2 +- .../rhoPorousSimpleFoam/angledDuct/implicit/system/controlDict | 2 +- .../rhoPorousSimpleFoam/angledDuct/implicit/system/fluxSummary | 2 +- .../rhoPorousSimpleFoam/angledDuct/implicit/system/fvSchemes | 2 +- .../rhoPorousSimpleFoam/angledDuct/implicit/system/fvSolution | 2 +- .../rhoPorousSimpleFoam/angledDuct/implicit/system/sampling | 2 +- tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/T | 2 +- tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/U | 2 +- .../compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/alphat | 2 +- tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/k | 2 +- .../compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/nut | 2 +- .../compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/omega | 2 +- tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/p | 2 +- .../aerofoilNACA0012/constant/thermophysicalProperties | 2 +- .../aerofoilNACA0012/constant/turbulenceProperties | 2 +- .../rhoSimpleFoam/aerofoilNACA0012/system/blockMeshDict | 2 +- .../rhoSimpleFoam/aerofoilNACA0012/system/controlDict | 2 +- .../rhoSimpleFoam/aerofoilNACA0012/system/decomposeParDict | 2 +- .../rhoSimpleFoam/aerofoilNACA0012/system/extrudeMeshDict | 2 +- .../rhoSimpleFoam/aerofoilNACA0012/system/fvOptions | 2 +- .../rhoSimpleFoam/aerofoilNACA0012/system/fvSchemes | 2 +- .../rhoSimpleFoam/aerofoilNACA0012/system/fvSolution | 2 +- .../rhoSimpleFoam/aerofoilNACA0012/system/topoSetDict | 2 +- .../rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/T | 2 +- .../rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/U | 2 +- .../rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/alphat | 2 +- .../rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/epsilon | 2 +- .../rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/k | 2 +- .../rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/nut | 2 +- .../rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/p | 2 +- .../angledDuctExplicitFixedCoeff/constant/fvOptions | 2 +- .../constant/thermophysicalProperties | 2 +- .../angledDuctExplicitFixedCoeff/constant/turbulenceProperties | 2 +- .../angledDuctExplicitFixedCoeff/system/blockMeshDict | 2 +- .../angledDuctExplicitFixedCoeff/system/controlDict | 2 +- .../rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes | 2 +- .../angledDuctExplicitFixedCoeff/system/fvSolution | 2 +- .../compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/T | 2 +- .../compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/U | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/0.orig/alphat | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/0.orig/epsilon | 2 +- .../compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/k | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/0.orig/nut | 2 +- .../compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/p | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/0.orig/tracer0 | 2 +- .../gasMixing/injectorPipe/constant/thermophysicalProperties | 2 +- .../gasMixing/injectorPipe/constant/turbulenceProperties | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/system/blockMeshDict | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/system/controlDict | 2 +- .../gasMixing/injectorPipe/system/decomposeParDict | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/system/fvSchemes | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/system/fvSolution | 2 +- .../rhoSimpleFoam/gasMixing/injectorPipe/system/meshQualityDict | 2 +- .../gasMixing/injectorPipe/system/snappyHexMeshDict | 2 +- .../gasMixing/injectorPipe/system/surfaceFeatureExtractDict | 2 +- tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/T | 2 +- tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/U | 2 +- tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/alphat | 2 +- tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/epsilon | 2 +- tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/k | 2 +- tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/nut | 2 +- tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/p | 2 +- .../rhoSimpleFoam/squareBend/constant/thermophysicalProperties | 2 +- .../rhoSimpleFoam/squareBend/constant/turbulenceProperties | 2 +- .../compressible/rhoSimpleFoam/squareBend/system/blockMeshDict | 2 +- .../compressible/rhoSimpleFoam/squareBend/system/controlDict | 2 +- .../rhoSimpleFoam/squareBend/system/decomposeParDict | 2 +- .../compressible/rhoSimpleFoam/squareBend/system/fvSchemes | 2 +- .../compressible/rhoSimpleFoam/squareBend/system/fvSolution | 2 +- tutorials/compressible/rhoSimpleFoam/squareBend/system/sampling | 2 +- tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/T | 2 +- tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/U | 2 +- .../compressible/rhoSimpleFoam/squareBendLiq/0.orig/alphat | 2 +- .../compressible/rhoSimpleFoam/squareBendLiq/0.orig/epsilon | 2 +- tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/k | 2 +- tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/nut | 2 +- tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/p | 2 +- .../squareBendLiq/constant/thermophysicalProperties | 2 +- .../rhoSimpleFoam/squareBendLiq/constant/turbulenceProperties | 2 +- .../rhoSimpleFoam/squareBendLiq/system/blockMeshDict | 2 +- .../compressible/rhoSimpleFoam/squareBendLiq/system/controlDict | 2 +- .../rhoSimpleFoam/squareBendLiq/system/decomposeParDict | 2 +- .../compressible/rhoSimpleFoam/squareBendLiq/system/fvSchemes | 2 +- .../compressible/rhoSimpleFoam/squareBendLiq/system/fvSolution | 2 +- .../compressible/rhoSimpleFoam/squareBendLiq/system/topoSetDict | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/T | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/U | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/alphat | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/epsilon | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/k | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/nut | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/p | 2 +- .../squareBendLiqNoNewtonian/constant/thermophysicalProperties | 2 +- .../squareBendLiqNoNewtonian/constant/turbulenceProperties | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/system/blockMeshDict | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/system/controlDict | 2 +- .../squareBendLiqNoNewtonian/system/decomposeParDict | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSchemes | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSolution | 2 +- .../rhoSimpleFoam/squareBendLiqNoNewtonian/system/topoSetDict | 2 +- tutorials/compressible/sonicDyMFoam/movingCone/0/T | 2 +- tutorials/compressible/sonicDyMFoam/movingCone/0/U | 2 +- tutorials/compressible/sonicDyMFoam/movingCone/0/p | 2 +- tutorials/compressible/sonicDyMFoam/movingCone/0/pointMotionUx | 2 +- .../sonicDyMFoam/movingCone/constant/dynamicMeshDict | 2 +- .../sonicDyMFoam/movingCone/constant/thermophysicalProperties | 2 +- .../sonicDyMFoam/movingCone/constant/turbulenceProperties | 2 +- .../compressible/sonicDyMFoam/movingCone/system/blockMeshDict | 2 +- .../compressible/sonicDyMFoam/movingCone/system/controlDict | 2 +- tutorials/compressible/sonicDyMFoam/movingCone/system/fvSchemes | 2 +- .../compressible/sonicDyMFoam/movingCone/system/fvSolution | 2 +- tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/T | 2 +- tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/U | 2 +- tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/alphat | 2 +- tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/epsilon | 2 +- .../sonicFoam/RAS/nacaAirfoil/0.orig/include/initialConditions | 2 +- tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/k | 2 +- tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/nut | 2 +- tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/p | 2 +- .../sonicFoam/RAS/nacaAirfoil/constant/thermophysicalProperties | 2 +- .../sonicFoam/RAS/nacaAirfoil/constant/turbulenceProperties | 2 +- .../compressible/sonicFoam/RAS/nacaAirfoil/system/controlDict | 2 +- .../sonicFoam/RAS/nacaAirfoil/system/decomposeParDict | 2 +- .../compressible/sonicFoam/RAS/nacaAirfoil/system/fvSchemes | 2 +- .../compressible/sonicFoam/RAS/nacaAirfoil/system/fvSolution | 2 +- tutorials/compressible/sonicFoam/RAS/prism/0/T | 2 +- tutorials/compressible/sonicFoam/RAS/prism/0/U | 2 +- tutorials/compressible/sonicFoam/RAS/prism/0/alphat | 2 +- tutorials/compressible/sonicFoam/RAS/prism/0/epsilon | 2 +- tutorials/compressible/sonicFoam/RAS/prism/0/k | 2 +- tutorials/compressible/sonicFoam/RAS/prism/0/nut | 2 +- tutorials/compressible/sonicFoam/RAS/prism/0/p | 2 +- .../sonicFoam/RAS/prism/constant/thermophysicalProperties | 2 +- .../sonicFoam/RAS/prism/constant/turbulenceProperties | 2 +- tutorials/compressible/sonicFoam/RAS/prism/system/blockMeshDict | 2 +- tutorials/compressible/sonicFoam/RAS/prism/system/controlDict | 2 +- tutorials/compressible/sonicFoam/RAS/prism/system/fvSchemes | 2 +- tutorials/compressible/sonicFoam/RAS/prism/system/fvSolution | 2 +- tutorials/compressible/sonicFoam/laminar/forwardStep/0/T | 2 +- tutorials/compressible/sonicFoam/laminar/forwardStep/0/U | 2 +- tutorials/compressible/sonicFoam/laminar/forwardStep/0/p | 2 +- .../laminar/forwardStep/constant/thermophysicalProperties | 2 +- .../sonicFoam/laminar/forwardStep/constant/turbulenceProperties | 2 +- .../sonicFoam/laminar/forwardStep/system/blockMeshDict | 2 +- .../sonicFoam/laminar/forwardStep/system/controlDict | 2 +- .../compressible/sonicFoam/laminar/forwardStep/system/fvSchemes | 2 +- .../sonicFoam/laminar/forwardStep/system/fvSolution | 2 +- tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/T | 2 +- tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/U | 2 +- tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/p | 2 +- .../laminar/shockTube/constant/thermophysicalProperties | 2 +- .../sonicFoam/laminar/shockTube/constant/turbulenceProperties | 2 +- .../sonicFoam/laminar/shockTube/system/blockMeshDict | 2 +- .../compressible/sonicFoam/laminar/shockTube/system/controlDict | 2 +- .../compressible/sonicFoam/laminar/shockTube/system/fvSchemes | 2 +- .../compressible/sonicFoam/laminar/shockTube/system/fvSolution | 2 +- .../compressible/sonicFoam/laminar/shockTube/system/sample | 2 +- .../sonicFoam/laminar/shockTube/system/setFieldsDict | 2 +- tutorials/compressible/sonicLiquidFoam/decompressionTank/0/U | 2 +- tutorials/compressible/sonicLiquidFoam/decompressionTank/0/p | 2 +- .../decompressionTank/constant/thermodynamicProperties | 2 +- .../decompressionTank/constant/transportProperties | 2 +- .../sonicLiquidFoam/decompressionTank/system/blockMeshDict | 2 +- .../sonicLiquidFoam/decompressionTank/system/controlDict | 2 +- .../sonicLiquidFoam/decompressionTank/system/fvSchemes | 2 +- .../sonicLiquidFoam/decompressionTank/system/fvSolution | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryT | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryU | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/dsmcRhoN | 2 +- tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/fD | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/iDof | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/internalE | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/linearKE | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/momentum | 2 +- tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/q | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoM | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoN | 2 +- .../dsmcFoam/freeSpacePeriodic/constant/dsmcProperties | 2 +- .../dsmcFoam/freeSpacePeriodic/system/blockMeshDict | 2 +- .../dsmcFoam/freeSpacePeriodic/system/controlDict | 2 +- .../dsmcFoam/freeSpacePeriodic/system/decomposeParDict | 2 +- .../dsmcFoam/freeSpacePeriodic/system/dsmcInitialiseDict | 2 +- .../discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSchemes | 2 +- .../dsmcFoam/freeSpacePeriodic/system/fvSolution | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryT | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryU | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/0.orig/dsmcRhoN | 2 +- tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/fD | 2 +- tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/iDof | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/0.orig/internalE | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/0.orig/linearKE | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/0.orig/momentum | 2 +- tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/q | 2 +- tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoM | 2 +- tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoN | 2 +- .../dsmcFoam/freeSpaceStream/constant/dsmcProperties | 2 +- .../dsmcFoam/freeSpaceStream/system/blockMeshDict | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict | 2 +- .../dsmcFoam/freeSpaceStream/system/decomposeParDict | 2 +- .../dsmcFoam/freeSpaceStream/system/dsmcInitialiseDict | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/system/fvSchemes | 2 +- .../discreteMethods/dsmcFoam/freeSpaceStream/system/fvSolution | 2 +- .../discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryT | 2 +- .../discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryU | 2 +- .../discreteMethods/dsmcFoam/supersonicCorner/0.orig/dsmcRhoN | 2 +- tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/fD | 2 +- tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/iDof | 2 +- .../discreteMethods/dsmcFoam/supersonicCorner/0.orig/internalE | 2 +- .../discreteMethods/dsmcFoam/supersonicCorner/0.orig/linearKE | 2 +- .../discreteMethods/dsmcFoam/supersonicCorner/0.orig/momentum | 2 +- tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/q | 2 +- tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoM | 2 +- tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoN | 2 +- .../dsmcFoam/supersonicCorner/constant/dsmcProperties | 2 +- .../dsmcFoam/supersonicCorner/system/blockMeshDict | 2 +- .../dsmcFoam/supersonicCorner/system/controlDict | 2 +- .../dsmcFoam/supersonicCorner/system/decomposeParDict | 2 +- .../dsmcFoam/supersonicCorner/system/dsmcInitialiseDict | 2 +- .../discreteMethods/dsmcFoam/supersonicCorner/system/fvSchemes | 2 +- .../discreteMethods/dsmcFoam/supersonicCorner/system/fvSolution | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryT | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryU | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/dsmcRhoN | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/fD | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/iDof | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/internalE | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/linearKE | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/momentum | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/q | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoM | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoN | 2 +- .../discreteMethods/dsmcFoam/wedge15Ma5/constant/dsmcProperties | 2 +- .../discreteMethods/dsmcFoam/wedge15Ma5/system/blockMeshDict | 2 +- .../discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict | 2 +- .../discreteMethods/dsmcFoam/wedge15Ma5/system/decomposeParDict | 2 +- .../dsmcFoam/wedge15Ma5/system/dsmcInitialiseDict | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSchemes | 2 +- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSolution | 2 +- .../mdEquilibrationFoam/periodicCubeArgon/0.orig/U | 2 +- .../periodicCubeArgon/constant/moleculeProperties | 2 +- .../mdEquilibrationFoam/periodicCubeArgon/system/blockMeshDict | 2 +- .../mdEquilibrationFoam/periodicCubeArgon/system/controlDict | 2 +- .../mdEquilibrationFoam/periodicCubeArgon/system/fvSchemes | 2 +- .../mdEquilibrationFoam/periodicCubeArgon/system/fvSolution | 2 +- .../periodicCubeArgon/system/mdEquilibrationDict | 2 +- .../periodicCubeArgon/system/mdInitialiseDict | 2 +- .../mdEquilibrationFoam/periodicCubeArgon/system/potentialDict | 2 +- .../mdEquilibrationFoam/periodicCubeWater/0.orig/U | 2 +- .../periodicCubeWater/constant/moleculeProperties | 2 +- .../mdEquilibrationFoam/periodicCubeWater/system/blockMeshDict | 2 +- .../mdEquilibrationFoam/periodicCubeWater/system/controlDict | 2 +- .../mdEquilibrationFoam/periodicCubeWater/system/fvSchemes | 2 +- .../mdEquilibrationFoam/periodicCubeWater/system/fvSolution | 2 +- .../periodicCubeWater/system/mdEquilibrationDict | 2 +- .../periodicCubeWater/system/mdInitialiseDict | 2 +- .../mdEquilibrationFoam/periodicCubeWater/system/potentialDict | 2 +- .../molecularDynamics/mdFoam/nanoNozzle/0.orig/U | 2 +- .../mdFoam/nanoNozzle/constant/moleculeProperties | 2 +- .../molecularDynamics/mdFoam/nanoNozzle/system/blockMeshDict | 2 +- .../molecularDynamics/mdFoam/nanoNozzle/system/controlDict | 2 +- .../molecularDynamics/mdFoam/nanoNozzle/system/decomposeParDict | 2 +- .../molecularDynamics/mdFoam/nanoNozzle/system/fvSchemes | 2 +- .../molecularDynamics/mdFoam/nanoNozzle/system/fvSolution | 2 +- .../mdFoam/nanoNozzle/system/mdEquilibrationDict | 2 +- .../molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict | 2 +- .../molecularDynamics/mdFoam/nanoNozzle/system/potentialDict | 2 +- tutorials/electromagnetics/electrostaticFoam/chargedWire/0/phi | 2 +- tutorials/electromagnetics/electrostaticFoam/chargedWire/0/rho | 2 +- .../electrostaticFoam/chargedWire/constant/physicalProperties | 2 +- .../electrostaticFoam/chargedWire/system/blockMeshDict | 2 +- .../electrostaticFoam/chargedWire/system/controlDict | 2 +- .../electrostaticFoam/chargedWire/system/fvSchemes | 2 +- .../electrostaticFoam/chargedWire/system/fvSolution | 2 +- tutorials/electromagnetics/mhdFoam/hartmann/0.orig/B | 2 +- tutorials/electromagnetics/mhdFoam/hartmann/0.orig/U | 2 +- tutorials/electromagnetics/mhdFoam/hartmann/0.orig/p | 2 +- tutorials/electromagnetics/mhdFoam/hartmann/0.orig/pB | 2 +- .../mhdFoam/hartmann/constant/transportProperties | 2 +- .../electromagnetics/mhdFoam/hartmann/system/blockMeshDict | 2 +- tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict | 2 +- .../electromagnetics/mhdFoam/hartmann/system/decomposeParDict | 2 +- tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes | 2 +- tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution | 2 +- tutorials/electromagnetics/mhdFoam/hartmann/system/sample | 2 +- tutorials/financial/financialFoam/europeanCall/0/V | 2 +- .../financialFoam/europeanCall/constant/financialProperties | 2 +- .../financial/financialFoam/europeanCall/system/blockMeshDict | 2 +- .../financial/financialFoam/europeanCall/system/controlDict | 2 +- tutorials/financial/financialFoam/europeanCall/system/fvSchemes | 2 +- .../financial/financialFoam/europeanCall/system/fvSolution | 2 +- .../finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/Us | 2 +- .../finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/h | 2 +- .../liquidFilmFoam/cylinder/0.orig/finite-area/manningField | 2 +- tutorials/finiteArea/liquidFilmFoam/cylinder/constant/g | 2 +- .../liquidFilmFoam/cylinder/constant/transportProperties | 2 +- .../finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict | 2 +- tutorials/finiteArea/liquidFilmFoam/cylinder/system/controlDict | 2 +- .../finiteArea/liquidFilmFoam/cylinder/system/decomposeParDict | 2 +- .../liquidFilmFoam/cylinder/system/finite-area/faMeshDefinition | 2 +- .../liquidFilmFoam/cylinder/system/finite-area/faSchemes | 2 +- .../liquidFilmFoam/cylinder/system/finite-area/faSolution | 2 +- tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSchemes | 2 +- tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSolution | 2 +- .../finiteArea/liquidFilmFoam/cylinder/system/setFieldsDict | 2 +- .../finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/Cvf | 2 +- .../finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/U | 2 +- .../sphereSurfactantFoam/sphereTransport/0.orig/finite-area/Cs | 2 +- .../sphereSurfactantFoam/sphereTransport/system/controlDict | 2 +- .../sphereTransport/system/decomposeParDict | 2 +- .../sphereTransport/system/finite-area/faMeshDefinition | 2 +- .../sphereTransport/system/finite-area/faSchemes | 2 +- .../sphereTransport/system/finite-area/faSolution | 2 +- .../sphereSurfactantFoam/sphereTransport/system/fvSchemes | 2 +- .../sphereSurfactantFoam/sphereTransport/system/fvSolution | 2 +- .../surfactantFoam/planeTransport/0.orig/finite-area/Cs | 2 +- .../surfactantFoam/planeTransport/0.orig/finite-area/Us | 2 +- .../surfactantFoam/planeTransport/constant/transportProperties | 2 +- .../surfactantFoam/planeTransport/system/blockMeshDict | 2 +- .../finiteArea/surfactantFoam/planeTransport/system/controlDict | 2 +- .../surfactantFoam/planeTransport/system/decomposeParDict | 2 +- .../planeTransport/system/decomposeParDict-procBoundary4 | 2 +- .../planeTransport/system/decomposeParDict-procBoundary8 | 2 +- .../planeTransport/system/finite-area/faMeshDefinition | 2 +- .../surfactantFoam/planeTransport/system/finite-area/faSchemes | 2 +- .../surfactantFoam/planeTransport/system/finite-area/faSolution | 2 +- .../finiteArea/surfactantFoam/planeTransport/system/fvSchemes | 2 +- .../finiteArea/surfactantFoam/planeTransport/system/fvSolution | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/T | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/U | 2 +- .../buoyantBoussinesqPimpleFoam/BenardCells/0/alphat | 2 +- .../buoyantBoussinesqPimpleFoam/BenardCells/0/epsilon | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/k | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/nut | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p | 2 +- .../buoyantBoussinesqPimpleFoam/BenardCells/0/p_rgh | 2 +- .../buoyantBoussinesqPimpleFoam/BenardCells/constant/g | 2 +- .../BenardCells/constant/transportProperties | 2 +- .../BenardCells/constant/turbulenceProperties | 2 +- .../BenardCells/system/blockMeshDict | 2 +- .../buoyantBoussinesqPimpleFoam/BenardCells/system/controlDict | 2 +- .../buoyantBoussinesqPimpleFoam/BenardCells/system/fvSchemes | 2 +- .../buoyantBoussinesqPimpleFoam/BenardCells/system/fvSolution | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/T | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/U | 2 +- .../buoyantBoussinesqPimpleFoam/hotRoom/0.orig/alphat | 2 +- .../buoyantBoussinesqPimpleFoam/hotRoom/0.orig/epsilon | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/k | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/nut | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p | 2 +- .../buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p_rgh | 2 +- .../heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/g | 2 +- .../hotRoom/constant/transportProperties | 2 +- .../hotRoom/constant/turbulenceProperties | 2 +- .../buoyantBoussinesqPimpleFoam/hotRoom/system/blockMeshDict | 2 +- .../buoyantBoussinesqPimpleFoam/hotRoom/system/controlDict | 2 +- .../buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes | 2 +- .../buoyantBoussinesqPimpleFoam/hotRoom/system/fvSolution | 2 +- .../buoyantBoussinesqPimpleFoam/hotRoom/system/setFieldsDict | 2 +- .../heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/T | 2 +- .../heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/U | 2 +- .../buoyantBoussinesqSimpleFoam/hotRoom/0.orig/alphat | 2 +- .../buoyantBoussinesqSimpleFoam/hotRoom/0.orig/epsilon | 2 +- .../heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/k | 2 +- .../heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/nut | 2 +- .../heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p | 2 +- .../buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p_rgh | 2 +- .../heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/g | 2 +- .../hotRoom/constant/transportProperties | 2 +- .../hotRoom/constant/turbulenceProperties | 2 +- .../buoyantBoussinesqSimpleFoam/hotRoom/system/blockMeshDict | 2 +- .../buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict | 2 +- .../buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes | 2 +- .../buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution | 2 +- .../buoyantBoussinesqSimpleFoam/hotRoom/system/setFieldsDict | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/T | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/U | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/alphat | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/epsilon | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/k | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/nut | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p_rgh | 2 +- .../buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/g | 2 +- .../iglooWithFridges/constant/transportProperties | 2 +- .../iglooWithFridges/constant/turbulenceProperties | 2 +- .../iglooWithFridges/system/blockMeshDict | 2 +- .../iglooWithFridges/system/controlDict | 2 +- .../iglooWithFridges/system/decomposeParDict | 2 +- .../iglooWithFridges/system/fvSchemes | 2 +- .../iglooWithFridges/system/fvSolution | 2 +- .../iglooWithFridges/system/meshQualityDict | 2 +- .../iglooWithFridges/system/snappyHexMeshDict | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/T | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/U | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/alphat | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/epsilon | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/k | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/nut | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p_rgh | 2 +- tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/g | 2 +- .../buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties | 2 +- .../buoyantPimpleFoam/hotRoom/constant/turbulenceProperties | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoom/system/blockMeshDict | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoom/system/controlDict | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSolution | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoom/system/setFieldsDict | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/0/IDefault | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/T | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/U | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/0/alphat | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/0/epsilon | 2 +- .../hotRoomWithThermalShell/0/finite-area/Ts_ceilingShell | 2 +- .../hotRoomWithThermalShell/0/finite-area/h_ceilingShell | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/k | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/0/nut | 2 +- .../heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/0/p_rgh | 2 +- .../constant/boundaryRadiationProperties | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/constant/g | 2 +- .../hotRoomWithThermalShell/constant/radiationProperties | 2 +- .../hotRoomWithThermalShell/constant/thermophysicalProperties | 2 +- .../hotRoomWithThermalShell/constant/turbulenceProperties | 2 +- .../hotRoomWithThermalShell/system/blockMeshDict | 2 +- .../hotRoomWithThermalShell/system/controlDict | 2 +- .../hotRoomWithThermalShell/system/createPatchDict | 2 +- .../hotRoomWithThermalShell/system/decomposeParDict | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/system/faOptions | 2 +- .../hotRoomWithThermalShell/system/finite-area/faMeshDefinition | 2 +- .../hotRoomWithThermalShell/system/finite-area/faSchemes | 2 +- .../hotRoomWithThermalShell/system/finite-area/faSolution | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSchemes | 2 +- .../buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSolution | 2 +- .../hotRoomWithThermalShell/system/topoSetDict | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/0.orig/IDefault | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/0.orig/T | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/0.orig/U | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/0.orig/p | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/0.orig/p_rgh | 2 +- .../thermocoupleTestCase/constant/boundaryRadiationProperties | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/constant/g | 2 +- .../thermocoupleTestCase/constant/radiationProperties | 2 +- .../thermocoupleTestCase/constant/thermophysicalProperties | 2 +- .../thermocoupleTestCase/constant/turbulenceProperties | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/system/blockMeshDict | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/system/controlDict | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/system/fvSchemes | 2 +- .../buoyantPimpleFoam/thermocoupleTestCase/system/fvSolution | 2 +- tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/T | 2 +- tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/U | 2 +- .../heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/alphat | 2 +- .../heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/epsilon | 2 +- tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/k | 2 +- .../heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/nut | 2 +- .../heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/omega | 2 +- tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p | 2 +- .../heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p_rgh | 2 +- .../heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/g | 2 +- .../buoyantCavity/constant/thermophysicalProperties | 2 +- .../buoyantCavity/constant/turbulenceProperties | 2 +- .../buoyantSimpleFoam/buoyantCavity/system/blockMeshDict | 2 +- .../buoyantSimpleFoam/buoyantCavity/system/controlDict | 2 +- .../buoyantSimpleFoam/buoyantCavity/system/fvSchemes | 2 +- .../buoyantSimpleFoam/buoyantCavity/system/fvSolution | 2 +- .../heatTransfer/buoyantSimpleFoam/buoyantCavity/system/sample | 2 +- .../heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/T | 2 +- .../heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/U | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/0.orig/alphat | 2 +- .../circuitBoardCooling/0.orig/baffle3DRegion/Q | 2 +- .../circuitBoardCooling/0.orig/baffle3DRegion/T | 2 +- .../circuitBoardCooling/0.orig/baffle3DRegion/p | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/0.orig/epsilon | 2 +- .../0.orig/include/1DBaffle/1DTemperatureMasterBafflePatches | 2 +- .../0.orig/include/1DBaffle/1DbaffleSolidThermo | 2 +- .../0.orig/include/3DBaffle/3DTemperatureMasterBafflePatches | 2 +- .../0.orig/include/3DBaffle/3DbaffleSolidThermo | 2 +- .../circuitBoardCooling/0.orig/include/3DBaffle/extrudeModel | 2 +- .../circuitBoardCooling/0.orig/include/baffle3DSetup | 2 +- .../circuitBoardCooling/0.orig/include/wallBafflePatches | 2 +- .../heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/k | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/0.orig/nut | 2 +- .../heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/0.orig/p_rgh | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/constant/g | 2 +- .../circuitBoardCooling/constant/thermophysicalProperties | 2 +- .../circuitBoardCooling/constant/turbulenceProperties | 2 +- .../circuitBoardCooling/system/baffle3DRegion/fvSchemes | 2 +- .../circuitBoardCooling/system/baffle3DRegion/fvSolution | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/system/blockMeshDict | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/system/controlDict | 2 +- .../circuitBoardCooling/system/createBafflesDict | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes | 2 +- .../buoyantSimpleFoam/circuitBoardCooling/system/fvSolution | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/DR | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PMV | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PPD | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/T | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/U | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/alphat | 2 +- .../buoyantSimpleFoam/comfortHotRoom/0.orig/epsilon | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/k | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/nut | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p_rgh | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/g | 2 +- .../comfortHotRoom/constant/thermophysicalProperties | 2 +- .../comfortHotRoom/constant/turbulenceProperties | 2 +- .../heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOage | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/FOcomfort | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/blockMeshDict | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/controlDict | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/createPatchDict | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/decomposeParDict | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/fvOptions | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/fvSchemes | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/fvSolution | 2 +- .../buoyantSimpleFoam/comfortHotRoom/system/topoSetDict | 2 +- .../heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/G | 2 +- .../heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/T | 2 +- .../heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/U | 2 +- .../buoyantSimpleFoam/hotRadiationRoom/0.orig/alphat | 2 +- .../buoyantSimpleFoam/hotRadiationRoom/0.orig/epsilon | 2 +- .../heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/k | 2 +- .../heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/nut | 2 +- .../heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p | 2 +- .../buoyantSimpleFoam/hotRadiationRoom/0.orig/p_rgh | 2 +- .../hotRadiationRoom/constant/boundaryRadiationProperties | 2 +- .../heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/g | 2 +- .../hotRadiationRoom/constant/radiationProperties | 2 +- .../hotRadiationRoom/constant/thermophysicalProperties | 2 +- .../hotRadiationRoom/constant/turbulenceProperties | 2 +- .../buoyantSimpleFoam/hotRadiationRoom/system/blockMeshDict | 2 +- .../buoyantSimpleFoam/hotRadiationRoom/system/controlDict | 2 +- .../buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes | 2 +- .../buoyantSimpleFoam/hotRadiationRoom/system/fvSolution | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/G | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/IDefault | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/T | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/U | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/alphat | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/epsilon | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/k | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/nut | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p_rgh | 2 +- .../hotRadiationRoomFvDOM/constant/boundaryRadiationProperties | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/g | 2 +- .../hotRadiationRoomFvDOM/constant/radiationProperties | 2 +- .../hotRadiationRoomFvDOM/constant/thermophysicalProperties | 2 +- .../hotRadiationRoomFvDOM/constant/turbulenceProperties | 2 +- .../hotRadiationRoomFvDOM/system/blockMeshDict | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/system/controlDict | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes | 2 +- .../buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSolution | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/0.orig/T | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/0.orig/U | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/0.orig/alphat | 2 +- .../roomWithThickCeiling/0.orig/baffle3DRegion/T | 2 +- .../roomWithThickCeiling/0.orig/baffle3DRegion/p | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/0.orig/epsilon | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/0.orig/k | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/0.orig/nut | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/0.orig/p | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/0.orig/p_rgh | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/constant/g | 2 +- .../roomWithThickCeiling/constant/thermophysicalProperties | 2 +- .../roomWithThickCeiling/constant/turbulenceProperties | 2 +- .../roomWithThickCeiling/system/baffle3DRegion/fvSchemes | 2 +- .../roomWithThickCeiling/system/baffle3DRegion/fvSolution | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/system/blockMeshDict | 2 +- .../roomWithThickCeiling/system/changeDictionaryDict | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/system/controlDict | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/system/fvSchemes | 2 +- .../buoyantSimpleFoam/roomWithThickCeiling/system/fvSolution | 2 +- .../heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/T | 2 +- .../heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/U | 2 +- .../heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p | 2 +- .../buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p_rgh | 2 +- .../simpleCarSolarPanel/constant/boundaryRadiationProperties | 2 +- .../buoyantSimpleFoam/simpleCarSolarPanel/constant/g | 2 +- .../simpleCarSolarPanel/constant/radiationProperties | 2 +- .../simpleCarSolarPanel/constant/thermophysicalProperties | 2 +- .../simpleCarSolarPanel/constant/turbulenceProperties | 2 +- .../buoyantSimpleFoam/simpleCarSolarPanel/system/blockMeshDict | 2 +- .../buoyantSimpleFoam/simpleCarSolarPanel/system/controlDict | 2 +- .../buoyantSimpleFoam/simpleCarSolarPanel/system/fvSchemes | 2 +- .../buoyantSimpleFoam/simpleCarSolarPanel/system/fvSolution | 2 +- .../simpleCarSolarPanel/system/meshQualityDict | 2 +- .../simpleCarSolarPanel/system/snappyHexMeshDict | 2 +- .../simpleCarSolarPanel/system/surfaceFeatureExtractDict | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/0.orig/T | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/0.orig/U | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/0.orig/epsilon | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/0.orig/k | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/0.orig/p | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/0.orig/p_rgh | 2 +- .../constant/bottomWater/radiationProperties | 2 +- .../constant/bottomWater/thermophysicalProperties | 2 +- .../constant/bottomWater/turbulenceProperties | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/constant/g | 2 +- .../externalCoupledHeater/constant/heater/radiationProperties | 2 +- .../constant/heater/thermophysicalProperties | 2 +- .../externalCoupledHeater/constant/regionProperties | 2 +- .../constant/topAir/thermophysicalProperties | 2 +- .../externalCoupledHeater/system/blockMeshDict | 2 +- .../system/bottomWater/changeDictionaryDict | 2 +- .../externalCoupledHeater/system/bottomWater/fvSchemes | 2 +- .../externalCoupledHeater/system/bottomWater/fvSolution | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/system/controlDict | 2 +- .../externalCoupledHeater/system/decomposeParDict | 2 +- .../externalCoupledHeater/system/externalCoupled | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/system/fvSchemes | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/system/fvSolution | 2 +- .../externalCoupledHeater/system/heater/changeDictionaryDict | 2 +- .../externalCoupledHeater/system/heater/decomposeParDict | 2 +- .../externalCoupledHeater/system/heater/fvSchemes | 2 +- .../externalCoupledHeater/system/heater/fvSolution | 2 +- .../externalCoupledHeater/system/leftSolid/changeDictionaryDict | 2 +- .../system/rightSolid/changeDictionaryDict | 2 +- .../externalCoupledHeater/system/topAir/changeDictionaryDict | 2 +- .../chtMultiRegionFoam/externalCoupledHeater/system/topoSetDict | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/G | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/IDefault | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/T | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/U | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/alphat | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/epsilon | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/k | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/nut | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/p | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/p_rgh | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/air/qr | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/floor/T | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/floor/p | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/solid/T | 2 +- .../chtMultiRegionFoam/externalSolarLoad/0.orig/solid/p | 2 +- .../externalSolarLoad/constant/air/boundaryRadiationProperties | 2 +- .../externalSolarLoad/constant/air/radiationProperties | 2 +- .../externalSolarLoad/constant/air/thermophysicalProperties | 2 +- .../externalSolarLoad/constant/air/turbulenceProperties | 2 +- .../externalSolarLoad/constant/air/viewFactorsDict | 2 +- .../externalSolarLoad/constant/floor/radiationProperties | 2 +- .../externalSolarLoad/constant/floor/thermophysicalProperties | 2 +- .../chtMultiRegionFoam/externalSolarLoad/constant/g | 2 +- .../externalSolarLoad/constant/regionProperties | 2 +- .../externalSolarLoad/constant/solid/radiationProperties | 2 +- .../externalSolarLoad/constant/solid/thermophysicalProperties | 2 +- .../externalSolarLoad/system/air/changeDictionaryDict | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/air/fvSchemes | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/air/fvSolution | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/blockMeshDict | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/controlDict | 2 +- .../externalSolarLoad/system/decomposeParDict | 2 +- .../externalSolarLoad/system/extrudeToRegionMeshDict | 2 +- .../externalSolarLoad/system/floor/changeDictionaryDict | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/floor/fvSchemes | 2 +- .../externalSolarLoad/system/floor/fvSolution | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/fvSchemes | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/fvSolution | 2 +- .../externalSolarLoad/system/solid/changeDictionaryDict | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/solid/fvSchemes | 2 +- .../externalSolarLoad/system/solid/fvSolution | 2 +- .../chtMultiRegionFoam/externalSolarLoad/system/topoSetDict | 2 +- .../heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/T | 2 +- .../heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/U | 2 +- .../chtMultiRegionFoam/multiRegionHeater/0.orig/epsilon | 2 +- .../heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/k | 2 +- .../heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p | 2 +- .../chtMultiRegionFoam/multiRegionHeater/0.orig/p_rgh | 2 +- .../multiRegionHeater/constant/bottomWater/radiationProperties | 2 +- .../constant/bottomWater/thermophysicalProperties | 2 +- .../multiRegionHeater/constant/bottomWater/turbulenceProperties | 2 +- .../chtMultiRegionFoam/multiRegionHeater/constant/g | 2 +- .../multiRegionHeater/constant/heater/radiationProperties | 2 +- .../multiRegionHeater/constant/heater/thermophysicalProperties | 2 +- .../multiRegionHeater/constant/regionProperties | 2 +- .../multiRegionHeater/constant/topAir/thermophysicalProperties | 2 +- .../chtMultiRegionFoam/multiRegionHeater/system/blockMeshDict | 2 +- .../multiRegionHeater/system/bottomWater/changeDictionaryDict | 2 +- .../multiRegionHeater/system/bottomWater/fvSchemes | 2 +- .../multiRegionHeater/system/bottomWater/fvSolution | 2 +- .../chtMultiRegionFoam/multiRegionHeater/system/controlDict | 2 +- .../multiRegionHeater/system/decomposeParDict | 2 +- .../chtMultiRegionFoam/multiRegionHeater/system/fvSchemes | 2 +- .../chtMultiRegionFoam/multiRegionHeater/system/fvSolution | 2 +- .../multiRegionHeater/system/heater/changeDictionaryDict | 2 +- .../multiRegionHeater/system/heater/fvSchemes | 2 +- .../multiRegionHeater/system/heater/fvSolution | 2 +- .../multiRegionHeater/system/leftSolid/changeDictionaryDict | 2 +- .../multiRegionHeater/system/leftSolid/fvSolution | 2 +- .../multiRegionHeater/system/rightSolid/changeDictionaryDict | 2 +- .../multiRegionHeater/system/rightSolid/fvSolution | 2 +- .../multiRegionHeater/system/topAir/changeDictionaryDict | 2 +- .../multiRegionHeater/system/topAir/fvSolution | 2 +- .../chtMultiRegionFoam/multiRegionHeater/system/topoSetDict | 2 +- .../chtMultiRegionFoam/reverseBurner/0.orig/gas/CH4 | 2 +- .../heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/N2 | 2 +- .../heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/O2 | 2 +- .../heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/T | 2 +- .../heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/U | 2 +- .../chtMultiRegionFoam/reverseBurner/0.orig/gas/Ydefault | 2 +- .../chtMultiRegionFoam/reverseBurner/0.orig/gas/alphat | 2 +- .../chtMultiRegionFoam/reverseBurner/0.orig/gas/epsilon | 2 +- .../heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/k | 2 +- .../chtMultiRegionFoam/reverseBurner/0.orig/gas/nut | 2 +- .../heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p | 2 +- .../chtMultiRegionFoam/reverseBurner/0.orig/gas/p_rgh | 2 +- .../chtMultiRegionFoam/reverseBurner/0.orig/solid/T | 2 +- .../chtMultiRegionFoam/reverseBurner/0.orig/solid/p | 2 +- .../heatTransfer/chtMultiRegionFoam/reverseBurner/constant/g | 2 +- .../reverseBurner/constant/gas/chemistryProperties | 2 +- .../reverseBurner/constant/gas/combustionProperties | 2 +- .../chtMultiRegionFoam/reverseBurner/constant/gas/fvOptions | 2 +- .../reverseBurner/constant/gas/radiationProperties | 2 +- .../chtMultiRegionFoam/reverseBurner/constant/gas/reactions | 2 +- .../reverseBurner/constant/gas/thermo.compressibleGas | 2 +- .../reverseBurner/constant/gas/thermophysicalProperties | 2 +- .../reverseBurner/constant/gas/turbulenceProperties | 2 +- .../chtMultiRegionFoam/reverseBurner/constant/regionProperties | 2 +- .../reverseBurner/constant/solid/radiationProperties | 2 +- .../reverseBurner/constant/solid/thermophysicalProperties | 2 +- .../chtMultiRegionFoam/reverseBurner/system/blockMeshDict | 2 +- .../chtMultiRegionFoam/reverseBurner/system/controlDict | 2 +- .../chtMultiRegionFoam/reverseBurner/system/decomposeParDict | 2 +- .../chtMultiRegionFoam/reverseBurner/system/fvSchemes | 2 +- .../chtMultiRegionFoam/reverseBurner/system/fvSolution | 2 +- .../chtMultiRegionFoam/reverseBurner/system/gas/fvSchemes | 2 +- .../chtMultiRegionFoam/reverseBurner/system/gas/fvSolution | 2 +- .../chtMultiRegionFoam/reverseBurner/system/gas/topoSetDict | 2 +- .../chtMultiRegionFoam/reverseBurner/system/solid/fvSchemes | 2 +- .../chtMultiRegionFoam/reverseBurner/system/solid/fvSolution | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/T | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/U | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/alphat | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/epsilon | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/k | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p_rgh | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/rho | 2 +- .../constant/bottomAir/radiationProperties | 2 +- .../constant/bottomAir/thermophysicalProperties | 2 +- .../constant/bottomAir/turbulenceProperties | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/constant/g | 2 +- .../snappyMultiRegionHeater/constant/heater/radiationProperties | 2 +- .../constant/heater/thermophysicalProperties | 2 +- .../snappyMultiRegionHeater/constant/regionProperties | 2 +- .../snappyMultiRegionHeater/system/blockMeshDict | 2 +- .../system/bottomAir/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/bottomAir/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/bottomAir/fvSolution | 2 +- .../snappyMultiRegionHeater/system/controlDict | 2 +- .../snappyMultiRegionHeater/system/decomposeParDict | 2 +- .../snappyMultiRegionHeater/system/decomposeParDict.6 | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/fvSolution | 2 +- .../snappyMultiRegionHeater/system/heater/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/heater/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/heater/fvSolution | 2 +- .../system/leftSolid/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/leftSolid/fvSolution | 2 +- .../snappyMultiRegionHeater/system/meshQualityDict | 2 +- .../system/rightSolid/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/rightSolid/fvSolution | 2 +- .../snappyMultiRegionHeater/system/snappyHexMeshDict | 2 +- .../snappyMultiRegionHeater/system/surfaceFeatureExtractDict | 2 +- .../snappyMultiRegionHeater/system/topAir/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/topAir/fvSolution | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/T | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/U | 2 +- .../snappyMultiRegionHeaterImplicit/0.orig/alphat | 2 +- .../snappyMultiRegionHeaterImplicit/0.orig/epsilon | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/k | 2 +- .../chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p | 2 +- .../snappyMultiRegionHeaterImplicit/0.orig/p_rgh | 2 +- .../snappyMultiRegionHeaterImplicit/0.orig/rho | 2 +- .../constant/bottomAir/radiationProperties | 2 +- .../constant/bottomAir/thermophysicalProperties | 2 +- .../constant/bottomAir/turbulenceProperties | 2 +- .../snappyMultiRegionHeaterImplicit/constant/g | 2 +- .../constant/heater/radiationProperties | 2 +- .../constant/heater/thermophysicalProperties | 2 +- .../snappyMultiRegionHeaterImplicit/constant/regionProperties | 2 +- .../snappyMultiRegionHeaterImplicit/system/blockMeshDict | 2 +- .../system/bottomAir/changeDictionaryDict | 2 +- .../snappyMultiRegionHeaterImplicit/system/bottomAir/fvSchemes | 2 +- .../snappyMultiRegionHeaterImplicit/system/bottomAir/fvSolution | 2 +- .../snappyMultiRegionHeaterImplicit/system/controlDict | 2 +- .../snappyMultiRegionHeaterImplicit/system/decomposeParDict | 2 +- .../snappyMultiRegionHeaterImplicit/system/fvSchemes | 2 +- .../snappyMultiRegionHeaterImplicit/system/fvSolution | 2 +- .../system/heater/changeDictionaryDict | 2 +- .../snappyMultiRegionHeaterImplicit/system/heater/fvSchemes | 2 +- .../snappyMultiRegionHeaterImplicit/system/heater/fvSolution | 2 +- .../system/leftSolid/changeDictionaryDict | 2 +- .../snappyMultiRegionHeaterImplicit/system/leftSolid/fvSolution | 2 +- .../snappyMultiRegionHeaterImplicit/system/meshQualityDict | 2 +- .../system/rightSolid/changeDictionaryDict | 2 +- .../system/rightSolid/fvSolution | 2 +- .../snappyMultiRegionHeaterImplicit/system/snappyHexMeshDict | 2 +- .../system/surfaceFeatureExtractDict | 2 +- .../system/topAir/changeDictionaryDict | 2 +- .../snappyMultiRegionHeaterImplicit/system/topAir/fvSolution | 2 +- .../snappyMultiRegionHeaterImplicit/system/topoSetDict.f1 | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/G | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/IDefault | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/T | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/U | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/alphat | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/epsilon | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/k | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/nut | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p_rgh | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/qr | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/T | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/p | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/T | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/p | 2 +- .../solarBeamWithTrees/constant/air/boundaryRadiationProperties | 2 +- .../solarBeamWithTrees/constant/air/radiationProperties | 2 +- .../solarBeamWithTrees/constant/air/thermophysicalProperties | 2 +- .../solarBeamWithTrees/constant/air/turbulenceProperties | 2 +- .../solarBeamWithTrees/constant/floor/radiationProperties | 2 +- .../solarBeamWithTrees/constant/floor/thermophysicalProperties | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/constant/g | 2 +- .../solarBeamWithTrees/constant/regionProperties | 2 +- .../solarBeamWithTrees/constant/solid/radiationProperties | 2 +- .../solarBeamWithTrees/constant/solid/thermophysicalProperties | 2 +- .../solarBeamWithTrees/system/air/changeDictionaryDict | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSchemes | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSolution | 2 +- .../solarBeamWithTrees/system/air/topoSetDict | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/system/blockMeshDict | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/system/controlDict | 2 +- .../solarBeamWithTrees/system/decomposeParDict | 2 +- .../solarBeamWithTrees/system/extrudeToRegionMeshDict | 2 +- .../solarBeamWithTrees/system/floor/changeDictionaryDict | 2 +- .../solarBeamWithTrees/system/floor/fvSchemes | 2 +- .../solarBeamWithTrees/system/floor/fvSolution | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/system/fvSchemes | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/system/fvSolution | 2 +- .../solarBeamWithTrees/system/solid/changeDictionaryDict | 2 +- .../solarBeamWithTrees/system/solid/fvSchemes | 2 +- .../solarBeamWithTrees/system/solid/fvSolution | 2 +- .../chtMultiRegionFoam/solarBeamWithTrees/system/topoSetDict | 2 +- .../chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/H2O | 2 +- .../chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T | 2 +- .../chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/U | 2 +- .../windshieldCondensation/0.orig/cabin/alphat | 2 +- .../chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/k | 2 +- .../chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/nut | 2 +- .../windshieldCondensation/0.orig/cabin/omega | 2 +- .../chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p | 2 +- .../windshieldCondensation/0.orig/cabin/p_rgh | 2 +- .../windshieldCondensation/0.orig/windshield/T | 2 +- .../windshieldCondensation/0.orig/windshield/p | 2 +- .../windshieldCondensation/constant/cabin/radiationProperties | 2 +- .../constant/cabin/thermophysicalProperties | 2 +- .../windshieldCondensation/constant/cabin/turbulenceProperties | 2 +- .../chtMultiRegionFoam/windshieldCondensation/constant/g | 2 +- .../windshieldCondensation/constant/regionProperties | 2 +- .../constant/windshield/radiationProperties | 2 +- .../constant/windshield/thermophysicalProperties | 2 +- .../windshieldCondensation/system/blockMeshDict | 2 +- .../windshieldCondensation/system/cabin/fvOptions | 2 +- .../windshieldCondensation/system/cabin/fvSchemes | 2 +- .../windshieldCondensation/system/cabin/fvSolution | 2 +- .../windshieldCondensation/system/cabin/topoSetDict | 2 +- .../windshieldCondensation/system/cabin/topoSetDictRegister | 2 +- .../windshieldCondensation/system/controlDict | 2 +- .../windshieldCondensation/system/decomposeParDict | 2 +- .../chtMultiRegionFoam/windshieldCondensation/system/fvSchemes | 2 +- .../chtMultiRegionFoam/windshieldCondensation/system/fvSolution | 2 +- .../windshieldCondensation/system/solverControls | 2 +- .../windshieldCondensation/system/solverControls.0 | 2 +- .../windshieldCondensation/system/solverControls.20 | 2 +- .../windshieldCondensation/system/solverControls.5 | 2 +- .../windshieldCondensation/system/solverControls.60 | 2 +- .../windshieldCondensation/system/topoSetDict | 2 +- .../windshieldCondensation/system/windshield/fvSchemes | 2 +- .../windshieldCondensation/system/windshield/fvSolution | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/U | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/alphat | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/k | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/nut | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/omega | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p_rgh | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/U | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/alphat | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/k | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/nut | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/omega | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p_rgh | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/ice/U | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p | 2 +- .../chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p_rgh | 2 +- .../windshieldDefrost/constant/cabin/thermophysicalProperties | 2 +- .../windshieldDefrost/constant/cabin/turbulenceProperties | 2 +- .../constant/exterior/thermophysicalProperties | 2 +- .../windshieldDefrost/constant/exterior/turbulenceProperties | 2 +- .../chtMultiRegionFoam/windshieldDefrost/constant/g | 2 +- .../windshieldDefrost/constant/ice/thermophysicalProperties | 2 +- .../windshieldDefrost/constant/ice/turbulenceProperties | 2 +- .../windshieldDefrost/constant/regionProperties | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/blockMeshDict | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSchemes | 2 +- .../windshieldDefrost/system/cabin/fvSolution | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/controlDict | 2 +- .../windshieldDefrost/system/decomposeParDict | 2 +- .../windshieldDefrost/system/exterior/fvSchemes | 2 +- .../windshieldDefrost/system/exterior/fvSolution | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/fvSchemes | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/fvSolution | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/ice/fvOptions | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/ice/fvSchemes | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/ice/fvSolution | 2 +- .../chtMultiRegionFoam/windshieldDefrost/system/topoSetDict | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/T | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/U | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/alphat | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/epsilon | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/k | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/nut | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p_rgh | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/T | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/p | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/T | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/p | 2 +- .../cpuCabinet/constant/domain0/MRFProperties | 2 +- .../cpuCabinet/constant/domain0/thermophysicalProperties | 2 +- .../cpuCabinet/constant/domain0/turbulenceProperties | 2 +- .../heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/g | 2 +- .../cpuCabinet/constant/regionProperties | 2 +- .../cpuCabinet/constant/v_CPU/thermophysicalProperties | 2 +- .../cpuCabinet/constant/v_fins/thermophysicalProperties | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/blockMeshDict | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/controlDict | 2 +- .../cpuCabinet/system/createBafflesDict | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/decomposeParDict | 2 +- .../cpuCabinet/system/domain0/decomposeParDict | 2 +- .../cpuCabinet/system/domain0/fvSchemes | 2 +- .../cpuCabinet/system/domain0/fvSolution | 2 +- .../cpuCabinet/system/domain0/topoSetDict | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/fvSchemes | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/fvSolution | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/meshQualityDict | 2 +- .../cpuCabinet/system/snappyHexMeshDict | 2 +- .../cpuCabinet/system/surfaceFeatureExtractDict | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/topoSetDict.f1 | 2 +- .../cpuCabinet/system/v_CPU/decomposeParDict | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/v_CPU/fvOptions | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/v_CPU/fvSchemes | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/v_CPU/fvSolution | 2 +- .../cpuCabinet/system/v_fins/decomposeParDict | 2 +- .../chtMultiRegionSimpleFoam/cpuCabinet/system/v_fins/fvSchemes | 2 +- .../cpuCabinet/system/v_fins/fvSolution | 2 +- .../chtMultiRegionSimpleFoam/externalCoupledHeater/0.orig/T | 2 +- .../chtMultiRegionSimpleFoam/externalCoupledHeater/0.orig/U | 2 +- .../externalCoupledHeater/0.orig/epsilon | 2 +- .../chtMultiRegionSimpleFoam/externalCoupledHeater/0.orig/k | 2 +- .../chtMultiRegionSimpleFoam/externalCoupledHeater/0.orig/p | 2 +- .../chtMultiRegionSimpleFoam/externalCoupledHeater/0.orig/p_rgh | 2 +- .../constant/bottomWater/radiationProperties | 2 +- .../constant/bottomWater/thermophysicalProperties | 2 +- .../constant/bottomWater/turbulenceProperties | 2 +- .../chtMultiRegionSimpleFoam/externalCoupledHeater/constant/g | 2 +- .../externalCoupledHeater/constant/heater/radiationProperties | 2 +- .../constant/heater/thermophysicalProperties | 2 +- .../externalCoupledHeater/constant/regionProperties | 2 +- .../constant/topAir/thermophysicalProperties | 2 +- .../externalCoupledHeater/system/blockMeshDict | 2 +- .../externalCoupledHeater/system/bottomAir/fvSchemes | 2 +- .../externalCoupledHeater/system/bottomAir/fvSolution | 2 +- .../system/bottomWater/changeDictionaryDict | 2 +- .../externalCoupledHeater/system/bottomWater/fvSchemes | 2 +- .../externalCoupledHeater/system/bottomWater/fvSolution | 2 +- .../externalCoupledHeater/system/controlDict | 2 +- .../externalCoupledHeater/system/decomposeParDict | 2 +- .../externalCoupledHeater/system/externalCoupled | 2 +- .../externalCoupledHeater/system/fvSchemes | 2 +- .../externalCoupledHeater/system/fvSolution | 2 +- .../externalCoupledHeater/system/heater/changeDictionaryDict | 2 +- .../externalCoupledHeater/system/heater/fvSchemes | 2 +- .../externalCoupledHeater/system/heater/fvSolution | 2 +- .../externalCoupledHeater/system/leftSolid/changeDictionaryDict | 2 +- .../externalCoupledHeater/system/leftSolid/fvSolution | 2 +- .../system/rightSolid/changeDictionaryDict | 2 +- .../externalCoupledHeater/system/rightSolid/fvSolution | 2 +- .../externalCoupledHeater/system/topAir/changeDictionaryDict | 2 +- .../externalCoupledHeater/system/topAir/fvSolution | 2 +- .../externalCoupledHeater/system/topoSetDict | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/air/T | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/air/U | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/air/alphat | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/air/epsilon | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/air/k | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/air/nut | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/air/p | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/air/p_rgh | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/porous/AoV | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/porous/T | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/porous/U | 2 +- .../heatExchanger/0.orig/porous/htcConst | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/porous/p | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/0.orig/porous/p_rgh | 2 +- .../heatExchanger/constant/air/MRFProperties | 2 +- .../heatExchanger/constant/air/fvOptions | 2 +- .../heatExchanger/constant/air/radiationProperties | 2 +- .../heatExchanger/constant/air/thermophysicalProperties | 2 +- .../heatExchanger/constant/air/turbulenceProperties | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/constant/g | 2 +- .../heatExchanger/constant/porous/fvOptions | 2 +- .../heatExchanger/constant/porous/thermophysicalProperties | 2 +- .../heatExchanger/constant/porous/turbulenceProperties | 2 +- .../heatExchanger/constant/regionProperties | 2 +- .../heatExchanger/system/air/blockMeshDict | 2 +- .../heatExchanger/system/air/createBafflesDict | 2 +- .../heatExchanger/system/air/decomposeParDict | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/system/air/fvSchemes | 2 +- .../heatExchanger/system/air/fvSolution | 2 +- .../heatExchanger/system/air/topoSetDict.1 | 2 +- .../heatExchanger/system/air/topoSetDict.2 | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/system/controlDict | 2 +- .../heatExchanger/system/decomposeParDict | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/system/fvSchemes | 2 +- .../chtMultiRegionSimpleFoam/heatExchanger/system/fvSolution | 2 +- .../heatExchanger/system/porous/blockMeshDict | 2 +- .../heatExchanger/system/porous/decomposeParDict | 2 +- .../heatExchanger/system/porous/fvSchemes | 2 +- .../heatExchanger/system/porous/fvSolution | 2 +- .../chtMultiRegionSimpleFoam/jouleHeatingSolid/0.orig/solid/T | 2 +- .../jouleHeatingSolid/0.orig/solid/jouleHeatingSource:V | 2 +- .../jouleHeatingSolid/0.orig/solid/jouleHeatingSource:sigma | 2 +- .../chtMultiRegionSimpleFoam/jouleHeatingSolid/0.orig/solid/p | 2 +- .../chtMultiRegionSimpleFoam/jouleHeatingSolid/constant/g | 2 +- .../jouleHeatingSolid/constant/regionProperties | 2 +- .../jouleHeatingSolid/constant/solid/thermophysicalProperties | 2 +- .../jouleHeatingSolid/system/controlDict | 2 +- .../jouleHeatingSolid/system/decomposeParDict | 2 +- .../jouleHeatingSolid/system/fvSolution | 2 +- .../jouleHeatingSolid/system/solid/blockMeshDict | 2 +- .../jouleHeatingSolid/system/solid/fvOptions | 2 +- .../jouleHeatingSolid/system/solid/fvSchemes | 2 +- .../jouleHeatingSolid/system/solid/fvSolution | 2 +- .../multiRegionHeaterRadiation/0.orig/G | 2 +- .../multiRegionHeaterRadiation/0.orig/IDefault | 2 +- .../multiRegionHeaterRadiation/0.orig/T | 2 +- .../multiRegionHeaterRadiation/0.orig/U | 2 +- .../multiRegionHeaterRadiation/0.orig/epsilon | 2 +- .../multiRegionHeaterRadiation/0.orig/k | 2 +- .../multiRegionHeaterRadiation/0.orig/p | 2 +- .../multiRegionHeaterRadiation/0.orig/p_rgh | 2 +- .../multiRegionHeaterRadiation/0.orig/qr | 2 +- .../constant/bottomAir/boundaryRadiationProperties | 2 +- .../constant/bottomAir/radiationProperties | 2 +- .../constant/bottomAir/thermophysicalProperties | 2 +- .../constant/bottomAir/turbulenceProperties | 2 +- .../constant/bottomAir/viewFactorsDict | 2 +- .../multiRegionHeaterRadiation/constant/g | 2 +- .../constant/heater/radiationProperties | 2 +- .../constant/heater/thermophysicalProperties | 2 +- .../multiRegionHeaterRadiation/constant/regionProperties | 2 +- .../constant/topAir/boundaryRadiationProperties | 2 +- .../multiRegionHeaterRadiation/constant/topAir/viewFactorsDict | 2 +- .../multiRegionHeaterRadiation/system/blockMeshDict | 2 +- .../system/bottomAir/changeDictionaryDict | 2 +- .../multiRegionHeaterRadiation/system/bottomAir/fvSchemes | 2 +- .../multiRegionHeaterRadiation/system/bottomAir/fvSolution | 2 +- .../multiRegionHeaterRadiation/system/controlDict | 2 +- .../multiRegionHeaterRadiation/system/decomposeParDict | 2 +- .../multiRegionHeaterRadiation/system/fvSchemes | 2 +- .../multiRegionHeaterRadiation/system/fvSolution | 2 +- .../system/heater/changeDictionaryDict | 2 +- .../multiRegionHeaterRadiation/system/heater/fvSchemes | 2 +- .../multiRegionHeaterRadiation/system/heater/fvSolution | 2 +- .../system/leftSolid/changeDictionaryDict | 2 +- .../multiRegionHeaterRadiation/system/leftSolid/fvSolution | 2 +- .../system/rightSolid/changeDictionaryDict | 2 +- .../multiRegionHeaterRadiation/system/rightSolid/fvSolution | 2 +- .../system/topAir/changeDictionaryDict | 2 +- .../multiRegionHeaterRadiation/system/topAir/fvSolution | 2 +- .../multiRegionHeaterRadiation/system/topoSetDict | 2 +- .../solidQuenching2D/0.orig/solid/T | 2 +- .../solidQuenching2D/0.orig/solid/p | 2 +- .../solidQuenching2D/0.orig/water/T.gas | 2 +- .../solidQuenching2D/0.orig/water/T.liquid | 2 +- .../solidQuenching2D/0.orig/water/U.gas | 2 +- .../solidQuenching2D/0.orig/water/U.liquid | 2 +- .../solidQuenching2D/0.orig/water/alpha.gas | 2 +- .../solidQuenching2D/0.orig/water/alpha.liquid | 2 +- .../solidQuenching2D/0.orig/water/alphat.gas | 2 +- .../solidQuenching2D/0.orig/water/alphat.liquid | 2 +- .../solidQuenching2D/0.orig/water/epsilon.gas | 2 +- .../solidQuenching2D/0.orig/water/epsilon.liquid | 2 +- .../solidQuenching2D/0.orig/water/f.gas.bubbles | 2 +- .../solidQuenching2D/0.orig/water/k.gas | 2 +- .../solidQuenching2D/0.orig/water/k.liquid | 2 +- .../solidQuenching2D/0.orig/water/nut.gas | 2 +- .../solidQuenching2D/0.orig/water/nut.liquid | 2 +- .../solidQuenching2D/0.orig/water/p | 2 +- .../solidQuenching2D/0.orig/water/p_rgh | 2 +- .../chtMultiRegionTwoPhaseEulerFoam/solidQuenching2D/constant/g | 2 +- .../solidQuenching2D/constant/regionProperties | 2 +- .../solidQuenching2D/constant/solid/radiationProperties | 2 +- .../solidQuenching2D/constant/solid/thermophysicalProperties | 2 +- .../solidQuenching2D/constant/water/fvOptions | 2 +- .../solidQuenching2D/constant/water/phaseProperties | 2 +- .../constant/water/thermophysicalProperties.gas | 2 +- .../constant/water/thermophysicalProperties.liquid | 2 +- .../solidQuenching2D/constant/water/turbulenceProperties.gas | 2 +- .../solidQuenching2D/constant/water/turbulenceProperties.liquid | 2 +- .../solidQuenching2D/system/blockMeshDict | 2 +- .../solidQuenching2D/system/controlDict | 2 +- .../solidQuenching2D/system/decomposeParDict | 2 +- .../solidQuenching2D/system/fvSchemes | 2 +- .../solidQuenching2D/system/fvSolution | 2 +- .../solidQuenching2D/system/solid/changeDictionaryDict | 2 +- .../solidQuenching2D/system/solid/fvSchemes | 2 +- .../solidQuenching2D/system/solid/fvSolution | 2 +- .../solidQuenching2D/system/topoSetDict | 2 +- .../solidQuenching2D/system/water/changeDictionaryDict | 2 +- .../solidQuenching2D/system/water/fvSchemes | 2 +- .../solidQuenching2D/system/water/fvSolution | 2 +- .../solidQuenching2D/system/water/setFieldsDict | 2 +- .../heatTransfer/overBuoyantPimpleDyMFoam/movingBox/0.orig/T | 2 +- .../heatTransfer/overBuoyantPimpleDyMFoam/movingBox/0.orig/U | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/0.orig/alphat | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/0.orig/epsilon | 2 +- .../heatTransfer/overBuoyantPimpleDyMFoam/movingBox/0.orig/k | 2 +- .../heatTransfer/overBuoyantPimpleDyMFoam/movingBox/0.orig/nut | 2 +- .../heatTransfer/overBuoyantPimpleDyMFoam/movingBox/0.orig/p | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/0.orig/p_rgh | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/0.orig/pointDisplacement | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/0.orig/zoneID | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/constant/dynamicMeshDict | 2 +- .../heatTransfer/overBuoyantPimpleDyMFoam/movingBox/constant/g | 2 +- .../movingBox/constant/thermophysicalProperties | 2 +- .../movingBox/constant/turbulenceProperties | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/system/blockMeshDict | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/system/controlDict | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/system/decomposeParDict | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/system/fvSchemes | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/system/fvSolution | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/system/setFieldsDict | 2 +- .../overBuoyantPimpleDyMFoam/movingBox/system/topoSetDict | 2 +- tutorials/heatTransfer/solidFoam/movingCone/0/T | 2 +- tutorials/heatTransfer/solidFoam/movingCone/0/U | 2 +- tutorials/heatTransfer/solidFoam/movingCone/0/p | 2 +- tutorials/heatTransfer/solidFoam/movingCone/0/pointMotionUx | 2 +- .../heatTransfer/solidFoam/movingCone/constant/dynamicMeshDict | 2 +- .../solidFoam/movingCone/constant/radiationProperties | 2 +- .../solidFoam/movingCone/constant/thermophysicalProperties | 2 +- .../heatTransfer/solidFoam/movingCone/system/blockMeshDict | 2 +- tutorials/heatTransfer/solidFoam/movingCone/system/controlDict | 2 +- tutorials/heatTransfer/solidFoam/movingCone/system/fvSchemes | 2 +- tutorials/heatTransfer/solidFoam/movingCone/system/fvSolution | 2 +- tutorials/incompressible/SRFPimpleFoam/rotor2D/0.orig/Urel | 2 +- tutorials/incompressible/SRFPimpleFoam/rotor2D/0.orig/epsilon | 2 +- tutorials/incompressible/SRFPimpleFoam/rotor2D/0.orig/k | 2 +- tutorials/incompressible/SRFPimpleFoam/rotor2D/0.orig/nut | 2 +- tutorials/incompressible/SRFPimpleFoam/rotor2D/0.orig/p | 2 +- .../incompressible/SRFPimpleFoam/rotor2D/constant/SRFProperties | 2 +- .../SRFPimpleFoam/rotor2D/constant/transportProperties | 2 +- .../SRFPimpleFoam/rotor2D/constant/turbulenceProperties | 2 +- .../SRFPimpleFoam/rotor2D/system/blockMeshDict.m4 | 2 +- .../incompressible/SRFPimpleFoam/rotor2D/system/controlDict | 2 +- tutorials/incompressible/SRFPimpleFoam/rotor2D/system/fvSchemes | 2 +- .../incompressible/SRFPimpleFoam/rotor2D/system/fvSolution | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/0/Urel | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/0/epsilon | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/0/k | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/0/nut | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/0/omega | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/0/p | 2 +- .../incompressible/SRFSimpleFoam/mixer/constant/SRFProperties | 2 +- .../SRFSimpleFoam/mixer/constant/transportProperties | 2 +- .../SRFSimpleFoam/mixer/constant/turbulenceProperties | 2 +- .../incompressible/SRFSimpleFoam/mixer/system/blockMeshDict | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/system/controlDict | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSchemes | 2 +- tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSolution | 2 +- .../adjointOptimisationFoam/sensitivityMaps/motorBike/0.orig/U | 2 +- .../adjointOptimisationFoam/sensitivityMaps/motorBike/0.orig/Ua | 2 +- .../sensitivityMaps/motorBike/0.orig/include/fixedInlet | 2 +- .../motorBike/0.orig/include/frontBackUpperPatches | 2 +- .../sensitivityMaps/motorBike/0.orig/include/initialConditions | 2 +- .../sensitivityMaps/motorBike/0.orig/nuTilda | 2 +- .../sensitivityMaps/motorBike/0.orig/nuaTilda | 2 +- .../sensitivityMaps/motorBike/0.orig/nut | 2 +- .../adjointOptimisationFoam/sensitivityMaps/motorBike/0.orig/p | 2 +- .../adjointOptimisationFoam/sensitivityMaps/motorBike/0.orig/pa | 2 +- .../sensitivityMaps/motorBike/constant/adjointRASProperties | 2 +- .../sensitivityMaps/motorBike/constant/transportProperties | 2 +- .../sensitivityMaps/motorBike/constant/turbulenceProperties | 2 +- .../sensitivityMaps/motorBike/system/blockMeshDict | 2 +- .../sensitivityMaps/motorBike/system/controlDict | 2 +- .../sensitivityMaps/motorBike/system/decomposeParDict.20 | 2 +- .../sensitivityMaps/motorBike/system/finite-area/faSchemes | 2 +- .../sensitivityMaps/motorBike/system/finite-area/faSolution | 2 +- .../sensitivityMaps/motorBike/system/fvSchemes | 2 +- .../sensitivityMaps/motorBike/system/fvSolution | 2 +- .../sensitivityMaps/motorBike/system/meshQualityDict | 2 +- .../sensitivityMaps/motorBike/system/optimisationDict | 2 +- .../sensitivityMaps/motorBike/system/snappyHexMeshDict | 2 +- .../sensitivityMaps/motorBike/system/surfaceFeatureExtractDict | 2 +- .../sensitivityMaps/naca0012/laminar/drag/0.orig/U | 2 +- .../sensitivityMaps/naca0012/laminar/drag/0.orig/Ua | 2 +- .../sensitivityMaps/naca0012/laminar/drag/0.orig/p | 2 +- .../sensitivityMaps/naca0012/laminar/drag/0.orig/pa | 2 +- .../naca0012/laminar/drag/constant/adjointRASProperties | 2 +- .../naca0012/laminar/drag/constant/transportProperties | 2 +- .../naca0012/laminar/drag/constant/turbulenceProperties | 2 +- .../sensitivityMaps/naca0012/laminar/drag/system/controlDict | 2 +- .../naca0012/laminar/drag/system/decomposeParDict | 2 +- .../sensitivityMaps/naca0012/laminar/drag/system/fvSchemes | 2 +- .../sensitivityMaps/naca0012/laminar/drag/system/fvSolution | 2 +- .../naca0012/laminar/drag/system/optimisationDict | 2 +- .../sensitivityMaps/naca0012/laminar/lift/0.orig/U | 2 +- .../sensitivityMaps/naca0012/laminar/lift/0.orig/Ua | 2 +- .../sensitivityMaps/naca0012/laminar/lift/0.orig/p | 2 +- .../sensitivityMaps/naca0012/laminar/lift/0.orig/pa | 2 +- .../naca0012/laminar/lift/constant/adjointRASProperties | 2 +- .../naca0012/laminar/lift/constant/transportProperties | 2 +- .../naca0012/laminar/lift/constant/turbulenceProperties | 2 +- .../sensitivityMaps/naca0012/laminar/lift/system/controlDict | 2 +- .../naca0012/laminar/lift/system/decomposeParDict | 2 +- .../sensitivityMaps/naca0012/laminar/lift/system/fvSchemes | 2 +- .../sensitivityMaps/naca0012/laminar/lift/system/fvSolution | 2 +- .../naca0012/laminar/lift/system/optimisationDict | 2 +- .../sensitivityMaps/naca0012/laminar/moment/0.orig/U | 2 +- .../sensitivityMaps/naca0012/laminar/moment/0.orig/Ua | 2 +- .../sensitivityMaps/naca0012/laminar/moment/0.orig/p | 2 +- .../sensitivityMaps/naca0012/laminar/moment/0.orig/pa | 2 +- .../naca0012/laminar/moment/constant/adjointRASProperties | 2 +- .../naca0012/laminar/moment/constant/transportProperties | 2 +- .../naca0012/laminar/moment/constant/turbulenceProperties | 2 +- .../sensitivityMaps/naca0012/laminar/moment/system/controlDict | 2 +- .../naca0012/laminar/moment/system/decomposeParDict | 2 +- .../sensitivityMaps/naca0012/laminar/moment/system/fvSchemes | 2 +- .../sensitivityMaps/naca0012/laminar/moment/system/fvSolution | 2 +- .../naca0012/laminar/moment/system/optimisationDict | 2 +- .../sensitivityMaps/naca0012/turbulent/liftFullSetup/0.orig/U | 2 +- .../sensitivityMaps/naca0012/turbulent/liftFullSetup/0.orig/Ua | 2 +- .../naca0012/turbulent/liftFullSetup/0.orig/nuTilda | 2 +- .../naca0012/turbulent/liftFullSetup/0.orig/nuaTilda | 2 +- .../sensitivityMaps/naca0012/turbulent/liftFullSetup/0.orig/nut | 2 +- .../sensitivityMaps/naca0012/turbulent/liftFullSetup/0.orig/p | 2 +- .../sensitivityMaps/naca0012/turbulent/liftFullSetup/0.orig/pa | 2 +- .../turbulent/liftFullSetup/constant/adjointRASProperties | 2 +- .../turbulent/liftFullSetup/constant/transportProperties | 2 +- .../turbulent/liftFullSetup/constant/turbulenceProperties | 2 +- .../naca0012/turbulent/liftFullSetup/system/controlDict | 2 +- .../naca0012/turbulent/liftFullSetup/system/decomposeParDict | 2 +- .../naca0012/turbulent/liftFullSetup/system/fvSchemes | 2 +- .../naca0012/turbulent/liftFullSetup/system/fvSolution | 2 +- .../naca0012/turbulent/liftFullSetup/system/optimisationDict | 2 +- .../naca0012/turbulent/liftMinimumSetup/0.orig/U | 2 +- .../naca0012/turbulent/liftMinimumSetup/0.orig/Ua | 2 +- .../naca0012/turbulent/liftMinimumSetup/0.orig/nuTilda | 2 +- .../naca0012/turbulent/liftMinimumSetup/0.orig/nuaTilda | 2 +- .../naca0012/turbulent/liftMinimumSetup/0.orig/nut | 2 +- .../naca0012/turbulent/liftMinimumSetup/0.orig/p | 2 +- .../naca0012/turbulent/liftMinimumSetup/0.orig/pa | 2 +- .../turbulent/liftMinimumSetup/constant/adjointRASProperties | 2 +- .../turbulent/liftMinimumSetup/constant/transportProperties | 2 +- .../turbulent/liftMinimumSetup/constant/turbulenceProperties | 2 +- .../naca0012/turbulent/liftMinimumSetup/system/controlDict | 2 +- .../naca0012/turbulent/liftMinimumSetup/system/decomposeParDict | 2 +- .../naca0012/turbulent/liftMinimumSetup/system/fvSchemes | 2 +- .../naca0012/turbulent/liftMinimumSetup/system/fvSolution | 2 +- .../naca0012/turbulent/liftMinimumSetup/system/optimisationDict | 2 +- .../sensitivityMaps/sbend/laminar/0.orig/U | 2 +- .../sensitivityMaps/sbend/laminar/0.orig/Ua | 2 +- .../sensitivityMaps/sbend/laminar/0.orig/ma | 2 +- .../sensitivityMaps/sbend/laminar/0.orig/p | 2 +- .../sensitivityMaps/sbend/laminar/0.orig/pa | 2 +- .../sensitivityMaps/sbend/laminar/constant/adjointRASProperties | 2 +- .../sensitivityMaps/sbend/laminar/constant/transportProperties | 2 +- .../sensitivityMaps/sbend/laminar/constant/turbulenceProperties | 2 +- .../sensitivityMaps/sbend/laminar/system/controlDict | 2 +- .../sensitivityMaps/sbend/laminar/system/decomposeParDict | 2 +- .../sensitivityMaps/sbend/laminar/system/fvSchemes | 2 +- .../sensitivityMaps/sbend/laminar/system/fvSolution | 2 +- .../sensitivityMaps/sbend/laminar/system/optimisationDict | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/0.orig/U | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/0.orig/Ua | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/0.orig/nuTilda | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/0.orig/nuaTilda | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/0.orig/nut | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/0.orig/p | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/0.orig/pa | 2 +- .../sbend/turbulent/highRe/constant/adjointRASProperties | 2 +- .../sbend/turbulent/highRe/constant/transportProperties | 2 +- .../sbend/turbulent/highRe/constant/turbulenceProperties | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/system/controlDict | 2 +- .../sbend/turbulent/highRe/system/decomposeParDict | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/system/fvSchemes | 2 +- .../sensitivityMaps/sbend/turbulent/highRe/system/fvSolution | 2 +- .../sbend/turbulent/highRe/system/optimisationDict | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/multiPoint/0.orig/U | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/multiPoint/0.orig/Ua | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/multiPoint/0.orig/Up2 | 2 +- .../sbend/turbulent/lowRe/multiPoint/0.orig/nuTilda | 2 +- .../sbend/turbulent/lowRe/multiPoint/0.orig/nuaTilda | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/multiPoint/0.orig/nut | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/multiPoint/0.orig/p | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/multiPoint/0.orig/pa | 2 +- .../turbulent/lowRe/multiPoint/constant/adjointRASProperties | 2 +- .../turbulent/lowRe/multiPoint/constant/transportProperties | 2 +- .../turbulent/lowRe/multiPoint/constant/turbulenceProperties | 2 +- .../sbend/turbulent/lowRe/multiPoint/system/controlDict | 2 +- .../sbend/turbulent/lowRe/multiPoint/system/decomposeParDict | 2 +- .../sbend/turbulent/lowRe/multiPoint/system/fvSchemes | 2 +- .../sbend/turbulent/lowRe/multiPoint/system/fvSolution | 2 +- .../sbend/turbulent/lowRe/multiPoint/system/optimisationDict | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/singlePoint/0.orig/U | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/singlePoint/0.orig/Ua | 2 +- .../sbend/turbulent/lowRe/singlePoint/0.orig/nuTilda | 2 +- .../sbend/turbulent/lowRe/singlePoint/0.orig/nuaTilda | 2 +- .../sbend/turbulent/lowRe/singlePoint/0.orig/nut | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/singlePoint/0.orig/p | 2 +- .../sensitivityMaps/sbend/turbulent/lowRe/singlePoint/0.orig/pa | 2 +- .../turbulent/lowRe/singlePoint/constant/adjointRASProperties | 2 +- .../turbulent/lowRe/singlePoint/constant/transportProperties | 2 +- .../turbulent/lowRe/singlePoint/constant/turbulenceProperties | 2 +- .../sbend/turbulent/lowRe/singlePoint/system/controlDict | 2 +- .../sbend/turbulent/lowRe/singlePoint/system/decomposeParDict | 2 +- .../sbend/turbulent/lowRe/singlePoint/system/fvSchemes | 2 +- .../sbend/turbulent/lowRe/singlePoint/system/fvSolution | 2 +- .../sbend/turbulent/lowRe/singlePoint/system/optimisationDict | 2 +- .../shapeOptimisation/fork-uneven/flowRate/0/U | 2 +- .../shapeOptimisation/fork-uneven/flowRate/0/Ua | 2 +- .../shapeOptimisation/fork-uneven/flowRate/0/p | 2 +- .../shapeOptimisation/fork-uneven/flowRate/0/pa | 2 +- .../fork-uneven/flowRate/constant/adjointRASProperties | 2 +- .../fork-uneven/flowRate/constant/dynamicMeshDict | 2 +- .../fork-uneven/flowRate/constant/transportProperties | 2 +- .../fork-uneven/flowRate/constant/turbulenceProperties | 2 +- .../shapeOptimisation/fork-uneven/flowRate/system/blockMeshDict | 2 +- .../shapeOptimisation/fork-uneven/flowRate/system/controlDict | 2 +- .../fork-uneven/flowRate/system/decomposeParDict | 2 +- .../shapeOptimisation/fork-uneven/flowRate/system/fvSchemes | 2 +- .../shapeOptimisation/fork-uneven/flowRate/system/fvSolution | 2 +- .../fork-uneven/flowRate/system/optimisationDict | 2 +- .../shapeOptimisation/fork-uneven/flowRatePartition/0/U | 2 +- .../shapeOptimisation/fork-uneven/flowRatePartition/0/Ua | 2 +- .../shapeOptimisation/fork-uneven/flowRatePartition/0/p | 2 +- .../shapeOptimisation/fork-uneven/flowRatePartition/0/pa | 2 +- .../fork-uneven/flowRatePartition/constant/adjointRASProperties | 2 +- .../fork-uneven/flowRatePartition/constant/dynamicMeshDict | 2 +- .../fork-uneven/flowRatePartition/constant/transportProperties | 2 +- .../fork-uneven/flowRatePartition/constant/turbulenceProperties | 2 +- .../fork-uneven/flowRatePartition/system/blockMeshDict | 2 +- .../fork-uneven/flowRatePartition/system/controlDict | 2 +- .../fork-uneven/flowRatePartition/system/decomposeParDict | 2 +- .../fork-uneven/flowRatePartition/system/fvSchemes | 2 +- .../fork-uneven/flowRatePartition/system/fvSolution | 2 +- .../fork-uneven/flowRatePartition/system/optimisationDict | 2 +- .../shapeOptimisation/fork-uneven/uniformityPatch/0/U | 2 +- .../shapeOptimisation/fork-uneven/uniformityPatch/0/Ua | 2 +- .../shapeOptimisation/fork-uneven/uniformityPatch/0/p | 2 +- .../shapeOptimisation/fork-uneven/uniformityPatch/0/pa | 2 +- .../fork-uneven/uniformityPatch/constant/adjointRASProperties | 2 +- .../fork-uneven/uniformityPatch/constant/dynamicMeshDict | 2 +- .../fork-uneven/uniformityPatch/constant/transportProperties | 2 +- .../fork-uneven/uniformityPatch/constant/turbulenceProperties | 2 +- .../fork-uneven/uniformityPatch/system/blockMeshDict | 2 +- .../fork-uneven/uniformityPatch/system/controlDict | 2 +- .../fork-uneven/uniformityPatch/system/decomposeParDict | 2 +- .../fork-uneven/uniformityPatch/system/fvSchemes | 2 +- .../fork-uneven/uniformityPatch/system/fvSolution | 2 +- .../fork-uneven/uniformityPatch/system/optimisationDict | 2 +- .../shapeOptimisation/motorBike/0.orig/U | 2 +- .../shapeOptimisation/motorBike/0.orig/Ua | 2 +- .../shapeOptimisation/motorBike/0.orig/include/fixedInlet | 2 +- .../motorBike/0.orig/include/frontBackUpperPatches | 2 +- .../motorBike/0.orig/include/initialConditions | 2 +- .../shapeOptimisation/motorBike/0.orig/nuTilda | 2 +- .../shapeOptimisation/motorBike/0.orig/nuaTilda | 2 +- .../shapeOptimisation/motorBike/0.orig/nut | 2 +- .../shapeOptimisation/motorBike/0.orig/p | 2 +- .../shapeOptimisation/motorBike/0.orig/pa | 2 +- .../shapeOptimisation/motorBike/constant/adjointRASProperties | 2 +- .../motorBike/constant/controlPoints.org/boxcpsBsplines0 | 2 +- .../shapeOptimisation/motorBike/constant/dynamicMeshDict | 2 +- .../shapeOptimisation/motorBike/constant/transportProperties | 2 +- .../shapeOptimisation/motorBike/constant/turbulenceProperties | 2 +- .../shapeOptimisation/motorBike/system/blockMeshDict | 2 +- .../shapeOptimisation/motorBike/system/controlDict | 2 +- .../shapeOptimisation/motorBike/system/decomposeParDict.20 | 2 +- .../shapeOptimisation/motorBike/system/fvSchemes | 2 +- .../shapeOptimisation/motorBike/system/fvSolution | 2 +- .../shapeOptimisation/motorBike/system/meshQualityDict | 2 +- .../shapeOptimisation/motorBike/system/optimisationDict | 2 +- .../shapeOptimisation/motorBike/system/snappyHexMeshDict | 2 +- .../motorBike/system/surfaceFeatureExtractDict | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/U | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/Ua | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/k | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/ka | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/nut | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/omega | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/p | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/pa | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/0/wa | 2 +- .../naca0012/kOmegaSST/lift/constant/adjointRASProperties | 2 +- .../naca0012/kOmegaSST/lift/constant/dynamicMeshDict | 2 +- .../naca0012/kOmegaSST/lift/constant/transportProperties | 2 +- .../naca0012/kOmegaSST/lift/constant/turbulenceProperties | 2 +- .../naca0012/kOmegaSST/lift/system/controlDict | 2 +- .../naca0012/kOmegaSST/lift/system/decomposeParDict | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/system/fvSchemes | 2 +- .../shapeOptimisation/naca0012/kOmegaSST/lift/system/fvSolution | 2 +- .../naca0012/kOmegaSST/lift/system/optimisationDict | 2 +- .../naca0012/laminar/drag/primalAdjoint/0.orig/U | 2 +- .../naca0012/laminar/drag/primalAdjoint/0.orig/Ua | 2 +- .../naca0012/laminar/drag/primalAdjoint/0.orig/p | 2 +- .../naca0012/laminar/drag/primalAdjoint/0.orig/pa | 2 +- .../laminar/drag/primalAdjoint/constant/adjointRASProperties | 2 +- .../laminar/drag/primalAdjoint/constant/dynamicMeshDict | 2 +- .../laminar/drag/primalAdjoint/constant/transportProperties | 2 +- .../laminar/drag/primalAdjoint/constant/turbulenceProperties | 2 +- .../naca0012/laminar/drag/primalAdjoint/system/controlDict | 2 +- .../naca0012/laminar/drag/primalAdjoint/system/decomposeParDict | 2 +- .../naca0012/laminar/drag/primalAdjoint/system/fvSchemes | 2 +- .../naca0012/laminar/drag/primalAdjoint/system/fvSolution | 2 +- .../naca0012/laminar/drag/primalAdjoint/system/optimisationDict | 2 +- .../naca0012/laminar/lift/opt/constraintProjection/0.orig/U | 2 +- .../naca0012/laminar/lift/opt/constraintProjection/0.orig/Ua | 2 +- .../naca0012/laminar/lift/opt/constraintProjection/0.orig/p | 2 +- .../naca0012/laminar/lift/opt/constraintProjection/0.orig/pa | 2 +- .../lift/opt/constraintProjection/constant/adjointRASProperties | 2 +- .../lift/opt/constraintProjection/constant/dynamicMeshDict | 2 +- .../lift/opt/constraintProjection/constant/transportProperties | 2 +- .../lift/opt/constraintProjection/constant/turbulenceProperties | 2 +- .../laminar/lift/opt/constraintProjection/system/controlDict | 2 +- .../lift/opt/constraintProjection/system/decomposeParDict | 2 +- .../laminar/lift/opt/constraintProjection/system/fvSchemes | 2 +- .../laminar/lift/opt/constraintProjection/system/fvSolution | 2 +- .../lift/opt/constraintProjection/system/optimisationDict | 2 +- .../naca0012/laminar/moment/primalAdjoint/0.orig/U | 2 +- .../naca0012/laminar/moment/primalAdjoint/0.orig/Ua | 2 +- .../naca0012/laminar/moment/primalAdjoint/0.orig/p | 2 +- .../naca0012/laminar/moment/primalAdjoint/0.orig/pa | 2 +- .../laminar/moment/primalAdjoint/constant/adjointRASProperties | 2 +- .../laminar/moment/primalAdjoint/constant/dynamicMeshDict | 2 +- .../laminar/moment/primalAdjoint/constant/transportProperties | 2 +- .../laminar/moment/primalAdjoint/constant/turbulenceProperties | 2 +- .../naca0012/laminar/moment/primalAdjoint/system/controlDict | 2 +- .../laminar/moment/primalAdjoint/system/decomposeParDict | 2 +- .../naca0012/laminar/moment/primalAdjoint/system/fvSchemes | 2 +- .../naca0012/laminar/moment/primalAdjoint/system/fvSolution | 2 +- .../laminar/moment/primalAdjoint/system/optimisationDict | 2 +- .../shapeOptimisation/naca0012/laminar/multipleConstraints/0/U | 2 +- .../shapeOptimisation/naca0012/laminar/multipleConstraints/0/Ua | 2 +- .../shapeOptimisation/naca0012/laminar/multipleConstraints/0/p | 2 +- .../shapeOptimisation/naca0012/laminar/multipleConstraints/0/pa | 2 +- .../laminar/multipleConstraints/constant/adjointRASProperties | 2 +- .../laminar/multipleConstraints/constant/dynamicMeshDict | 2 +- .../laminar/multipleConstraints/constant/transportProperties | 2 +- .../laminar/multipleConstraints/constant/turbulenceProperties | 2 +- .../naca0012/laminar/multipleConstraints/system/controlDict | 2 +- .../laminar/multipleConstraints/system/decomposeParDict | 2 +- .../naca0012/laminar/multipleConstraints/system/fvSchemes | 2 +- .../naca0012/laminar/multipleConstraints/system/fvSolution | 2 +- .../laminar/multipleConstraints/system/optimisationDict | 2 +- .../sbend/laminar/opt/constrained/SQP/0.orig/U | 2 +- .../sbend/laminar/opt/constrained/SQP/0.orig/Ua | 2 +- .../sbend/laminar/opt/constrained/SQP/0.orig/p | 2 +- .../sbend/laminar/opt/constrained/SQP/0.orig/pa | 2 +- .../laminar/opt/constrained/SQP/constant/adjointRASProperties | 2 +- .../sbend/laminar/opt/constrained/SQP/constant/dynamicMeshDict | 2 +- .../laminar/opt/constrained/SQP/constant/transportProperties | 2 +- .../laminar/opt/constrained/SQP/constant/turbulenceProperties | 2 +- .../sbend/laminar/opt/constrained/SQP/system/controlDict | 2 +- .../sbend/laminar/opt/constrained/SQP/system/decomposeParDict | 2 +- .../sbend/laminar/opt/constrained/SQP/system/fvSchemes | 2 +- .../sbend/laminar/opt/constrained/SQP/system/fvSolution | 2 +- .../sbend/laminar/opt/constrained/SQP/system/optimisationDict | 2 +- .../laminar/opt/unconstrained/losses/BFGS-transformBox/0.orig/U | 2 +- .../opt/unconstrained/losses/BFGS-transformBox/0.orig/Ua | 2 +- .../laminar/opt/unconstrained/losses/BFGS-transformBox/0.orig/p | 2 +- .../opt/unconstrained/losses/BFGS-transformBox/0.orig/pa | 2 +- .../losses/BFGS-transformBox/constant/adjointRASProperties | 2 +- .../losses/BFGS-transformBox/constant/dynamicMeshDict | 2 +- .../losses/BFGS-transformBox/constant/transportProperties | 2 +- .../losses/BFGS-transformBox/constant/turbulenceProperties | 2 +- .../unconstrained/losses/BFGS-transformBox/system/controlDict | 2 +- .../losses/BFGS-transformBox/system/decomposeParDict | 2 +- .../opt/unconstrained/losses/BFGS-transformBox/system/fvSchemes | 2 +- .../unconstrained/losses/BFGS-transformBox/system/fvSolution | 2 +- .../losses/BFGS-transformBox/system/optimisationDict | 2 +- .../sbend/laminar/opt/unconstrained/losses/BFGS/0.orig/U | 2 +- .../sbend/laminar/opt/unconstrained/losses/BFGS/0.orig/Ua | 2 +- .../sbend/laminar/opt/unconstrained/losses/BFGS/0.orig/p | 2 +- .../sbend/laminar/opt/unconstrained/losses/BFGS/0.orig/pa | 2 +- .../opt/unconstrained/losses/BFGS/constant/adjointRASProperties | 2 +- .../opt/unconstrained/losses/BFGS/constant/dynamicMeshDict | 2 +- .../opt/unconstrained/losses/BFGS/constant/transportProperties | 2 +- .../opt/unconstrained/losses/BFGS/constant/turbulenceProperties | 2 +- .../laminar/opt/unconstrained/losses/BFGS/system/controlDict | 2 +- .../opt/unconstrained/losses/BFGS/system/decomposeParDict | 2 +- .../laminar/opt/unconstrained/losses/BFGS/system/fvSchemes | 2 +- .../laminar/opt/unconstrained/losses/BFGS/system/fvSolution | 2 +- .../opt/unconstrained/losses/BFGS/system/optimisationDict | 2 +- .../sbend/laminar/opt/unconstrained/losses/SD/0.orig/U | 2 +- .../sbend/laminar/opt/unconstrained/losses/SD/0.orig/Ua | 2 +- .../sbend/laminar/opt/unconstrained/losses/SD/0.orig/p | 2 +- .../sbend/laminar/opt/unconstrained/losses/SD/0.orig/pa | 2 +- .../opt/unconstrained/losses/SD/constant/adjointRASProperties | 2 +- .../opt/unconstrained/losses/SD/constant/dynamicMeshDict | 2 +- .../opt/unconstrained/losses/SD/constant/transportProperties | 2 +- .../opt/unconstrained/losses/SD/constant/turbulenceProperties | 2 +- .../laminar/opt/unconstrained/losses/SD/system/controlDict | 2 +- .../laminar/opt/unconstrained/losses/SD/system/decomposeParDict | 2 +- .../sbend/laminar/opt/unconstrained/losses/SD/system/fvSchemes | 2 +- .../sbend/laminar/opt/unconstrained/losses/SD/system/fvSolution | 2 +- .../laminar/opt/unconstrained/losses/SD/system/optimisationDict | 2 +- .../sbend/laminar/opt/unconstrained/uniformityCellZone/0.orig/U | 2 +- .../laminar/opt/unconstrained/uniformityCellZone/0.orig/Ua | 2 +- .../sbend/laminar/opt/unconstrained/uniformityCellZone/0.orig/p | 2 +- .../laminar/opt/unconstrained/uniformityCellZone/0.orig/pa | 2 +- .../uniformityCellZone/constant/adjointRASProperties | 2 +- .../unconstrained/uniformityCellZone/constant/dynamicMeshDict | 2 +- .../uniformityCellZone/constant/transportProperties | 2 +- .../uniformityCellZone/constant/turbulenceProperties | 2 +- .../opt/unconstrained/uniformityCellZone/system/controlDict | 2 +- .../unconstrained/uniformityCellZone/system/decomposeParDict | 2 +- .../opt/unconstrained/uniformityCellZone/system/fvSchemes | 2 +- .../opt/unconstrained/uniformityCellZone/system/fvSolution | 2 +- .../unconstrained/uniformityCellZone/system/optimisationDict | 2 +- .../opt/unconstrained/uniformityCellZone/system/topoSetDict | 2 +- .../shapeOptimisation/sbend/laminar/primalAdjoint/0.orig/U | 2 +- .../shapeOptimisation/sbend/laminar/primalAdjoint/0.orig/Ua | 2 +- .../shapeOptimisation/sbend/laminar/primalAdjoint/0.orig/ma | 2 +- .../shapeOptimisation/sbend/laminar/primalAdjoint/0.orig/p | 2 +- .../shapeOptimisation/sbend/laminar/primalAdjoint/0.orig/pa | 2 +- .../sbend/laminar/primalAdjoint/constant/adjointRASProperties | 2 +- .../sbend/laminar/primalAdjoint/constant/dynamicMeshDict | 2 +- .../sbend/laminar/primalAdjoint/constant/transportProperties | 2 +- .../sbend/laminar/primalAdjoint/constant/turbulenceProperties | 2 +- .../sbend/laminar/primalAdjoint/system/controlDict | 2 +- .../sbend/laminar/primalAdjoint/system/decomposeParDict | 2 +- .../sbend/laminar/primalAdjoint/system/fvSchemes | 2 +- .../sbend/laminar/primalAdjoint/system/fvSolution | 2 +- .../sbend/laminar/primalAdjoint/system/optimisationDict | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-continuation/0.orig/U | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-continuation/0.orig/Ua | 2 +- .../turbulent/SA/opt/losses/BFGS-continuation/0.orig/nuTilda | 2 +- .../turbulent/SA/opt/losses/BFGS-continuation/0.orig/nuaTilda | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-continuation/0.orig/nut | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-continuation/0.orig/p | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-continuation/0.orig/pa | 2 +- .../opt/losses/BFGS-continuation/constant/adjointRASProperties | 2 +- .../SA/opt/losses/BFGS-continuation/constant/dynamicMeshDict | 2 +- .../opt/losses/BFGS-continuation/constant/transportProperties | 2 +- .../opt/losses/BFGS-continuation/constant/turbulenceProperties | 2 +- .../SA/opt/losses/BFGS-continuation/system/controlDict | 2 +- .../SA/opt/losses/BFGS-continuation/system/decomposeParDict | 2 +- .../turbulent/SA/opt/losses/BFGS-continuation/system/fvSchemes | 2 +- .../turbulent/SA/opt/losses/BFGS-continuation/system/fvSolution | 2 +- .../SA/opt/losses/BFGS-continuation/system/optimisationDict | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/0.orig/U | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/0.orig/Ua | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/0.orig/nuTilda | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/0.orig/nuaTilda | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/0.orig/nut | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/0.orig/p | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/0.orig/pa | 2 +- .../SA/opt/losses/BFGS-oneGo/constant/adjointRASProperties | 2 +- .../turbulent/SA/opt/losses/BFGS-oneGo/constant/dynamicMeshDict | 2 +- .../SA/opt/losses/BFGS-oneGo/constant/transportProperties | 2 +- .../SA/opt/losses/BFGS-oneGo/constant/turbulenceProperties | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict | 2 +- .../turbulent/SA/opt/losses/BFGS-oneGo/system/decomposeParDict | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/fvSchemes | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/fvSolution | 2 +- .../turbulent/SA/opt/losses/BFGS-oneGo/system/optimisationDict | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/multiPoint/0.orig/U | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/multiPoint/0.orig/Ua | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/multiPoint/0.orig/Up2 | 2 +- .../turbulent/SA/opt/losses/BFGS/multiPoint/0.orig/nuTilda | 2 +- .../turbulent/SA/opt/losses/BFGS/multiPoint/0.orig/nuaTilda | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/multiPoint/0.orig/nut | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/multiPoint/0.orig/p | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/multiPoint/0.orig/pa | 2 +- .../SA/opt/losses/BFGS/multiPoint/constant/adjointRASProperties | 2 +- .../SA/opt/losses/BFGS/multiPoint/constant/dynamicMeshDict | 2 +- .../SA/opt/losses/BFGS/multiPoint/constant/transportProperties | 2 +- .../SA/opt/losses/BFGS/multiPoint/constant/turbulenceProperties | 2 +- .../turbulent/SA/opt/losses/BFGS/multiPoint/system/controlDict | 2 +- .../SA/opt/losses/BFGS/multiPoint/system/decomposeParDict | 2 +- .../turbulent/SA/opt/losses/BFGS/multiPoint/system/fvSchemes | 2 +- .../turbulent/SA/opt/losses/BFGS/multiPoint/system/fvSolution | 2 +- .../SA/opt/losses/BFGS/multiPoint/system/optimisationDict | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/0.orig/U | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/0.orig/Ua | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/0.orig/nuTilda | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/0.orig/nuaTilda | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/0.orig/nut | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/0.orig/p | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/0.orig/pa | 2 +- .../SA/opt/losses/BFGS/op1/constant/adjointRASProperties | 2 +- .../turbulent/SA/opt/losses/BFGS/op1/constant/dynamicMeshDict | 2 +- .../SA/opt/losses/BFGS/op1/constant/transportProperties | 2 +- .../SA/opt/losses/BFGS/op1/constant/turbulenceProperties | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict | 2 +- .../turbulent/SA/opt/losses/BFGS/op1/system/decomposeParDict | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/system/fvSchemes | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op1/system/fvSolution | 2 +- .../turbulent/SA/opt/losses/BFGS/op1/system/optimisationDict | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/U | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/Ua | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/nuTilda | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/nuaTilda | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/nut | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/p | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/0.orig/pa | 2 +- .../SA/opt/losses/BFGS/op2/constant/adjointRASProperties | 2 +- .../turbulent/SA/opt/losses/BFGS/op2/constant/dynamicMeshDict | 2 +- .../SA/opt/losses/BFGS/op2/constant/transportProperties | 2 +- .../SA/opt/losses/BFGS/op2/constant/turbulenceProperties | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/system/controlDict | 2 +- .../turbulent/SA/opt/losses/BFGS/op2/system/decomposeParDict | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/system/fvSchemes | 2 +- .../sbend/turbulent/SA/opt/losses/BFGS/op2/system/fvSolution | 2 +- .../turbulent/SA/opt/losses/BFGS/op2/system/optimisationDict | 2 +- .../shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/0.orig/U | 2 +- .../shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/0.orig/Ua | 2 +- .../sbend/turbulent/SA/opt/nutSqr/0.orig/nuTilda | 2 +- .../sbend/turbulent/SA/opt/nutSqr/0.orig/nuaTilda | 2 +- .../shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/0.orig/nut | 2 +- .../shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/0.orig/p | 2 +- .../shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/0.orig/pa | 2 +- .../sbend/turbulent/SA/opt/nutSqr/constant/adjointRASProperties | 2 +- .../sbend/turbulent/SA/opt/nutSqr/constant/dynamicMeshDict | 2 +- .../sbend/turbulent/SA/opt/nutSqr/constant/transportProperties | 2 +- .../sbend/turbulent/SA/opt/nutSqr/constant/turbulenceProperties | 2 +- .../sbend/turbulent/SA/opt/nutSqr/system/controlDict | 2 +- .../sbend/turbulent/SA/opt/nutSqr/system/decomposeParDict | 2 +- .../sbend/turbulent/SA/opt/nutSqr/system/fvSchemes | 2 +- .../sbend/turbulent/SA/opt/nutSqr/system/fvSolution | 2 +- .../sbend/turbulent/SA/opt/nutSqr/system/optimisationDict | 2 +- .../sbend/turbulent/SA/opt/nutSqr/system/topoSetDict | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/0.orig/U | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/0.orig/Ua | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/0.orig/nuTilda | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/0.orig/nuaTilda | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/0.orig/nut | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/0.orig/p | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/0.orig/pa | 2 +- .../SA/opt/powerDissipation/constant/adjointRASProperties | 2 +- .../turbulent/SA/opt/powerDissipation/constant/dynamicMeshDict | 2 +- .../SA/opt/powerDissipation/constant/transportProperties | 2 +- .../SA/opt/powerDissipation/constant/turbulenceProperties | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/system/controlDict | 2 +- .../turbulent/SA/opt/powerDissipation/system/decomposeParDict | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/system/fvSchemes | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/system/fvSolution | 2 +- .../turbulent/SA/opt/powerDissipation/system/optimisationDict | 2 +- .../sbend/turbulent/SA/opt/powerDissipation/system/topoSetDict | 2 +- .../shapeOptimisation/sbend/turbulent/SA/primalAdjoint/0.orig/U | 2 +- .../sbend/turbulent/SA/primalAdjoint/0.orig/Ua | 2 +- .../sbend/turbulent/SA/primalAdjoint/0.orig/nuTilda | 2 +- .../sbend/turbulent/SA/primalAdjoint/0.orig/nuaTilda | 2 +- .../sbend/turbulent/SA/primalAdjoint/0.orig/nut | 2 +- .../shapeOptimisation/sbend/turbulent/SA/primalAdjoint/0.orig/p | 2 +- .../sbend/turbulent/SA/primalAdjoint/0.orig/pa | 2 +- .../turbulent/SA/primalAdjoint/constant/adjointRASProperties | 2 +- .../sbend/turbulent/SA/primalAdjoint/constant/dynamicMeshDict | 2 +- .../turbulent/SA/primalAdjoint/constant/transportProperties | 2 +- .../turbulent/SA/primalAdjoint/constant/turbulenceProperties | 2 +- .../sbend/turbulent/SA/primalAdjoint/system/controlDict | 2 +- .../sbend/turbulent/SA/primalAdjoint/system/decomposeParDict | 2 +- .../sbend/turbulent/SA/primalAdjoint/system/fvSchemes | 2 +- .../sbend/turbulent/SA/primalAdjoint/system/fvSolution | 2 +- .../sbend/turbulent/SA/primalAdjoint/system/optimisationDict | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/0.orig/U | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/0.orig/Ua | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/0.orig/nuTilda | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/0.orig/nuaTilda | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/0.orig/nut | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/0.orig/p | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/0.orig/pa | 2 +- .../SA/primalAdjointFullSetup/constant/adjointRASProperties | 2 +- .../SA/primalAdjointFullSetup/constant/dynamicMeshDict | 2 +- .../SA/primalAdjointFullSetup/constant/transportProperties | 2 +- .../SA/primalAdjointFullSetup/constant/turbulenceProperties | 2 +- .../turbulent/SA/primalAdjointFullSetup/system/controlDict | 2 +- .../turbulent/SA/primalAdjointFullSetup/system/decomposeParDict | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/system/fvSchemes | 2 +- .../sbend/turbulent/SA/primalAdjointFullSetup/system/fvSolution | 2 +- .../turbulent/SA/primalAdjointFullSetup/system/optimisationDict | 2 +- .../shapeOptimisation/sbend/turbulent/kOmegaSST/opt/0.orig/U | 2 +- .../shapeOptimisation/sbend/turbulent/kOmegaSST/opt/0.orig/Ua | 2 +- .../shapeOptimisation/sbend/turbulent/kOmegaSST/opt/0.orig/k | 2 +- .../shapeOptimisation/sbend/turbulent/kOmegaSST/opt/0.orig/ka | 2 +- .../shapeOptimisation/sbend/turbulent/kOmegaSST/opt/0.orig/nut | 2 +- .../sbend/turbulent/kOmegaSST/opt/0.orig/omega | 2 +- .../shapeOptimisation/sbend/turbulent/kOmegaSST/opt/0.orig/p | 2 +- .../shapeOptimisation/sbend/turbulent/kOmegaSST/opt/0.orig/pa | 2 +- .../shapeOptimisation/sbend/turbulent/kOmegaSST/opt/0.orig/wa | 2 +- .../sbend/turbulent/kOmegaSST/opt/constant/adjointRASProperties | 2 +- .../sbend/turbulent/kOmegaSST/opt/constant/dynamicMeshDict | 2 +- .../sbend/turbulent/kOmegaSST/opt/constant/transportProperties | 2 +- .../sbend/turbulent/kOmegaSST/opt/constant/turbulenceProperties | 2 +- .../sbend/turbulent/kOmegaSST/opt/system/controlDict | 2 +- .../sbend/turbulent/kOmegaSST/opt/system/decomposeParDict | 2 +- .../sbend/turbulent/kOmegaSST/opt/system/fvSchemes | 2 +- .../sbend/turbulent/kOmegaSST/opt/system/fvSolution | 2 +- .../sbend/turbulent/kOmegaSST/opt/system/optimisationDict | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/pa | 2 +- .../levelSet/R_05x_NB_01x/constant/adjointRASProperties | 2 +- .../levelSet/R_05x_NB_01x/constant/transportProperties | 2 +- .../levelSet/R_05x_NB_01x/constant/turbulenceProperties | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/pa | 2 +- .../levelSet/R_05x_NB_01x/reEval/constant/adjointRASProperties | 2 +- .../levelSet/R_05x_NB_01x/reEval/constant/transportProperties | 2 +- .../levelSet/R_05x_NB_01x/reEval/constant/turbulenceProperties | 2 +- .../levelSet/R_05x_NB_01x/reEval/system/controlDict | 2 +- .../levelSet/R_05x_NB_01x/reEval/system/decomposeParDict | 2 +- .../levelSet/R_05x_NB_01x/reEval/system/fvSchemes | 2 +- .../levelSet/R_05x_NB_01x/reEval/system/fvSolution | 2 +- .../levelSet/R_05x_NB_01x/reEval/system/meshDict | 2 +- .../levelSet/R_05x_NB_01x/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/controlDict | 2 +- .../levelSet/R_05x_NB_01x/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSolution | 2 +- .../levelSet/R_05x_NB_01x/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/topoSetDict | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/pa | 2 +- .../levelSet/R_05x_NB_02x/constant/adjointRASProperties | 2 +- .../levelSet/R_05x_NB_02x/constant/transportProperties | 2 +- .../levelSet/R_05x_NB_02x/constant/turbulenceProperties | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/pa | 2 +- .../levelSet/R_05x_NB_02x/reEval/constant/adjointRASProperties | 2 +- .../levelSet/R_05x_NB_02x/reEval/constant/transportProperties | 2 +- .../levelSet/R_05x_NB_02x/reEval/constant/turbulenceProperties | 2 +- .../levelSet/R_05x_NB_02x/reEval/system/controlDict | 2 +- .../levelSet/R_05x_NB_02x/reEval/system/decomposeParDict | 2 +- .../levelSet/R_05x_NB_02x/reEval/system/fvSchemes | 2 +- .../levelSet/R_05x_NB_02x/reEval/system/fvSolution | 2 +- .../levelSet/R_05x_NB_02x/reEval/system/meshDict | 2 +- .../levelSet/R_05x_NB_02x/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/controlDict | 2 +- .../levelSet/R_05x_NB_02x/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSolution | 2 +- .../levelSet/R_05x_NB_02x/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/topoSetDict | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/pa | 2 +- .../levelSet/R_10x_NB_01x/constant/adjointRASProperties | 2 +- .../levelSet/R_10x_NB_01x/constant/transportProperties | 2 +- .../levelSet/R_10x_NB_01x/constant/turbulenceProperties | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/pa | 2 +- .../levelSet/R_10x_NB_01x/reEval/constant/adjointRASProperties | 2 +- .../levelSet/R_10x_NB_01x/reEval/constant/transportProperties | 2 +- .../levelSet/R_10x_NB_01x/reEval/constant/turbulenceProperties | 2 +- .../levelSet/R_10x_NB_01x/reEval/system/controlDict | 2 +- .../levelSet/R_10x_NB_01x/reEval/system/decomposeParDict | 2 +- .../levelSet/R_10x_NB_01x/reEval/system/fvSchemes | 2 +- .../levelSet/R_10x_NB_01x/reEval/system/fvSolution | 2 +- .../levelSet/R_10x_NB_01x/reEval/system/meshDict | 2 +- .../levelSet/R_10x_NB_01x/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/controlDict | 2 +- .../levelSet/R_10x_NB_01x/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSolution | 2 +- .../levelSet/R_10x_NB_01x/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/topoSetDict | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/pa | 2 +- .../levelSet/R_10x_NB_02x/constant/adjointRASProperties | 2 +- .../levelSet/R_10x_NB_02x/constant/transportProperties | 2 +- .../levelSet/R_10x_NB_02x/constant/turbulenceProperties | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/pa | 2 +- .../levelSet/R_10x_NB_02x/reEval/constant/adjointRASProperties | 2 +- .../levelSet/R_10x_NB_02x/reEval/constant/transportProperties | 2 +- .../levelSet/R_10x_NB_02x/reEval/constant/turbulenceProperties | 2 +- .../levelSet/R_10x_NB_02x/reEval/system/controlDict | 2 +- .../levelSet/R_10x_NB_02x/reEval/system/decomposeParDict | 2 +- .../levelSet/R_10x_NB_02x/reEval/system/fvSchemes | 2 +- .../levelSet/R_10x_NB_02x/reEval/system/fvSolution | 2 +- .../levelSet/R_10x_NB_02x/reEval/system/meshDict | 2 +- .../levelSet/R_10x_NB_02x/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/controlDict | 2 +- .../levelSet/R_10x_NB_02x/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSolution | 2 +- .../levelSet/R_10x_NB_02x/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/topoSetDict | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa | 2 +- .../porosityBased/R_05x/constant/adjointRASProperties | 2 +- .../porosityBased/R_05x/constant/transportProperties | 2 +- .../porosityBased/R_05x/constant/turbulenceProperties | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa | 2 +- .../porosityBased/R_05x/reEval/constant/adjointRASProperties | 2 +- .../porosityBased/R_05x/reEval/constant/transportProperties | 2 +- .../porosityBased/R_05x/reEval/constant/turbulenceProperties | 2 +- .../porosityBased/R_05x/reEval/system/controlDict | 2 +- .../porosityBased/R_05x/reEval/system/decomposeParDict | 2 +- .../porosityBased/R_05x/reEval/system/fvSchemes | 2 +- .../porosityBased/R_05x/reEval/system/fvSolution | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict | 2 +- .../porosityBased/R_05x/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict | 2 +- .../porosityBased/R_05x/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution | 2 +- .../porosityBased/R_05x/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa | 2 +- .../porosityBased/R_10x/constant/adjointRASProperties | 2 +- .../porosityBased/R_10x/constant/transportProperties | 2 +- .../porosityBased/R_10x/constant/turbulenceProperties | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa | 2 +- .../porosityBased/R_10x/reEval/constant/adjointRASProperties | 2 +- .../porosityBased/R_10x/reEval/constant/transportProperties | 2 +- .../porosityBased/R_10x/reEval/constant/turbulenceProperties | 2 +- .../porosityBased/R_10x/reEval/system/controlDict | 2 +- .../porosityBased/R_10x/reEval/system/decomposeParDict | 2 +- .../porosityBased/R_10x/reEval/system/fvSchemes | 2 +- .../porosityBased/R_10x/reEval/system/fvSolution | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict | 2 +- .../porosityBased/R_10x/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict | 2 +- .../porosityBased/R_10x/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution | 2 +- .../porosityBased/R_10x/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa | 2 +- .../porosityBased/R_20x/constant/adjointRASProperties | 2 +- .../porosityBased/R_20x/constant/transportProperties | 2 +- .../porosityBased/R_20x/constant/turbulenceProperties | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa | 2 +- .../porosityBased/R_20x/reEval/constant/adjointRASProperties | 2 +- .../porosityBased/R_20x/reEval/constant/transportProperties | 2 +- .../porosityBased/R_20x/reEval/constant/turbulenceProperties | 2 +- .../porosityBased/R_20x/reEval/system/controlDict | 2 +- .../porosityBased/R_20x/reEval/system/decomposeParDict | 2 +- .../porosityBased/R_20x/reEval/system/fvSchemes | 2 +- .../porosityBased/R_20x/reEval/system/fvSolution | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict | 2 +- .../porosityBased/R_20x/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict | 2 +- .../porosityBased/R_20x/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution | 2 +- .../porosityBased/R_20x/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/U | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/Ua | 2 +- .../laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/p | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/pa | 2 +- .../R_20x_massConstr/constant/adjointRASProperties | 2 +- .../porosityBased/R_20x_massConstr/constant/transportProperties | 2 +- .../R_20x_massConstr/constant/turbulenceProperties | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/U | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/Ua | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/p | 2 +- .../1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/pa | 2 +- .../R_20x_massConstr/reEval/constant/adjointRASProperties | 2 +- .../R_20x_massConstr/reEval/constant/transportProperties | 2 +- .../R_20x_massConstr/reEval/constant/turbulenceProperties | 2 +- .../porosityBased/R_20x_massConstr/reEval/system/controlDict | 2 +- .../R_20x_massConstr/reEval/system/decomposeParDict | 2 +- .../porosityBased/R_20x_massConstr/reEval/system/fvSchemes | 2 +- .../porosityBased/R_20x_massConstr/reEval/system/fvSolution | 2 +- .../porosityBased/R_20x_massConstr/reEval/system/meshDict | 2 +- .../R_20x_massConstr/reEval/system/optimisationDict | 2 +- .../porosityBased/R_20x_massConstr/system/blockMeshDict | 2 +- .../porosityBased/R_20x_massConstr/system/controlDict | 2 +- .../porosityBased/R_20x_massConstr/system/decomposeParDict | 2 +- .../porosityBased/R_20x_massConstr/system/fvOptions | 2 +- .../porosityBased/R_20x_massConstr/system/fvSchemes | 2 +- .../porosityBased/R_20x_massConstr/system/fvSolution | 2 +- .../porosityBased/R_20x_massConstr/system/optimisationDict | 2 +- .../porosityBased/R_20x_massConstr/system/topoSetDict | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/U | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/Ua | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/p | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/pa | 2 +- .../losses-mass-30-70/constant/adjointRASProperties | 2 +- .../losses-mass-30-70/constant/transportProperties | 2 +- .../losses-mass-30-70/constant/turbulenceProperties | 2 +- .../losses-mass-30-70/reEval/0/U | 2 +- .../losses-mass-30-70/reEval/0/Ua | 2 +- .../losses-mass-30-70/reEval/0/p | 2 +- .../losses-mass-30-70/reEval/0/pa | 2 +- .../losses-mass-30-70/reEval/constant/adjointRASProperties | 2 +- .../losses-mass-30-70/reEval/constant/transportProperties | 2 +- .../losses-mass-30-70/reEval/constant/turbulenceProperties | 2 +- .../losses-mass-30-70/reEval/system/controlDict | 2 +- .../losses-mass-30-70/reEval/system/decomposeParDict | 2 +- .../losses-mass-30-70/reEval/system/fvSchemes | 2 +- .../losses-mass-30-70/reEval/system/fvSolution | 2 +- .../losses-mass-30-70/reEval/system/meshDict | 2 +- .../losses-mass-30-70/reEval/system/optimisationDict | 2 +- .../losses-mass-30-70/system/blockMeshDict | 2 +- .../losses-mass-30-70/system/controlDict | 2 +- .../losses-mass-30-70/system/decomposeParDict | 2 +- .../losses-mass-30-70/system/fvOptions | 2 +- .../losses-mass-30-70/system/fvSchemes | 2 +- .../losses-mass-30-70/system/fvSolution | 2 +- .../losses-mass-30-70/system/optimisationDict | 2 +- .../losses-mass-30-70/system/topoSetDict | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/U | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/Ua | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/p | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/pa | 2 +- .../losses-mass-50-50/constant/adjointRASProperties | 2 +- .../losses-mass-50-50/constant/transportProperties | 2 +- .../losses-mass-50-50/constant/turbulenceProperties | 2 +- .../losses-mass-50-50/reEval/0/U | 2 +- .../losses-mass-50-50/reEval/0/Ua | 2 +- .../losses-mass-50-50/reEval/0/p | 2 +- .../losses-mass-50-50/reEval/0/pa | 2 +- .../losses-mass-50-50/reEval/constant/adjointRASProperties | 2 +- .../losses-mass-50-50/reEval/constant/transportProperties | 2 +- .../losses-mass-50-50/reEval/constant/turbulenceProperties | 2 +- .../losses-mass-50-50/reEval/system/controlDict | 2 +- .../losses-mass-50-50/reEval/system/decomposeParDict | 2 +- .../losses-mass-50-50/reEval/system/fvSchemes | 2 +- .../losses-mass-50-50/reEval/system/fvSolution | 2 +- .../losses-mass-50-50/reEval/system/meshDict | 2 +- .../losses-mass-50-50/reEval/system/optimisationDict | 2 +- .../losses-mass-50-50/system/blockMeshDict | 2 +- .../losses-mass-50-50/system/controlDict | 2 +- .../losses-mass-50-50/system/decomposeParDict | 2 +- .../losses-mass-50-50/system/fvOptions | 2 +- .../losses-mass-50-50/system/fvSchemes | 2 +- .../losses-mass-50-50/system/fvSolution | 2 +- .../losses-mass-50-50/system/optimisationDict | 2 +- .../losses-mass-50-50/system/topoSetDict | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/U | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/Ua | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/p | 2 +- .../1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/pa | 2 +- .../losses-mass-70-30/constant/adjointRASProperties | 2 +- .../losses-mass-70-30/constant/transportProperties | 2 +- .../losses-mass-70-30/constant/turbulenceProperties | 2 +- .../losses-mass-70-30/reEval/0/U | 2 +- .../losses-mass-70-30/reEval/0/Ua | 2 +- .../losses-mass-70-30/reEval/0/p | 2 +- .../losses-mass-70-30/reEval/0/pa | 2 +- .../losses-mass-70-30/reEval/constant/adjointRASProperties | 2 +- .../losses-mass-70-30/reEval/constant/transportProperties | 2 +- .../losses-mass-70-30/reEval/constant/turbulenceProperties | 2 +- .../losses-mass-70-30/reEval/system/controlDict | 2 +- .../losses-mass-70-30/reEval/system/decomposeParDict | 2 +- .../losses-mass-70-30/reEval/system/fvSchemes | 2 +- .../losses-mass-70-30/reEval/system/fvSolution | 2 +- .../losses-mass-70-30/reEval/system/meshDict | 2 +- .../losses-mass-70-30/reEval/system/optimisationDict | 2 +- .../losses-mass-70-30/system/blockMeshDict | 2 +- .../losses-mass-70-30/system/controlDict | 2 +- .../losses-mass-70-30/system/decomposeParDict | 2 +- .../losses-mass-70-30/system/fvOptions | 2 +- .../losses-mass-70-30/system/fvSchemes | 2 +- .../losses-mass-70-30/system/fvSolution | 2 +- .../losses-mass-70-30/system/optimisationDict | 2 +- .../losses-mass-70-30/system/topoSetDict | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/0.orig/U | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/0.orig/Ua | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/0.orig/p | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/0.orig/pa | 2 +- .../losses-mass-uniformity-SQP/constant/adjointRASProperties | 2 +- .../losses-mass-uniformity-SQP/constant/transportProperties | 2 +- .../losses-mass-uniformity-SQP/constant/turbulenceProperties | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/reEval/0.orig/U | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/reEval/0.orig/Ua | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/reEval/0.orig/p | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/reEval/0.orig/pa | 2 +- .../reEval/constant/adjointRASProperties | 2 +- .../losses-mass-uniformity-SQP/reEval/constant/dynamicMeshDict | 2 +- .../reEval/constant/transportProperties | 2 +- .../reEval/constant/turbulenceProperties | 2 +- .../losses-mass-uniformity-SQP/reEval/system/blockMeshDict | 2 +- .../3DBox/losses-mass-uniformity-SQP/reEval/system/controlDict | 2 +- .../losses-mass-uniformity-SQP/reEval/system/decomposeParDict | 2 +- .../3DBox/losses-mass-uniformity-SQP/reEval/system/fvSchemes | 2 +- .../3DBox/losses-mass-uniformity-SQP/reEval/system/fvSolution | 2 +- .../losses-mass-uniformity-SQP/reEval/system/optimisationDict | 2 +- .../losses-mass-uniformity-SQP/reEval/system/snappyHexMeshDict | 2 +- .../reEval/system/surfaceFeatureExtractDict | 2 +- .../3DBox/losses-mass-uniformity-SQP/system/blockMeshDict | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/system/controlDict | 2 +- .../3DBox/losses-mass-uniformity-SQP/system/createPatchDict | 2 +- .../3DBox/losses-mass-uniformity-SQP/system/decomposeParDict | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/system/fvOptions | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/system/fvSchemes | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/system/fvSolution | 2 +- .../3DBox/losses-mass-uniformity-SQP/system/optimisationDict | 2 +- .../laminar/3DBox/losses-mass-uniformity-SQP/system/topoSetDict | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/U | 2 +- .../laminar/3DBox/losses-mass-uniformity/0.orig/Ua | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/p | 2 +- .../laminar/3DBox/losses-mass-uniformity/0.orig/pa | 2 +- .../3DBox/losses-mass-uniformity/constant/adjointRASProperties | 2 +- .../3DBox/losses-mass-uniformity/constant/transportProperties | 2 +- .../3DBox/losses-mass-uniformity/constant/turbulenceProperties | 2 +- .../laminar/3DBox/losses-mass-uniformity/reEval/0.orig/U | 2 +- .../laminar/3DBox/losses-mass-uniformity/reEval/0.orig/Ua | 2 +- .../laminar/3DBox/losses-mass-uniformity/reEval/0.orig/p | 2 +- .../laminar/3DBox/losses-mass-uniformity/reEval/0.orig/pa | 2 +- .../losses-mass-uniformity/reEval/constant/adjointRASProperties | 2 +- .../losses-mass-uniformity/reEval/constant/dynamicMeshDict | 2 +- .../losses-mass-uniformity/reEval/constant/transportProperties | 2 +- .../losses-mass-uniformity/reEval/constant/turbulenceProperties | 2 +- .../3DBox/losses-mass-uniformity/reEval/system/blockMeshDict | 2 +- .../3DBox/losses-mass-uniformity/reEval/system/controlDict | 2 +- .../3DBox/losses-mass-uniformity/reEval/system/decomposeParDict | 2 +- .../3DBox/losses-mass-uniformity/reEval/system/fvSchemes | 2 +- .../3DBox/losses-mass-uniformity/reEval/system/fvSolution | 2 +- .../3DBox/losses-mass-uniformity/reEval/system/optimisationDict | 2 +- .../losses-mass-uniformity/reEval/system/snappyHexMeshDict | 2 +- .../reEval/system/surfaceFeatureExtractDict | 2 +- .../laminar/3DBox/losses-mass-uniformity/system/blockMeshDict | 2 +- .../laminar/3DBox/losses-mass-uniformity/system/controlDict | 2 +- .../laminar/3DBox/losses-mass-uniformity/system/createPatchDict | 2 +- .../3DBox/losses-mass-uniformity/system/decomposeParDict | 2 +- .../laminar/3DBox/losses-mass-uniformity/system/fvOptions | 2 +- .../laminar/3DBox/losses-mass-uniformity/system/fvSchemes | 2 +- .../laminar/3DBox/losses-mass-uniformity/system/fvSolution | 2 +- .../3DBox/losses-mass-uniformity/system/optimisationDict | 2 +- .../laminar/3DBox/losses-mass-uniformity/system/topoSetDict | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/0.orig/U | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/0.orig/Ua | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/0.orig/p | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/0.orig/pa | 2 +- .../laminar/3DBox/losses-mass/constant/adjointRASProperties | 2 +- .../laminar/3DBox/losses-mass/constant/transportProperties | 2 +- .../laminar/3DBox/losses-mass/constant/turbulenceProperties | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/U | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/Ua | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/p | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/pa | 2 +- .../3DBox/losses-mass/reEval/constant/adjointRASProperties | 2 +- .../laminar/3DBox/losses-mass/reEval/constant/dynamicMeshDict | 2 +- .../3DBox/losses-mass/reEval/constant/transportProperties | 2 +- .../3DBox/losses-mass/reEval/constant/turbulenceProperties | 2 +- .../laminar/3DBox/losses-mass/reEval/system/blockMeshDict | 2 +- .../laminar/3DBox/losses-mass/reEval/system/controlDict | 2 +- .../laminar/3DBox/losses-mass/reEval/system/decomposeParDict | 2 +- .../laminar/3DBox/losses-mass/reEval/system/fvSchemes | 2 +- .../laminar/3DBox/losses-mass/reEval/system/fvSolution | 2 +- .../laminar/3DBox/losses-mass/reEval/system/optimisationDict | 2 +- .../laminar/3DBox/losses-mass/reEval/system/snappyHexMeshDict | 2 +- .../3DBox/losses-mass/reEval/system/surfaceFeatureExtractDict | 2 +- .../laminar/3DBox/losses-mass/system/blockMeshDict | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/system/controlDict | 2 +- .../laminar/3DBox/losses-mass/system/createPatchDict | 2 +- .../laminar/3DBox/losses-mass/system/decomposeParDict | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/system/fvOptions | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/system/fvSchemes | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/system/fvSolution | 2 +- .../laminar/3DBox/losses-mass/system/optimisationDict | 2 +- .../monoFluidAero/laminar/3DBox/losses-mass/system/topoSetDict | 2 +- .../monoFluidAero/laminar/3DBox/losses/0.orig/U | 2 +- .../monoFluidAero/laminar/3DBox/losses/0.orig/Ua | 2 +- .../monoFluidAero/laminar/3DBox/losses/0.orig/p | 2 +- .../monoFluidAero/laminar/3DBox/losses/0.orig/pa | 2 +- .../laminar/3DBox/losses/constant/adjointRASProperties | 2 +- .../laminar/3DBox/losses/constant/transportProperties | 2 +- .../laminar/3DBox/losses/constant/turbulenceProperties | 2 +- .../monoFluidAero/laminar/3DBox/losses/reEval/0.orig/U | 2 +- .../monoFluidAero/laminar/3DBox/losses/reEval/0.orig/Ua | 2 +- .../monoFluidAero/laminar/3DBox/losses/reEval/0.orig/p | 2 +- .../monoFluidAero/laminar/3DBox/losses/reEval/0.orig/pa | 2 +- .../laminar/3DBox/losses/reEval/constant/adjointRASProperties | 2 +- .../laminar/3DBox/losses/reEval/constant/dynamicMeshDict | 2 +- .../laminar/3DBox/losses/reEval/constant/transportProperties | 2 +- .../laminar/3DBox/losses/reEval/constant/turbulenceProperties | 2 +- .../laminar/3DBox/losses/reEval/system/blockMeshDict | 2 +- .../laminar/3DBox/losses/reEval/system/controlDict | 2 +- .../laminar/3DBox/losses/reEval/system/decomposeParDict | 2 +- .../monoFluidAero/laminar/3DBox/losses/reEval/system/fvSchemes | 2 +- .../monoFluidAero/laminar/3DBox/losses/reEval/system/fvSolution | 2 +- .../laminar/3DBox/losses/reEval/system/optimisationDict | 2 +- .../laminar/3DBox/losses/reEval/system/snappyHexMeshDict | 2 +- .../3DBox/losses/reEval/system/surfaceFeatureExtractDict | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/blockMeshDict | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/controlDict | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/createPatchDict | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/decomposeParDict | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/fvOptions | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/fvSchemes | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/fvSolution | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/optimisationDict | 2 +- .../monoFluidAero/laminar/3DBox/losses/system/topoSetDict | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/Ua | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuaTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/pa | 2 +- .../levelSet/R_05x_NB_01/constant/adjointRASProperties | 2 +- .../levelSet/R_05x_NB_01/constant/transportProperties | 2 +- .../levelSet/R_05x_NB_01/constant/turbulenceProperties | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/Ua | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuTilda | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/pa | 2 +- .../levelSet/R_05x_NB_01/reEval/constant/adjointRASProperties | 2 +- .../levelSet/R_05x_NB_01/reEval/constant/transportProperties | 2 +- .../levelSet/R_05x_NB_01/reEval/constant/turbulenceProperties | 2 +- .../levelSet/R_05x_NB_01/reEval/system/controlDict | 2 +- .../levelSet/R_05x_NB_01/reEval/system/decomposeParDict | 2 +- .../levelSet/R_05x_NB_01/reEval/system/fvSchemes | 2 +- .../levelSet/R_05x_NB_01/reEval/system/fvSolution | 2 +- .../levelSet/R_05x_NB_01/reEval/system/meshDict | 2 +- .../levelSet/R_05x_NB_01/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/controlDict | 2 +- .../levelSet/R_05x_NB_01/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSolution | 2 +- .../levelSet/R_05x_NB_01/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/topoSetDict | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/Ua | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuaTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/pa | 2 +- .../levelSet/R_10x_NB_01/constant/adjointRASProperties | 2 +- .../levelSet/R_10x_NB_01/constant/transportProperties | 2 +- .../levelSet/R_10x_NB_01/constant/turbulenceProperties | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/Ua | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuTilda | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/pa | 2 +- .../levelSet/R_10x_NB_01/reEval/constant/adjointRASProperties | 2 +- .../levelSet/R_10x_NB_01/reEval/constant/transportProperties | 2 +- .../levelSet/R_10x_NB_01/reEval/constant/turbulenceProperties | 2 +- .../levelSet/R_10x_NB_01/reEval/system/controlDict | 2 +- .../levelSet/R_10x_NB_01/reEval/system/decomposeParDict | 2 +- .../levelSet/R_10x_NB_01/reEval/system/fvSchemes | 2 +- .../levelSet/R_10x_NB_01/reEval/system/fvSolution | 2 +- .../levelSet/R_10x_NB_01/reEval/system/meshDict | 2 +- .../levelSet/R_10x_NB_01/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/controlDict | 2 +- .../levelSet/R_10x_NB_01/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSolution | 2 +- .../levelSet/R_10x_NB_01/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/topoSetDict | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/Ua | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuaTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/pa | 2 +- .../levelSet/R_10x_NB_02/constant/adjointRASProperties | 2 +- .../levelSet/R_10x_NB_02/constant/transportProperties | 2 +- .../levelSet/R_10x_NB_02/constant/turbulenceProperties | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/Ua | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuTilda | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/pa | 2 +- .../levelSet/R_10x_NB_02/reEval/constant/adjointRASProperties | 2 +- .../levelSet/R_10x_NB_02/reEval/constant/transportProperties | 2 +- .../levelSet/R_10x_NB_02/reEval/constant/turbulenceProperties | 2 +- .../levelSet/R_10x_NB_02/reEval/system/controlDict | 2 +- .../levelSet/R_10x_NB_02/reEval/system/decomposeParDict | 2 +- .../levelSet/R_10x_NB_02/reEval/system/fvSchemes | 2 +- .../levelSet/R_10x_NB_02/reEval/system/fvSolution | 2 +- .../levelSet/R_10x_NB_02/reEval/system/meshDict | 2 +- .../levelSet/R_10x_NB_02/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/controlDict | 2 +- .../levelSet/R_10x_NB_02/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSolution | 2 +- .../levelSet/R_10x_NB_02/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/topoSetDict | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/Ua | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuaTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/pa | 2 +- .../levelSet/R_20x_NB_01/constant/adjointRASProperties | 2 +- .../levelSet/R_20x_NB_01/constant/transportProperties | 2 +- .../levelSet/R_20x_NB_01/constant/turbulenceProperties | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/Ua | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuTilda | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/pa | 2 +- .../levelSet/R_20x_NB_01/reEval/constant/adjointRASProperties | 2 +- .../levelSet/R_20x_NB_01/reEval/constant/transportProperties | 2 +- .../levelSet/R_20x_NB_01/reEval/constant/turbulenceProperties | 2 +- .../levelSet/R_20x_NB_01/reEval/system/controlDict | 2 +- .../levelSet/R_20x_NB_01/reEval/system/decomposeParDict | 2 +- .../levelSet/R_20x_NB_01/reEval/system/fvSchemes | 2 +- .../levelSet/R_20x_NB_01/reEval/system/fvSolution | 2 +- .../levelSet/R_20x_NB_01/reEval/system/meshDict | 2 +- .../levelSet/R_20x_NB_01/reEval/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/controlDict | 2 +- .../levelSet/R_20x_NB_01/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSolution | 2 +- .../levelSet/R_20x_NB_01/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/topoSetDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses-massConstr/0/U | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses-massConstr/0/Ua | 2 +- .../porosityBased/BP/losses-massConstr/0/nuTilda | 2 +- .../porosityBased/BP/losses-massConstr/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses-massConstr/0/nut | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses-massConstr/0/p | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses-massConstr/0/pa | 2 +- .../BP/losses-massConstr/constant/adjointRASProperties | 2 +- .../BP/losses-massConstr/constant/transportProperties | 2 +- .../BP/losses-massConstr/constant/turbulenceProperties | 2 +- .../porosityBased/BP/losses-massConstr/reEval/0/U | 2 +- .../porosityBased/BP/losses-massConstr/reEval/0/Ua | 2 +- .../porosityBased/BP/losses-massConstr/reEval/0/nuTilda | 2 +- .../porosityBased/BP/losses-massConstr/reEval/0/nuaTilda | 2 +- .../porosityBased/BP/losses-massConstr/reEval/0/nut | 2 +- .../porosityBased/BP/losses-massConstr/reEval/0/p | 2 +- .../porosityBased/BP/losses-massConstr/reEval/0/pa | 2 +- .../BP/losses-massConstr/reEval/constant/adjointRASProperties | 2 +- .../BP/losses-massConstr/reEval/constant/transportProperties | 2 +- .../BP/losses-massConstr/reEval/constant/turbulenceProperties | 2 +- .../BP/losses-massConstr/reEval/system/controlDict | 2 +- .../BP/losses-massConstr/reEval/system/decomposeParDict | 2 +- .../porosityBased/BP/losses-massConstr/reEval/system/fvSchemes | 2 +- .../porosityBased/BP/losses-massConstr/reEval/system/fvSolution | 2 +- .../porosityBased/BP/losses-massConstr/reEval/system/meshDict | 2 +- .../BP/losses-massConstr/reEval/system/optimisationDict | 2 +- .../porosityBased/BP/losses-massConstr/system/blockMeshDict | 2 +- .../porosityBased/BP/losses-massConstr/system/controlDict | 2 +- .../porosityBased/BP/losses-massConstr/system/decomposeParDict | 2 +- .../porosityBased/BP/losses-massConstr/system/fvOptions | 2 +- .../porosityBased/BP/losses-massConstr/system/fvSchemes | 2 +- .../porosityBased/BP/losses-massConstr/system/fvSolution | 2 +- .../porosityBased/BP/losses-massConstr/system/optimisationDict | 2 +- .../porosityBased/BP/losses-massConstr/system/topoSetDict | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/BP/losses/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/BP/losses/0/Ua | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/0/nuTilda | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/0/nuaTilda | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/BP/losses/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/BP/losses/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/BP/losses/0/pa | 2 +- .../porosityBased/BP/losses/constant/adjointRASProperties | 2 +- .../porosityBased/BP/losses/constant/transportProperties | 2 +- .../porosityBased/BP/losses/constant/turbulenceProperties | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/reEval/0/U | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/reEval/0/Ua | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/reEval/0/nuTilda | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/reEval/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/reEval/0/nut | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/reEval/0/p | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/reEval/0/pa | 2 +- .../BP/losses/reEval/constant/adjointRASProperties | 2 +- .../porosityBased/BP/losses/reEval/constant/transportProperties | 2 +- .../BP/losses/reEval/constant/turbulenceProperties | 2 +- .../porosityBased/BP/losses/reEval/system/controlDict | 2 +- .../porosityBased/BP/losses/reEval/system/decomposeParDict | 2 +- .../porosityBased/BP/losses/reEval/system/fvSchemes | 2 +- .../porosityBased/BP/losses/reEval/system/fvSolution | 2 +- .../porosityBased/BP/losses/reEval/system/meshDict | 2 +- .../porosityBased/BP/losses/reEval/system/optimisationDict | 2 +- .../porosityBased/BP/losses/system/blockMeshDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/system/controlDict | 2 +- .../porosityBased/BP/losses/system/decomposeParDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/system/fvOptions | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/system/fvSchemes | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/system/fvSolution | 2 +- .../porosityBased/BP/losses/system/optimisationDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/losses/system/topoSetDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/0/U | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/0/Ua | 2 +- .../porosityBased/BP/uniformity-losses/0/nuTilda | 2 +- .../porosityBased/BP/uniformity-losses/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/0/nut | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/0/p | 2 +- .../1_Inlet_2_Outlet/porosityBased/BP/uniformity-losses/0/pa | 2 +- .../BP/uniformity-losses/constant/adjointRASProperties | 2 +- .../BP/uniformity-losses/constant/transportProperties | 2 +- .../BP/uniformity-losses/constant/turbulenceProperties | 2 +- .../porosityBased/BP/uniformity-losses/reEval/0/U | 2 +- .../porosityBased/BP/uniformity-losses/reEval/0/Ua | 2 +- .../porosityBased/BP/uniformity-losses/reEval/0/nuTilda | 2 +- .../porosityBased/BP/uniformity-losses/reEval/0/nuaTilda | 2 +- .../porosityBased/BP/uniformity-losses/reEval/0/nut | 2 +- .../porosityBased/BP/uniformity-losses/reEval/0/p | 2 +- .../porosityBased/BP/uniformity-losses/reEval/0/pa | 2 +- .../BP/uniformity-losses/reEval/constant/adjointRASProperties | 2 +- .../BP/uniformity-losses/reEval/constant/transportProperties | 2 +- .../BP/uniformity-losses/reEval/constant/turbulenceProperties | 2 +- .../BP/uniformity-losses/reEval/system/controlDict | 2 +- .../BP/uniformity-losses/reEval/system/decomposeParDict | 2 +- .../porosityBased/BP/uniformity-losses/reEval/system/fvSchemes | 2 +- .../porosityBased/BP/uniformity-losses/reEval/system/fvSolution | 2 +- .../porosityBased/BP/uniformity-losses/reEval/system/meshDict | 2 +- .../BP/uniformity-losses/reEval/system/optimisationDict | 2 +- .../porosityBased/BP/uniformity-losses/system/blockMeshDict | 2 +- .../porosityBased/BP/uniformity-losses/system/controlDict | 2 +- .../porosityBased/BP/uniformity-losses/system/decomposeParDict | 2 +- .../porosityBased/BP/uniformity-losses/system/fvOptions | 2 +- .../porosityBased/BP/uniformity-losses/system/fvSchemes | 2 +- .../porosityBased/BP/uniformity-losses/system/fvSolution | 2 +- .../porosityBased/BP/uniformity-losses/system/optimisationDict | 2 +- .../porosityBased/BP/uniformity-losses/system/topoSetDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses-massConstr/0/U | 2 +- .../porosityBased/linear/losses-massConstr/0/Ua | 2 +- .../porosityBased/linear/losses-massConstr/0/nuTilda | 2 +- .../porosityBased/linear/losses-massConstr/0/nuaTilda | 2 +- .../porosityBased/linear/losses-massConstr/0/nut | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses-massConstr/0/p | 2 +- .../porosityBased/linear/losses-massConstr/0/pa | 2 +- .../linear/losses-massConstr/constant/adjointRASProperties | 2 +- .../linear/losses-massConstr/constant/transportProperties | 2 +- .../linear/losses-massConstr/constant/turbulenceProperties | 2 +- .../porosityBased/linear/losses-massConstr/reEval/0/U | 2 +- .../porosityBased/linear/losses-massConstr/reEval/0/Ua | 2 +- .../porosityBased/linear/losses-massConstr/reEval/0/nuTilda | 2 +- .../porosityBased/linear/losses-massConstr/reEval/0/nuaTilda | 2 +- .../porosityBased/linear/losses-massConstr/reEval/0/nut | 2 +- .../porosityBased/linear/losses-massConstr/reEval/0/p | 2 +- .../porosityBased/linear/losses-massConstr/reEval/0/pa | 2 +- .../losses-massConstr/reEval/constant/adjointRASProperties | 2 +- .../losses-massConstr/reEval/constant/transportProperties | 2 +- .../losses-massConstr/reEval/constant/turbulenceProperties | 2 +- .../linear/losses-massConstr/reEval/system/controlDict | 2 +- .../linear/losses-massConstr/reEval/system/decomposeParDict | 2 +- .../linear/losses-massConstr/reEval/system/fvSchemes | 2 +- .../linear/losses-massConstr/reEval/system/fvSolution | 2 +- .../linear/losses-massConstr/reEval/system/meshDict | 2 +- .../linear/losses-massConstr/reEval/system/optimisationDict | 2 +- .../porosityBased/linear/losses-massConstr/system/blockMeshDict | 2 +- .../porosityBased/linear/losses-massConstr/system/controlDict | 2 +- .../linear/losses-massConstr/system/decomposeParDict | 2 +- .../porosityBased/linear/losses-massConstr/system/fvOptions | 2 +- .../porosityBased/linear/losses-massConstr/system/fvSchemes | 2 +- .../porosityBased/linear/losses-massConstr/system/fvSolution | 2 +- .../linear/losses-massConstr/system/optimisationDict | 2 +- .../porosityBased/linear/losses-massConstr/system/topoSetDict | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/linear/losses/0/U | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/linear/losses/0/Ua | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses/0/nuTilda | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses/0/nut | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/linear/losses/0/p | 2 +- .../turbulent/1_Inlet_2_Outlet/porosityBased/linear/losses/0/pa | 2 +- .../porosityBased/linear/losses/constant/adjointRASProperties | 2 +- .../porosityBased/linear/losses/constant/transportProperties | 2 +- .../porosityBased/linear/losses/constant/turbulenceProperties | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses/reEval/0/U | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses/reEval/0/Ua | 2 +- .../porosityBased/linear/losses/reEval/0/nuTilda | 2 +- .../porosityBased/linear/losses/reEval/0/nuaTilda | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses/reEval/0/nut | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses/reEval/0/p | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/losses/reEval/0/pa | 2 +- .../linear/losses/reEval/constant/adjointRASProperties | 2 +- .../linear/losses/reEval/constant/transportProperties | 2 +- .../linear/losses/reEval/constant/turbulenceProperties | 2 +- .../porosityBased/linear/losses/reEval/system/controlDict | 2 +- .../porosityBased/linear/losses/reEval/system/decomposeParDict | 2 +- .../porosityBased/linear/losses/reEval/system/fvSchemes | 2 +- .../porosityBased/linear/losses/reEval/system/fvSolution | 2 +- .../porosityBased/linear/losses/reEval/system/meshDict | 2 +- .../porosityBased/linear/losses/reEval/system/optimisationDict | 2 +- .../porosityBased/linear/losses/system/blockMeshDict | 2 +- .../porosityBased/linear/losses/system/controlDict | 2 +- .../porosityBased/linear/losses/system/decomposeParDict | 2 +- .../porosityBased/linear/losses/system/fvOptions | 2 +- .../porosityBased/linear/losses/system/fvSchemes | 2 +- .../porosityBased/linear/losses/system/fvSolution | 2 +- .../porosityBased/linear/losses/system/optimisationDict | 2 +- .../porosityBased/linear/losses/system/topoSetDict | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/uniformity-losses/0/U | 2 +- .../porosityBased/linear/uniformity-losses/0/Ua | 2 +- .../porosityBased/linear/uniformity-losses/0/nuTilda | 2 +- .../porosityBased/linear/uniformity-losses/0/nuaTilda | 2 +- .../porosityBased/linear/uniformity-losses/0/nut | 2 +- .../1_Inlet_2_Outlet/porosityBased/linear/uniformity-losses/0/p | 2 +- .../porosityBased/linear/uniformity-losses/0/pa | 2 +- .../linear/uniformity-losses/constant/adjointRASProperties | 2 +- .../linear/uniformity-losses/constant/transportProperties | 2 +- .../linear/uniformity-losses/constant/turbulenceProperties | 2 +- .../porosityBased/linear/uniformity-losses/reEval/0/U | 2 +- .../porosityBased/linear/uniformity-losses/reEval/0/Ua | 2 +- .../porosityBased/linear/uniformity-losses/reEval/0/nuTilda | 2 +- .../porosityBased/linear/uniformity-losses/reEval/0/nuaTilda | 2 +- .../porosityBased/linear/uniformity-losses/reEval/0/nut | 2 +- .../porosityBased/linear/uniformity-losses/reEval/0/p | 2 +- .../porosityBased/linear/uniformity-losses/reEval/0/pa | 2 +- .../uniformity-losses/reEval/constant/adjointRASProperties | 2 +- .../uniformity-losses/reEval/constant/transportProperties | 2 +- .../uniformity-losses/reEval/constant/turbulenceProperties | 2 +- .../linear/uniformity-losses/reEval/system/controlDict | 2 +- .../linear/uniformity-losses/reEval/system/decomposeParDict | 2 +- .../linear/uniformity-losses/reEval/system/fvSchemes | 2 +- .../linear/uniformity-losses/reEval/system/fvSolution | 2 +- .../linear/uniformity-losses/reEval/system/meshDict | 2 +- .../linear/uniformity-losses/reEval/system/optimisationDict | 2 +- .../porosityBased/linear/uniformity-losses/system/blockMeshDict | 2 +- .../porosityBased/linear/uniformity-losses/system/controlDict | 2 +- .../linear/uniformity-losses/system/decomposeParDict | 2 +- .../porosityBased/linear/uniformity-losses/system/fvOptions | 2 +- .../porosityBased/linear/uniformity-losses/system/fvSchemes | 2 +- .../porosityBased/linear/uniformity-losses/system/fvSolution | 2 +- .../linear/uniformity-losses/system/optimisationDict | 2 +- .../porosityBased/linear/uniformity-losses/system/topoSetDict | 2 +- .../incompressible/adjointShapeOptimizationFoam/pitzDaily/0/U | 2 +- .../incompressible/adjointShapeOptimizationFoam/pitzDaily/0/Ua | 2 +- .../adjointShapeOptimizationFoam/pitzDaily/0/epsilon | 2 +- .../incompressible/adjointShapeOptimizationFoam/pitzDaily/0/k | 2 +- .../incompressible/adjointShapeOptimizationFoam/pitzDaily/0/nut | 2 +- .../incompressible/adjointShapeOptimizationFoam/pitzDaily/0/p | 2 +- .../incompressible/adjointShapeOptimizationFoam/pitzDaily/0/pa | 2 +- .../pitzDaily/constant/transportProperties | 2 +- .../pitzDaily/constant/turbulenceProperties | 2 +- .../adjointShapeOptimizationFoam/pitzDaily/system/blockMeshDict | 2 +- .../adjointShapeOptimizationFoam/pitzDaily/system/controlDict | 2 +- .../adjointShapeOptimizationFoam/pitzDaily/system/fvSchemes | 2 +- .../adjointShapeOptimizationFoam/pitzDaily/system/fvSolution | 2 +- .../setups.orig/LaunderSharmaKE-nutkWallFunction/0.orig/nut | 2 +- .../constant/turbulenceProperties | 2 +- .../steadyBoundaryLayer/setups.orig/common/0.orig/U | 2 +- .../steadyBoundaryLayer/setups.orig/common/0.orig/epsilon | 2 +- .../steadyBoundaryLayer/setups.orig/common/0.orig/k | 2 +- .../steadyBoundaryLayer/setups.orig/common/0.orig/nuTilda | 2 +- .../steadyBoundaryLayer/setups.orig/common/0.orig/omega | 2 +- .../setups.orig/common/constant/transportProperties.template | 2 +- .../steadyBoundaryLayer/setups.orig/common/system/blockMeshDict | 2 +- .../steadyBoundaryLayer/setups.orig/common/system/controlDict | 2 +- .../setups.orig/common/system/decomposeParDict | 2 +- .../steadyBoundaryLayer/setups.orig/common/system/fvSchemes | 2 +- .../steadyBoundaryLayer/setups.orig/common/system/fvSolution | 2 +- .../setups.orig/kEpsilon-nutkWallFunction/0.orig/nut | 2 +- .../kEpsilon-nutkWallFunction/constant/turbulenceProperties | 2 +- tutorials/incompressible/icoFoam/cavity/cavity/0/U | 2 +- tutorials/incompressible/icoFoam/cavity/cavity/0/p | 2 +- .../icoFoam/cavity/cavity/constant/transportProperties | 2 +- .../icoFoam/cavity/cavity/system/PDRblockMeshDict | 2 +- .../incompressible/icoFoam/cavity/cavity/system/blockMeshDict | 2 +- .../incompressible/icoFoam/cavity/cavity/system/controlDict | 2 +- .../icoFoam/cavity/cavity/system/decomposeParDict | 2 +- tutorials/incompressible/icoFoam/cavity/cavity/system/fvSchemes | 2 +- .../incompressible/icoFoam/cavity/cavity/system/fvSolution | 2 +- tutorials/incompressible/icoFoam/cavity/cavityClipped/0/U | 2 +- tutorials/incompressible/icoFoam/cavity/cavityClipped/0/p | 2 +- .../icoFoam/cavity/cavityClipped/constant/transportProperties | 2 +- .../icoFoam/cavity/cavityClipped/system/blockMeshDict | 2 +- .../icoFoam/cavity/cavityClipped/system/controlDict | 2 +- .../icoFoam/cavity/cavityClipped/system/fvSchemes | 2 +- .../icoFoam/cavity/cavityClipped/system/fvSolution | 2 +- .../icoFoam/cavity/cavityClipped/system/mapFieldsDict | 2 +- tutorials/incompressible/icoFoam/cavity/cavityGrade/0/U | 2 +- tutorials/incompressible/icoFoam/cavity/cavityGrade/0/p | 2 +- .../icoFoam/cavity/cavityGrade/constant/transportProperties | 2 +- .../icoFoam/cavity/cavityGrade/system/blockMeshDict | 2 +- .../icoFoam/cavity/cavityGrade/system/controlDict | 2 +- .../incompressible/icoFoam/cavity/cavityGrade/system/fvSchemes | 2 +- .../incompressible/icoFoam/cavity/cavityGrade/system/fvSolution | 2 +- .../icoFoam/cavity/cavityGrade/system/mapFieldsDict | 2 +- tutorials/incompressible/icoFoam/cavityMappingTest/0.orig/U | 2 +- tutorials/incompressible/icoFoam/cavityMappingTest/0.orig/p | 2 +- .../icoFoam/cavityMappingTest/constant/transportProperties | 2 +- .../icoFoam/cavityMappingTest/system/blockMeshDict.coarse | 2 +- .../icoFoam/cavityMappingTest/system/blockMeshDict.fine | 2 +- .../cavityMappingTest/system/coarseMesh/decomposeParDict | 2 +- .../icoFoam/cavityMappingTest/system/coarseMesh/fvSchemes | 2 +- .../icoFoam/cavityMappingTest/system/coarseMesh/fvSolution | 2 +- .../incompressible/icoFoam/cavityMappingTest/system/controlDict | 2 +- .../icoFoam/cavityMappingTest/system/decomposeParDict | 2 +- .../incompressible/icoFoam/cavityMappingTest/system/fvSchemes | 2 +- .../incompressible/icoFoam/cavityMappingTest/system/fvSolution | 2 +- tutorials/incompressible/icoFoam/elbow/0.orig/U | 2 +- tutorials/incompressible/icoFoam/elbow/0.orig/p | 2 +- .../incompressible/icoFoam/elbow/constant/transportProperties | 2 +- tutorials/incompressible/icoFoam/elbow/system/controlDict | 2 +- .../incompressible/icoFoam/elbow/system/foamDataToFluentDict | 2 +- tutorials/incompressible/icoFoam/elbow/system/fvSchemes | 2 +- tutorials/incompressible/icoFoam/elbow/system/fvSolution | 2 +- .../incompressible/lumpedPointMotion/bridge/steady/0.orig/U | 2 +- .../lumpedPointMotion/bridge/steady/0.orig/epsilon | 2 +- .../lumpedPointMotion/bridge/steady/0.orig/include/controllers | 2 +- .../lumpedPointMotion/bridge/steady/0.orig/include/environ | 2 +- .../bridge/steady/0.orig/include/initialConditions | 2 +- .../incompressible/lumpedPointMotion/bridge/steady/0.orig/k | 2 +- .../incompressible/lumpedPointMotion/bridge/steady/0.orig/nut | 2 +- .../incompressible/lumpedPointMotion/bridge/steady/0.orig/omega | 2 +- .../incompressible/lumpedPointMotion/bridge/steady/0.orig/p | 2 +- .../lumpedPointMotion/bridge/steady/0.orig/pointDisplacement | 2 +- .../lumpedPointMotion/bridge/steady/constant/dynamicMeshDict | 2 +- .../bridge/steady/constant/transportProperties | 2 +- .../bridge/steady/constant/turbulenceProperties | 2 +- .../lumpedPointMotion/bridge/steady/system/PDRblockMeshDict | 2 +- .../lumpedPointMotion/bridge/steady/system/blockMeshDict | 2 +- .../lumpedPointMotion/bridge/steady/system/controlDict | 2 +- .../lumpedPointMotion/bridge/steady/system/decomposeParDict | 2 +- .../lumpedPointMotion/bridge/steady/system/fvSchemes | 2 +- .../lumpedPointMotion/bridge/steady/system/fvSolution | 2 +- .../bridge/steady/system/lumpedPointControllers | 2 +- .../lumpedPointMotion/bridge/steady/system/lumpedPointMovement | 2 +- .../lumpedPointMotion/bridge/steady/system/meshQualityDict | 2 +- .../lumpedPointMotion/bridge/steady/system/snappyHexMeshDict | 2 +- .../bridge/steady/system/surfaceFeatureExtractDict | 2 +- .../incompressible/lumpedPointMotion/building/steady/0.orig/U | 2 +- .../lumpedPointMotion/building/steady/0.orig/epsilon | 2 +- .../lumpedPointMotion/building/steady/0.orig/include/environ | 2 +- .../lumpedPointMotion/building/steady/0.orig/include/fixedInlet | 2 +- .../building/steady/0.orig/include/initialConditions | 2 +- .../incompressible/lumpedPointMotion/building/steady/0.orig/k | 2 +- .../incompressible/lumpedPointMotion/building/steady/0.orig/nut | 2 +- .../lumpedPointMotion/building/steady/0.orig/omega | 2 +- .../incompressible/lumpedPointMotion/building/steady/0.orig/p | 2 +- .../lumpedPointMotion/building/steady/0.orig/pointDisplacement | 2 +- .../lumpedPointMotion/building/steady/constant/dynamicMeshDict | 2 +- .../building/steady/constant/transportProperties | 2 +- .../building/steady/constant/turbulenceProperties | 2 +- .../lumpedPointMotion/building/steady/system/blockMeshDict | 2 +- .../lumpedPointMotion/building/steady/system/controlDict | 2 +- .../lumpedPointMotion/building/steady/system/decomposeParDict | 2 +- .../lumpedPointMotion/building/steady/system/fvSchemes | 2 +- .../lumpedPointMotion/building/steady/system/fvSolution | 2 +- .../building/steady/system/lumpedPointControllers | 2 +- .../building/steady/system/lumpedPointMovement | 2 +- .../lumpedPointMotion/building/steady/system/meshQualityDict | 2 +- .../lumpedPointMotion/building/steady/system/snappyHexMeshDict | 2 +- .../building/steady/system/surfaceFeatureExtractDict | 2 +- tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/0/U | 2 +- tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/0/p | 2 +- .../offsetCylinder/constant/transportProperties | 2 +- .../nonNewtonianIcoFoam/offsetCylinder/system/blockMeshDict | 2 +- .../nonNewtonianIcoFoam/offsetCylinder/system/controlDict | 2 +- .../nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes | 2 +- .../nonNewtonianIcoFoam/offsetCylinder/system/fvSolution | 2 +- .../overPimpleDyMFoam/cylinder/cylinderAndBackground/0.orig/U | 2 +- .../cylinder/cylinderAndBackground/0.orig/cellDisplacement | 2 +- .../cylinder/cylinderAndBackground/0.orig/epsilon | 2 +- .../cylinder/cylinderAndBackground/0.orig/include/fixedInlet | 2 +- .../cylinderAndBackground/0.orig/include/initialConditions | 2 +- .../overPimpleDyMFoam/cylinder/cylinderAndBackground/0.orig/k | 2 +- .../overPimpleDyMFoam/cylinder/cylinderAndBackground/0.orig/nut | 2 +- .../overPimpleDyMFoam/cylinder/cylinderAndBackground/0.orig/p | 2 +- .../cylinder/cylinderAndBackground/0.orig/pointDisplacement | 2 +- .../cylinder/cylinderAndBackground/0.orig/zoneID | 2 +- .../cylinder/cylinderAndBackground/constant/dynamicMeshDict | 2 +- .../cylinder/cylinderAndBackground/constant/transportProperties | 2 +- .../cylinderAndBackground/constant/turbulenceProperties | 2 +- .../cylinder/cylinderAndBackground/system/blockMeshDict | 2 +- .../cylinder/cylinderAndBackground/system/controlDict | 2 +- .../cylinder/cylinderAndBackground/system/decomposeParDict | 2 +- .../cylinder/cylinderAndBackground/system/fvSchemes | 2 +- .../cylinder/cylinderAndBackground/system/fvSolution | 2 +- .../cylinder/cylinderAndBackground/system/setFieldsDict | 2 +- .../cylinder/cylinderAndBackground/system/topoSetDict | 2 +- .../overPimpleDyMFoam/cylinder/cylinderMesh/system/controlDict | 2 +- .../cylinder/cylinderMesh/system/createPatchDict | 2 +- .../cylinder/cylinderMesh/system/extrudeMeshDict | 2 +- .../overPimpleDyMFoam/cylinder/cylinderMesh/system/fvSchemes | 2 +- .../overPimpleDyMFoam/cylinder/cylinderMesh/system/fvSolution | 2 +- .../incompressible/overPimpleDyMFoam/rotatingSquare/0.orig/U | 2 +- .../overPimpleDyMFoam/rotatingSquare/0.orig/epsilon | 2 +- .../incompressible/overPimpleDyMFoam/rotatingSquare/0.orig/k | 2 +- .../overPimpleDyMFoam/rotatingSquare/0.orig/nuTilda | 2 +- .../incompressible/overPimpleDyMFoam/rotatingSquare/0.orig/nut | 2 +- .../incompressible/overPimpleDyMFoam/rotatingSquare/0.orig/p | 2 +- .../overPimpleDyMFoam/rotatingSquare/0.orig/pointDisplacement | 2 +- .../overPimpleDyMFoam/rotatingSquare/0.orig/zoneID | 2 +- .../overPimpleDyMFoam/rotatingSquare/constant/dynamicMeshDict | 2 +- .../overPimpleDyMFoam/rotatingSquare/constant/fvOptions | 2 +- .../rotatingSquare/constant/transportProperties | 2 +- .../rotatingSquare/constant/turbulenceProperties | 2 +- .../overPimpleDyMFoam/rotatingSquare/system/blockMeshDict | 2 +- .../overPimpleDyMFoam/rotatingSquare/system/controlDict | 2 +- .../overPimpleDyMFoam/rotatingSquare/system/decomposeParDict | 2 +- .../overPimpleDyMFoam/rotatingSquare/system/fvSchemes | 2 +- .../overPimpleDyMFoam/rotatingSquare/system/fvSolution | 2 +- .../overPimpleDyMFoam/rotatingSquare/system/setFieldsDict | 2 +- .../overPimpleDyMFoam/rotatingSquare/system/topoSetDict | 2 +- tutorials/incompressible/overPimpleDyMFoam/simpleRotor/0.orig/U | 2 +- .../incompressible/overPimpleDyMFoam/simpleRotor/0.orig/epsilon | 2 +- tutorials/incompressible/overPimpleDyMFoam/simpleRotor/0.orig/k | 2 +- .../incompressible/overPimpleDyMFoam/simpleRotor/0.orig/nuTilda | 2 +- .../incompressible/overPimpleDyMFoam/simpleRotor/0.orig/nut | 2 +- tutorials/incompressible/overPimpleDyMFoam/simpleRotor/0.orig/p | 2 +- .../overPimpleDyMFoam/simpleRotor/0.orig/pointDisplacement | 2 +- .../incompressible/overPimpleDyMFoam/simpleRotor/0.orig/zoneID | 2 +- .../overPimpleDyMFoam/simpleRotor/constant/dynamicMeshDict | 2 +- .../overPimpleDyMFoam/simpleRotor/constant/transportProperties | 2 +- .../overPimpleDyMFoam/simpleRotor/constant/turbulenceProperties | 2 +- .../overPimpleDyMFoam/simpleRotor/system/blockMeshDict | 2 +- .../overPimpleDyMFoam/simpleRotor/system/controlDict | 2 +- .../overPimpleDyMFoam/simpleRotor/system/decomposeParDict | 2 +- .../overPimpleDyMFoam/simpleRotor/system/fvSchemes | 2 +- .../overPimpleDyMFoam/simpleRotor/system/fvSolution | 2 +- .../overPimpleDyMFoam/simpleRotor/system/setFieldsDict | 2 +- .../overPimpleDyMFoam/simpleRotor/system/topoSetDict | 2 +- .../incompressible/overPimpleDyMFoam/twoSimpleRotors/0.orig/U | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/0.orig/epsilon | 2 +- .../incompressible/overPimpleDyMFoam/twoSimpleRotors/0.orig/k | 2 +- .../incompressible/overPimpleDyMFoam/twoSimpleRotors/0.orig/nut | 2 +- .../incompressible/overPimpleDyMFoam/twoSimpleRotors/0.orig/p | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/0.orig/pointDisplacement | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/0.orig/zoneID | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/constant/dynamicMeshDict | 2 +- .../twoSimpleRotors/constant/transportProperties | 2 +- .../twoSimpleRotors/constant/turbulenceProperties | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/system/blockMeshDict | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/system/controlDict | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/system/decomposeParDict | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/system/fvSchemes | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/system/fvSolution | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/system/setFieldsDict | 2 +- .../overPimpleDyMFoam/twoSimpleRotors/system/topoSetDict | 2 +- .../aeroFoil/aeroFoil_overset/constant/transportProperties | 2 +- .../aeroFoil/aeroFoil_overset/constant/turbulenceProperties | 2 +- .../overSimpleFoam/aeroFoil/aeroFoil_overset/system/controlDict | 2 +- .../aeroFoil/aeroFoil_overset/system/createPatchDict | 2 +- .../aeroFoil/aeroFoil_overset/system/extrudeMeshDict | 2 +- .../overSimpleFoam/aeroFoil/aeroFoil_overset/system/fvSchemes | 2 +- .../overSimpleFoam/aeroFoil/aeroFoil_overset/system/fvSolution | 2 +- .../aeroFoil/aeroFoil_snappyHexMesh/system/blockMeshDict | 2 +- .../aeroFoil/aeroFoil_snappyHexMesh/system/controlDict | 2 +- .../aeroFoil/aeroFoil_snappyHexMesh/system/decomposeParDict | 2 +- .../aeroFoil/aeroFoil_snappyHexMesh/system/fvSchemes | 2 +- .../aeroFoil/aeroFoil_snappyHexMesh/system/fvSolution | 2 +- .../aeroFoil/aeroFoil_snappyHexMesh/system/snappyHexMeshDict | 2 +- .../overSimpleFoam/aeroFoil/background_overset/0.orig/U | 2 +- .../overSimpleFoam/aeroFoil/background_overset/0.orig/epsilon | 2 +- .../0.orig/include/frontBackTopBottomfreePatches | 2 +- .../background_overset/0.orig/include/initialConditions | 2 +- .../overSimpleFoam/aeroFoil/background_overset/0.orig/k | 2 +- .../overSimpleFoam/aeroFoil/background_overset/0.orig/nuTilda | 2 +- .../overSimpleFoam/aeroFoil/background_overset/0.orig/nut | 2 +- .../overSimpleFoam/aeroFoil/background_overset/0.orig/omega | 2 +- .../overSimpleFoam/aeroFoil/background_overset/0.orig/p | 2 +- .../aeroFoil/background_overset/0.orig/pointDisplacement | 2 +- .../overSimpleFoam/aeroFoil/background_overset/0.orig/zoneID | 2 +- .../aeroFoil/background_overset/constant/RASProperties | 2 +- .../aeroFoil/background_overset/constant/dynamicMeshDict | 2 +- .../aeroFoil/background_overset/constant/transportProperties | 2 +- .../aeroFoil/background_overset/constant/turbulenceProperties | 2 +- .../aeroFoil/background_overset/system/blockMeshDict | 2 +- .../aeroFoil/background_overset/system/controlDict | 2 +- .../aeroFoil/background_overset/system/createPatchDict | 2 +- .../aeroFoil/background_overset/system/decomposeParDict | 2 +- .../aeroFoil/background_overset/system/extrudeMeshDict | 2 +- .../overSimpleFoam/aeroFoil/background_overset/system/fvSchemes | 2 +- .../aeroFoil/background_overset/system/fvSolution | 2 +- .../aeroFoil/background_overset/system/postProcessingDict | 2 +- .../aeroFoil/background_overset/system/setFieldsDict | 2 +- .../aeroFoil/background_overset/system/topoSetDict | 2 +- .../aeroFoil/background_snappyHexMesh/system/blockMeshDict | 2 +- .../aeroFoil/background_snappyHexMesh/system/controlDict | 2 +- .../aeroFoil/background_snappyHexMesh/system/fvSchemes | 2 +- .../aeroFoil/background_snappyHexMesh/system/fvSolution | 2 +- .../aeroFoil/background_snappyHexMesh/system/snappyHexMeshDict | 2 +- tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/0.orig/nut | 2 +- tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/0.orig/p | 2 +- .../pimpleFoam/LES/decayIsoTurb/constant/createBoxTurbDict | 2 +- .../pimpleFoam/LES/decayIsoTurb/constant/transportProperties | 2 +- .../pimpleFoam/LES/decayIsoTurb/constant/turbulenceProperties | 2 +- .../pimpleFoam/LES/decayIsoTurb/system/blockMeshDict | 2 +- .../pimpleFoam/LES/decayIsoTurb/system/controlDict | 2 +- .../pimpleFoam/LES/decayIsoTurb/system/decomposeParDict | 2 +- .../incompressible/pimpleFoam/LES/decayIsoTurb/system/fvSchemes | 2 +- .../pimpleFoam/LES/decayIsoTurb/system/fvSolution | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/0.orig/U | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/0.orig/k | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/0.orig/nuTilda | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/0.orig/nut | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/0.orig/p | 2 +- .../LES/periodicHill/steadyState/constant/transportProperties | 2 +- .../LES/periodicHill/steadyState/constant/turbulenceProperties | 2 +- .../LES/periodicHill/steadyState/system/blockMeshDict | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/system/controlDict | 2 +- .../LES/periodicHill/steadyState/system/decomposeParDict | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/system/fvOptions | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/system/fvSchemes | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/system/fvSolution | 2 +- .../pimpleFoam/LES/periodicHill/steadyState/system/topoSetDict | 2 +- .../LES/periodicHill/transient/constant/transportProperties | 2 +- .../LES/periodicHill/transient/constant/turbulenceProperties | 2 +- .../pimpleFoam/LES/periodicHill/transient/system/blockMeshDict | 2 +- .../pimpleFoam/LES/periodicHill/transient/system/controlDict | 2 +- .../pimpleFoam/LES/periodicHill/transient/system/cuttingPlane | 2 +- .../LES/periodicHill/transient/system/decomposeParDict | 2 +- .../pimpleFoam/LES/periodicHill/transient/system/fvOptions | 2 +- .../pimpleFoam/LES/periodicHill/transient/system/fvSchemes | 2 +- .../pimpleFoam/LES/periodicHill/transient/system/fvSolution | 2 +- .../pimpleFoam/LES/periodicPlaneChannel/constant/fvOptions | 2 +- .../LES/periodicPlaneChannel/constant/postChannelDict | 2 +- .../LES/periodicPlaneChannel/constant/transportProperties | 2 +- .../LES/periodicPlaneChannel/constant/turbulenceProperties | 2 +- .../pimpleFoam/LES/periodicPlaneChannel/system/blockMeshDict | 2 +- .../pimpleFoam/LES/periodicPlaneChannel/system/controlDict | 2 +- .../pimpleFoam/LES/periodicPlaneChannel/system/decomposeParDict | 2 +- .../pimpleFoam/LES/periodicPlaneChannel/system/fvSchemes | 2 +- .../pimpleFoam/LES/periodicPlaneChannel/system/fvSolution | 2 +- .../pimpleFoam/LES/planeChannel/setups.orig/DFM/0.orig/U | 2 +- .../pimpleFoam/LES/planeChannel/setups.orig/DFSEM/0.orig/U | 2 +- .../pimpleFoam/LES/planeChannel/setups.orig/FSM/0.orig/U | 2 +- .../pimpleFoam/LES/planeChannel/setups.orig/common/0.orig/nut | 2 +- .../pimpleFoam/LES/planeChannel/setups.orig/common/0.orig/p | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../setups.orig/common/constant/turbulenceProperties | 2 +- .../LES/planeChannel/setups.orig/common/system/blockMeshDict | 2 +- .../LES/planeChannel/setups.orig/common/system/controlDict | 2 +- .../LES/planeChannel/setups.orig/common/system/decomposeParDict | 2 +- .../LES/planeChannel/setups.orig/common/system/fvSchemes | 2 +- .../LES/planeChannel/setups.orig/common/system/fvSolution | 2 +- .../pimpleFoam/LES/surfaceMountedCube/fullCase/0.orig/U | 2 +- .../pimpleFoam/LES/surfaceMountedCube/fullCase/0.orig/k | 2 +- .../pimpleFoam/LES/surfaceMountedCube/fullCase/0.orig/nuTilda | 2 +- .../pimpleFoam/LES/surfaceMountedCube/fullCase/0.orig/nut | 2 +- .../pimpleFoam/LES/surfaceMountedCube/fullCase/0.orig/p | 2 +- .../surfaceMountedCube/fullCase/constant/transportProperties | 2 +- .../surfaceMountedCube/fullCase/constant/turbulenceProperties | 2 +- .../LES/surfaceMountedCube/fullCase/system/blockMeshDict | 2 +- .../LES/surfaceMountedCube/fullCase/system/controlDict | 2 +- .../LES/surfaceMountedCube/fullCase/system/decomposeParDict | 2 +- .../pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSchemes | 2 +- .../LES/surfaceMountedCube/fullCase/system/fvSolution | 2 +- .../pimpleFoam/LES/surfaceMountedCube/fullCase/system/sample | 2 +- .../pimpleFoam/LES/surfaceMountedCube/initChannel/0.orig/U | 2 +- .../LES/surfaceMountedCube/initChannel/0.orig/epsilon | 2 +- .../pimpleFoam/LES/surfaceMountedCube/initChannel/0.orig/k | 2 +- .../LES/surfaceMountedCube/initChannel/0.orig/nuTilda | 2 +- .../pimpleFoam/LES/surfaceMountedCube/initChannel/0.orig/nut | 2 +- .../surfaceMountedCube/initChannel/constant/transportProperties | 2 +- .../initChannel/constant/turbulenceProperties | 2 +- .../LES/surfaceMountedCube/initChannel/system/blockMeshDict | 2 +- .../LES/surfaceMountedCube/initChannel/system/controlDict | 2 +- .../LES/surfaceMountedCube/initChannel/system/fvSchemes | 2 +- .../LES/surfaceMountedCube/initChannel/system/fvSolution | 2 +- tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/U | 2 +- .../incompressible/pimpleFoam/LES/vortexShed/0.orig/nuTilda | 2 +- tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nut | 2 +- tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/p | 2 +- .../pimpleFoam/LES/vortexShed/constant/transportProperties | 2 +- .../pimpleFoam/LES/vortexShed/constant/turbulenceProperties | 2 +- .../pimpleFoam/LES/vortexShed/system/blockMeshDict.m4 | 2 +- .../incompressible/pimpleFoam/LES/vortexShed/system/controlDict | 2 +- .../pimpleFoam/LES/vortexShed/system/decomposeParDict | 2 +- .../incompressible/pimpleFoam/LES/vortexShed/system/fvSchemes | 2 +- .../incompressible/pimpleFoam/LES/vortexShed/system/fvSolution | 2 +- .../pimpleFoam/LES/vortexShed/system/noiseDict-point | 2 +- .../pimpleFoam/LES/vortexShed/system/noiseDict-surface | 2 +- .../constant/turbulenceProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/U | 2 +- .../pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/k | 2 +- .../LES/wallMountedHump/setups.orig/common/0.orig/nuTilda | 2 +- .../LES/wallMountedHump/setups.orig/common/0.orig/nut | 2 +- .../LES/wallMountedHump/setups.orig/common/0.orig/omega | 2 +- .../pimpleFoam/LES/wallMountedHump/setups.orig/common/0.orig/p | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../LES/wallMountedHump/setups.orig/common/system/blockMeshDict | 2 +- .../LES/wallMountedHump/setups.orig/common/system/columnAverage | 2 +- .../LES/wallMountedHump/setups.orig/common/system/controlDict | 2 +- .../wallMountedHump/setups.orig/common/system/decomposeParDict | 2 +- .../LES/wallMountedHump/setups.orig/common/system/fieldAverage | 2 +- .../LES/wallMountedHump/setups.orig/common/system/fvSchemes | 2 +- .../LES/wallMountedHump/setups.orig/common/system/fvSolution | 2 +- .../LES/wallMountedHump/setups.orig/common/system/sampleDict | 2 +- .../LES/wallMountedHump/setups.orig/common/system/volFields | 2 +- .../LES/wallMountedHump/setups.orig/common/system/wallFields | 2 +- .../constant/turbulenceProperties | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunction/0/U | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunction/0/epsilon | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunction/0/k | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunction/0/nuTilda | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunction/0/nut | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunction/0/p | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunction/0/s | 2 +- .../pimpleFoam/RAS/TJunction/constant/transportProperties | 2 +- .../pimpleFoam/RAS/TJunction/constant/turbulenceProperties | 2 +- .../pimpleFoam/RAS/TJunction/system/blockMeshDict | 2 +- .../incompressible/pimpleFoam/RAS/TJunction/system/controlDict | 2 +- .../incompressible/pimpleFoam/RAS/TJunction/system/fvSchemes | 2 +- .../incompressible/pimpleFoam/RAS/TJunction/system/fvSolution | 2 +- .../pimpleFoam/RAS/TJunctionArrheniusBirdCarreauTransport/0/T | 2 +- .../pimpleFoam/RAS/TJunctionArrheniusBirdCarreauTransport/0/U | 2 +- .../RAS/TJunctionArrheniusBirdCarreauTransport/0/epsilon | 2 +- .../pimpleFoam/RAS/TJunctionArrheniusBirdCarreauTransport/0/k | 2 +- .../RAS/TJunctionArrheniusBirdCarreauTransport/0/nuTilda | 2 +- .../pimpleFoam/RAS/TJunctionArrheniusBirdCarreauTransport/0/nut | 2 +- .../pimpleFoam/RAS/TJunctionArrheniusBirdCarreauTransport/0/p | 2 +- .../constant/transportProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../TJunctionArrheniusBirdCarreauTransport/system/blockMeshDict | 2 +- .../TJunctionArrheniusBirdCarreauTransport/system/controlDict | 2 +- .../RAS/TJunctionArrheniusBirdCarreauTransport/system/fvSchemes | 2 +- .../TJunctionArrheniusBirdCarreauTransport/system/fvSolution | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/U | 2 +- .../incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/epsilon | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/k | 2 +- .../incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/nuTilda | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/nut | 2 +- tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/p | 2 +- .../pimpleFoam/RAS/TJunctionFan/constant/transportProperties | 2 +- .../pimpleFoam/RAS/TJunctionFan/constant/turbulenceProperties | 2 +- .../pimpleFoam/RAS/TJunctionFan/system/blockMeshDict | 2 +- .../pimpleFoam/RAS/TJunctionFan/system/controlDict | 2 +- .../pimpleFoam/RAS/TJunctionFan/system/createBafflesDict | 2 +- .../incompressible/pimpleFoam/RAS/TJunctionFan/system/fvSchemes | 2 +- .../pimpleFoam/RAS/TJunctionFan/system/fvSolution | 2 +- .../pimpleFoam/RAS/TJunctionFan/system/topoSetDict | 2 +- .../incompressible/pimpleFoam/RAS/TJunctionSwitching/0.orig/U | 2 +- .../pimpleFoam/RAS/TJunctionSwitching/0.orig/epsilon | 2 +- .../incompressible/pimpleFoam/RAS/TJunctionSwitching/0.orig/k | 2 +- .../pimpleFoam/RAS/TJunctionSwitching/0.orig/nuTilda | 2 +- .../incompressible/pimpleFoam/RAS/TJunctionSwitching/0.orig/nut | 2 +- .../incompressible/pimpleFoam/RAS/TJunctionSwitching/0.orig/p | 2 +- .../RAS/TJunctionSwitching/constant/transportProperties | 2 +- .../RAS/TJunctionSwitching/constant/turbulenceProperties | 2 +- .../pimpleFoam/RAS/TJunctionSwitching/system/blockMeshDict | 2 +- .../pimpleFoam/RAS/TJunctionSwitching/system/controlDict | 2 +- .../pimpleFoam/RAS/TJunctionSwitching/system/decomposeParDict | 2 +- .../pimpleFoam/RAS/TJunctionSwitching/system/fvSchemes | 2 +- .../pimpleFoam/RAS/TJunctionSwitching/system/fvSolution | 2 +- .../incompressible/pimpleFoam/RAS/ellipsekkLOmega/0.orig/U | 2 +- .../incompressible/pimpleFoam/RAS/ellipsekkLOmega/0.orig/kl | 2 +- .../incompressible/pimpleFoam/RAS/ellipsekkLOmega/0.orig/kt | 2 +- .../incompressible/pimpleFoam/RAS/ellipsekkLOmega/0.orig/nut | 2 +- .../incompressible/pimpleFoam/RAS/ellipsekkLOmega/0.orig/omega | 2 +- .../incompressible/pimpleFoam/RAS/ellipsekkLOmega/0.orig/p | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/constant/transportProperties | 2 +- .../RAS/ellipsekkLOmega/constant/turbulenceProperties | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/blockMeshDict | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/changeDictionaryDict | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/controlDict | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/createPatchDict | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/decomposeParDict | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/fvSchemes | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/fvSolution | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/mirrorMeshDict | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/mirrorMeshDict.X | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/mirrorMeshDict.Y | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/runTimePostProcessing | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/sampling | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/streamLines | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/topoSetDict | 2 +- .../pimpleFoam/RAS/ellipsekkLOmega/system/visualization | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/0.orig/U | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/0.orig/epsilon | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/0.orig/k | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/0.orig/nut | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/0.orig/p | 2 +- .../RAS/oscillatingInletACMI2D/constant/dynamicMeshDict | 2 +- .../RAS/oscillatingInletACMI2D/constant/transportProperties | 2 +- .../RAS/oscillatingInletACMI2D/constant/turbulenceProperties | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/system/blockMeshDict | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/system/controlDict | 2 +- .../RAS/oscillatingInletACMI2D/system/decomposeParDict | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/system/fvSchemes | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/system/fvSolution | 2 +- .../pimpleFoam/RAS/oscillatingInletACMI2D/system/topoSetDict | 2 +- .../pimpleFoam/RAS/oscillatingInletPeriodicAMI2D/0/U | 2 +- .../pimpleFoam/RAS/oscillatingInletPeriodicAMI2D/0/epsilon | 2 +- .../pimpleFoam/RAS/oscillatingInletPeriodicAMI2D/0/k | 2 +- .../pimpleFoam/RAS/oscillatingInletPeriodicAMI2D/0/nut | 2 +- .../pimpleFoam/RAS/oscillatingInletPeriodicAMI2D/0/p | 2 +- .../RAS/oscillatingInletPeriodicAMI2D/constant/dynamicMeshDict | 2 +- .../oscillatingInletPeriodicAMI2D/constant/transportProperties | 2 +- .../oscillatingInletPeriodicAMI2D/constant/turbulenceProperties | 2 +- .../RAS/oscillatingInletPeriodicAMI2D/system/blockMeshDict | 2 +- .../RAS/oscillatingInletPeriodicAMI2D/system/controlDict | 2 +- .../RAS/oscillatingInletPeriodicAMI2D/system/fvSchemes | 2 +- .../RAS/oscillatingInletPeriodicAMI2D/system/fvSolution | 2 +- tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/U | 2 +- tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/epsilon | 2 +- tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/k | 2 +- tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/nuTilda | 2 +- tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/nut | 2 +- tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/p | 2 +- .../pimpleFoam/RAS/pitzDaily/constant/transportProperties | 2 +- .../pimpleFoam/RAS/pitzDaily/constant/turbulenceProperties | 2 +- .../pimpleFoam/RAS/pitzDaily/system/blockMeshDict | 2 +- .../incompressible/pimpleFoam/RAS/pitzDaily/system/controlDict | 2 +- .../incompressible/pimpleFoam/RAS/pitzDaily/system/fvSchemes | 2 +- .../incompressible/pimpleFoam/RAS/pitzDaily/system/fvSolution | 2 +- tutorials/incompressible/pimpleFoam/RAS/propeller/0.orig/U | 2 +- .../incompressible/pimpleFoam/RAS/propeller/0.orig/epsilon | 2 +- tutorials/incompressible/pimpleFoam/RAS/propeller/0.orig/k | 2 +- tutorials/incompressible/pimpleFoam/RAS/propeller/0.orig/nut | 2 +- tutorials/incompressible/pimpleFoam/RAS/propeller/0.orig/p | 2 +- .../pimpleFoam/RAS/propeller/constant/dynamicMeshDict | 2 +- .../pimpleFoam/RAS/propeller/constant/transportProperties | 2 +- .../pimpleFoam/RAS/propeller/constant/turbulenceProperties | 2 +- .../incompressible/pimpleFoam/RAS/propeller/system/AMIWeights | 2 +- .../pimpleFoam/RAS/propeller/system/blockMeshDict | 2 +- .../incompressible/pimpleFoam/RAS/propeller/system/controlDict | 2 +- .../RAS/propeller/system/createInletOutletSets.topoSetDict | 2 +- .../pimpleFoam/RAS/propeller/system/createPatchDict | 2 +- .../pimpleFoam/RAS/propeller/system/decomposeParDict | 2 +- tutorials/incompressible/pimpleFoam/RAS/propeller/system/forces | 2 +- .../incompressible/pimpleFoam/RAS/propeller/system/fvSchemes | 2 +- .../incompressible/pimpleFoam/RAS/propeller/system/fvSolution | 2 +- .../pimpleFoam/RAS/propeller/system/snappyHexMeshDict | 2 +- .../pimpleFoam/RAS/propeller/system/surfaceFeatureExtractDict | 2 +- .../incompressible/pimpleFoam/RAS/propeller/system/surfaces | 2 +- .../incompressible/pimpleFoam/RAS/rotatingFanInRoom/0.orig/U | 2 +- .../incompressible/pimpleFoam/RAS/rotatingFanInRoom/0.orig/k | 2 +- .../incompressible/pimpleFoam/RAS/rotatingFanInRoom/0.orig/nut | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/0.orig/omega | 2 +- .../incompressible/pimpleFoam/RAS/rotatingFanInRoom/0.orig/p | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/constant/dynamicMeshDict | 2 +- .../incompressible/pimpleFoam/RAS/rotatingFanInRoom/constant/g | 2 +- .../RAS/rotatingFanInRoom/constant/transportProperties | 2 +- .../RAS/rotatingFanInRoom/constant/turbulenceProperties | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/system/blockMeshDict | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/system/controlDict | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/system/createPatchDict | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/system/decomposeParDict | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/system/fvSchemes | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/system/fvSolution | 2 +- .../pimpleFoam/RAS/rotatingFanInRoom/system/snappyHexMeshDict | 2 +- .../RAS/rotatingFanInRoom/system/surfaceFeatureExtractDict | 2 +- .../pimpleFoam/RAS/wingMotion/wingMotion2D_pimpleFoam/0.orig/U | 2 +- .../wingMotion2D_pimpleFoam/0.orig/include/fixedInlet | 2 +- .../0.orig/include/frontBackTopBottomPatches | 2 +- .../wingMotion2D_pimpleFoam/0.orig/include/initialConditions | 2 +- .../pimpleFoam/RAS/wingMotion/wingMotion2D_pimpleFoam/0.orig/k | 2 +- .../RAS/wingMotion/wingMotion2D_pimpleFoam/0.orig/nut | 2 +- .../RAS/wingMotion/wingMotion2D_pimpleFoam/0.orig/omega | 2 +- .../pimpleFoam/RAS/wingMotion/wingMotion2D_pimpleFoam/0.orig/p | 2 +- .../wingMotion/wingMotion2D_pimpleFoam/0.orig/pointDisplacement | 2 +- .../wingMotion/wingMotion2D_pimpleFoam/constant/dynamicMeshDict | 2 +- .../wingMotion2D_pimpleFoam/constant/transportProperties | 2 +- .../wingMotion2D_pimpleFoam/constant/turbulenceProperties | 2 +- .../RAS/wingMotion/wingMotion2D_pimpleFoam/system/controlDict | 2 +- .../wingMotion/wingMotion2D_pimpleFoam/system/decomposeParDict | 2 +- .../RAS/wingMotion/wingMotion2D_pimpleFoam/system/ensightWrite | 2 +- .../RAS/wingMotion/wingMotion2D_pimpleFoam/system/fvSchemes | 2 +- .../RAS/wingMotion/wingMotion2D_pimpleFoam/system/fvSolution | 2 +- .../pimpleFoam/RAS/wingMotion/wingMotion2D_simpleFoam/0.orig/U | 2 +- .../wingMotion2D_simpleFoam/0.orig/include/fixedInlet | 2 +- .../0.orig/include/frontBackTopBottomPatches | 2 +- .../wingMotion2D_simpleFoam/0.orig/include/initialConditions | 2 +- .../pimpleFoam/RAS/wingMotion/wingMotion2D_simpleFoam/0.orig/k | 2 +- .../RAS/wingMotion/wingMotion2D_simpleFoam/0.orig/nut | 2 +- .../RAS/wingMotion/wingMotion2D_simpleFoam/0.orig/omega | 2 +- .../pimpleFoam/RAS/wingMotion/wingMotion2D_simpleFoam/0.orig/p | 2 +- .../wingMotion2D_simpleFoam/constant/transportProperties | 2 +- .../wingMotion2D_simpleFoam/constant/turbulenceProperties | 2 +- .../RAS/wingMotion/wingMotion2D_simpleFoam/system/controlDict | 2 +- .../wingMotion/wingMotion2D_simpleFoam/system/createPatchDict | 2 +- .../wingMotion/wingMotion2D_simpleFoam/system/extrudeMeshDict | 2 +- .../RAS/wingMotion/wingMotion2D_simpleFoam/system/forces | 2 +- .../RAS/wingMotion/wingMotion2D_simpleFoam/system/fvSchemes | 2 +- .../RAS/wingMotion/wingMotion2D_simpleFoam/system/fvSolution | 2 +- .../wingMotion/wingMotion_snappyHexMesh/system/blockMeshDict | 2 +- .../RAS/wingMotion/wingMotion_snappyHexMesh/system/controlDict | 2 +- .../wingMotion/wingMotion_snappyHexMesh/system/decomposeParDict | 2 +- .../RAS/wingMotion/wingMotion_snappyHexMesh/system/fvSchemes | 2 +- .../RAS/wingMotion/wingMotion_snappyHexMesh/system/fvSolution | 2 +- .../wingMotion_snappyHexMesh/system/snappyHexMeshDict | 2 +- .../pimpleFoam/laminar/contactAngleCavity/0.orig/U | 2 +- .../laminar/contactAngleCavity/0.orig/finite-area/contactAngle | 2 +- .../pimpleFoam/laminar/contactAngleCavity/0.orig/p | 2 +- .../pimpleFoam/laminar/contactAngleCavity/0.orig/pointMotionU | 2 +- .../laminar/contactAngleCavity/constant/dynamicMeshDict | 2 +- .../pimpleFoam/laminar/contactAngleCavity/constant/g | 2 +- .../laminar/contactAngleCavity/constant/transportProperties | 2 +- .../laminar/contactAngleCavity/constant/turbulenceProperties | 2 +- .../pimpleFoam/laminar/contactAngleCavity/system/blockMeshDict | 2 +- .../pimpleFoam/laminar/contactAngleCavity/system/controlDict | 2 +- .../laminar/contactAngleCavity/system/decomposeParDict | 2 +- .../contactAngleCavity/system/finite-area/faMeshDefinition | 2 +- .../laminar/contactAngleCavity/system/finite-area/faSchemes | 2 +- .../laminar/contactAngleCavity/system/finite-area/faSolution | 2 +- .../pimpleFoam/laminar/contactAngleCavity/system/fvSchemes | 2 +- .../pimpleFoam/laminar/contactAngleCavity/system/fvSolution | 2 +- .../pimpleFoam/laminar/contaminatedDroplet2D/0.orig/C | 2 +- .../pimpleFoam/laminar/contaminatedDroplet2D/0.orig/U | 2 +- .../laminar/contaminatedDroplet2D/0.orig/finite-area/Cs | 2 +- .../pimpleFoam/laminar/contaminatedDroplet2D/0.orig/p | 2 +- .../laminar/contaminatedDroplet2D/0.orig/pointMotionU | 2 +- .../laminar/contaminatedDroplet2D/constant/dynamicMeshDict | 2 +- .../pimpleFoam/laminar/contaminatedDroplet2D/constant/g | 2 +- .../laminar/contaminatedDroplet2D/constant/transportProperties | 2 +- .../laminar/contaminatedDroplet2D/constant/turbulenceProperties | 2 +- .../laminar/contaminatedDroplet2D/system/blockMeshDict.m4 | 2 +- .../pimpleFoam/laminar/contaminatedDroplet2D/system/controlDict | 2 +- .../laminar/contaminatedDroplet2D/system/decomposeParDict | 2 +- .../laminar/contaminatedDroplet2D/system/decomposeParDict.4 | 2 +- .../contaminatedDroplet2D/system/finite-area/faMeshDefinition | 2 +- .../laminar/contaminatedDroplet2D/system/finite-area/faSchemes | 2 +- .../laminar/contaminatedDroplet2D/system/finite-area/faSolution | 2 +- .../pimpleFoam/laminar/contaminatedDroplet2D/system/fvSchemes | 2 +- .../pimpleFoam/laminar/contaminatedDroplet2D/system/fvSolution | 2 +- tutorials/incompressible/pimpleFoam/laminar/cylinder2D/0.orig/U | 2 +- tutorials/incompressible/pimpleFoam/laminar/cylinder2D/0.orig/p | 2 +- .../pimpleFoam/laminar/cylinder2D/constant/transportProperties | 2 +- .../pimpleFoam/laminar/cylinder2D/constant/turbulenceProperties | 2 +- .../pimpleFoam/laminar/cylinder2D/system/ROMfieldsDict.coarse | 2 +- .../pimpleFoam/laminar/cylinder2D/system/ROMfieldsDict.main | 2 +- .../pimpleFoam/laminar/cylinder2D/system/blockMeshDict.coarse | 2 +- .../pimpleFoam/laminar/cylinder2D/system/blockMeshDict.main | 2 +- .../pimpleFoam/laminar/cylinder2D/system/coarseMesh/fvSchemes | 2 +- .../pimpleFoam/laminar/cylinder2D/system/coarseMesh/fvSolution | 2 +- .../pimpleFoam/laminar/cylinder2D/system/controlDict | 2 +- .../pimpleFoam/laminar/cylinder2D/system/decomposeParDict | 2 +- .../pimpleFoam/laminar/cylinder2D/system/fvSchemes | 2 +- .../pimpleFoam/laminar/cylinder2D/system/fvSolution | 2 +- .../pimpleFoam/laminar/cylinder2D/system/mirrorMeshDict | 2 +- .../pimpleFoam/laminar/cylinder2D/system/snappyHexMeshDict | 2 +- tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/U | 2 +- .../pimpleFoam/laminar/filmPanel0/0.orig/finite-area/Uf_film | 2 +- .../pimpleFoam/laminar/filmPanel0/0.orig/finite-area/hf_film | 2 +- tutorials/incompressible/pimpleFoam/laminar/filmPanel0/0.orig/p | 2 +- .../incompressible/pimpleFoam/laminar/filmPanel0/constant/g | 2 +- .../pimpleFoam/laminar/filmPanel0/constant/transportProperties | 2 +- .../pimpleFoam/laminar/filmPanel0/constant/turbulenceProperties | 2 +- .../pimpleFoam/laminar/filmPanel0/system/blockMeshDict | 2 +- .../pimpleFoam/laminar/filmPanel0/system/controlDict | 2 +- .../pimpleFoam/laminar/filmPanel0/system/decomposeParDict | 2 +- .../pimpleFoam/laminar/filmPanel0/system/decomposeParDict.16 | 2 +- .../pimpleFoam/laminar/filmPanel0/system/decomposeParDict.4 | 2 +- .../pimpleFoam/laminar/filmPanel0/system/decomposeParDict.8 | 2 +- .../laminar/filmPanel0/system/finite-area/faMeshDefinition | 2 +- .../pimpleFoam/laminar/filmPanel0/system/finite-area/faSchemes | 2 +- .../pimpleFoam/laminar/filmPanel0/system/finite-area/faSolution | 2 +- .../pimpleFoam/laminar/filmPanel0/system/fvSchemes | 2 +- .../pimpleFoam/laminar/filmPanel0/system/fvSolution | 2 +- .../incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/U | 2 +- .../pimpleFoam/laminar/inclinedPlaneFilm/0/finite-area/Uf_film | 2 +- .../pimpleFoam/laminar/inclinedPlaneFilm/0/finite-area/hf_film | 2 +- .../incompressible/pimpleFoam/laminar/inclinedPlaneFilm/0/p | 2 +- .../pimpleFoam/laminar/inclinedPlaneFilm/constant/g | 2 +- .../laminar/inclinedPlaneFilm/constant/transportProperties | 2 +- .../laminar/inclinedPlaneFilm/constant/turbulenceProperties | 2 +- .../pimpleFoam/laminar/inclinedPlaneFilm/system/blockMeshDict | 2 +- .../pimpleFoam/laminar/inclinedPlaneFilm/system/controlDict | 2 +- .../laminar/inclinedPlaneFilm/system/decomposeParDict | 2 +- .../inclinedPlaneFilm/system/finite-area/faMeshDefinition | 2 +- .../laminar/inclinedPlaneFilm/system/finite-area/faSchemes | 2 +- .../laminar/inclinedPlaneFilm/system/finite-area/faSolution | 2 +- .../pimpleFoam/laminar/inclinedPlaneFilm/system/fvSchemes | 2 +- .../pimpleFoam/laminar/inclinedPlaneFilm/system/fvSolution | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0.orig/U | 2 +- .../mixerVesselAMI2D-topologyChange/0.orig/epsilon | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0.orig/k | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0.orig/nut | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D-topologyChange/0.orig/p | 2 +- .../mixerVesselAMI2D-topologyChange/constant/dynamicMeshDict | 2 +- .../constant/transportProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../mixerVesselAMI2D-topologyChange/system/blockMeshDict.m4 | 2 +- .../mixerVesselAMI2D-topologyChange/system/controlDict | 2 +- .../mixerVesselAMI2D-topologyChange/system/decomposeParDict | 2 +- .../mixerVesselAMI2D-topologyChange/system/fvSchemes | 2 +- .../mixerVesselAMI2D-topologyChange/system/fvSolution | 2 +- .../mixerVesselAMI2D-topologyChange/system/topoSetDict | 2 +- .../laminar/mixerVesselAMI2D/mixerVesselAMI2D/0.orig/U | 2 +- .../laminar/mixerVesselAMI2D/mixerVesselAMI2D/0.orig/epsilon | 2 +- .../laminar/mixerVesselAMI2D/mixerVesselAMI2D/0.orig/k | 2 +- .../laminar/mixerVesselAMI2D/mixerVesselAMI2D/0.orig/nut | 2 +- .../laminar/mixerVesselAMI2D/mixerVesselAMI2D/0.orig/p | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D/constant/dynamicMeshDict | 2 +- .../mixerVesselAMI2D/constant/transportProperties | 2 +- .../mixerVesselAMI2D/constant/turbulenceProperties | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D/system/blockMeshDict.m4 | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D/system/controlDict | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D/system/decomposeParDict | 2 +- .../laminar/mixerVesselAMI2D/mixerVesselAMI2D/system/fvSchemes | 2 +- .../laminar/mixerVesselAMI2D/mixerVesselAMI2D/system/fvSolution | 2 +- .../mixerVesselAMI2D/mixerVesselAMI2D/system/topoSetDict | 2 +- tutorials/incompressible/pimpleFoam/laminar/movingCone/0/U | 2 +- tutorials/incompressible/pimpleFoam/laminar/movingCone/0/p | 2 +- .../pimpleFoam/laminar/movingCone/0/pointMotionUx | 2 +- .../pimpleFoam/laminar/movingCone/constant/dynamicMeshDict | 2 +- .../pimpleFoam/laminar/movingCone/constant/transportProperties | 2 +- .../pimpleFoam/laminar/movingCone/constant/turbulenceProperties | 2 +- .../pimpleFoam/laminar/movingCone/system/blockMeshDict | 2 +- .../pimpleFoam/laminar/movingCone/system/controlDict | 2 +- .../pimpleFoam/laminar/movingCone/system/cuttingPlane | 2 +- .../pimpleFoam/laminar/movingCone/system/fvSchemes | 2 +- .../pimpleFoam/laminar/movingCone/system/fvSolution | 2 +- .../incompressible/pimpleFoam/laminar/planarContraction/0/U | 2 +- .../incompressible/pimpleFoam/laminar/planarContraction/0/p | 2 +- .../incompressible/pimpleFoam/laminar/planarContraction/0/sigma | 2 +- .../laminar/planarContraction/constant/transportProperties | 2 +- .../laminar/planarContraction/constant/turbulenceProperties | 2 +- .../pimpleFoam/laminar/planarContraction/system/blockMeshDict | 2 +- .../pimpleFoam/laminar/planarContraction/system/controlDict | 2 +- .../pimpleFoam/laminar/planarContraction/system/fvSchemes | 2 +- .../pimpleFoam/laminar/planarContraction/system/fvSolution | 2 +- .../setups.orig/Maxwell/constant/turbulenceProperties | 2 +- .../setups.orig/Stokes/constant/turbulenceProperties | 2 +- .../laminar/planarPoiseuille/setups.orig/common/0.orig/U | 2 +- .../laminar/planarPoiseuille/setups.orig/common/0.orig/p | 2 +- .../laminar/planarPoiseuille/setups.orig/common/0.orig/sigma | 2 +- .../planarPoiseuille/setups.orig/common/constant/fvOptions | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../planarPoiseuille/setups.orig/common/system/blockMeshDict | 2 +- .../planarPoiseuille/setups.orig/common/system/controlDict | 2 +- .../planarPoiseuille/setups.orig/common/system/decomposeParDict | 2 +- .../planarPoiseuille/setups.orig/common/system/fvSchemes | 2 +- .../planarPoiseuille/setups.orig/common/system/fvSolution | 2 +- tutorials/incompressible/pimpleFoam/laminar/sloshing2D/0.orig/U | 2 +- tutorials/incompressible/pimpleFoam/laminar/sloshing2D/0.orig/p | 2 +- .../pimpleFoam/laminar/sloshing2D/0.orig/pointMotionU | 2 +- .../pimpleFoam/laminar/sloshing2D/constant/dynamicMeshDict | 2 +- .../incompressible/pimpleFoam/laminar/sloshing2D/constant/g | 2 +- .../pimpleFoam/laminar/sloshing2D/constant/transportProperties | 2 +- .../pimpleFoam/laminar/sloshing2D/constant/turbulenceProperties | 2 +- .../pimpleFoam/laminar/sloshing2D/system/blockMeshDict | 2 +- .../pimpleFoam/laminar/sloshing2D/system/controlDict | 2 +- .../pimpleFoam/laminar/sloshing2D/system/decomposeParDict | 2 +- .../laminar/sloshing2D/system/finite-area/faMeshDefinition | 2 +- .../pimpleFoam/laminar/sloshing2D/system/finite-area/faSchemes | 2 +- .../pimpleFoam/laminar/sloshing2D/system/finite-area/faSolution | 2 +- .../pimpleFoam/laminar/sloshing2D/system/fvSchemes | 2 +- .../pimpleFoam/laminar/sloshing2D/system/fvSolution | 2 +- .../incompressible/pisoFoam/LES/motorBike/lesFiles/controlDict | 2 +- .../incompressible/pisoFoam/LES/motorBike/lesFiles/fvSchemes | 2 +- .../incompressible/pisoFoam/LES/motorBike/lesFiles/fvSolution | 2 +- .../pisoFoam/LES/motorBike/lesFiles/turbulenceProperties | 2 +- .../incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/U | 2 +- .../pisoFoam/LES/motorBike/motorBike/0.orig/include/fixedInlet | 2 +- .../motorBike/motorBike/0.orig/include/frontBackUpperPatches | 2 +- .../LES/motorBike/motorBike/0.orig/include/initialConditions | 2 +- .../incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/k | 2 +- .../pisoFoam/LES/motorBike/motorBike/0.orig/nuTilda | 2 +- .../incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/nut | 2 +- .../incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/p | 2 +- .../LES/motorBike/motorBike/constant/transportProperties | 2 +- .../LES/motorBike/motorBike/constant/turbulenceProperties | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/blockMeshDict | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/controlDict | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/decomposeParDict | 2 +- .../motorBike/motorBike/system/decomposeParDict.hierarchical | 2 +- .../LES/motorBike/motorBike/system/decomposeParDict.ptscotch | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/forceCoeffs | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/fvSchemes | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/fvSolution | 2 +- .../LES/motorBike/motorBike/system/runTimePostProcessing | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/samples | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/snappyHexMeshDict | 2 +- .../LES/motorBike/motorBike/system/stabilizationSchemes | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/streamLines | 2 +- .../pisoFoam/LES/motorBike/motorBike/system/visualization | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDaily/0/U | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDaily/0/k | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDaily/0/nuTilda | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDaily/0/nut | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDaily/0/p | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDaily/0/s | 2 +- .../pisoFoam/LES/pitzDaily/constant/transportProperties | 2 +- .../pisoFoam/LES/pitzDaily/constant/turbulenceProperties | 2 +- .../incompressible/pisoFoam/LES/pitzDaily/system/blockMeshDict | 2 +- .../incompressible/pisoFoam/LES/pitzDaily/system/controlDict | 2 +- .../incompressible/pisoFoam/LES/pitzDaily/system/fvSchemes | 2 +- .../incompressible/pisoFoam/LES/pitzDaily/system/fvSolution | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/U | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/k | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/nuTilda | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/nut | 2 +- tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/p | 2 +- .../pisoFoam/LES/pitzDailyMapped/constant/transportProperties | 2 +- .../pisoFoam/LES/pitzDailyMapped/constant/turbulenceProperties | 2 +- .../pisoFoam/LES/pitzDailyMapped/system/blockMeshDict | 2 +- .../pisoFoam/LES/pitzDailyMapped/system/controlDict | 2 +- .../pisoFoam/LES/pitzDailyMapped/system/decomposeParDict | 2 +- .../pisoFoam/LES/pitzDailyMapped/system/fvSchemes | 2 +- .../pisoFoam/LES/pitzDailyMapped/system/fvSolution | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/0.orig/U | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/0.orig/epsilon | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/0.orig/k | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/0.orig/nuTilda | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/0.orig/nut | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/0.orig/omega | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/0.orig/p | 2 +- .../pisoFoam/RAS/cavity/constant/transportProperties | 2 +- .../pisoFoam/RAS/cavity/constant/turbulenceProperties | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOCourantNo | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOLambVector | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOLambda2 | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOPecletNo | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOQ | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOadd | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOblendingFactor | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOcomponents | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOcontinuityError | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOddt | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOddt2 | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOdiv | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOenstrophy | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOfieldAverage | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOflowType | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOflux | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOgrad | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOhistogram | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOlimitFields | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOlog | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOmag | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOmagSqr | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOmomentum | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOmultiFieldValue | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOmultiply | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOnearWallFields | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOnorm | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOpow | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOpressure | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOprocessorField | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOproudmanAcousticPower | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOrandomise | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOreadFields | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOreference | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOsetFlow | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOsolverInfo | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOstreamFunction | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOstreamLine | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOsubtract | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOsurfaceDistance | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOsurfaceInterpolate | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOturbulenceFields | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOvalueAverage | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOvolFieldValue | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/FOs/FOvorticity | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOwallShearStress | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOwriteCellCentres | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOwriteCellVolumes | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/FOs/FOyPlus | 2 +- .../pisoFoam/RAS/cavity/system/FOs/FOzeroGradient | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/blockMeshDict | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/controlDict | 2 +- .../incompressible/pisoFoam/RAS/cavity/system/decomposeParDict | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/fvSchemes | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/fvSolution | 2 +- tutorials/incompressible/pisoFoam/RAS/cavity/system/topoSetDict | 2 +- tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/U | 2 +- tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/epsilon | 2 +- tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/k | 2 +- tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/nuTilda | 2 +- tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/nut | 2 +- tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/p | 2 +- .../pisoFoam/RAS/cavityCoupledU/constant/transportProperties | 2 +- .../pisoFoam/RAS/cavityCoupledU/constant/turbulenceProperties | 2 +- .../pisoFoam/RAS/cavityCoupledU/system/blockMeshDict | 2 +- .../pisoFoam/RAS/cavityCoupledU/system/controlDict | 2 +- .../incompressible/pisoFoam/RAS/cavityCoupledU/system/fvSchemes | 2 +- .../pisoFoam/RAS/cavityCoupledU/system/fvSolution | 2 +- .../incompressible/pisoFoam/laminar/porousBlockage/0.orig/U | 2 +- .../incompressible/pisoFoam/laminar/porousBlockage/0.orig/p | 2 +- .../pisoFoam/laminar/porousBlockage/constant/fvOptions | 2 +- .../laminar/porousBlockage/constant/transportProperties | 2 +- .../laminar/porousBlockage/constant/turbulenceProperties | 2 +- .../pisoFoam/laminar/porousBlockage/system/blockMeshDict | 2 +- .../pisoFoam/laminar/porousBlockage/system/controlDict | 2 +- .../pisoFoam/laminar/porousBlockage/system/fvSchemes | 2 +- .../pisoFoam/laminar/porousBlockage/system/fvSolution | 2 +- .../pisoFoam/laminar/porousBlockage/system/topoSetDict | 2 +- .../incompressible/porousSimpleFoam/angledDuct/common/0.orig/T | 2 +- .../incompressible/porousSimpleFoam/angledDuct/common/0.orig/U | 2 +- .../porousSimpleFoam/angledDuct/common/0.orig/epsilon | 2 +- .../incompressible/porousSimpleFoam/angledDuct/common/0.orig/k | 2 +- .../porousSimpleFoam/angledDuct/common/0.orig/nut | 2 +- .../incompressible/porousSimpleFoam/angledDuct/common/0.orig/p | 2 +- .../porousSimpleFoam/angledDuct/common/blockMeshDict | 2 +- .../angledDuct/common/constant/porosityProperties | 2 +- .../angledDuct/common/constant/transportProperties | 2 +- .../angledDuct/common/constant/turbulenceProperties | 2 +- .../porousSimpleFoam/angledDuct/explicit/system/controlDict | 2 +- .../porousSimpleFoam/angledDuct/explicit/system/fvSchemes | 2 +- .../porousSimpleFoam/angledDuct/explicit/system/fvSolution | 2 +- .../porousSimpleFoam/angledDuct/implicit/system/controlDict | 2 +- .../porousSimpleFoam/angledDuct/implicit/system/fvSchemes | 2 +- .../porousSimpleFoam/angledDuct/implicit/system/fvSolution | 2 +- .../porousSimpleFoam/straightDuctImplicit/0.orig/T | 2 +- .../porousSimpleFoam/straightDuctImplicit/0.orig/U | 2 +- .../porousSimpleFoam/straightDuctImplicit/0.orig/epsilon | 2 +- .../porousSimpleFoam/straightDuctImplicit/0.orig/k | 2 +- .../porousSimpleFoam/straightDuctImplicit/0.orig/nut | 2 +- .../porousSimpleFoam/straightDuctImplicit/0.orig/p | 2 +- .../straightDuctImplicit/constant/porosityProperties | 2 +- .../straightDuctImplicit/constant/transportProperties | 2 +- .../straightDuctImplicit/constant/turbulenceProperties | 2 +- .../system/backgroundMeshDecomposition/fvSolution | 2 +- .../straightDuctImplicit/system/cellShapeControlMesh/fvSolution | 2 +- .../porousSimpleFoam/straightDuctImplicit/system/collapseDict | 2 +- .../straightDuctImplicit/system/collapseDict.collapseFaces | 2 +- .../straightDuctImplicit/system/collapseDict.indirectPatchFaces | 2 +- .../porousSimpleFoam/straightDuctImplicit/system/controlDict | 2 +- .../straightDuctImplicit/system/decomposeParDict | 2 +- .../straightDuctImplicit/system/foamyHexMeshDict | 2 +- .../porousSimpleFoam/straightDuctImplicit/system/fvSchemes | 2 +- .../porousSimpleFoam/straightDuctImplicit/system/fvSolution | 2 +- .../straightDuctImplicit/system/meshDict.conformationSurfaces | 2 +- .../straightDuctImplicit/system/meshDict.geometry | 2 +- .../straightDuctImplicit/system/meshDict.shapeControlFunctions | 2 +- .../straightDuctImplicit/system/meshQualityDict | 2 +- .../straightDuctImplicit/system/surfaceFeatureExtractDict | 2 +- tutorials/incompressible/shallowWaterFoam/squareBump/0.orig/h | 2 +- tutorials/incompressible/shallowWaterFoam/squareBump/0.orig/h0 | 2 +- .../incompressible/shallowWaterFoam/squareBump/0.orig/hTotal | 2 +- tutorials/incompressible/shallowWaterFoam/squareBump/0.orig/hU | 2 +- .../squareBump/constant/gravitationalProperties | 2 +- .../shallowWaterFoam/squareBump/system/blockMeshDict | 2 +- .../shallowWaterFoam/squareBump/system/controlDict | 2 +- .../incompressible/shallowWaterFoam/squareBump/system/fvSchemes | 2 +- .../shallowWaterFoam/squareBump/system/fvSolution | 2 +- .../shallowWaterFoam/squareBump/system/setFieldsDict | 2 +- tutorials/incompressible/simpleFoam/T3A/0.orig/ReThetat | 2 +- tutorials/incompressible/simpleFoam/T3A/0.orig/U | 2 +- tutorials/incompressible/simpleFoam/T3A/0.orig/gammaInt | 2 +- tutorials/incompressible/simpleFoam/T3A/0.orig/k | 2 +- tutorials/incompressible/simpleFoam/T3A/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/T3A/0.orig/omega | 2 +- tutorials/incompressible/simpleFoam/T3A/0.orig/p | 2 +- .../incompressible/simpleFoam/T3A/constant/transportProperties | 2 +- .../incompressible/simpleFoam/T3A/constant/turbulenceProperties | 2 +- tutorials/incompressible/simpleFoam/T3A/system/blockMeshDict | 2 +- tutorials/incompressible/simpleFoam/T3A/system/controlDict | 2 +- tutorials/incompressible/simpleFoam/T3A/system/fvSchemes | 2 +- tutorials/incompressible/simpleFoam/T3A/system/fvSolution | 2 +- tutorials/incompressible/simpleFoam/airFoil2D/0.orig/U | 2 +- tutorials/incompressible/simpleFoam/airFoil2D/0.orig/nuTilda | 2 +- tutorials/incompressible/simpleFoam/airFoil2D/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/airFoil2D/0.orig/p | 2 +- .../simpleFoam/airFoil2D/constant/transportProperties | 2 +- .../simpleFoam/airFoil2D/constant/turbulenceProperties | 2 +- .../incompressible/simpleFoam/airFoil2D/system/controlDict | 2 +- .../incompressible/simpleFoam/airFoil2D/system/decomposeParDict | 2 +- tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes | 2 +- tutorials/incompressible/simpleFoam/airFoil2D/system/fvSolution | 2 +- .../incompressible/simpleFoam/backwardFacingStep2D/0.orig/U | 2 +- .../simpleFoam/backwardFacingStep2D/0.orig/epsilon | 2 +- .../incompressible/simpleFoam/backwardFacingStep2D/0.orig/k | 2 +- .../simpleFoam/backwardFacingStep2D/0.orig/nuTilda | 2 +- .../incompressible/simpleFoam/backwardFacingStep2D/0.orig/nut | 2 +- .../incompressible/simpleFoam/backwardFacingStep2D/0.orig/omega | 2 +- .../incompressible/simpleFoam/backwardFacingStep2D/0.orig/p | 2 +- .../backwardFacingStep2D/constant/transportProperties | 2 +- .../backwardFacingStep2D/constant/turbulenceProperties | 2 +- .../simpleFoam/backwardFacingStep2D/system/blockMeshDict | 2 +- .../simpleFoam/backwardFacingStep2D/system/controlDict | 2 +- .../simpleFoam/backwardFacingStep2D/system/fvSchemes | 2 +- .../simpleFoam/backwardFacingStep2D/system/fvSolution | 2 +- .../bump2D/setups.orig/SpalartAllmaras/0.orig/nuTilda | 2 +- .../setups.orig/SpalartAllmaras/constant/turbulenceProperties | 2 +- .../simpleFoam/bump2D/setups.orig/common/0.orig/U | 2 +- .../simpleFoam/bump2D/setups.orig/common/0.orig/nut | 2 +- .../simpleFoam/bump2D/setups.orig/common/0.orig/p | 2 +- .../bump2D/setups.orig/common/constant/transportProperties | 2 +- .../simpleFoam/bump2D/setups.orig/common/system/blockMeshDict | 2 +- .../simpleFoam/bump2D/setups.orig/common/system/controlDict | 2 +- .../bump2D/setups.orig/common/system/decomposeParDict | 2 +- .../simpleFoam/bump2D/setups.orig/common/system/fvSchemes | 2 +- .../simpleFoam/bump2D/setups.orig/common/system/fvSolution | 2 +- .../simpleFoam/bump2D/setups.orig/kEpsilonPhitF/0.orig/epsilon | 2 +- .../simpleFoam/bump2D/setups.orig/kEpsilonPhitF/0.orig/f | 2 +- .../simpleFoam/bump2D/setups.orig/kEpsilonPhitF/0.orig/k | 2 +- .../simpleFoam/bump2D/setups.orig/kEpsilonPhitF/0.orig/phit | 2 +- .../setups.orig/kEpsilonPhitF/constant/turbulenceProperties | 2 +- .../simpleFoam/bump2D/setups.orig/kOmegaSST/0.orig/k | 2 +- .../simpleFoam/bump2D/setups.orig/kOmegaSST/0.orig/omega | 2 +- .../bump2D/setups.orig/kOmegaSST/constant/turbulenceProperties | 2 +- tutorials/incompressible/simpleFoam/mixerVessel2D/0.orig/U | 2 +- .../incompressible/simpleFoam/mixerVessel2D/0.orig/epsilon | 2 +- tutorials/incompressible/simpleFoam/mixerVessel2D/0.orig/k | 2 +- tutorials/incompressible/simpleFoam/mixerVessel2D/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/mixerVessel2D/0.orig/p | 2 +- .../simpleFoam/mixerVessel2D/constant/MRFProperties | 2 +- .../simpleFoam/mixerVessel2D/constant/transportProperties | 2 +- .../simpleFoam/mixerVessel2D/constant/turbulenceProperties | 2 +- .../simpleFoam/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../incompressible/simpleFoam/mixerVessel2D/system/controlDict | 2 +- .../incompressible/simpleFoam/mixerVessel2D/system/fvSchemes | 2 +- .../incompressible/simpleFoam/mixerVessel2D/system/fvSolution | 2 +- tutorials/incompressible/simpleFoam/motorBike/0.orig/U | 2 +- .../simpleFoam/motorBike/0.orig/include/fixedInlet | 2 +- .../simpleFoam/motorBike/0.orig/include/frontBackUpperPatches | 2 +- .../simpleFoam/motorBike/0.orig/include/initialConditions | 2 +- tutorials/incompressible/simpleFoam/motorBike/0.orig/k | 2 +- tutorials/incompressible/simpleFoam/motorBike/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/motorBike/0.orig/omega | 2 +- tutorials/incompressible/simpleFoam/motorBike/0.orig/p | 2 +- .../simpleFoam/motorBike/constant/transportProperties | 2 +- .../simpleFoam/motorBike/constant/turbulenceProperties | 2 +- .../incompressible/simpleFoam/motorBike/system/blockMeshDict | 2 +- .../incompressible/simpleFoam/motorBike/system/controlDict | 2 +- .../incompressible/simpleFoam/motorBike/system/cuttingPlane | 2 +- .../simpleFoam/motorBike/system/decomposeParDict-random | 2 +- .../simpleFoam/motorBike/system/decomposeParDict.6 | 2 +- .../simpleFoam/motorBike/system/finite-area/faMeshDefinition | 2 +- .../simpleFoam/motorBike/system/finite-area/faSchemes | 2 +- .../simpleFoam/motorBike/system/finite-area/faSolution | 2 +- .../incompressible/simpleFoam/motorBike/system/forceCoeffs | 2 +- tutorials/incompressible/simpleFoam/motorBike/system/fvSchemes | 2 +- tutorials/incompressible/simpleFoam/motorBike/system/fvSolution | 2 +- .../incompressible/simpleFoam/motorBike/system/meshQualityDict | 2 +- .../simpleFoam/motorBike/system/snappyHexMeshDict | 2 +- .../incompressible/simpleFoam/motorBike/system/streamLines | 2 +- .../simpleFoam/motorBike/system/surfaceFeatureExtractDict | 2 +- .../incompressible/simpleFoam/motorBike/system/topoSetDict | 2 +- .../simpleFoam/motorBike/system/wallBoundedStreamLines | 2 +- tutorials/incompressible/simpleFoam/pipeCyclic/0.orig/U | 2 +- tutorials/incompressible/simpleFoam/pipeCyclic/0.orig/epsilon | 2 +- tutorials/incompressible/simpleFoam/pipeCyclic/0.orig/k | 2 +- tutorials/incompressible/simpleFoam/pipeCyclic/0.orig/nuTilda | 2 +- tutorials/incompressible/simpleFoam/pipeCyclic/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/pipeCyclic/0.orig/p | 2 +- .../simpleFoam/pipeCyclic/constant/transportProperties | 2 +- .../simpleFoam/pipeCyclic/constant/turbulenceProperties | 2 +- .../incompressible/simpleFoam/pipeCyclic/system/blockMeshDict | 2 +- .../incompressible/simpleFoam/pipeCyclic/system/controlDict | 2 +- .../simpleFoam/pipeCyclic/system/decomposeParDict | 2 +- tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSchemes | 2 +- .../incompressible/simpleFoam/pipeCyclic/system/fvSolution | 2 +- .../incompressible/simpleFoam/pipeCyclic/system/topoSetDict | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/0/U | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/0/epsilon | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/0/k | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/0/nuTilda | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/0/nut | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/0/omega | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/0/p | 2 +- .../simpleFoam/pitzDaily/constant/transportProperties | 2 +- .../simpleFoam/pitzDaily/constant/turbulenceProperties | 2 +- .../incompressible/simpleFoam/pitzDaily/system/blockMeshDict | 2 +- .../incompressible/simpleFoam/pitzDaily/system/controlDict | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes | 2 +- tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution | 2 +- tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/U | 2 +- .../incompressible/simpleFoam/pitzDailyExptInlet/0/epsilon | 2 +- tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/k | 2 +- .../incompressible/simpleFoam/pitzDailyExptInlet/0/nuTilda | 2 +- tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/nut | 2 +- tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/p | 2 +- .../simpleFoam/pitzDailyExptInlet/constant/transportProperties | 2 +- .../simpleFoam/pitzDailyExptInlet/constant/turbulenceProperties | 2 +- .../simpleFoam/pitzDailyExptInlet/system/blockMeshDict | 2 +- .../simpleFoam/pitzDailyExptInlet/system/controlDict | 2 +- .../simpleFoam/pitzDailyExptInlet/system/decomposeParDict | 2 +- .../simpleFoam/pitzDailyExptInlet/system/fvSchemes | 2 +- .../simpleFoam/pitzDailyExptInlet/system/fvSolution | 2 +- tutorials/incompressible/simpleFoam/rotatingCylinders/0/U | 2 +- tutorials/incompressible/simpleFoam/rotatingCylinders/0/p | 2 +- .../simpleFoam/rotatingCylinders/constant/MRFProperties | 2 +- .../simpleFoam/rotatingCylinders/constant/transportProperties | 2 +- .../simpleFoam/rotatingCylinders/constant/turbulenceProperties | 2 +- .../simpleFoam/rotatingCylinders/system/blockMeshDict | 2 +- .../simpleFoam/rotatingCylinders/system/controlDict | 2 +- .../simpleFoam/rotatingCylinders/system/fvSchemes | 2 +- .../simpleFoam/rotatingCylinders/system/fvSolution | 2 +- tutorials/incompressible/simpleFoam/rotorDisk/0.orig/U | 2 +- tutorials/incompressible/simpleFoam/rotorDisk/0.orig/k | 2 +- tutorials/incompressible/simpleFoam/rotorDisk/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/rotorDisk/0.orig/omega | 2 +- tutorials/incompressible/simpleFoam/rotorDisk/0.orig/p | 2 +- .../simpleFoam/rotorDisk/constant/transportProperties | 2 +- .../simpleFoam/rotorDisk/constant/turbulenceProperties | 2 +- .../incompressible/simpleFoam/rotorDisk/system/blockMeshDict | 2 +- .../incompressible/simpleFoam/rotorDisk/system/controlDict | 2 +- tutorials/incompressible/simpleFoam/rotorDisk/system/fvOptions | 2 +- tutorials/incompressible/simpleFoam/rotorDisk/system/fvSchemes | 2 +- tutorials/incompressible/simpleFoam/rotorDisk/system/fvSolution | 2 +- .../incompressible/simpleFoam/rotorDisk/system/meshQualityDict | 2 +- .../simpleFoam/rotorDisk/system/snappyHexMeshDict | 2 +- .../simpleFoam/rotorDisk/system/surfaceFeatureExtractDict | 2 +- tutorials/incompressible/simpleFoam/simpleCar/0.orig/U | 2 +- tutorials/incompressible/simpleFoam/simpleCar/0.orig/epsilon | 2 +- tutorials/incompressible/simpleFoam/simpleCar/0.orig/k | 2 +- tutorials/incompressible/simpleFoam/simpleCar/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/simpleCar/0.orig/p | 2 +- .../simpleFoam/simpleCar/constant/transportProperties | 2 +- .../simpleFoam/simpleCar/constant/turbulenceProperties | 2 +- .../incompressible/simpleFoam/simpleCar/system/blockMeshDict | 2 +- .../incompressible/simpleFoam/simpleCar/system/controlDict | 2 +- .../incompressible/simpleFoam/simpleCar/system/createPatchDict | 2 +- .../incompressible/simpleFoam/simpleCar/system/forceCoeffs | 2 +- tutorials/incompressible/simpleFoam/simpleCar/system/fvOptions | 2 +- tutorials/incompressible/simpleFoam/simpleCar/system/fvSchemes | 2 +- tutorials/incompressible/simpleFoam/simpleCar/system/fvSolution | 2 +- .../simpleFoam/simpleCar/system/referencePressure | 2 +- .../incompressible/simpleFoam/simpleCar/system/topoSetDict | 2 +- tutorials/incompressible/simpleFoam/squareBend/0.orig/U | 2 +- tutorials/incompressible/simpleFoam/squareBend/0.orig/epsilon | 2 +- tutorials/incompressible/simpleFoam/squareBend/0.orig/k | 2 +- tutorials/incompressible/simpleFoam/squareBend/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/squareBend/0.orig/p | 2 +- .../simpleFoam/squareBend/constant/transportProperties | 2 +- .../simpleFoam/squareBend/constant/turbulenceProperties | 2 +- .../incompressible/simpleFoam/squareBend/system/blockMeshDict | 2 +- .../incompressible/simpleFoam/squareBend/system/controlDict | 2 +- .../simpleFoam/squareBend/system/decomposeParDict | 2 +- tutorials/incompressible/simpleFoam/squareBend/system/fvSchemes | 2 +- .../incompressible/simpleFoam/squareBend/system/fvSolution | 2 +- tutorials/incompressible/simpleFoam/squareBend/system/sampling | 2 +- .../incompressible/simpleFoam/squareBend/system/topoSetDict | 2 +- tutorials/incompressible/simpleFoam/turbineSiting/0.orig/U | 2 +- .../incompressible/simpleFoam/turbineSiting/0.orig/epsilon | 2 +- .../simpleFoam/turbineSiting/0.orig/include/ABLConditions | 2 +- .../simpleFoam/turbineSiting/0.orig/include/fixedInlet | 2 +- .../simpleFoam/turbineSiting/0.orig/include/initialConditions | 2 +- .../simpleFoam/turbineSiting/0.orig/include/sideAndTopPatches | 2 +- tutorials/incompressible/simpleFoam/turbineSiting/0.orig/k | 2 +- tutorials/incompressible/simpleFoam/turbineSiting/0.orig/nut | 2 +- tutorials/incompressible/simpleFoam/turbineSiting/0.orig/p | 2 +- .../simpleFoam/turbineSiting/constant/transportProperties | 2 +- .../simpleFoam/turbineSiting/constant/turbulenceProperties | 2 +- .../simpleFoam/turbineSiting/system/blockMeshDict | 2 +- .../incompressible/simpleFoam/turbineSiting/system/controlDict | 2 +- .../simpleFoam/turbineSiting/system/decomposeParDict | 2 +- .../incompressible/simpleFoam/turbineSiting/system/fvSchemes | 2 +- .../incompressible/simpleFoam/turbineSiting/system/fvSolution | 2 +- .../simpleFoam/turbineSiting/system/setExprBoundaryFieldsDict | 2 +- .../simpleFoam/turbineSiting/system/setExprFieldsDict | 2 +- .../simpleFoam/turbineSiting/system/snappyHexMeshDict | 2 +- .../incompressible/simpleFoam/turbineSiting/system/topoSetDict | 2 +- .../simpleFoam/turbulentFlatPlate/setups.orig/common/0.orig/U | 2 +- .../simpleFoam/turbulentFlatPlate/setups.orig/common/0.orig/p | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../setups.orig/common/system/blockMeshDict.template | 2 +- .../turbulentFlatPlate/setups.orig/common/system/controlDict | 2 +- .../setups.orig/common/system/decomposeParDict | 2 +- .../turbulentFlatPlate/setups.orig/common/system/fvSchemes | 2 +- .../turbulentFlatPlate/setups.orig/common/system/fvSolution | 2 +- .../turbulentFlatPlate/setups.orig/kEpsilon/0.orig/epsilon | 2 +- .../simpleFoam/turbulentFlatPlate/setups.orig/kEpsilon/0.orig/k | 2 +- .../turbulentFlatPlate/setups.orig/kEpsilon/0.orig/nut | 2 +- .../setups.orig/kEpsilon/constant/turbulenceProperties | 2 +- .../turbulentFlatPlate/setups.orig/kOmegaSST/0.orig/k | 2 +- .../turbulentFlatPlate/setups.orig/kOmegaSST/0.orig/nut | 2 +- .../turbulentFlatPlate/setups.orig/kOmegaSST/0.orig/omega | 2 +- .../setups.orig/kOmegaSST/constant/turbulenceProperties | 2 +- .../incompressible/simpleFoam/windAroundBuildings/0.orig/U | 2 +- .../simpleFoam/windAroundBuildings/0.orig/epsilon | 2 +- .../incompressible/simpleFoam/windAroundBuildings/0.orig/k | 2 +- .../incompressible/simpleFoam/windAroundBuildings/0.orig/nut | 2 +- .../incompressible/simpleFoam/windAroundBuildings/0.orig/p | 2 +- .../simpleFoam/windAroundBuildings/constant/transportProperties | 2 +- .../windAroundBuildings/constant/turbulenceProperties | 2 +- .../simpleFoam/windAroundBuildings/system/blockMeshDict | 2 +- .../simpleFoam/windAroundBuildings/system/controlDict | 2 +- .../simpleFoam/windAroundBuildings/system/decomposeParDict | 2 +- .../simpleFoam/windAroundBuildings/system/fvSchemes | 2 +- .../simpleFoam/windAroundBuildings/system/fvSolution | 2 +- .../simpleFoam/windAroundBuildings/system/meshQualityDict | 2 +- .../simpleFoam/windAroundBuildings/system/snappyHexMeshDict | 2 +- .../windAroundBuildings/system/surfaceFeatureExtractDict | 2 +- tutorials/lagrangian/DPMFoam/Goldschmidt/0/U.air | 2 +- tutorials/lagrangian/DPMFoam/Goldschmidt/0/p | 2 +- tutorials/lagrangian/DPMFoam/Goldschmidt/constant/g | 2 +- .../DPMFoam/Goldschmidt/constant/kinematicCloudPositions | 2 +- .../DPMFoam/Goldschmidt/constant/kinematicCloudProperties | 2 +- .../lagrangian/DPMFoam/Goldschmidt/constant/transportProperties | 2 +- .../DPMFoam/Goldschmidt/constant/turbulenceProperties.air | 2 +- tutorials/lagrangian/DPMFoam/Goldschmidt/system/blockMeshDict | 2 +- tutorials/lagrangian/DPMFoam/Goldschmidt/system/controlDict | 2 +- .../lagrangian/DPMFoam/Goldschmidt/system/decomposeParDict | 2 +- tutorials/lagrangian/DPMFoam/Goldschmidt/system/fvSchemes | 2 +- tutorials/lagrangian/DPMFoam/Goldschmidt/system/fvSolution | 2 +- tutorials/lagrangian/MPPICDyMFoam/column/0/U.air | 2 +- tutorials/lagrangian/MPPICDyMFoam/column/0/p | 2 +- .../lagrangian/MPPICDyMFoam/column/constant/dynamicMeshDict | 2 +- tutorials/lagrangian/MPPICDyMFoam/column/constant/g | 2 +- .../MPPICDyMFoam/column/constant/kinematicCloudPositions | 2 +- .../MPPICDyMFoam/column/constant/kinematicCloudProperties | 2 +- .../lagrangian/MPPICDyMFoam/column/constant/transportProperties | 2 +- .../MPPICDyMFoam/column/constant/turbulenceProperties.air | 2 +- tutorials/lagrangian/MPPICDyMFoam/column/system/blockMeshDict | 2 +- tutorials/lagrangian/MPPICDyMFoam/column/system/controlDict | 2 +- tutorials/lagrangian/MPPICDyMFoam/column/system/fvSchemes | 2 +- tutorials/lagrangian/MPPICDyMFoam/column/system/fvSolution | 2 +- tutorials/lagrangian/MPPICDyMFoam/denseRotor2DAMI/0/U.air | 2 +- tutorials/lagrangian/MPPICDyMFoam/denseRotor2DAMI/0/p | 2 +- .../MPPICDyMFoam/denseRotor2DAMI/constant/dynamicMeshDict | 2 +- tutorials/lagrangian/MPPICDyMFoam/denseRotor2DAMI/constant/g | 2 +- .../denseRotor2DAMI/constant/kinematicCloudProperties | 2 +- .../MPPICDyMFoam/denseRotor2DAMI/constant/transportProperties | 2 +- .../denseRotor2DAMI/constant/turbulenceProperties.air | 2 +- .../MPPICDyMFoam/denseRotor2DAMI/system/blockMeshDict | 2 +- .../lagrangian/MPPICDyMFoam/denseRotor2DAMI/system/controlDict | 2 +- .../lagrangian/MPPICDyMFoam/denseRotor2DAMI/system/fvSchemes | 2 +- .../lagrangian/MPPICDyMFoam/denseRotor2DAMI/system/fvSolution | 2 +- tutorials/lagrangian/MPPICFoam/Goldschmidt/0/U.air | 2 +- tutorials/lagrangian/MPPICFoam/Goldschmidt/0/p | 2 +- tutorials/lagrangian/MPPICFoam/Goldschmidt/constant/g | 2 +- .../MPPICFoam/Goldschmidt/constant/kinematicCloudPositions | 2 +- .../MPPICFoam/Goldschmidt/constant/kinematicCloudProperties | 2 +- .../MPPICFoam/Goldschmidt/constant/transportProperties | 2 +- .../MPPICFoam/Goldschmidt/constant/turbulenceProperties.air | 2 +- tutorials/lagrangian/MPPICFoam/Goldschmidt/system/blockMeshDict | 2 +- tutorials/lagrangian/MPPICFoam/Goldschmidt/system/controlDict | 2 +- .../lagrangian/MPPICFoam/Goldschmidt/system/decomposeParDict | 2 +- tutorials/lagrangian/MPPICFoam/Goldschmidt/system/fvSchemes | 2 +- tutorials/lagrangian/MPPICFoam/Goldschmidt/system/fvSolution | 2 +- tutorials/lagrangian/MPPICFoam/column/0/U.air | 2 +- tutorials/lagrangian/MPPICFoam/column/0/p | 2 +- tutorials/lagrangian/MPPICFoam/column/constant/g | 2 +- .../MPPICFoam/column/constant/kinematicCloudPositions | 2 +- .../MPPICFoam/column/constant/kinematicCloudProperties | 2 +- .../lagrangian/MPPICFoam/column/constant/transportProperties | 2 +- .../MPPICFoam/column/constant/turbulenceProperties.air | 2 +- tutorials/lagrangian/MPPICFoam/column/system/blockMeshDict | 2 +- tutorials/lagrangian/MPPICFoam/column/system/controlDict | 2 +- tutorials/lagrangian/MPPICFoam/column/system/fvSchemes | 2 +- tutorials/lagrangian/MPPICFoam/column/system/fvSolution | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/0.orig/U.air | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/0.orig/k.air | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/0.orig/nut.air | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/0.orig/p | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/constant/g | 2 +- .../MPPICFoam/cyclone/constant/kinematicCloudProperties | 2 +- .../lagrangian/MPPICFoam/cyclone/constant/transportProperties | 2 +- .../MPPICFoam/cyclone/constant/turbulenceProperties.air | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/system/blockMeshDict | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/system/controlDict | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/system/decomposeParDict | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/system/fvSchemes | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/system/fvSolution | 2 +- tutorials/lagrangian/MPPICFoam/cyclone/system/snappyHexMeshDict | 2 +- tutorials/lagrangian/MPPICFoam/injectionChannel/0/U.air | 2 +- tutorials/lagrangian/MPPICFoam/injectionChannel/0/p | 2 +- tutorials/lagrangian/MPPICFoam/injectionChannel/constant/g | 2 +- .../injectionChannel/constant/kinematicCloudProperties | 2 +- .../MPPICFoam/injectionChannel/constant/transportProperties | 2 +- .../injectionChannel/constant/turbulenceProperties.air | 2 +- .../lagrangian/MPPICFoam/injectionChannel/system/blockMeshDict | 2 +- .../lagrangian/MPPICFoam/injectionChannel/system/controlDict | 2 +- .../lagrangian/MPPICFoam/injectionChannel/system/fvSchemes | 2 +- .../lagrangian/MPPICFoam/injectionChannel/system/fvSolution | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/CH4 | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/CO | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/CO2 | 2 +- tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/G | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/H2 | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/H2O | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/N2 | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/O2 | 2 +- tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/T | 2 +- tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/U | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/alphat | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/epsilon | 2 +- tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/k | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/nut | 2 +- tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0.orig/p | 2 +- .../simplifiedSiwek/constant/boundaryRadiationProperties | 2 +- .../simplifiedSiwek/constant/chemistryProperties | 2 +- .../simplifiedSiwek/constant/coalCloud1Positions | 2 +- .../simplifiedSiwek/constant/coalCloud1Properties | 2 +- .../simplifiedSiwek/constant/combustionProperties | 2 +- .../coalChemistryFoam/simplifiedSiwek/constant/foam.dat | 2 +- .../coalChemistryFoam/simplifiedSiwek/constant/fvOptions | 2 +- .../lagrangian/coalChemistryFoam/simplifiedSiwek/constant/g | 2 +- .../simplifiedSiwek/constant/limestoneCloud1Properties | 2 +- .../simplifiedSiwek/constant/limestonePositions | 2 +- .../simplifiedSiwek/constant/radiationProperties | 2 +- .../simplifiedSiwek/constant/thermophysicalProperties | 2 +- .../simplifiedSiwek/constant/turbulenceProperties | 2 +- .../coalChemistryFoam/simplifiedSiwek/system/blockMeshDict | 2 +- .../coalChemistryFoam/simplifiedSiwek/system/controlDict | 2 +- .../coalChemistryFoam/simplifiedSiwek/system/decomposeParDict | 2 +- .../coalChemistryFoam/simplifiedSiwek/system/fvSchemes | 2 +- .../coalChemistryFoam/simplifiedSiwek/system/fvSolution | 2 +- .../coalChemistryFoam/simplifiedSiwek/system/topoSetDict | 2 +- .../mixerVesselAMI2D/0.orig/U | 2 +- .../mixerVesselAMI2D/constant/dynamicMeshDict | 2 +- .../mixerVesselAMI2D/constant/g | 2 +- .../mixerVesselAMI2D/constant/kinematicCloudPositions | 2 +- .../mixerVesselAMI2D/constant/kinematicCloudProperties | 2 +- .../mixerVesselAMI2D/constant/transportProperties | 2 +- .../mixerVesselAMI2D/constant/turbulenceProperties | 2 +- .../mixerVesselAMI2D/system/blockMeshDict.m4 | 2 +- .../mixerVesselAMI2D/system/controlDict | 2 +- .../mixerVesselAMI2D/system/fvSchemes | 2 +- .../mixerVesselAMI2D/system/fvSolution | 2 +- .../hopper/hopperEmptying/0.orig/U | 2 +- .../hopper/hopperEmptying/0.orig/mu | 2 +- .../hopper/hopperEmptying/0.orig/rho | 2 +- .../hopper/hopperEmptying/constant/g | 2 +- .../hopper/hopperEmptying/constant/kinematicCloudProperties | 2 +- .../hopper/hopperEmptying/constant/transportProperties | 2 +- .../hopper/hopperEmptying/constant/turbulenceProperties | 2 +- .../hopper/hopperEmptying/system/blockMeshDict | 2 +- .../hopper/hopperEmptying/system/controlDict | 2 +- .../hopper/hopperEmptying/system/decomposeParDict | 2 +- .../hopper/hopperEmptying/system/fvSchemes | 2 +- .../hopper/hopperEmptying/system/fvSolution | 2 +- .../hopper/hopperEmptying/system/mapFieldsDict | 2 +- .../hopper/hopperInitialState/0/U | 2 +- .../hopper/hopperInitialState/constant/g | 2 +- .../hopper/hopperInitialState/constant/kinematicCloudPositions | 2 +- .../hopper/hopperInitialState/constant/kinematicCloudProperties | 2 +- .../hopper/hopperInitialState/constant/transportProperties | 2 +- .../hopper/hopperInitialState/constant/turbulenceProperties | 2 +- .../hopper/hopperInitialState/system/blockMeshDict | 2 +- .../hopper/hopperInitialState/system/controlDict | 2 +- .../hopper/hopperInitialState/system/decomposeParDict | 2 +- .../hopper/hopperInitialState/system/fvSchemes | 2 +- .../hopper/hopperInitialState/system/fvSolution | 2 +- tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/T | 2 +- tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/U | 2 +- .../kinematicParcelFoam/drippingChair/0/finite-area/Uf_film | 2 +- .../kinematicParcelFoam/drippingChair/0/finite-area/hf_film | 2 +- tutorials/lagrangian/kinematicParcelFoam/drippingChair/0/p | 2 +- .../lagrangian/kinematicParcelFoam/drippingChair/constant/g | 2 +- .../drippingChair/constant/kinematicCloudProperties | 2 +- .../drippingChair/constant/transportProperties | 2 +- .../drippingChair/constant/turbulenceProperties | 2 +- .../kinematicParcelFoam/drippingChair/system/blockMeshDict | 2 +- .../kinematicParcelFoam/drippingChair/system/controlDict | 2 +- .../kinematicParcelFoam/drippingChair/system/decomposeParDict | 2 +- .../drippingChair/system/decomposeParDict-2x3x2 | 2 +- .../drippingChair/system/decomposeParDict-3x2x2 | 2 +- .../kinematicParcelFoam/drippingChair/system/decomposeParDict-6 | 2 +- .../kinematicParcelFoam/drippingChair/system/decomposeParDict-7 | 2 +- .../kinematicParcelFoam/drippingChair/system/faOptions | 2 +- .../drippingChair/system/finite-area/faMeshDefinition | 2 +- .../drippingChair/system/finite-area/faSchemes | 2 +- .../drippingChair/system/finite-area/faSolution | 2 +- .../kinematicParcelFoam/drippingChair/system/fvSchemes | 2 +- .../kinematicParcelFoam/drippingChair/system/fvSolution | 2 +- .../kinematicParcelFoam/particleDrag/parcelInBox/0.orig/U | 2 +- .../kinematicParcelFoam/particleDrag/parcelInBox/0.orig/p | 2 +- .../kinematicParcelFoam/particleDrag/parcelInBox/constant/g | 2 +- .../parcelInBox/constant/kinematicCloudProperties.TEMPLATE | 2 +- .../particleDrag/parcelInBox/constant/parcelPositions | 2 +- .../particleDrag/parcelInBox/constant/transportProperties | 2 +- .../particleDrag/parcelInBox/constant/turbulenceProperties | 2 +- .../particleDrag/parcelInBox/system/blockMeshDict | 2 +- .../particleDrag/parcelInBox/system/controlDict | 2 +- .../particleDrag/parcelInBox/system/fvSchemes | 2 +- .../particleDrag/parcelInBox/system/fvSolution | 2 +- .../lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/T | 2 +- .../lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/U | 2 +- .../kinematicParcelFoam/pitzDailyWithSprinklers/0/epsilon | 2 +- .../pitzDailyWithSprinklers/0/finite-area/Uf_film | 2 +- .../pitzDailyWithSprinklers/0/finite-area/hf_film | 2 +- .../lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/k | 2 +- .../kinematicParcelFoam/pitzDailyWithSprinklers/0/nut | 2 +- .../lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers/0/p | 2 +- .../kinematicParcelFoam/pitzDailyWithSprinklers/constant/g | 2 +- .../pitzDailyWithSprinklers/constant/kinematicCloudProperties | 2 +- .../pitzDailyWithSprinklers/constant/transportProperties | 2 +- .../pitzDailyWithSprinklers/constant/turbulenceProperties | 2 +- .../pitzDailyWithSprinklers/system/blockMeshDict | 2 +- .../pitzDailyWithSprinklers/system/controlDict | 2 +- .../pitzDailyWithSprinklers/system/decomposeParDict | 2 +- .../pitzDailyWithSprinklers/system/finite-area/faMeshDefinition | 2 +- .../pitzDailyWithSprinklers/system/finite-area/faSchemes | 2 +- .../pitzDailyWithSprinklers/system/finite-area/faSolution | 2 +- .../pitzDailyWithSprinklers/system/fvSchemes | 2 +- .../pitzDailyWithSprinklers/system/fvSolution | 2 +- tutorials/lagrangian/kinematicParcelFoam/spinningDisk/0/U | 2 +- tutorials/lagrangian/kinematicParcelFoam/spinningDisk/0/p | 2 +- .../lagrangian/kinematicParcelFoam/spinningDisk/constant/g | 2 +- .../spinningDisk/constant/kinematicCloudProperties | 2 +- .../spinningDisk/constant/transportProperties | 2 +- .../spinningDisk/constant/turbulenceProperties | 2 +- .../kinematicParcelFoam/spinningDisk/system/blockMeshDict | 2 +- .../kinematicParcelFoam/spinningDisk/system/controlDict | 2 +- .../kinematicParcelFoam/spinningDisk/system/decomposeParDict | 2 +- .../kinematicParcelFoam/spinningDisk/system/fvSchemes | 2 +- .../kinematicParcelFoam/spinningDisk/system/fvSolution | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/N2 | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/O2 | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/T | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/U | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/alphat | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/k | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/nut | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/omega | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/p | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/0/p_rgh | 2 +- .../rectangularDuct/constant/chemistryProperties | 2 +- .../rectangularDuct/constant/combustionProperties | 2 +- .../rectangularDuct/constant/foam.dat | 2 +- .../reactingHeterogenousParcelFoam/rectangularDuct/constant/g | 2 +- .../rectangularDuct/constant/particleTrackDict | 2 +- .../rectangularDuct/constant/radiationProperties | 2 +- .../rectangularDuct/constant/reactingCloud1Properties | 2 +- .../rectangularDuct/constant/thermophysicalProperties | 2 +- .../rectangularDuct/constant/turbulenceProperties | 2 +- .../rectangularDuct/system/blockMeshDict | 2 +- .../rectangularDuct/system/controlDict | 2 +- .../rectangularDuct/system/decomposeParDict | 2 +- .../rectangularDuct/system/fvSchemes | 2 +- .../rectangularDuct/system/fvSolution | 2 +- .../reactingParcelFoam/airRecirculationRoom/steady/0.orig/T | 2 +- .../reactingParcelFoam/airRecirculationRoom/steady/0.orig/U | 2 +- .../airRecirculationRoom/steady/0.orig/alphat | 2 +- .../reactingParcelFoam/airRecirculationRoom/steady/0.orig/k | 2 +- .../reactingParcelFoam/airRecirculationRoom/steady/0.orig/nut | 2 +- .../reactingParcelFoam/airRecirculationRoom/steady/0.orig/omega | 2 +- .../reactingParcelFoam/airRecirculationRoom/steady/0.orig/p | 2 +- .../airRecirculationRoom/steady/constant/fvOptions | 2 +- .../reactingParcelFoam/airRecirculationRoom/steady/constant/g | 2 +- .../steady/constant/thermophysicalProperties | 2 +- .../airRecirculationRoom/steady/constant/turbulenceProperties | 2 +- .../airRecirculationRoom/steady/system/blockMeshDict | 2 +- .../airRecirculationRoom/steady/system/controlDict | 2 +- .../airRecirculationRoom/steady/system/decomposeParDict | 2 +- .../airRecirculationRoom/steady/system/fvSchemes | 2 +- .../airRecirculationRoom/steady/system/fvSolution | 2 +- .../airRecirculationRoom/steady/system/snappyHexMeshDict | 2 +- .../steady/system/surfaceFeatureExtractDict | 2 +- .../airRecirculationRoom/transient/0.orig/CO2 | 2 +- .../reactingParcelFoam/airRecirculationRoom/transient/0.orig/G | 2 +- .../airRecirculationRoom/transient/0.orig/H2O | 2 +- .../reactingParcelFoam/airRecirculationRoom/transient/0.orig/N2 | 2 +- .../reactingParcelFoam/airRecirculationRoom/transient/0.orig/O2 | 2 +- .../reactingParcelFoam/airRecirculationRoom/transient/0.orig/T | 2 +- .../airRecirculationRoom/transient/0.orig/alphat | 2 +- .../reactingParcelFoam/airRecirculationRoom/transient/0.orig/k | 2 +- .../airRecirculationRoom/transient/0.orig/nut | 2 +- .../airRecirculationRoom/transient/0.orig/omega | 2 +- .../airRecirculationRoom/transient/0.orig/p_rgh | 2 +- .../airRecirculationRoom/transient/constant/chemistryProperties | 2 +- .../transient/constant/combustionProperties | 2 +- .../airRecirculationRoom/transient/constant/fvOptions | 2 +- .../airRecirculationRoom/transient/constant/g | 2 +- .../transient/constant/particleTrackProperties | 2 +- .../airRecirculationRoom/transient/constant/radiationProperties | 2 +- .../transient/constant/reactingCloud1Properties | 2 +- .../transient/constant/thermo.incompressiblePoly | 2 +- .../transient/constant/thermophysicalProperties | 2 +- .../transient/constant/turbulenceProperties | 2 +- .../airRecirculationRoom/transient/system/controlDict | 2 +- .../airRecirculationRoom/transient/system/decomposeParDict | 2 +- .../airRecirculationRoom/transient/system/fvSchemes | 2 +- .../airRecirculationRoom/transient/system/fvSolution | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/CH4 | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/CO2 | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/H2O | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/N2 | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/O2 | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/T | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/U | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/nut | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p_rgh | 2 +- .../lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/rho | 2 +- .../counterFlowFlame2DLTS/constant/chemistryProperties | 2 +- .../counterFlowFlame2DLTS/constant/combustionProperties | 2 +- .../reactingParcelFoam/counterFlowFlame2DLTS/constant/g | 2 +- .../counterFlowFlame2DLTS/constant/radiationProperties | 2 +- .../counterFlowFlame2DLTS/constant/reactingCloud1Properties | 2 +- .../counterFlowFlame2DLTS/constant/thermo.compressibleGas | 2 +- .../counterFlowFlame2DLTS/constant/thermophysicalProperties | 2 +- .../counterFlowFlame2DLTS/constant/turbulenceProperties | 2 +- .../counterFlowFlame2DLTS/system/blockMeshDict | 2 +- .../reactingParcelFoam/counterFlowFlame2DLTS/system/controlDict | 2 +- .../reactingParcelFoam/counterFlowFlame2DLTS/system/fvSchemes | 2 +- .../reactingParcelFoam/counterFlowFlame2DLTS/system/fvSolution | 2 +- tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/H2O | 2 +- tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/N2 | 2 +- tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/O2 | 2 +- tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/T | 2 +- tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/U | 2 +- tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/p | 2 +- tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/p_rgh | 2 +- .../reactingParcelFoam/cylinder/0.orig/wallFilmRegion/Tf | 2 +- .../reactingParcelFoam/cylinder/0.orig/wallFilmRegion/Uf | 2 +- .../reactingParcelFoam/cylinder/0.orig/wallFilmRegion/deltaf | 2 +- .../reactingParcelFoam/cylinder/constant/chemistryProperties | 2 +- .../reactingParcelFoam/cylinder/constant/combustionProperties | 2 +- .../lagrangian/reactingParcelFoam/cylinder/constant/foam.dat | 2 +- tutorials/lagrangian/reactingParcelFoam/cylinder/constant/g | 2 +- .../cylinder/constant/parcelInjectionProperties | 2 +- .../reactingParcelFoam/cylinder/constant/radiationProperties | 2 +- .../cylinder/constant/reactingCloud1Properties | 2 +- .../reactingParcelFoam/cylinder/constant/surfaceFilmProperties | 2 +- .../cylinder/constant/thermophysicalProperties | 2 +- .../reactingParcelFoam/cylinder/constant/turbulenceProperties | 2 +- .../lagrangian/reactingParcelFoam/cylinder/system/blockMeshDict | 2 +- .../lagrangian/reactingParcelFoam/cylinder/system/controlDict | 2 +- .../reactingParcelFoam/cylinder/system/createPatchDict | 2 +- .../reactingParcelFoam/cylinder/system/extrudeToRegionMeshDict | 2 +- .../lagrangian/reactingParcelFoam/cylinder/system/fvSchemes | 2 +- .../lagrangian/reactingParcelFoam/cylinder/system/fvSolution | 2 +- .../lagrangian/reactingParcelFoam/cylinder/system/topoSetDict | 2 +- .../reactingParcelFoam/cylinder/system/wallFilmRegion/fvSchemes | 2 +- .../cylinder/system/wallFilmRegion/fvSolution | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/G | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/H2O | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/N2 | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/O2 | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/T | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/U | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/alphat | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/epsilon | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/k | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/nut | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p_rgh | 2 +- .../reactingParcelFoam/filter/constant/chemistryProperties | 2 +- .../reactingParcelFoam/filter/constant/combustionProperties | 2 +- .../lagrangian/reactingParcelFoam/filter/constant/fvOptions | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/constant/g | 2 +- .../filter/constant/parcelInjectionProperties | 2 +- .../reactingParcelFoam/filter/constant/particleTrackProperties | 2 +- .../filter/constant/particleTrackProperties.animate | 2 +- .../filter/constant/particleTrackProperties.static | 2 +- .../reactingParcelFoam/filter/constant/radiationProperties | 2 +- .../reactingParcelFoam/filter/constant/reactingCloud1Properties | 2 +- .../filter/constant/thermo.incompressiblePoly | 2 +- .../reactingParcelFoam/filter/constant/thermophysicalProperties | 2 +- .../reactingParcelFoam/filter/constant/turbulenceProperties | 2 +- .../lagrangian/reactingParcelFoam/filter/system/blockMeshDict | 2 +- .../reactingParcelFoam/filter/system/changeDictionaryDict | 2 +- .../lagrangian/reactingParcelFoam/filter/system/controlDict | 2 +- .../reactingParcelFoam/filter/system/createBafflesDict | 2 +- .../reactingParcelFoam/filter/system/decomposeParDict | 2 +- tutorials/lagrangian/reactingParcelFoam/filter/system/fvSchemes | 2 +- .../lagrangian/reactingParcelFoam/filter/system/fvSolution | 2 +- .../lagrangian/reactingParcelFoam/filter/system/topoSetDict | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/H2O | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/N2 | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/O2 | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/T | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/U | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/alphat | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/epsilon | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/htcConv | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/k | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/nut | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/p | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/p_rgh | 2 +- .../reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/Tf | 2 +- .../reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/Uf | 2 +- .../reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/deltaf | 2 +- .../reactingParcelFoam/hotBoxes/constant/chemistryProperties | 2 +- .../reactingParcelFoam/hotBoxes/constant/combustionProperties | 2 +- .../lagrangian/reactingParcelFoam/hotBoxes/constant/foam.dat | 2 +- tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/g | 2 +- .../reactingParcelFoam/hotBoxes/constant/radiationProperties | 2 +- .../hotBoxes/constant/reactingCloud1Properties | 2 +- .../reactingParcelFoam/hotBoxes/constant/surfaceFilmProperties | 2 +- .../hotBoxes/constant/thermophysicalProperties | 2 +- .../reactingParcelFoam/hotBoxes/constant/turbulenceProperties | 2 +- .../lagrangian/reactingParcelFoam/hotBoxes/patchifyObstacles | 2 +- .../lagrangian/reactingParcelFoam/hotBoxes/system/blockMeshDict | 2 +- .../reactingParcelFoam/hotBoxes/system/changeDictionaryDict | 2 +- .../lagrangian/reactingParcelFoam/hotBoxes/system/controlDict | 2 +- .../reactingParcelFoam/hotBoxes/system/decomposeParDict | 2 +- .../reactingParcelFoam/hotBoxes/system/extrudeToRegionMeshDict | 2 +- .../lagrangian/reactingParcelFoam/hotBoxes/system/fvSchemes | 2 +- .../lagrangian/reactingParcelFoam/hotBoxes/system/fvSolution | 2 +- .../lagrangian/reactingParcelFoam/hotBoxes/system/topoSetDict | 2 +- .../hotBoxes/system/wallFilmRegion.orig/decomposeParDict | 2 +- .../hotBoxes/system/wallFilmRegion.orig/fvSchemes | 2 +- .../hotBoxes/system/wallFilmRegion.orig/fvSolution | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/T | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/U | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/Ydefault | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/alphat | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/epsilon | 2 +- .../liquidFilmStepWithSprinklers/0/finite-area/Uf_film | 2 +- .../liquidFilmStepWithSprinklers/0/finite-area/hf_film | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/k | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/nut | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/p | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/0/p_rgh | 2 +- .../liquidFilmStepWithSprinklers/constant/foam.dat | 2 +- .../reactingParcelFoam/liquidFilmStepWithSprinklers/constant/g | 2 +- .../constant/reactingCloud1Properties | 2 +- .../constant/thermophysicalProperties | 2 +- .../liquidFilmStepWithSprinklers/constant/turbulenceProperties | 2 +- .../liquidFilmStepWithSprinklers/system/blockMeshDict | 2 +- .../liquidFilmStepWithSprinklers/system/controlDict | 2 +- .../liquidFilmStepWithSprinklers/system/decomposeParDict | 2 +- .../system/finite-area/faMeshDefinition | 2 +- .../liquidFilmStepWithSprinklers/system/finite-area/faSchemes | 2 +- .../liquidFilmStepWithSprinklers/system/finite-area/faSolution | 2 +- .../liquidFilmStepWithSprinklers/system/fvSchemes | 2 +- .../liquidFilmStepWithSprinklers/system/fvSolution | 2 +- tutorials/lagrangian/reactingParcelFoam/movingInjectorBox/0/G | 2 +- tutorials/lagrangian/reactingParcelFoam/movingInjectorBox/0/H2O | 2 +- tutorials/lagrangian/reactingParcelFoam/movingInjectorBox/0/T | 2 +- tutorials/lagrangian/reactingParcelFoam/movingInjectorBox/0/U | 2 +- tutorials/lagrangian/reactingParcelFoam/movingInjectorBox/0/air | 2 +- tutorials/lagrangian/reactingParcelFoam/movingInjectorBox/0/p | 2 +- .../lagrangian/reactingParcelFoam/movingInjectorBox/0/p_rgh | 2 +- .../movingInjectorBox/constant/chemistryProperties | 2 +- .../movingInjectorBox/constant/combustionProperties | 2 +- .../lagrangian/reactingParcelFoam/movingInjectorBox/constant/g | 2 +- .../movingInjectorBox/constant/reactingCloud1Properties | 2 +- .../movingInjectorBox/constant/thermo.incompressiblePoly | 2 +- .../movingInjectorBox/constant/thermophysicalProperties | 2 +- .../movingInjectorBox/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/movingInjectorBox/system/blockMeshDict | 2 +- .../reactingParcelFoam/movingInjectorBox/system/controlDict | 2 +- .../reactingParcelFoam/movingInjectorBox/system/fvSchemes | 2 +- .../reactingParcelFoam/movingInjectorBox/system/fvSolution | 2 +- tutorials/lagrangian/reactingParcelFoam/parcelInBox/0.orig/G | 2 +- tutorials/lagrangian/reactingParcelFoam/parcelInBox/0.orig/H2O | 2 +- tutorials/lagrangian/reactingParcelFoam/parcelInBox/0.orig/T | 2 +- tutorials/lagrangian/reactingParcelFoam/parcelInBox/0.orig/U | 2 +- tutorials/lagrangian/reactingParcelFoam/parcelInBox/0.orig/air | 2 +- tutorials/lagrangian/reactingParcelFoam/parcelInBox/0.orig/p | 2 +- .../lagrangian/reactingParcelFoam/parcelInBox/0.orig/p_rgh | 2 +- .../reactingParcelFoam/parcelInBox/constant/chemistryProperties | 2 +- .../parcelInBox/constant/combustionProperties | 2 +- tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/g | 2 +- .../reactingParcelFoam/parcelInBox/constant/radiationProperties | 2 +- .../parcelInBox/constant/reactingCloud1Positions | 2 +- .../parcelInBox/constant/reactingCloud1Properties | 2 +- .../parcelInBox/constant/thermo.incompressiblePoly | 2 +- .../parcelInBox/constant/thermophysicalProperties | 2 +- .../parcelInBox/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/parcelInBox/system/blockMeshDict | 2 +- .../reactingParcelFoam/parcelInBox/system/controlDict | 2 +- .../lagrangian/reactingParcelFoam/parcelInBox/system/fvSchemes | 2 +- .../lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution | 2 +- .../lagrangian/reactingParcelFoam/parcelInBox/system/probesDict | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/0.orig/H2O | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/0.orig/N2 | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/0.orig/O2 | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/0.orig/T | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/0.orig/U | 2 +- .../reactingParcelFoam/rectangularChannel/0.orig/alphat | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/0.orig/k | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/0.orig/nut | 2 +- .../reactingParcelFoam/rectangularChannel/0.orig/omega | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/0.orig/p | 2 +- .../reactingParcelFoam/rectangularChannel/0.orig/p_rgh | 2 +- .../rectangularChannel/constant/chemistryProperties | 2 +- .../rectangularChannel/constant/combustionProperties | 2 +- .../reactingParcelFoam/rectangularChannel/constant/foam.dat | 2 +- .../lagrangian/reactingParcelFoam/rectangularChannel/constant/g | 2 +- .../rectangularChannel/constant/radiationProperties | 2 +- .../rectangularChannel/constant/reactingCloud1Properties | 2 +- .../rectangularChannel/constant/thermophysicalProperties | 2 +- .../rectangularChannel/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/rectangularChannel/system/blockMeshDict | 2 +- .../reactingParcelFoam/rectangularChannel/system/controlDict | 2 +- .../rectangularChannel/system/decomposeParDict | 2 +- .../reactingParcelFoam/rectangularChannel/system/fvSchemes | 2 +- .../reactingParcelFoam/rectangularChannel/system/fvSolution | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/0.orig/H2O | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/0.orig/T | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/0.orig/U | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/0.orig/air | 2 +- .../reactingParcelFoam/recycleParticles/0.orig/alphat | 2 +- .../reactingParcelFoam/recycleParticles/0.orig/epsilon | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/0.orig/k | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/0.orig/nut | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/0.orig/p | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/0.orig/p_rgh | 2 +- .../recycleParticles/constant/chemistryProperties | 2 +- .../recycleParticles/constant/combustionProperties | 2 +- .../lagrangian/reactingParcelFoam/recycleParticles/constant/g | 2 +- .../recycleParticles/constant/radiationProperties | 2 +- .../recycleParticles/constant/reactingCloud1Properties | 2 +- .../recycleParticles/constant/thermo.incompressiblePoly | 2 +- .../recycleParticles/constant/thermophysicalProperties | 2 +- .../recycleParticles/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/recycleParticles/system/blockMeshDict | 2 +- .../reactingParcelFoam/recycleParticles/system/controlDict | 2 +- .../reactingParcelFoam/recycleParticles/system/decomposeParDict | 2 +- .../reactingParcelFoam/recycleParticles/system/fvSchemes | 2 +- .../reactingParcelFoam/recycleParticles/system/fvSolution | 2 +- tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/H2O | 2 +- tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/N2 | 2 +- tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/O2 | 2 +- tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/T | 2 +- tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/U | 2 +- tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/p | 2 +- .../lagrangian/reactingParcelFoam/rivuletPanel/0.orig/p_rgh | 2 +- .../reactingParcelFoam/rivuletPanel/0.orig/wallFilmRegion/Tf | 2 +- .../reactingParcelFoam/rivuletPanel/0.orig/wallFilmRegion/Uf | 2 +- .../rivuletPanel/0.orig/wallFilmRegion/deltaf | 2 +- .../rivuletPanel/constant/chemistryProperties | 2 +- .../rivuletPanel/constant/combustionProperties | 2 +- .../reactingParcelFoam/rivuletPanel/constant/foam.dat | 2 +- tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/g | 2 +- .../rivuletPanel/constant/parcelInjectionProperties | 2 +- .../rivuletPanel/constant/radiationProperties | 2 +- .../rivuletPanel/constant/reactingCloud1Properties | 2 +- .../rivuletPanel/constant/surfaceFilmProperties | 2 +- .../rivuletPanel/constant/thermophysicalProperties | 2 +- .../rivuletPanel/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/rivuletPanel/system/blockMeshDict | 2 +- .../reactingParcelFoam/rivuletPanel/system/controlDict | 2 +- .../reactingParcelFoam/rivuletPanel/system/createPatchDict | 2 +- .../rivuletPanel/system/extrudeToRegionMeshDict | 2 +- .../lagrangian/reactingParcelFoam/rivuletPanel/system/fvSchemes | 2 +- .../reactingParcelFoam/rivuletPanel/system/fvSolution | 2 +- .../rivuletPanel/system/wallFilmRegion.topoSet | 2 +- .../rivuletPanel/system/wallFilmRegion/createPatchDict | 2 +- .../rivuletPanel/system/wallFilmRegion/fvSchemes | 2 +- .../rivuletPanel/system/wallFilmRegion/fvSolution | 2 +- tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/H2O | 2 +- tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/N2 | 2 +- tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/O2 | 2 +- tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/T | 2 +- tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/U | 2 +- tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/p | 2 +- .../lagrangian/reactingParcelFoam/splashPanel/0.orig/p_rgh | 2 +- .../reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/Tf | 2 +- .../reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/Uf | 2 +- .../reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/deltaf | 2 +- .../reactingParcelFoam/splashPanel/constant/chemistryProperties | 2 +- .../splashPanel/constant/combustionProperties | 2 +- .../lagrangian/reactingParcelFoam/splashPanel/constant/foam.dat | 2 +- tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/g | 2 +- .../splashPanel/constant/parcelInjectionProperties | 2 +- .../reactingParcelFoam/splashPanel/constant/radiationProperties | 2 +- .../splashPanel/constant/reactingCloud1Properties | 2 +- .../splashPanel/constant/surfaceFilmProperties | 2 +- .../splashPanel/constant/thermophysicalProperties | 2 +- .../splashPanel/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/splashPanel/system/blockMeshDict | 2 +- .../reactingParcelFoam/splashPanel/system/controlDict | 2 +- .../reactingParcelFoam/splashPanel/system/createPatchDict | 2 +- .../splashPanel/system/extrudeToRegionMeshDict | 2 +- .../lagrangian/reactingParcelFoam/splashPanel/system/fvSchemes | 2 +- .../lagrangian/reactingParcelFoam/splashPanel/system/fvSolution | 2 +- .../splashPanel/system/wallFilmRegion.topoSet | 2 +- .../splashPanel/system/wallFilmRegion/createPatchDict | 2 +- .../system/wallFilmRegion/createWallFilmRegionPatches.topoSet | 2 +- .../splashPanel/system/wallFilmRegion/fvSchemes | 2 +- .../splashPanel/system/wallFilmRegion/fvSolution | 2 +- .../lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/H2O | 2 +- .../lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/N2 | 2 +- .../lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/O2 | 2 +- .../lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/T | 2 +- .../lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/U | 2 +- .../splashPanelFilm/0.orig/finite-area/Tf_film | 2 +- .../splashPanelFilm/0.orig/finite-area/Uf_film | 2 +- .../splashPanelFilm/0.orig/finite-area/hf_film | 2 +- .../lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/p | 2 +- .../lagrangian/reactingParcelFoam/splashPanelFilm/0.orig/p_rgh | 2 +- .../splashPanelFilm/constant/chemistryProperties | 2 +- .../splashPanelFilm/constant/combustionProperties | 2 +- .../reactingParcelFoam/splashPanelFilm/constant/foam.dat | 2 +- .../lagrangian/reactingParcelFoam/splashPanelFilm/constant/g | 2 +- .../splashPanelFilm/constant/parcelInjectionProperties | 2 +- .../splashPanelFilm/constant/radiationProperties | 2 +- .../splashPanelFilm/constant/reactingCloud1Properties | 2 +- .../splashPanelFilm/constant/surfaceFilmProperties.remove | 2 +- .../splashPanelFilm/constant/thermophysicalProperties | 2 +- .../splashPanelFilm/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/splashPanelFilm/system/blockMeshDict | 2 +- .../reactingParcelFoam/splashPanelFilm/system/controlDict | 2 +- .../reactingParcelFoam/splashPanelFilm/system/createPatchDict | 2 +- .../splashPanelFilm/system/finite-area/faMeshDefinition | 2 +- .../splashPanelFilm/system/finite-area/faSchemes | 2 +- .../splashPanelFilm/system/finite-area/faSolution | 2 +- .../reactingParcelFoam/splashPanelFilm/system/fvSchemes | 2 +- .../reactingParcelFoam/splashPanelFilm/system/fvSolution | 2 +- .../reactingParcelFoam/splashPanelFilm/system/topoSetDict | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/H2O | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/T | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/U | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/air | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/alphat | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/k | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/nut | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/omega | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/p | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/0.orig/p_rgh | 2 +- .../verticalChannel/constant/chemistryProperties | 2 +- .../verticalChannel/constant/combustionProperties | 2 +- .../lagrangian/reactingParcelFoam/verticalChannel/constant/g | 2 +- .../verticalChannel/constant/particleTrackProperties | 2 +- .../verticalChannel/constant/radiationProperties | 2 +- .../verticalChannel/constant/reactingCloud1Properties | 2 +- .../verticalChannel/constant/thermo.incompressiblePoly | 2 +- .../verticalChannel/constant/thermophysicalProperties | 2 +- .../verticalChannel/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/verticalChannel/system/blockMeshDict | 2 +- .../reactingParcelFoam/verticalChannel/system/controlDict | 2 +- .../reactingParcelFoam/verticalChannel/system/decomposeParDict | 2 +- .../reactingParcelFoam/verticalChannel/system/fvSchemes | 2 +- .../reactingParcelFoam/verticalChannel/system/fvSolution | 2 +- .../lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/H2O | 2 +- .../lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/T | 2 +- .../lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/U | 2 +- .../lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/air | 2 +- .../reactingParcelFoam/verticalChannelLTS/0.orig/alphat | 2 +- .../lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/k | 2 +- .../lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/nut | 2 +- .../reactingParcelFoam/verticalChannelLTS/0.orig/omega | 2 +- .../lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p | 2 +- .../reactingParcelFoam/verticalChannelLTS/0.orig/p_rgh | 2 +- .../verticalChannelLTS/constant/chemistryProperties | 2 +- .../verticalChannelLTS/constant/combustionProperties | 2 +- .../lagrangian/reactingParcelFoam/verticalChannelLTS/constant/g | 2 +- .../verticalChannelLTS/constant/particleTrackDict | 2 +- .../verticalChannelLTS/constant/radiationProperties | 2 +- .../verticalChannelLTS/constant/reactingCloud1Properties | 2 +- .../verticalChannelLTS/constant/thermo.incompressiblePoly | 2 +- .../verticalChannelLTS/constant/thermophysicalProperties | 2 +- .../verticalChannelLTS/constant/turbulenceProperties | 2 +- .../reactingParcelFoam/verticalChannelLTS/system/blockMeshDict | 2 +- .../reactingParcelFoam/verticalChannelLTS/system/controlDict | 2 +- .../reactingParcelFoam/verticalChannelLTS/system/fvSchemes | 2 +- .../reactingParcelFoam/verticalChannelLTS/system/fvSolution | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/H2O | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/T | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/U | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/air | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/alphat | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/k | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/nut | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/omega | 2 +- .../simpleReactingParcelFoam/verticalChannel/0.orig/p | 2 +- .../verticalChannel/constant/chemistryProperties | 2 +- .../verticalChannel/constant/combustionProperties | 2 +- .../simpleReactingParcelFoam/verticalChannel/constant/g | 2 +- .../verticalChannel/constant/particleTrackDict | 2 +- .../verticalChannel/constant/radiationProperties | 2 +- .../verticalChannel/constant/reactingCloud1Properties | 2 +- .../verticalChannel/constant/thermo.incompressiblePoly | 2 +- .../verticalChannel/constant/thermophysicalProperties | 2 +- .../verticalChannel/constant/turbulenceProperties | 2 +- .../verticalChannel/system/blockMeshDict | 2 +- .../simpleReactingParcelFoam/verticalChannel/system/controlDict | 2 +- .../verticalChannel/system/decomposeParDict | 2 +- .../simpleReactingParcelFoam/verticalChannel/system/fvOptions | 2 +- .../simpleReactingParcelFoam/verticalChannel/system/fvSchemes | 2 +- .../simpleReactingParcelFoam/verticalChannel/system/fvSolution | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/N2 | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/O2 | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/T | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/U | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/Ydefault | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/alphat | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/epsilon | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/k | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/nut | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/0.orig/p | 2 +- .../lagrangian/sprayFoam/aachenBomb/chemkin/transportProperties | 2 +- .../sprayFoam/aachenBomb/constant/chemistryProperties | 2 +- .../sprayFoam/aachenBomb/constant/combustionProperties | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/constant/g | 2 +- .../sprayFoam/aachenBomb/constant/radiationProperties | 2 +- .../sprayFoam/aachenBomb/constant/sprayCloudProperties | 2 +- .../sprayFoam/aachenBomb/constant/thermophysicalProperties | 2 +- .../sprayFoam/aachenBomb/constant/turbulenceProperties | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/system/blockMeshDict | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/system/controlDict | 2 +- .../lagrangian/sprayFoam/aachenBomb/system/decomposeParDict | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSchemes | 2 +- tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSolution | 2 +- .../uncoupledKinematicParcelDyMFoam/rotor2DAMI/0.orig/T | 2 +- .../uncoupledKinematicParcelDyMFoam/rotor2DAMI/0.orig/U | 2 +- .../uncoupledKinematicParcelDyMFoam/rotor2DAMI/0.orig/p | 2 +- .../rotor2DAMI/constant/dynamicMeshDict | 2 +- .../uncoupledKinematicParcelDyMFoam/rotor2DAMI/constant/g | 2 +- .../rotor2DAMI/constant/kinematicCloudProperties | 2 +- .../rotor2DAMI/constant/thermophysicalProperties | 2 +- .../rotor2DAMI/constant/turbulenceProperties | 2 +- .../rotor2DAMI/system/blockMeshDict | 2 +- .../rotor2DAMI/system/controlDict | 2 +- .../uncoupledKinematicParcelDyMFoam/rotor2DAMI/system/fvSchemes | 2 +- .../rotor2DAMI/system/fvSolution | 2 +- tutorials/mesh/PDRblockMesh/box0/system/PDRblockMeshDict | 2 +- tutorials/mesh/PDRblockMesh/box0/system/controlDict | 2 +- tutorials/mesh/PDRblockMesh/box0/system/fvSchemes | 2 +- tutorials/mesh/PDRblockMesh/box0/system/fvSolution | 2 +- tutorials/mesh/blockMesh/mergePairs/system/blockMeshDict | 2 +- tutorials/mesh/blockMesh/mergePairs/system/controlDict | 2 +- tutorials/mesh/blockMesh/mergePairs/system/fvSchemes | 2 +- tutorials/mesh/blockMesh/mergePairs/system/fvSolution | 2 +- tutorials/mesh/blockMesh/pipe/0.orig/U | 2 +- tutorials/mesh/blockMesh/pipe/0.orig/epsilon | 2 +- tutorials/mesh/blockMesh/pipe/0.orig/k | 2 +- tutorials/mesh/blockMesh/pipe/0.orig/nuTilda | 2 +- tutorials/mesh/blockMesh/pipe/0.orig/nut | 2 +- tutorials/mesh/blockMesh/pipe/0.orig/omega | 2 +- tutorials/mesh/blockMesh/pipe/0.orig/p | 2 +- tutorials/mesh/blockMesh/pipe/constant/transportProperties | 2 +- tutorials/mesh/blockMesh/pipe/constant/turbulenceProperties | 2 +- tutorials/mesh/blockMesh/pipe/system/blockMeshDict | 2 +- tutorials/mesh/blockMesh/pipe/system/controlDict | 2 +- tutorials/mesh/blockMesh/pipe/system/fvSchemes | 2 +- tutorials/mesh/blockMesh/pipe/system/fvSolution | 2 +- tutorials/mesh/blockMesh/sphere/system/blockMeshDict | 2 +- tutorials/mesh/blockMesh/sphere/system/controlDict | 2 +- tutorials/mesh/blockMesh/sphere/system/fvSchemes | 2 +- tutorials/mesh/blockMesh/sphere/system/fvSolution | 2 +- tutorials/mesh/blockMesh/sphere7/system/blockMeshDict | 2 +- tutorials/mesh/blockMesh/sphere7/system/controlDict | 2 +- tutorials/mesh/blockMesh/sphere7/system/fvSchemes | 2 +- tutorials/mesh/blockMesh/sphere7/system/fvSolution | 2 +- .../mesh/blockMesh/sphere7ProjectedEdges/system/blockMeshDict | 2 +- .../mesh/blockMesh/sphere7ProjectedEdges/system/controlDict | 2 +- tutorials/mesh/blockMesh/sphere7ProjectedEdges/system/fvSchemes | 2 +- .../mesh/blockMesh/sphere7ProjectedEdges/system/fvSolution | 2 +- .../mesh/blockMesh/spheroid7Projected/system/blockMeshDict | 2 +- tutorials/mesh/blockMesh/spheroid7Projected/system/controlDict | 2 +- tutorials/mesh/blockMesh/spheroid7Projected/system/fvSchemes | 2 +- tutorials/mesh/blockMesh/spheroid7Projected/system/fvSolution | 2 +- tutorials/mesh/blockMesh/spheroidProjected/system/blockMeshDict | 2 +- tutorials/mesh/blockMesh/spheroidProjected/system/controlDict | 2 +- tutorials/mesh/blockMesh/spheroidProjected/system/fvSchemes | 2 +- tutorials/mesh/blockMesh/spheroidProjected/system/fvSolution | 2 +- .../multiRegionHeater_autoPatch/0.orig/bottomSolid/T | 2 +- .../multiRegionHeater_autoPatch/0.orig/bottomSolid/p | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/leftSolid/T | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/leftSolid/p | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/rightSolid/T | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/rightSolid/p | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/topAir/T | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/topAir/U | 2 +- .../multiRegionHeater_autoPatch/0.orig/topAir/epsilon | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/topAir/k | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/topAir/p | 2 +- .../createPatch/multiRegionHeater_autoPatch/0.orig/topAir/p_rgh | 2 +- .../constant/bottomSolid/radiationProperties | 2 +- .../constant/bottomSolid/thermophysicalProperties | 2 +- .../mesh/createPatch/multiRegionHeater_autoPatch/constant/g | 2 +- .../multiRegionHeater_autoPatch/constant/regionProperties | 2 +- .../constant/topAir/radiationProperties | 2 +- .../constant/topAir/thermophysicalProperties | 2 +- .../constant/topAir/turbulenceProperties | 2 +- .../system/bottomSolid/blockMeshDict | 2 +- .../system/bottomSolid/createPatchDict | 2 +- .../multiRegionHeater_autoPatch/system/bottomSolid/fvSchemes | 2 +- .../multiRegionHeater_autoPatch/system/bottomSolid/fvSolution | 2 +- .../createPatch/multiRegionHeater_autoPatch/system/controlDict | 2 +- .../multiRegionHeater_autoPatch/system/decomposeParDict | 2 +- .../createPatch/multiRegionHeater_autoPatch/system/fvSchemes | 2 +- .../createPatch/multiRegionHeater_autoPatch/system/fvSolution | 2 +- .../multiRegionHeater_autoPatch/system/leftSolid/blockMeshDict | 2 +- .../multiRegionHeater_autoPatch/system/rightSolid/blockMeshDict | 2 +- .../multiRegionHeater_autoPatch/system/topAir/blockMeshDict | 2 +- .../multiRegionHeater_autoPatch/system/topAir/createPatchDict | 2 +- .../multiRegionHeater_autoPatch/system/topAir/fvSchemes | 2 +- .../multiRegionHeater_autoPatch/system/topAir/fvSolution | 2 +- .../extrudeMesh/faceZoneExtrusion/constant/transportProperties | 2 +- .../mesh/extrudeMesh/faceZoneExtrusion/system/blockMeshDict | 2 +- tutorials/mesh/extrudeMesh/faceZoneExtrusion/system/controlDict | 2 +- .../mesh/extrudeMesh/faceZoneExtrusion/system/decomposeParDict | 2 +- .../mesh/extrudeMesh/faceZoneExtrusion/system/extrudeMeshDict | 2 +- .../extrudeMesh/faceZoneExtrusion/system/extrudeMeshDict.flip | 2 +- tutorials/mesh/extrudeMesh/faceZoneExtrusion/system/fvSchemes | 2 +- tutorials/mesh/extrudeMesh/faceZoneExtrusion/system/fvSolution | 2 +- tutorials/mesh/extrudeMesh/faceZoneExtrusion/system/topoSetDict | 2 +- .../mesh/extrudeMesh/faceZoneExtrusion/system/topoSetDict.flip | 2 +- tutorials/mesh/extrudeMesh/polyline/system/controlDict | 2 +- tutorials/mesh/extrudeMesh/polyline/system/extrudeMeshDict | 2 +- tutorials/mesh/extrudeMesh/polyline/system/fvSchemes | 2 +- tutorials/mesh/extrudeMesh/polyline/system/fvSolution | 2 +- .../blob/system/backgroundMeshDecomposition/blockMeshDict | 2 +- .../blob/system/backgroundMeshDecomposition/decomposeParDict | 2 +- .../blob/system/backgroundMeshDecomposition/fvSolution | 2 +- tutorials/mesh/foamyHexMesh/blob/system/collapseDict | 2 +- tutorials/mesh/foamyHexMesh/blob/system/controlDict | 2 +- tutorials/mesh/foamyHexMesh/blob/system/decomposeParDict | 2 +- tutorials/mesh/foamyHexMesh/blob/system/foamyHexMeshDict | 2 +- tutorials/mesh/foamyHexMesh/blob/system/fvSchemes | 2 +- tutorials/mesh/foamyHexMesh/blob/system/fvSolution | 2 +- tutorials/mesh/foamyHexMesh/blob/system/meshQualityDict | 2 +- tutorials/mesh/foamyHexMesh/blob/system/topoSetDict | 2 +- .../flange/system/backgroundMeshDecomposition/blockMeshDict | 2 +- .../flange/system/backgroundMeshDecomposition/decomposeParDict | 2 +- .../flange/system/backgroundMeshDecomposition/fvSolution | 2 +- tutorials/mesh/foamyHexMesh/flange/system/collapseDict | 2 +- tutorials/mesh/foamyHexMesh/flange/system/controlDict | 2 +- tutorials/mesh/foamyHexMesh/flange/system/decomposeParDict | 2 +- tutorials/mesh/foamyHexMesh/flange/system/faceSetDict | 2 +- tutorials/mesh/foamyHexMesh/flange/system/foamyHexMeshDict | 2 +- tutorials/mesh/foamyHexMesh/flange/system/fvSchemes | 2 +- tutorials/mesh/foamyHexMesh/flange/system/fvSolution | 2 +- tutorials/mesh/foamyHexMesh/flange/system/meshDict.geometry | 2 +- tutorials/mesh/foamyHexMesh/flange/system/meshQualityDict | 2 +- .../mesh/foamyHexMesh/flange/system/topoSetDict-background | 2 +- tutorials/mesh/foamyHexMesh/flange/system/topoSetDict-slices | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/0.orig/U | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/0.orig/alpha.phase1 | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/0.orig/epsilon | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/0.orig/k | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/0.orig/nut | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/0.orig/p_rgh | 2 +- .../mesh/foamyHexMesh/mixerVessel/constant/dynamicMeshDict | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/constant/g | 2 +- .../mesh/foamyHexMesh/mixerVessel/constant/transportProperties | 2 +- .../mesh/foamyHexMesh/mixerVessel/constant/turbulenceProperties | 2 +- .../system/backgroundMeshDecomposition/blockMeshDict | 2 +- .../mixerVessel/system/backgroundMeshDecomposition/fvSolution | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/collapseDict | 2 +- .../foamyHexMesh/mixerVessel/system/collapseDict.collapseFaces | 2 +- .../mixerVessel/system/collapseDict.indirectPatchFaces | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/controlDict | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/controlDict.flow | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/controlDict.mesh | 2 +- .../mesh/foamyHexMesh/mixerVessel/system/createBafflesDict | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/createPatchDict | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/decomposeParDict | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/foamyHexMeshDict | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSolution | 2 +- .../foamyHexMesh/mixerVessel/system/meshDict.cellShapeControl | 2 +- .../mixerVessel/system/meshDict.conformationSurfaces | 2 +- .../mesh/foamyHexMesh/mixerVessel/system/meshDict.geometry | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/meshQualityDict | 2 +- tutorials/mesh/foamyHexMesh/mixerVessel/system/setFieldsDict | 2 +- .../foamyHexMesh/mixerVessel/system/surfaceFeatureExtractDict | 2 +- tutorials/mesh/foamyHexMesh/simpleShapes/system/collapseDict | 2 +- tutorials/mesh/foamyHexMesh/simpleShapes/system/controlDict | 2 +- .../mesh/foamyHexMesh/simpleShapes/system/foamyHexMeshDict | 2 +- tutorials/mesh/foamyHexMesh/simpleShapes/system/fvSchemes | 2 +- tutorials/mesh/foamyHexMesh/simpleShapes/system/fvSolution | 2 +- tutorials/mesh/foamyHexMesh/simpleShapes/system/meshQualityDict | 2 +- tutorials/mesh/foamyHexMesh/simpleShapes/system/topoSetDict | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/0.orig/T | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/0.orig/U | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/0.orig/p | 2 +- .../foamyQuadMesh/OpenCFD/constant/thermophysicalProperties | 2 +- .../mesh/foamyQuadMesh/OpenCFD/constant/turbulenceProperties | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/system/controlDict | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/system/controlDict.mesher | 2 +- .../foamyQuadMesh/OpenCFD/system/controlDict.rhoCentralFoam | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/system/decomposeParDict | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/system/extrude2DMeshDict | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/system/foamyQuadMeshDict | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/system/fvSchemes | 2 +- tutorials/mesh/foamyQuadMesh/OpenCFD/system/fvSolution | 2 +- .../mesh/foamyQuadMesh/OpenCFD/system/surfaceFeatureExtractDict | 2 +- tutorials/mesh/foamyQuadMesh/jaggedBoundary/system/controlDict | 2 +- .../mesh/foamyQuadMesh/jaggedBoundary/system/extrude2DMeshDict | 2 +- .../mesh/foamyQuadMesh/jaggedBoundary/system/foamyQuadMeshDict | 2 +- tutorials/mesh/foamyQuadMesh/jaggedBoundary/system/fvSchemes | 2 +- tutorials/mesh/foamyQuadMesh/jaggedBoundary/system/fvSolution | 2 +- .../jaggedBoundary/system/surfaceFeatureExtractDict | 2 +- tutorials/mesh/foamyQuadMesh/square/system/controlDict | 2 +- tutorials/mesh/foamyQuadMesh/square/system/extrude2DMeshDict | 2 +- tutorials/mesh/foamyQuadMesh/square/system/foamyQuadMeshDict | 2 +- tutorials/mesh/foamyQuadMesh/square/system/fvSchemes | 2 +- tutorials/mesh/foamyQuadMesh/square/system/fvSolution | 2 +- .../mesh/foamyQuadMesh/square/system/surfaceFeatureExtractDict | 2 +- .../moveDynamicMesh/SnakeRiverCanyon/0.orig/pointDisplacement | 2 +- .../moveDynamicMesh/SnakeRiverCanyon/constant/dynamicMeshDict | 2 +- .../SnakeRiverCanyon/constant/transportProperties | 2 +- .../mesh/moveDynamicMesh/SnakeRiverCanyon/system/blockMeshDict | 2 +- .../mesh/moveDynamicMesh/SnakeRiverCanyon/system/controlDict | 2 +- .../moveDynamicMesh/SnakeRiverCanyon/system/decomposeParDict | 2 +- .../mesh/moveDynamicMesh/SnakeRiverCanyon/system/fvSchemes | 2 +- .../mesh/moveDynamicMesh/SnakeRiverCanyon/system/fvSolution | 2 +- .../box2D_moveDynamicMesh/0.orig/cellDisplacement | 2 +- .../box2D_moveDynamicMesh/0.orig/pointDisplacement | 2 +- .../box2D_moveDynamicMesh/constant/dynamicMeshDict | 2 +- .../box2D_moveDynamicMesh/constant/transportProperties | 2 +- .../box2D_moveDynamicMesh/constant/turbulenceProperties | 2 +- .../relativeMotion/box2D_moveDynamicMesh/system/controlDict | 2 +- .../box2D_moveDynamicMesh/system/decomposeParDict | 2 +- .../relativeMotion/box2D_moveDynamicMesh/system/extrudeMeshDict | 2 +- .../relativeMotion/box2D_moveDynamicMesh/system/fvSchemes | 2 +- .../relativeMotion/box2D_moveDynamicMesh/system/fvSolution | 2 +- .../box_snappyHexMesh/constant/transportProperties | 2 +- .../box_snappyHexMesh/constant/turbulenceProperties | 2 +- .../relativeMotion/box_snappyHexMesh/system/blockMeshDict | 2 +- .../relativeMotion/box_snappyHexMesh/system/controlDict | 2 +- .../relativeMotion/box_snappyHexMesh/system/createPatchDict | 2 +- .../relativeMotion/box_snappyHexMesh/system/decomposeParDict | 2 +- .../relativeMotion/box_snappyHexMesh/system/fvSchemes | 2 +- .../relativeMotion/box_snappyHexMesh/system/fvSolution | 2 +- .../relativeMotion/box_snappyHexMesh/system/snappyHexMeshDict | 2 +- .../moveDynamicMesh/twistingColumn/constant/dynamicMeshDict | 2 +- .../moveDynamicMesh/twistingColumn/constant/transportProperties | 2 +- .../mesh/moveDynamicMesh/twistingColumn/system/blockMeshDict | 2 +- .../mesh/moveDynamicMesh/twistingColumn/system/controlDict | 2 +- .../mesh/moveDynamicMesh/twistingColumn/system/decomposeParDict | 2 +- tutorials/mesh/moveDynamicMesh/twistingColumn/system/fvSchemes | 2 +- tutorials/mesh/moveDynamicMesh/twistingColumn/system/fvSolution | 2 +- tutorials/mesh/parallel/cavity/0.orig/U | 2 +- tutorials/mesh/parallel/cavity/0.orig/p | 2 +- tutorials/mesh/parallel/cavity/constant/transportProperties | 2 +- tutorials/mesh/parallel/cavity/system/blockMeshDict | 2 +- tutorials/mesh/parallel/cavity/system/controlDict | 2 +- tutorials/mesh/parallel/cavity/system/controlDict-latestTime | 2 +- tutorials/mesh/parallel/cavity/system/controlDict-startTime | 2 +- tutorials/mesh/parallel/cavity/system/decomposeParDict | 2 +- tutorials/mesh/parallel/cavity/system/decomposeParDict.5 | 2 +- tutorials/mesh/parallel/cavity/system/fvSchemes | 2 +- tutorials/mesh/parallel/cavity/system/fvSolution | 2 +- tutorials/mesh/parallel/filter/0.orig/G | 2 +- tutorials/mesh/parallel/filter/0.orig/H2O | 2 +- tutorials/mesh/parallel/filter/0.orig/N2 | 2 +- tutorials/mesh/parallel/filter/0.orig/O2 | 2 +- tutorials/mesh/parallel/filter/0.orig/T | 2 +- tutorials/mesh/parallel/filter/0.orig/U | 2 +- tutorials/mesh/parallel/filter/0.orig/alphat | 2 +- tutorials/mesh/parallel/filter/0.orig/epsilon | 2 +- tutorials/mesh/parallel/filter/0.orig/k | 2 +- tutorials/mesh/parallel/filter/0.orig/nut | 2 +- tutorials/mesh/parallel/filter/0.orig/p | 2 +- tutorials/mesh/parallel/filter/0.orig/p_rgh | 2 +- tutorials/mesh/parallel/filter/constant/chemistryProperties | 2 +- tutorials/mesh/parallel/filter/constant/combustionProperties | 2 +- tutorials/mesh/parallel/filter/constant/g | 2 +- .../mesh/parallel/filter/constant/parcelInjectionProperties | 2 +- tutorials/mesh/parallel/filter/constant/particleTrackProperties | 2 +- tutorials/mesh/parallel/filter/constant/radiationProperties | 2 +- .../mesh/parallel/filter/constant/reactingCloud1Properties | 2 +- .../mesh/parallel/filter/constant/thermo.incompressiblePoly | 2 +- .../mesh/parallel/filter/constant/thermophysicalProperties | 2 +- tutorials/mesh/parallel/filter/constant/turbulenceProperties | 2 +- tutorials/mesh/parallel/filter/system/blockMeshDict | 2 +- tutorials/mesh/parallel/filter/system/controlDict | 2 +- tutorials/mesh/parallel/filter/system/createBafflesDict | 2 +- tutorials/mesh/parallel/filter/system/decomposeParDict | 2 +- tutorials/mesh/parallel/filter/system/decomposeParDict.5 | 2 +- tutorials/mesh/parallel/filter/system/fvOptions | 2 +- tutorials/mesh/parallel/filter/system/fvSchemes | 2 +- tutorials/mesh/parallel/filter/system/fvSolution | 2 +- tutorials/mesh/parallel/filter/system/topoSetDict | 2 +- tutorials/mesh/refineMesh/refineFieldDirs/system/blockMeshDict | 2 +- tutorials/mesh/refineMesh/refineFieldDirs/system/controlDict | 2 +- tutorials/mesh/refineMesh/refineFieldDirs/system/fvSchemes | 2 +- tutorials/mesh/refineMesh/refineFieldDirs/system/fvSolution | 2 +- .../refineMesh/refineFieldDirs/system/refineMeshDict.range1 | 2 +- .../refineMesh/refineFieldDirs/system/refineMeshDict.range2 | 2 +- .../refineMesh/refineFieldDirs/system/refineMeshDict.range3 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier1 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier2 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier3 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier4 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier5 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier6 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.range1 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.range2 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.range3 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier1 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier2 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier3 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier4 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier5 | 2 +- .../mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier6 | 2 +- tutorials/mesh/snappyHexMesh/addLayersToFaceZone/0.orig/U | 2 +- tutorials/mesh/snappyHexMesh/addLayersToFaceZone/0.orig/p | 2 +- .../addLayersToFaceZone/constant/transportProperties | 2 +- .../addLayersToFaceZone/constant/turbulenceProperties | 2 +- .../mesh/snappyHexMesh/addLayersToFaceZone/system/blockMeshDict | 2 +- .../mesh/snappyHexMesh/addLayersToFaceZone/system/controlDict | 2 +- .../snappyHexMesh/addLayersToFaceZone/system/decomposeParDict | 2 +- .../mesh/snappyHexMesh/addLayersToFaceZone/system/fvSchemes | 2 +- .../mesh/snappyHexMesh/addLayersToFaceZone/system/fvSolution | 2 +- .../snappyHexMesh/addLayersToFaceZone/system/meshQualityDict | 2 +- .../snappyHexMesh/addLayersToFaceZone/system/snappyHexMeshDict | 2 +- .../mesh/snappyHexMesh/addLayersToFaceZone/system/topoSetDict | 2 +- .../constant/thermophysicalProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../aerofoilNACA0012_directionalRefinement/system/blockMeshDict | 2 +- .../aerofoilNACA0012_directionalRefinement/system/controlDict | 2 +- .../aerofoilNACA0012_directionalRefinement/system/fvSchemes | 2 +- .../aerofoilNACA0012_directionalRefinement/system/fvSolution | 2 +- .../system/meshQualityDict | 2 +- .../system/snappyHexMeshDict | 2 +- .../mesh/snappyHexMesh/airfoilWithLayers/system/blockMeshDict | 2 +- .../mesh/snappyHexMesh/airfoilWithLayers/system/controlDict | 2 +- tutorials/mesh/snappyHexMesh/airfoilWithLayers/system/fvSchemes | 2 +- .../mesh/snappyHexMesh/airfoilWithLayers/system/fvSolution | 2 +- .../mesh/snappyHexMesh/airfoilWithLayers/system/meshQualityDict | 2 +- .../snappyHexMesh/airfoilWithLayers/system/snappyHexMeshDict | 2 +- .../airfoilWithLayers/system/surfaceFeatureExtractDict | 2 +- .../snappyHexMesh/block_with_curvature/system/blockMeshDict | 2 +- .../mesh/snappyHexMesh/block_with_curvature/system/controlDict | 2 +- .../mesh/snappyHexMesh/block_with_curvature/system/fvSchemes | 2 +- .../mesh/snappyHexMesh/block_with_curvature/system/fvSolution | 2 +- .../snappyHexMesh/block_with_curvature/system/meshQualityDict | 2 +- .../snappyHexMesh/block_with_curvature/system/snappyHexMeshDict | 2 +- .../block_with_curvature/system/snappyHexMeshDict.orig | 2 +- .../block_with_curvature/system/surfaceFeatureExtractDict | 2 +- .../distributedTriSurfaceMesh/system/blockMeshDict | 2 +- .../snappyHexMesh/distributedTriSurfaceMesh/system/controlDict | 2 +- .../distributedTriSurfaceMesh/system/decomposeParDict | 2 +- .../snappyHexMesh/distributedTriSurfaceMesh/system/fvSchemes | 2 +- .../snappyHexMesh/distributedTriSurfaceMesh/system/fvSolution | 2 +- .../distributedTriSurfaceMesh/system/meshQualityDict | 2 +- .../distributedTriSurfaceMesh/system/snappyHexMeshDict | 2 +- .../mesh/snappyHexMesh/faceZoneRegions/system/blockMeshDict | 2 +- tutorials/mesh/snappyHexMesh/faceZoneRegions/system/controlDict | 2 +- tutorials/mesh/snappyHexMesh/faceZoneRegions/system/fvSchemes | 2 +- tutorials/mesh/snappyHexMesh/faceZoneRegions/system/fvSolution | 2 +- .../mesh/snappyHexMesh/faceZoneRegions/system/meshQualityDict | 2 +- .../mesh/snappyHexMesh/faceZoneRegions/system/snappyHexMeshDict | 2 +- .../faceZoneRegions/system/surfaceFeatureExtractDict | 2 +- tutorials/mesh/snappyHexMesh/flange/system/blockMeshDict | 2 +- tutorials/mesh/snappyHexMesh/flange/system/controlDict | 2 +- tutorials/mesh/snappyHexMesh/flange/system/decomposeParDict | 2 +- tutorials/mesh/snappyHexMesh/flange/system/fvSchemes | 2 +- tutorials/mesh/snappyHexMesh/flange/system/fvSolution | 2 +- tutorials/mesh/snappyHexMesh/flange/system/meshQualityDict | 2 +- tutorials/mesh/snappyHexMesh/flange/system/snappyHexMeshDict | 2 +- .../mesh/snappyHexMesh/flange/system/surfaceFeatureExtractDict | 2 +- tutorials/mesh/snappyHexMesh/gap_detection/system/blockMeshDict | 2 +- tutorials/mesh/snappyHexMesh/gap_detection/system/controlDict | 2 +- .../mesh/snappyHexMesh/gap_detection/system/decomposeParDict | 2 +- tutorials/mesh/snappyHexMesh/gap_detection/system/fvSchemes | 2 +- tutorials/mesh/snappyHexMesh/gap_detection/system/fvSolution | 2 +- .../mesh/snappyHexMesh/gap_detection/system/meshQualityDict | 2 +- .../mesh/snappyHexMesh/gap_detection/system/snappyHexMeshDict | 2 +- .../iglooWithFridgesDirectionalRefinement/system/blockMeshDict | 2 +- .../iglooWithFridgesDirectionalRefinement/system/controlDict | 2 +- .../system/decomposeParDict | 2 +- .../iglooWithFridgesDirectionalRefinement/system/fvSchemes | 2 +- .../iglooWithFridgesDirectionalRefinement/system/fvSolution | 2 +- .../system/meshQualityDict | 2 +- .../system/snappyHexMeshDict | 2 +- tutorials/mesh/snappyHexMesh/insidePoints/system/blockMeshDict | 2 +- tutorials/mesh/snappyHexMesh/insidePoints/system/controlDict | 2 +- .../mesh/snappyHexMesh/insidePoints/system/decomposeParDict | 2 +- tutorials/mesh/snappyHexMesh/insidePoints/system/fvSchemes | 2 +- tutorials/mesh/snappyHexMesh/insidePoints/system/fvSolution | 2 +- .../mesh/snappyHexMesh/insidePoints/system/meshQualityDict | 2 +- .../mesh/snappyHexMesh/insidePoints/system/snappyHexMeshDict | 2 +- .../snappyHexMesh/insidePoints/system/surfaceFeatureExtractDict | 2 +- .../snappyHexMesh/motorBike_leakDetection/system/blockMeshDict | 2 +- .../snappyHexMesh/motorBike_leakDetection/system/controlDict | 2 +- .../motorBike_leakDetection/system/decomposeParDict | 2 +- .../mesh/snappyHexMesh/motorBike_leakDetection/system/fvSchemes | 2 +- .../snappyHexMesh/motorBike_leakDetection/system/fvSolution | 2 +- .../motorBike_leakDetection/system/meshQualityDict | 2 +- .../motorBike_leakDetection/system/snappyHexMeshDict | 2 +- .../motorBike_leakDetection/system/surfaceFeatureExtractDict | 2 +- .../mesh/snappyHexMesh/opposite_walls/system/blockMeshDict | 2 +- tutorials/mesh/snappyHexMesh/opposite_walls/system/controlDict | 2 +- .../mesh/snappyHexMesh/opposite_walls/system/decomposeParDict | 2 +- tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSchemes | 2 +- tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSolution | 2 +- .../mesh/snappyHexMesh/opposite_walls/system/meshQualityDict | 2 +- .../mesh/snappyHexMesh/opposite_walls/system/snappyHexMeshDict | 2 +- .../sphere_gapClosure/constant/transportProperties | 2 +- .../mesh/snappyHexMesh/sphere_gapClosure/system/blockMeshDict | 2 +- .../mesh/snappyHexMesh/sphere_gapClosure/system/controlDict | 2 +- .../snappyHexMesh/sphere_gapClosure/system/decomposeParDict | 2 +- .../snappyHexMesh/sphere_gapClosure/system/decomposeParDict.16 | 2 +- tutorials/mesh/snappyHexMesh/sphere_gapClosure/system/fvSchemes | 2 +- .../mesh/snappyHexMesh/sphere_gapClosure/system/fvSolution | 2 +- .../snappyHexMesh/sphere_gapClosure/system/snappyHexMeshDict | 2 +- .../mesh/snappyHexMesh/sphere_gapClosure/system/topoSetDict | 2 +- tutorials/mesh/stitchMesh/simple-cube1/system/blockMeshDict | 2 +- tutorials/mesh/stitchMesh/simple-cube1/system/controlDict | 2 +- tutorials/mesh/stitchMesh/simple-cube1/system/createPatchDict | 2 +- tutorials/mesh/stitchMesh/simple-cube1/system/fvSchemes | 2 +- tutorials/mesh/stitchMesh/simple-cube1/system/fvSolution | 2 +- tutorials/mesh/stitchMesh/simple-cube1/system/stitchMeshDict | 2 +- tutorials/mesh/stitchMesh/simple-cube1/system/topoSetDict | 2 +- .../mesh/stitchMesh/simple-cube1/system/topoSetDict.patches | 2 +- tutorials/multiphase/MPPICInterFoam/twoPhasePachuka/0.orig/U | 2 +- .../MPPICInterFoam/twoPhasePachuka/0.orig/alpha.water | 2 +- .../multiphase/MPPICInterFoam/twoPhasePachuka/0.orig/epsilon | 2 +- tutorials/multiphase/MPPICInterFoam/twoPhasePachuka/0.orig/k | 2 +- tutorials/multiphase/MPPICInterFoam/twoPhasePachuka/0.orig/nut | 2 +- .../multiphase/MPPICInterFoam/twoPhasePachuka/0.orig/p_rgh | 2 +- tutorials/multiphase/MPPICInterFoam/twoPhasePachuka/constant/g | 2 +- .../twoPhasePachuka/constant/kinematicCloudProperties | 2 +- .../MPPICInterFoam/twoPhasePachuka/constant/transportProperties | 2 +- .../twoPhasePachuka/constant/turbulenceProperties | 2 +- .../MPPICInterFoam/twoPhasePachuka/system/blockMeshDict.m4 | 2 +- .../MPPICInterFoam/twoPhasePachuka/system/controlDict | 2 +- .../MPPICInterFoam/twoPhasePachuka/system/createPatchDict | 2 +- .../MPPICInterFoam/twoPhasePachuka/system/decomposeParDict | 2 +- .../multiphase/MPPICInterFoam/twoPhasePachuka/system/fvSchemes | 2 +- .../multiphase/MPPICInterFoam/twoPhasePachuka/system/fvSolution | 2 +- .../MPPICInterFoam/twoPhasePachuka/system/setFieldsDict | 2 +- .../MPPICInterFoam/twoPhasePachuka/system/topoSetDict | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle/0.orig/U | 2 +- .../multiphase/cavitatingFoam/LES/throttle/0.orig/alpha.vapour | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle/0.orig/k | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle/0.orig/nut | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle/0.orig/p | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle/0.orig/rho | 2 +- .../LES/throttle/constant/thermodynamicProperties | 2 +- .../cavitatingFoam/LES/throttle/constant/transportProperties | 2 +- .../cavitatingFoam/LES/throttle/constant/turbulenceProperties | 2 +- .../multiphase/cavitatingFoam/LES/throttle/system/blockMeshDict | 2 +- .../multiphase/cavitatingFoam/LES/throttle/system/controlDict | 2 +- .../multiphase/cavitatingFoam/LES/throttle/system/fvSchemes | 2 +- .../multiphase/cavitatingFoam/LES/throttle/system/fvSolution | 2 +- .../cavitatingFoam/LES/throttle/system/refineMeshDict | 2 +- .../multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.1 | 2 +- .../multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.2 | 2 +- .../multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.3 | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/U | 2 +- .../cavitatingFoam/LES/throttle3D/0.orig/alpha.vapour | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/k | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/nut | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/p | 2 +- tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/rho | 2 +- .../LES/throttle3D/constant/thermodynamicProperties | 2 +- .../cavitatingFoam/LES/throttle3D/constant/transportProperties | 2 +- .../cavitatingFoam/LES/throttle3D/constant/turbulenceProperties | 2 +- .../cavitatingFoam/LES/throttle3D/system/blockMeshDict | 2 +- .../multiphase/cavitatingFoam/LES/throttle3D/system/controlDict | 2 +- .../cavitatingFoam/LES/throttle3D/system/decomposeParDict | 2 +- .../multiphase/cavitatingFoam/LES/throttle3D/system/fvSchemes | 2 +- .../multiphase/cavitatingFoam/LES/throttle3D/system/fvSolution | 2 +- .../cavitatingFoam/LES/throttle3D/system/refineMeshDict | 2 +- .../cavitatingFoam/LES/throttle3D/system/topoSetDict.1 | 2 +- .../cavitatingFoam/LES/throttle3D/system/topoSetDict.2 | 2 +- .../cavitatingFoam/LES/throttle3D/system/topoSetDict.3 | 2 +- tutorials/multiphase/cavitatingFoam/RAS/throttle/0.orig/U | 2 +- .../multiphase/cavitatingFoam/RAS/throttle/0.orig/alpha.vapour | 2 +- tutorials/multiphase/cavitatingFoam/RAS/throttle/0.orig/k | 2 +- tutorials/multiphase/cavitatingFoam/RAS/throttle/0.orig/nut | 2 +- tutorials/multiphase/cavitatingFoam/RAS/throttle/0.orig/omega | 2 +- tutorials/multiphase/cavitatingFoam/RAS/throttle/0.orig/p | 2 +- tutorials/multiphase/cavitatingFoam/RAS/throttle/0.orig/rho | 2 +- .../RAS/throttle/constant/thermodynamicProperties | 2 +- .../cavitatingFoam/RAS/throttle/constant/transportProperties | 2 +- .../cavitatingFoam/RAS/throttle/constant/turbulenceProperties | 2 +- .../multiphase/cavitatingFoam/RAS/throttle/system/blockMeshDict | 2 +- .../multiphase/cavitatingFoam/RAS/throttle/system/controlDict | 2 +- .../multiphase/cavitatingFoam/RAS/throttle/system/fvSchemes | 2 +- .../multiphase/cavitatingFoam/RAS/throttle/system/fvSolution | 2 +- .../cavitatingFoam/RAS/throttle/system/refineMeshDict | 2 +- .../multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.1 | 2 +- .../multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.2 | 2 +- .../multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.3 | 2 +- .../compressibleInterDyMFoam/laminar/sloshingTank2D/0.orig/T | 2 +- .../compressibleInterDyMFoam/laminar/sloshingTank2D/0.orig/U | 2 +- .../laminar/sloshingTank2D/0.orig/alpha.water | 2 +- .../compressibleInterDyMFoam/laminar/sloshingTank2D/0.orig/p | 2 +- .../laminar/sloshingTank2D/0.orig/p_rgh | 2 +- .../laminar/sloshingTank2D/constant/dynamicMeshDict | 2 +- .../compressibleInterDyMFoam/laminar/sloshingTank2D/constant/g | 2 +- .../laminar/sloshingTank2D/constant/thermophysicalProperties | 2 +- .../sloshingTank2D/constant/thermophysicalProperties.air | 2 +- .../sloshingTank2D/constant/thermophysicalProperties.water | 2 +- .../laminar/sloshingTank2D/constant/transportProperties | 2 +- .../laminar/sloshingTank2D/constant/turbulenceProperties | 2 +- .../laminar/sloshingTank2D/system/blockMeshDict.m4 | 2 +- .../laminar/sloshingTank2D/system/controlDict | 2 +- .../laminar/sloshingTank2D/system/decomposeParDict | 2 +- .../laminar/sloshingTank2D/system/fvSchemes | 2 +- .../laminar/sloshingTank2D/system/fvSolution | 2 +- .../laminar/sloshingTank2D/system/setFieldsDict | 2 +- .../compressibleInterDyMFoam/laminar/sphereDrop/0.orig/T | 2 +- .../compressibleInterDyMFoam/laminar/sphereDrop/0.orig/T.air | 2 +- .../compressibleInterDyMFoam/laminar/sphereDrop/0.orig/T.water | 2 +- .../compressibleInterDyMFoam/laminar/sphereDrop/0.orig/U | 2 +- .../laminar/sphereDrop/0.orig/alpha.water | 2 +- .../compressibleInterDyMFoam/laminar/sphereDrop/0.orig/p | 2 +- .../compressibleInterDyMFoam/laminar/sphereDrop/0.orig/p_rgh | 2 +- .../laminar/sphereDrop/0.orig/pointDisplacement | 2 +- .../laminar/sphereDrop/constant/dynamicMeshDict | 2 +- .../compressibleInterDyMFoam/laminar/sphereDrop/constant/g | 2 +- .../laminar/sphereDrop/constant/thermophysicalProperties | 2 +- .../laminar/sphereDrop/constant/thermophysicalProperties.air | 2 +- .../laminar/sphereDrop/constant/thermophysicalProperties.water | 2 +- .../laminar/sphereDrop/constant/transportProperties | 2 +- .../laminar/sphereDrop/constant/turbulenceProperties | 2 +- .../laminar/sphereDrop/include/meshModifiers | 2 +- .../laminar/sphereDrop/system/blockMeshDict | 2 +- .../laminar/sphereDrop/system/controlDict | 2 +- .../laminar/sphereDrop/system/createPatchDict | 2 +- .../laminar/sphereDrop/system/decomposeParDict | 2 +- .../laminar/sphereDrop/system/fvSchemes | 2 +- .../laminar/sphereDrop/system/fvSolution | 2 +- .../laminar/sphereDrop/system/setFieldsDict | 2 +- .../laminar/sphereDrop/system/topoSetDict | 2 +- .../compressibleInterFoam/laminar/climbingRod/0.orig/T | 2 +- .../compressibleInterFoam/laminar/climbingRod/0.orig/U | 2 +- .../laminar/climbingRod/0.orig/alpha.liquid | 2 +- .../compressibleInterFoam/laminar/climbingRod/0.orig/p | 2 +- .../compressibleInterFoam/laminar/climbingRod/0.orig/p_rgh | 2 +- .../laminar/climbingRod/0.orig/sigma.liquid | 2 +- .../laminar/climbingRod/constant/fvOptions | 2 +- .../compressibleInterFoam/laminar/climbingRod/constant/g | 2 +- .../laminar/climbingRod/constant/thermophysicalProperties | 2 +- .../laminar/climbingRod/constant/thermophysicalProperties.air | 2 +- .../climbingRod/constant/thermophysicalProperties.liquid | 2 +- .../laminar/climbingRod/constant/turbulenceProperties | 2 +- .../laminar/climbingRod/constant/turbulenceProperties.air | 2 +- .../laminar/climbingRod/constant/turbulenceProperties.liquid | 2 +- .../laminar/climbingRod/system/blockMeshDict | 2 +- .../laminar/climbingRod/system/controlDict | 2 +- .../laminar/climbingRod/system/extrudeMeshDict | 2 +- .../compressibleInterFoam/laminar/climbingRod/system/fvSchemes | 2 +- .../compressibleInterFoam/laminar/climbingRod/system/fvSolution | 2 +- .../laminar/climbingRod/system/setFieldsDict | 2 +- .../compressibleInterFoam/laminar/depthCharge2D/0.orig/T | 2 +- .../compressibleInterFoam/laminar/depthCharge2D/0.orig/U | 2 +- .../laminar/depthCharge2D/0.orig/alpha.water | 2 +- .../compressibleInterFoam/laminar/depthCharge2D/0.orig/p | 2 +- .../compressibleInterFoam/laminar/depthCharge2D/0.orig/p_rgh | 2 +- .../compressibleInterFoam/laminar/depthCharge2D/constant/g | 2 +- .../laminar/depthCharge2D/constant/thermophysicalProperties | 2 +- .../laminar/depthCharge2D/constant/thermophysicalProperties.air | 2 +- .../depthCharge2D/constant/thermophysicalProperties.water | 2 +- .../laminar/depthCharge2D/constant/turbulenceProperties | 2 +- .../laminar/depthCharge2D/system/blockMeshDict | 2 +- .../laminar/depthCharge2D/system/controlDict | 2 +- .../laminar/depthCharge2D/system/fvSchemes | 2 +- .../laminar/depthCharge2D/system/fvSolution | 2 +- .../laminar/depthCharge2D/system/setFieldsDict | 2 +- .../compressibleInterFoam/laminar/depthCharge3D/0.orig/T | 2 +- .../compressibleInterFoam/laminar/depthCharge3D/0.orig/U | 2 +- .../laminar/depthCharge3D/0.orig/alpha.water | 2 +- .../compressibleInterFoam/laminar/depthCharge3D/0.orig/p | 2 +- .../compressibleInterFoam/laminar/depthCharge3D/0.orig/p_rgh | 2 +- .../compressibleInterFoam/laminar/depthCharge3D/constant/g | 2 +- .../laminar/depthCharge3D/constant/thermophysicalProperties | 2 +- .../laminar/depthCharge3D/constant/thermophysicalProperties.air | 2 +- .../depthCharge3D/constant/thermophysicalProperties.water | 2 +- .../laminar/depthCharge3D/constant/turbulenceProperties | 2 +- .../laminar/depthCharge3D/system/blockMeshDict | 2 +- .../laminar/depthCharge3D/system/controlDict | 2 +- .../laminar/depthCharge3D/system/decomposeParDict | 2 +- .../laminar/depthCharge3D/system/fvSchemes | 2 +- .../laminar/depthCharge3D/system/fvSolution | 2 +- .../laminar/depthCharge3D/system/setFieldsDict | 2 +- .../compressibleInterFoam/laminar/waterCooler/fluid/0.orig/T | 2 +- .../compressibleInterFoam/laminar/waterCooler/fluid/0.orig/U | 2 +- .../laminar/waterCooler/fluid/0.orig/alpha.water | 2 +- .../compressibleInterFoam/laminar/waterCooler/fluid/0.orig/p | 2 +- .../laminar/waterCooler/fluid/0.orig/p_rgh | 2 +- .../compressibleInterFoam/laminar/waterCooler/fluid/constant/g | 2 +- .../laminar/waterCooler/fluid/constant/thermophysicalProperties | 2 +- .../waterCooler/fluid/constant/thermophysicalProperties.air | 2 +- .../waterCooler/fluid/constant/thermophysicalProperties.water | 2 +- .../laminar/waterCooler/fluid/constant/turbulenceProperties | 2 +- .../laminar/waterCooler/fluid/system/blockMeshDict | 2 +- .../laminar/waterCooler/fluid/system/controlDict | 2 +- .../laminar/waterCooler/fluid/system/decomposeParDict | 2 +- .../laminar/waterCooler/fluid/system/fvSchemes | 2 +- .../laminar/waterCooler/fluid/system/fvSolution | 2 +- .../laminar/waterCooler/fluid/system/setFieldsDict | 2 +- .../compressibleInterFoam/laminar/waterCooler/solid/0/T | 2 +- .../compressibleInterFoam/laminar/waterCooler/solid/0/p | 2 +- .../laminar/waterCooler/solid/constant/radiationProperties | 2 +- .../laminar/waterCooler/solid/constant/thermophysicalProperties | 2 +- .../laminar/waterCooler/solid/system/blockMeshDict | 2 +- .../laminar/waterCooler/solid/system/controlDict | 2 +- .../laminar/waterCooler/solid/system/decomposeParDict | 2 +- .../laminar/waterCooler/solid/system/fvSchemes | 2 +- .../laminar/waterCooler/solid/system/fvSolution | 2 +- .../compressibleInterIsoFoam/laminar/climbingRod/0.orig/T | 2 +- .../compressibleInterIsoFoam/laminar/climbingRod/0.orig/U | 2 +- .../laminar/climbingRod/0.orig/alpha.liquid | 2 +- .../compressibleInterIsoFoam/laminar/climbingRod/0.orig/p | 2 +- .../compressibleInterIsoFoam/laminar/climbingRod/0.orig/p_rgh | 2 +- .../laminar/climbingRod/0.orig/sigma.liquid | 2 +- .../laminar/climbingRod/constant/fvOptions | 2 +- .../compressibleInterIsoFoam/laminar/climbingRod/constant/g | 2 +- .../laminar/climbingRod/constant/thermophysicalProperties | 2 +- .../laminar/climbingRod/constant/thermophysicalProperties.air | 2 +- .../climbingRod/constant/thermophysicalProperties.liquid | 2 +- .../laminar/climbingRod/constant/turbulenceProperties | 2 +- .../laminar/climbingRod/constant/turbulenceProperties.air | 2 +- .../laminar/climbingRod/constant/turbulenceProperties.liquid | 2 +- .../laminar/climbingRod/system/blockMeshDict | 2 +- .../laminar/climbingRod/system/controlDict | 2 +- .../laminar/climbingRod/system/extrudeMeshDict | 2 +- .../laminar/climbingRod/system/fvSchemes | 2 +- .../laminar/climbingRod/system/fvSolution | 2 +- .../laminar/climbingRod/system/setFieldsDict | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge2D/0.orig/T | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge2D/0.orig/U | 2 +- .../laminar/depthCharge2D/0.orig/alpha.water | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge2D/0.orig/p | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge2D/0.orig/p_rgh | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge2D/constant/g | 2 +- .../laminar/depthCharge2D/constant/thermophysicalProperties | 2 +- .../laminar/depthCharge2D/constant/thermophysicalProperties.air | 2 +- .../depthCharge2D/constant/thermophysicalProperties.water | 2 +- .../laminar/depthCharge2D/constant/turbulenceProperties | 2 +- .../laminar/depthCharge2D/system/blockMeshDict | 2 +- .../laminar/depthCharge2D/system/controlDict | 2 +- .../laminar/depthCharge2D/system/decomposeParDict | 2 +- .../laminar/depthCharge2D/system/fvSchemes | 2 +- .../laminar/depthCharge2D/system/fvSolution | 2 +- .../laminar/depthCharge2D/system/setAlphaFieldDict | 2 +- .../laminar/depthCharge2D/system/setFieldsDict | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge3D/0.orig/T | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge3D/0.orig/U | 2 +- .../laminar/depthCharge3D/0.orig/alpha.water | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge3D/0.orig/p | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge3D/0.orig/p_rgh | 2 +- .../compressibleInterIsoFoam/laminar/depthCharge3D/constant/g | 2 +- .../laminar/depthCharge3D/constant/thermophysicalProperties | 2 +- .../laminar/depthCharge3D/constant/thermophysicalProperties.air | 2 +- .../depthCharge3D/constant/thermophysicalProperties.water | 2 +- .../laminar/depthCharge3D/constant/turbulenceProperties | 2 +- .../laminar/depthCharge3D/system/blockMeshDict | 2 +- .../laminar/depthCharge3D/system/controlDict | 2 +- .../laminar/depthCharge3D/system/decomposeParDict | 2 +- .../laminar/depthCharge3D/system/fvSchemes | 2 +- .../laminar/depthCharge3D/system/fvSolution | 2 +- .../laminar/depthCharge3D/system/setFieldsDict | 2 +- .../laminar/damBreak4phase/0.orig/T | 2 +- .../laminar/damBreak4phase/0.orig/U | 2 +- .../laminar/damBreak4phase/0.orig/alpha.air | 2 +- .../laminar/damBreak4phase/0.orig/alpha.mercury | 2 +- .../laminar/damBreak4phase/0.orig/alpha.oil | 2 +- .../laminar/damBreak4phase/0.orig/alpha.water | 2 +- .../laminar/damBreak4phase/0.orig/alphas | 2 +- .../laminar/damBreak4phase/0.orig/p | 2 +- .../laminar/damBreak4phase/0.orig/p_rgh | 2 +- .../laminar/damBreak4phase/constant/g | 2 +- .../laminar/damBreak4phase/constant/thermophysicalProperties | 2 +- .../damBreak4phase/constant/thermophysicalProperties.air | 2 +- .../damBreak4phase/constant/thermophysicalProperties.mercury | 2 +- .../damBreak4phase/constant/thermophysicalProperties.oil | 2 +- .../damBreak4phase/constant/thermophysicalProperties.water | 2 +- .../laminar/damBreak4phase/constant/turbulenceProperties | 2 +- .../laminar/damBreak4phase/system/blockMeshDict | 2 +- .../laminar/damBreak4phase/system/controlDict | 2 +- .../laminar/damBreak4phase/system/decomposeParDict | 2 +- .../laminar/damBreak4phase/system/fvSchemes | 2 +- .../laminar/damBreak4phase/system/fvSolution | 2 +- .../laminar/damBreak4phase/system/setFieldsDict | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/0/U | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/0/alpha.sludge | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/0/epsilon | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/0/k | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/0/nut | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/0/p_rgh | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/g | 2 +- .../driftFluxFoam/RAS/dahl/constant/transportProperties | 2 +- .../driftFluxFoam/RAS/dahl/constant/turbulenceProperties | 2 +- .../multiphase/driftFluxFoam/RAS/dahl/system/blockMeshDict | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/system/controlDict | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/system/fvSchemes | 2 +- tutorials/multiphase/driftFluxFoam/RAS/dahl/system/fvSolution | 2 +- tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0.orig/U | 2 +- .../driftFluxFoam/RAS/mixerVessel2D/0.orig/alpha.sludge | 2 +- .../multiphase/driftFluxFoam/RAS/mixerVessel2D/0.orig/epsilon | 2 +- tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0.orig/k | 2 +- tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0.orig/nut | 2 +- .../multiphase/driftFluxFoam/RAS/mixerVessel2D/0.orig/p_rgh | 2 +- .../driftFluxFoam/RAS/mixerVessel2D/constant/MRFProperties | 2 +- tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/g | 2 +- .../RAS/mixerVessel2D/constant/transportProperties | 2 +- .../RAS/mixerVessel2D/constant/turbulenceProperties | 2 +- .../driftFluxFoam/RAS/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../driftFluxFoam/RAS/mixerVessel2D/system/controlDict | 2 +- .../multiphase/driftFluxFoam/RAS/mixerVessel2D/system/fvSchemes | 2 +- .../driftFluxFoam/RAS/mixerVessel2D/system/fvSolution | 2 +- .../driftFluxFoam/RAS/mixerVessel2D/system/setFieldsDict | 2 +- .../driftFluxFoam/RAS/mixerVessel2D/system/topoSetDict | 2 +- tutorials/multiphase/driftFluxFoam/RAS/tank3D/0.orig/U | 2 +- .../multiphase/driftFluxFoam/RAS/tank3D/0.orig/alpha.sludge | 2 +- tutorials/multiphase/driftFluxFoam/RAS/tank3D/0.orig/epsilon | 2 +- tutorials/multiphase/driftFluxFoam/RAS/tank3D/0.orig/k | 2 +- tutorials/multiphase/driftFluxFoam/RAS/tank3D/0.orig/nut | 2 +- tutorials/multiphase/driftFluxFoam/RAS/tank3D/0.orig/p_rgh | 2 +- tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/g | 2 +- .../driftFluxFoam/RAS/tank3D/constant/transportProperties | 2 +- .../driftFluxFoam/RAS/tank3D/constant/turbulenceProperties | 2 +- .../multiphase/driftFluxFoam/RAS/tank3D/system/controlDict | 2 +- tutorials/multiphase/driftFluxFoam/RAS/tank3D/system/fvSchemes | 2 +- tutorials/multiphase/driftFluxFoam/RAS/tank3D/system/fvSolution | 2 +- .../evaporationMultiComponent/0.orig/T | 2 +- .../evaporationMultiComponent/0.orig/U | 2 +- .../evaporationMultiComponent/0.orig/air.gas | 2 +- .../evaporationMultiComponent/0.orig/alpha.gas | 2 +- .../evaporationMultiComponent/0.orig/alpha.liquid | 2 +- .../evaporationMultiComponent/0.orig/alphat | 2 +- .../evaporationMultiComponent/0.orig/epsilon | 2 +- .../evaporationMultiComponent/0.orig/k | 2 +- .../evaporationMultiComponent/0.orig/nut | 2 +- .../evaporationMultiComponent/0.orig/p | 2 +- .../evaporationMultiComponent/0.orig/p_rgh | 2 +- .../evaporationMultiComponent/0.orig/vapour.gas | 2 +- .../evaporationMultiComponent/constant/g | 2 +- .../evaporationMultiComponent/constant/phaseProperties | 2 +- .../constant/thermophysicalProperties.gas | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../evaporationMultiComponent/constant/turbulenceProperties | 2 +- .../evaporationMultiComponent/system/blockMeshDict | 2 +- .../evaporationMultiComponent/system/controlDict | 2 +- .../evaporationMultiComponent/system/fvSchemes | 2 +- .../evaporationMultiComponent/system/fvSolution | 2 +- .../evaporationMultiComponent/system/setFieldsDict | 2 +- .../inertMultiphaseMultiComponent/0.orig/CO2.gas | 2 +- .../inertMultiphaseMultiComponent/0.orig/O2.liquid | 2 +- .../inertMultiphaseMultiComponent/0.orig/T | 2 +- .../inertMultiphaseMultiComponent/0.orig/U | 2 +- .../inertMultiphaseMultiComponent/0.orig/air.gas | 2 +- .../inertMultiphaseMultiComponent/0.orig/alpha.gas | 2 +- .../inertMultiphaseMultiComponent/0.orig/alpha.liquid | 2 +- .../inertMultiphaseMultiComponent/0.orig/alpha.mercury | 2 +- .../inertMultiphaseMultiComponent/0.orig/alpha.oil | 2 +- .../inertMultiphaseMultiComponent/0.orig/alphat | 2 +- .../inertMultiphaseMultiComponent/0.orig/p | 2 +- .../inertMultiphaseMultiComponent/0.orig/p_rgh | 2 +- .../inertMultiphaseMultiComponent/0.orig/vapour.gas | 2 +- .../inertMultiphaseMultiComponent/0.orig/water.liquid | 2 +- .../inertMultiphaseMultiComponent/constant/g | 2 +- .../inertMultiphaseMultiComponent/constant/phaseProperties | 2 +- .../constant/thermophysicalProperties.gas | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../constant/thermophysicalProperties.mercury | 2 +- .../constant/thermophysicalProperties.oil | 2 +- .../inertMultiphaseMultiComponent/constant/turbulenceProperties | 2 +- .../inertMultiphaseMultiComponent/system/blockMeshDict | 2 +- .../inertMultiphaseMultiComponent/system/controlDict | 2 +- .../inertMultiphaseMultiComponent/system/fvSchemes | 2 +- .../inertMultiphaseMultiComponent/system/fvSolution | 2 +- .../inertMultiphaseMultiComponent/system/setFieldsDict | 2 +- .../icoReactingMultiphaseInterFoam/mixerVesselAMI2D/0.orig/T | 2 +- .../icoReactingMultiphaseInterFoam/mixerVesselAMI2D/0.orig/U | 2 +- .../mixerVesselAMI2D/0.orig/alpha.gas | 2 +- .../mixerVesselAMI2D/0.orig/alpha.liquid | 2 +- .../mixerVesselAMI2D/0.orig/alpha.mercury | 2 +- .../mixerVesselAMI2D/0.orig/alpha.oil | 2 +- .../mixerVesselAMI2D/0.orig/alphat | 2 +- .../mixerVesselAMI2D/0.orig/epsilon | 2 +- .../icoReactingMultiphaseInterFoam/mixerVesselAMI2D/0.orig/k | 2 +- .../mixerVesselAMI2D/0.orig/p_rgh | 2 +- .../mixerVesselAMI2D/constant/dynamicMeshDict | 2 +- .../icoReactingMultiphaseInterFoam/mixerVesselAMI2D/constant/g | 2 +- .../mixerVesselAMI2D/constant/phaseProperties | 2 +- .../mixerVesselAMI2D/constant/thermophysicalProperties.gas | 2 +- .../mixerVesselAMI2D/constant/thermophysicalProperties.liquid | 2 +- .../mixerVesselAMI2D/constant/thermophysicalProperties.mercury | 2 +- .../mixerVesselAMI2D/constant/thermophysicalProperties.oil | 2 +- .../mixerVesselAMI2D/constant/turbulenceProperties | 2 +- .../mixerVesselAMI2D/system/blockMeshDict.m4 | 2 +- .../mixerVesselAMI2D/system/controlDict | 2 +- .../mixerVesselAMI2D/system/decomposeParDict | 2 +- .../mixerVesselAMI2D/system/fvSchemes | 2 +- .../mixerVesselAMI2D/system/fvSolution | 2 +- .../mixerVesselAMI2D/system/setFieldsDict | 2 +- .../mixerVesselAMI2D/system/topoSetDict | 2 +- .../icoReactingMultiphaseInterFoam/oxideFormation/0.orig/T | 2 +- .../icoReactingMultiphaseInterFoam/oxideFormation/0.orig/U | 2 +- .../oxideFormation/0.orig/alpha.gas | 2 +- .../oxideFormation/0.orig/alpha.liquid | 2 +- .../oxideFormation/0.orig/alpha.oxide | 2 +- .../icoReactingMultiphaseInterFoam/oxideFormation/0.orig/p_rgh | 2 +- .../icoReactingMultiphaseInterFoam/oxideFormation/constant/g | 2 +- .../oxideFormation/constant/phaseProperties | 2 +- .../oxideFormation/constant/thermophysicalProperties.gas | 2 +- .../oxideFormation/constant/thermophysicalProperties.liquid | 2 +- .../oxideFormation/constant/thermophysicalProperties.oxide | 2 +- .../oxideFormation/constant/turbulenceProperties | 2 +- .../oxideFormation/system/blockMeshDict | 2 +- .../oxideFormation/system/controlDict | 2 +- .../oxideFormation/system/decomposeParDict | 2 +- .../oxideFormation/system/fvSchemes | 2 +- .../oxideFormation/system/fvSolution | 2 +- .../icoReactingMultiphaseInterFoam/poolEvaporation/0.orig/T | 2 +- .../icoReactingMultiphaseInterFoam/poolEvaporation/0.orig/U | 2 +- .../poolEvaporation/0.orig/air.gas | 2 +- .../poolEvaporation/0.orig/alpha.gas | 2 +- .../poolEvaporation/0.orig/alpha.liquid | 2 +- .../icoReactingMultiphaseInterFoam/poolEvaporation/0.orig/p_rgh | 2 +- .../poolEvaporation/0.orig/vapour.gas | 2 +- .../icoReactingMultiphaseInterFoam/poolEvaporation/constant/g | 2 +- .../poolEvaporation/constant/phaseProperties | 2 +- .../poolEvaporation/constant/thermophysicalProperties.gas | 2 +- .../poolEvaporation/constant/thermophysicalProperties.liquid | 2 +- .../poolEvaporation/constant/turbulenceProperties | 2 +- .../poolEvaporation/system/blockMeshDict | 2 +- .../poolEvaporation/system/controlDict | 2 +- .../poolEvaporation/system/decomposeParDict | 2 +- .../poolEvaporation/system/fvSchemes | 2 +- .../poolEvaporation/system/fvSolution | 2 +- .../poolEvaporation/system/setFieldsDict | 2 +- .../poolEvaporationMultiComponent/0.orig/T | 2 +- .../poolEvaporationMultiComponent/0.orig/U | 2 +- .../poolEvaporationMultiComponent/0.orig/air.gas | 2 +- .../poolEvaporationMultiComponent/0.orig/alpha.gas | 2 +- .../poolEvaporationMultiComponent/0.orig/alpha.liquid | 2 +- .../poolEvaporationMultiComponent/0.orig/alphat | 2 +- .../poolEvaporationMultiComponent/0.orig/epsilon | 2 +- .../poolEvaporationMultiComponent/0.orig/k | 2 +- .../poolEvaporationMultiComponent/0.orig/nut | 2 +- .../poolEvaporationMultiComponent/0.orig/p | 2 +- .../poolEvaporationMultiComponent/0.orig/p_rgh | 2 +- .../poolEvaporationMultiComponent/0.orig/vapour.gas | 2 +- .../poolEvaporationMultiComponent/constant/g | 2 +- .../poolEvaporationMultiComponent/constant/phaseProperties | 2 +- .../constant/thermophysicalProperties.gas | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../poolEvaporationMultiComponent/constant/turbulenceProperties | 2 +- .../poolEvaporationMultiComponent/system/blockMeshDict | 2 +- .../poolEvaporationMultiComponent/system/controlDict | 2 +- .../poolEvaporationMultiComponent/system/decomposeParDict | 2 +- .../poolEvaporationMultiComponent/system/fvSchemes | 2 +- .../poolEvaporationMultiComponent/system/fvSolution | 2 +- .../poolEvaporationMultiComponent/system/setFieldsDict | 2 +- .../icoReactingMultiphaseInterFoam/solidMelting2D/0/T | 2 +- .../icoReactingMultiphaseInterFoam/solidMelting2D/0/U | 2 +- .../solidMelting2D/0/alpha.liquid | 2 +- .../icoReactingMultiphaseInterFoam/solidMelting2D/0/alpha.solid | 2 +- .../icoReactingMultiphaseInterFoam/solidMelting2D/0/p_rgh | 2 +- .../icoReactingMultiphaseInterFoam/solidMelting2D/constant/g | 2 +- .../solidMelting2D/constant/phaseProperties | 2 +- .../solidMelting2D/constant/thermophysicalProperties.liquid | 2 +- .../solidMelting2D/constant/thermophysicalProperties.solid | 2 +- .../solidMelting2D/constant/turbulenceProperties | 2 +- .../solidMelting2D/system/blockMeshDict | 2 +- .../solidMelting2D/system/controlDict | 2 +- .../solidMelting2D/system/fvSchemes | 2 +- .../solidMelting2D/system/fvSolution | 2 +- .../condensatingVessel/0.orig/T | 2 +- .../condensatingVessel/0.orig/U | 2 +- .../condensatingVessel/0.orig/alpha.liquid | 2 +- .../condensatingVessel/0.orig/epsilon | 2 +- .../condensatingVessel/0.orig/k | 2 +- .../condensatingVessel/0.orig/nut | 2 +- .../condensatingVessel/0.orig/omega | 2 +- .../condensatingVessel/0.orig/p | 2 +- .../condensatingVessel/0.orig/p_rgh | 2 +- .../condensatingVessel/constant/g | 2 +- .../condensatingVessel/constant/phaseChangeProperties | 2 +- .../condensatingVessel/constant/thermophysicalProperties | 2 +- .../condensatingVessel/constant/transportProperties | 2 +- .../condensatingVessel/constant/turbulenceProperties | 2 +- .../condensatingVessel/system/blockMeshDict | 2 +- .../condensatingVessel/system/controlDict | 2 +- .../condensatingVessel/system/fvSchemes | 2 +- .../condensatingVessel/system/fvSolution | 2 +- tutorials/multiphase/interFoam/LES/nozzleFlow2D/0.orig/U | 2 +- .../multiphase/interFoam/LES/nozzleFlow2D/0.orig/alpha.fuel | 2 +- tutorials/multiphase/interFoam/LES/nozzleFlow2D/0.orig/k | 2 +- tutorials/multiphase/interFoam/LES/nozzleFlow2D/0.orig/nuTilda | 2 +- tutorials/multiphase/interFoam/LES/nozzleFlow2D/0.orig/nut | 2 +- tutorials/multiphase/interFoam/LES/nozzleFlow2D/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/g | 2 +- .../interFoam/LES/nozzleFlow2D/constant/transportProperties | 2 +- .../interFoam/LES/nozzleFlow2D/constant/turbulenceProperties | 2 +- .../multiphase/interFoam/LES/nozzleFlow2D/system/blockMeshDict | 2 +- .../multiphase/interFoam/LES/nozzleFlow2D/system/controlDict | 2 +- .../multiphase/interFoam/LES/nozzleFlow2D/system/fvSchemes | 2 +- .../multiphase/interFoam/LES/nozzleFlow2D/system/fvSolution | 2 +- .../multiphase/interFoam/LES/nozzleFlow2D/system/refineMeshDict | 2 +- .../multiphase/interFoam/LES/nozzleFlow2D/system/topoSetDict.1 | 2 +- .../multiphase/interFoam/LES/nozzleFlow2D/system/topoSetDict.2 | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/U | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/alpha.water | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/k | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/nut | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/omega | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/p_rgh | 2 +- .../multiphase/interFoam/RAS/DTCHull/0.orig/pointDisplacement | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/constant/g | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/constant/hRef | 2 +- .../interFoam/RAS/DTCHull/constant/transportProperties | 2 +- .../interFoam/RAS/DTCHull/constant/turbulenceProperties | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/blockMeshDict | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/controlDict | 2 +- .../multiphase/interFoam/RAS/DTCHull/system/decomposeParDict | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/fvSchemes | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/fvSolution | 2 +- .../multiphase/interFoam/RAS/DTCHull/system/meshQualityDict | 2 +- .../multiphase/interFoam/RAS/DTCHull/system/refineMeshDict | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/setFieldsDict | 2 +- .../multiphase/interFoam/RAS/DTCHull/system/snappyHexMeshDict | 2 +- .../interFoam/RAS/DTCHull/system/surfaceFeatureExtractDict | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.1 | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.2 | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.3 | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.4 | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.5 | 2 +- tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.6 | 2 +- tutorials/multiphase/interFoam/RAS/DTCHullMoving/0.orig/U | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/0.orig/alpha.water | 2 +- tutorials/multiphase/interFoam/RAS/DTCHullMoving/0.orig/k | 2 +- tutorials/multiphase/interFoam/RAS/DTCHullMoving/0.orig/nut | 2 +- tutorials/multiphase/interFoam/RAS/DTCHullMoving/0.orig/omega | 2 +- tutorials/multiphase/interFoam/RAS/DTCHullMoving/0.orig/p_rgh | 2 +- .../interFoam/RAS/DTCHullMoving/0.orig/pointDisplacement | 2 +- .../interFoam/RAS/DTCHullMoving/constant/dynamicMeshDict | 2 +- .../interFoam/RAS/DTCHullMoving/constant/dynamicMeshDict.sixDoF | 2 +- tutorials/multiphase/interFoam/RAS/DTCHullMoving/constant/g | 2 +- tutorials/multiphase/interFoam/RAS/DTCHullMoving/constant/hRef | 2 +- .../interFoam/RAS/DTCHullMoving/constant/transportProperties | 2 +- .../interFoam/RAS/DTCHullMoving/constant/turbulenceProperties | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/blockMeshDict | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/controlDict | 2 +- .../interFoam/RAS/DTCHullMoving/system/decomposeParDict | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/fvSchemes | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/fvSolution | 2 +- .../interFoam/RAS/DTCHullMoving/system/meshQualityDict | 2 +- .../interFoam/RAS/DTCHullMoving/system/refineMeshDict | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/setFieldsDict | 2 +- .../interFoam/RAS/DTCHullMoving/system/snappyHexMeshDict | 2 +- .../RAS/DTCHullMoving/system/surfaceFeatureExtractDict | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/topoSetDict.1 | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/topoSetDict.2 | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/topoSetDict.3 | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/topoSetDict.4 | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/topoSetDict.5 | 2 +- .../multiphase/interFoam/RAS/DTCHullMoving/system/topoSetDict.6 | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/0.orig/U | 2 +- .../multiphase/interFoam/RAS/angledDuct/0.orig/alpha.water | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/0.orig/epsilon | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/0.orig/k | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/0.orig/nut | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/0.orig/s | 2 +- .../multiphase/interFoam/RAS/angledDuct/constant/fvOptions | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/constant/g | 2 +- .../interFoam/RAS/angledDuct/constant/transportProperties | 2 +- .../interFoam/RAS/angledDuct/constant/turbulenceProperties | 2 +- .../multiphase/interFoam/RAS/angledDuct/system/blockMeshDict | 2 +- .../multiphase/interFoam/RAS/angledDuct/system/controlDict | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/system/fvSchemes | 2 +- tutorials/multiphase/interFoam/RAS/angledDuct/system/fvSolution | 2 +- tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0.orig/U | 2 +- .../interFoam/RAS/damBreak/damBreak/0.orig/alpha.water | 2 +- .../multiphase/interFoam/RAS/damBreak/damBreak/0.orig/epsilon | 2 +- tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0.orig/k | 2 +- .../multiphase/interFoam/RAS/damBreak/damBreak/0.orig/nuTilda | 2 +- tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0.orig/nut | 2 +- .../multiphase/interFoam/RAS/damBreak/damBreak/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/g | 2 +- .../RAS/damBreak/damBreak/constant/transportProperties | 2 +- .../RAS/damBreak/damBreak/constant/turbulenceProperties | 2 +- .../interFoam/RAS/damBreak/damBreak/system/blockMeshDict | 2 +- .../interFoam/RAS/damBreak/damBreak/system/controlDict | 2 +- .../interFoam/RAS/damBreak/damBreak/system/decomposeParDict | 2 +- .../multiphase/interFoam/RAS/damBreak/damBreak/system/fvSchemes | 2 +- .../interFoam/RAS/damBreak/damBreak/system/fvSolution | 2 +- .../interFoam/RAS/damBreak/damBreak/system/setFieldsDict | 2 +- .../multiphase/interFoam/RAS/damBreakPorousBaffle/0.orig/U | 2 +- .../interFoam/RAS/damBreakPorousBaffle/0.orig/alpha.water | 2 +- .../interFoam/RAS/damBreakPorousBaffle/0.orig/epsilon | 2 +- .../multiphase/interFoam/RAS/damBreakPorousBaffle/0.orig/k | 2 +- .../interFoam/RAS/damBreakPorousBaffle/0.orig/nuTilda | 2 +- .../multiphase/interFoam/RAS/damBreakPorousBaffle/0.orig/nut | 2 +- .../multiphase/interFoam/RAS/damBreakPorousBaffle/0.orig/p_rgh | 2 +- .../multiphase/interFoam/RAS/damBreakPorousBaffle/constant/g | 2 +- .../RAS/damBreakPorousBaffle/constant/transportProperties | 2 +- .../RAS/damBreakPorousBaffle/constant/turbulenceProperties | 2 +- .../interFoam/RAS/damBreakPorousBaffle/system/blockMeshDict | 2 +- .../RAS/damBreakPorousBaffle/system/changeDictionaryDict | 2 +- .../interFoam/RAS/damBreakPorousBaffle/system/controlDict | 2 +- .../interFoam/RAS/damBreakPorousBaffle/system/createBafflesDict | 2 +- .../interFoam/RAS/damBreakPorousBaffle/system/fvSchemes | 2 +- .../interFoam/RAS/damBreakPorousBaffle/system/fvSolution | 2 +- .../interFoam/RAS/damBreakPorousBaffle/system/setFieldsDict | 2 +- .../interFoam/RAS/damBreakPorousBaffle/system/topoSetDict | 2 +- .../multiphase/interFoam/RAS/electrostaticDeposition/0.orig/U | 2 +- .../interFoam/RAS/electrostaticDeposition/0.orig/alpha.water | 2 +- .../RAS/electrostaticDeposition/0.orig/electricPotential:V | 2 +- .../multiphase/interFoam/RAS/electrostaticDeposition/0.orig/k | 2 +- .../multiphase/interFoam/RAS/electrostaticDeposition/0.orig/nut | 2 +- .../interFoam/RAS/electrostaticDeposition/0.orig/omega | 2 +- .../interFoam/RAS/electrostaticDeposition/0.orig/p_rgh | 2 +- .../RAS/electrostaticDeposition/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/RAS/electrostaticDeposition/constant/g | 2 +- .../interFoam/RAS/electrostaticDeposition/constant/hRef | 2 +- .../RAS/electrostaticDeposition/constant/transportProperties | 2 +- .../RAS/electrostaticDeposition/constant/turbulenceProperties | 2 +- .../RAS/electrostaticDeposition/system/FOelectricPotential | 2 +- .../interFoam/RAS/electrostaticDeposition/system/blockMeshDict | 2 +- .../interFoam/RAS/electrostaticDeposition/system/controlDict | 2 +- .../RAS/electrostaticDeposition/system/decomposeParDict | 2 +- .../interFoam/RAS/electrostaticDeposition/system/fvSchemes | 2 +- .../interFoam/RAS/electrostaticDeposition/system/fvSolution | 2 +- .../RAS/electrostaticDeposition/system/meshQualityDict | 2 +- .../interFoam/RAS/electrostaticDeposition/system/setFieldsDict | 2 +- .../RAS/electrostaticDeposition/system/snappyHexMeshDict | 2 +- tutorials/multiphase/interFoam/RAS/floatingObject/0.orig/U | 2 +- .../multiphase/interFoam/RAS/floatingObject/0.orig/alpha.water | 2 +- .../multiphase/interFoam/RAS/floatingObject/0.orig/epsilon | 2 +- tutorials/multiphase/interFoam/RAS/floatingObject/0.orig/k | 2 +- tutorials/multiphase/interFoam/RAS/floatingObject/0.orig/nut | 2 +- tutorials/multiphase/interFoam/RAS/floatingObject/0.orig/p_rgh | 2 +- .../interFoam/RAS/floatingObject/0.orig/pointDisplacement | 2 +- .../interFoam/RAS/floatingObject/constant/dynamicMeshDict | 2 +- .../RAS/floatingObject/constant/dynamicMeshDict.sixDoF | 2 +- tutorials/multiphase/interFoam/RAS/floatingObject/constant/g | 2 +- .../interFoam/RAS/floatingObject/constant/transportProperties | 2 +- .../interFoam/RAS/floatingObject/constant/turbulenceProperties | 2 +- .../interFoam/RAS/floatingObject/system/blockMeshDict | 2 +- .../multiphase/interFoam/RAS/floatingObject/system/controlDict | 2 +- .../interFoam/RAS/floatingObject/system/decomposeParDict | 2 +- .../multiphase/interFoam/RAS/floatingObject/system/fvSchemes | 2 +- .../multiphase/interFoam/RAS/floatingObject/system/fvSolution | 2 +- .../interFoam/RAS/floatingObject/system/setFieldsDict | 2 +- .../multiphase/interFoam/RAS/floatingObject/system/topoSetDict | 2 +- tutorials/multiphase/interFoam/RAS/mixerVesselAMI/0.orig/U | 2 +- .../multiphase/interFoam/RAS/mixerVesselAMI/0.orig/alpha.water | 2 +- .../multiphase/interFoam/RAS/mixerVesselAMI/0.orig/epsilon | 2 +- tutorials/multiphase/interFoam/RAS/mixerVesselAMI/0.orig/k | 2 +- tutorials/multiphase/interFoam/RAS/mixerVesselAMI/0.orig/nut | 2 +- tutorials/multiphase/interFoam/RAS/mixerVesselAMI/0.orig/p_rgh | 2 +- .../interFoam/RAS/mixerVesselAMI/constant/dynamicMeshDict | 2 +- tutorials/multiphase/interFoam/RAS/mixerVesselAMI/constant/g | 2 +- .../interFoam/RAS/mixerVesselAMI/constant/transportProperties | 2 +- .../interFoam/RAS/mixerVesselAMI/constant/turbulenceProperties | 2 +- .../interFoam/RAS/mixerVesselAMI/system/blockMeshDict | 2 +- .../multiphase/interFoam/RAS/mixerVesselAMI/system/controlDict | 2 +- .../interFoam/RAS/mixerVesselAMI/system/createBafflesDict | 2 +- .../interFoam/RAS/mixerVesselAMI/system/decomposeParDict | 2 +- .../multiphase/interFoam/RAS/mixerVesselAMI/system/fvSchemes | 2 +- .../multiphase/interFoam/RAS/mixerVesselAMI/system/fvSolution | 2 +- .../interFoam/RAS/mixerVesselAMI/system/setFieldsDict | 2 +- .../interFoam/RAS/mixerVesselAMI/system/snappyHexMeshDict | 2 +- .../RAS/mixerVesselAMI/system/surfaceFeatureExtractDict | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/0.orig/U | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/0.orig/alpha.water | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/0.orig/k | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/0.orig/nut | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/0.orig/omega | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/0.orig/p_rgh | 2 +- .../multiphase/interFoam/RAS/motorBike/constant/dynamicMeshDict | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/constant/g | 2 +- .../interFoam/RAS/motorBike/constant/transportProperties | 2 +- .../interFoam/RAS/motorBike/constant/turbulenceProperties | 2 +- .../multiphase/interFoam/RAS/motorBike/system/blockMeshDict | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/system/controlDict | 2 +- .../interFoam/RAS/motorBike/system/controlDict_nextWrite | 2 +- .../multiphase/interFoam/RAS/motorBike/system/controlDict_run | 2 +- .../multiphase/interFoam/RAS/motorBike/system/decomposeParDict | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/system/fvSchemes | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/system/fvSolution | 2 +- .../multiphase/interFoam/RAS/motorBike/system/meshQualityDict | 2 +- tutorials/multiphase/interFoam/RAS/motorBike/system/minMax | 2 +- .../multiphase/interFoam/RAS/motorBike/system/setFieldsDict | 2 +- .../multiphase/interFoam/RAS/motorBike/system/snappyHexMeshDict | 2 +- .../interFoam/RAS/motorBike/system/surfaceFeatureExtractDict | 2 +- tutorials/multiphase/interFoam/RAS/waterChannel/0.orig/U | 2 +- .../multiphase/interFoam/RAS/waterChannel/0.orig/alpha.water | 2 +- tutorials/multiphase/interFoam/RAS/waterChannel/0.orig/k | 2 +- tutorials/multiphase/interFoam/RAS/waterChannel/0.orig/nut | 2 +- tutorials/multiphase/interFoam/RAS/waterChannel/0.orig/omega | 2 +- tutorials/multiphase/interFoam/RAS/waterChannel/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/RAS/waterChannel/0.orig/s | 2 +- tutorials/multiphase/interFoam/RAS/waterChannel/constant/g | 2 +- .../interFoam/RAS/waterChannel/constant/transportProperties | 2 +- .../interFoam/RAS/waterChannel/constant/turbulenceProperties | 2 +- .../multiphase/interFoam/RAS/waterChannel/system/blockMeshDict | 2 +- .../multiphase/interFoam/RAS/waterChannel/system/controlDict | 2 +- .../interFoam/RAS/waterChannel/system/extrudeMeshDict | 2 +- .../interFoam/RAS/waterChannel/system/extrudeMeshDict.1 | 2 +- .../interFoam/RAS/waterChannel/system/extrudeMeshDict.2 | 2 +- .../multiphase/interFoam/RAS/waterChannel/system/fvSchemes | 2 +- .../multiphase/interFoam/RAS/waterChannel/system/fvSolution | 2 +- .../multiphase/interFoam/RAS/waterChannel/system/setFieldsDict | 2 +- tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/U | 2 +- .../multiphase/interFoam/RAS/weirOverflow/0.orig/alpha.water | 2 +- tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/epsilon | 2 +- .../interFoam/RAS/weirOverflow/0.orig/include/initialConditions | 2 +- tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/k | 2 +- tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/nut | 2 +- tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/RAS/weirOverflow/constant/g | 2 +- .../interFoam/RAS/weirOverflow/constant/transportProperties | 2 +- .../interFoam/RAS/weirOverflow/constant/turbulenceProperties | 2 +- .../multiphase/interFoam/RAS/weirOverflow/system/blockMeshDict | 2 +- .../multiphase/interFoam/RAS/weirOverflow/system/controlDict | 2 +- .../multiphase/interFoam/RAS/weirOverflow/system/fvSchemes | 2 +- .../multiphase/interFoam/RAS/weirOverflow/system/fvSolution | 2 +- .../multiphase/interFoam/RAS/weirOverflow/system/setFieldsDict | 2 +- tutorials/multiphase/interFoam/laminar/capillaryRise/0.orig/U | 2 +- .../interFoam/laminar/capillaryRise/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/capillaryRise/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/laminar/capillaryRise/constant/g | 2 +- .../laminar/capillaryRise/constant/transportProperties | 2 +- .../laminar/capillaryRise/constant/turbulenceProperties | 2 +- .../interFoam/laminar/capillaryRise/system/blockMeshDict | 2 +- .../interFoam/laminar/capillaryRise/system/controlDict | 2 +- .../multiphase/interFoam/laminar/capillaryRise/system/fvSchemes | 2 +- .../interFoam/laminar/capillaryRise/system/fvSolution | 2 +- .../interFoam/laminar/capillaryRise/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/damBreak/damBreak/0.orig/U | 2 +- .../interFoam/laminar/damBreak/damBreak/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/damBreak/damBreak/0.orig/p_rgh | 2 +- .../multiphase/interFoam/laminar/damBreak/damBreak/constant/g | 2 +- .../laminar/damBreak/damBreak/constant/transportProperties | 2 +- .../laminar/damBreak/damBreak/constant/turbulenceProperties | 2 +- .../interFoam/laminar/damBreak/damBreak/system/blockMeshDict | 2 +- .../interFoam/laminar/damBreak/damBreak/system/controlDict | 2 +- .../interFoam/laminar/damBreak/damBreak/system/decomposeParDict | 2 +- .../interFoam/laminar/damBreak/damBreak/system/fvSchemes | 2 +- .../interFoam/laminar/damBreak/damBreak/system/fvSolution | 2 +- .../interFoam/laminar/damBreak/damBreak/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/damBreakPermeable/0.orig/U | 2 +- .../interFoam/laminar/damBreakPermeable/0.orig/alpha.water | 2 +- .../interFoam/laminar/damBreakPermeable/0.orig/epsilon | 2 +- .../multiphase/interFoam/laminar/damBreakPermeable/0.orig/k | 2 +- .../multiphase/interFoam/laminar/damBreakPermeable/0.orig/nut | 2 +- .../multiphase/interFoam/laminar/damBreakPermeable/0.orig/p_rgh | 2 +- .../multiphase/interFoam/laminar/damBreakPermeable/constant/g | 2 +- .../laminar/damBreakPermeable/constant/transportProperties | 2 +- .../laminar/damBreakPermeable/constant/turbulenceProperties | 2 +- .../interFoam/laminar/damBreakPermeable/system/blockMeshDict | 2 +- .../interFoam/laminar/damBreakPermeable/system/controlDict | 2 +- .../interFoam/laminar/damBreakPermeable/system/decomposeParDict | 2 +- .../interFoam/laminar/damBreakPermeable/system/fvSchemes | 2 +- .../interFoam/laminar/damBreakPermeable/system/fvSolution | 2 +- .../interFoam/laminar/damBreakPermeable/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/damBreakWithObstacle/0.orig/U | 2 +- .../interFoam/laminar/damBreakWithObstacle/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/damBreakWithObstacle/0.orig/k | 2 +- .../interFoam/laminar/damBreakWithObstacle/0.orig/nut | 2 +- .../interFoam/laminar/damBreakWithObstacle/0.orig/omega | 2 +- .../interFoam/laminar/damBreakWithObstacle/0.orig/p_rgh | 2 +- .../laminar/damBreakWithObstacle/constant/dynamicMeshDict | 2 +- .../interFoam/laminar/damBreakWithObstacle/constant/g | 2 +- .../laminar/damBreakWithObstacle/constant/transportProperties | 2 +- .../laminar/damBreakWithObstacle/constant/turbulenceProperties | 2 +- .../interFoam/laminar/damBreakWithObstacle/system/blockMeshDict | 2 +- .../interFoam/laminar/damBreakWithObstacle/system/controlDict | 2 +- .../laminar/damBreakWithObstacle/system/decomposeParDict | 2 +- .../interFoam/laminar/damBreakWithObstacle/system/fvSchemes | 2 +- .../interFoam/laminar/damBreakWithObstacle/system/fvSolution | 2 +- .../interFoam/laminar/damBreakWithObstacle/system/setFieldsDict | 2 +- .../interFoam/laminar/damBreakWithObstacle/system/topoSetDict | 2 +- tutorials/multiphase/interFoam/laminar/mixerVessel2D/0.orig/U | 2 +- .../interFoam/laminar/mixerVessel2D/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/mixerVessel2D/0.orig/p_rgh | 2 +- .../interFoam/laminar/mixerVessel2D/constant/MRFProperties | 2 +- tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/g | 2 +- .../laminar/mixerVessel2D/constant/transportProperties | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties | 2 +- .../interFoam/laminar/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../interFoam/laminar/mixerVessel2D/system/controlDict | 2 +- .../multiphase/interFoam/laminar/mixerVessel2D/system/fvSchemes | 2 +- .../interFoam/laminar/mixerVessel2D/system/fvSolution | 2 +- .../interFoam/laminar/mixerVessel2D/system/setFieldsDict | 2 +- .../interFoam/laminar/mixerVessel2D/system/topoSetDict | 2 +- tutorials/multiphase/interFoam/laminar/oscillatingBox/0.orig/U | 2 +- .../interFoam/laminar/oscillatingBox/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/oscillatingBox/0.orig/nut | 2 +- .../multiphase/interFoam/laminar/oscillatingBox/0.orig/p_rgh | 2 +- .../interFoam/laminar/oscillatingBox/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/laminar/oscillatingBox/constant/g | 2 +- .../laminar/oscillatingBox/constant/transportProperties | 2 +- .../laminar/oscillatingBox/constant/turbulenceProperties | 2 +- .../interFoam/laminar/oscillatingBox/system/blockMeshDict | 2 +- .../interFoam/laminar/oscillatingBox/system/controlDict | 2 +- .../interFoam/laminar/oscillatingBox/system/decomposeParDict | 2 +- .../interFoam/laminar/oscillatingBox/system/fvSchemes | 2 +- .../interFoam/laminar/oscillatingBox/system/fvSolution | 2 +- .../interFoam/laminar/oscillatingBox/system/setFieldsDict | 2 +- .../interFoam/laminar/oscillatingBox/system/topoSetDict | 2 +- .../multiphase/interFoam/laminar/sloshingCylinder/0.orig/U | 2 +- .../interFoam/laminar/sloshingCylinder/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/sloshingCylinder/0.orig/p_rgh | 2 +- .../interFoam/laminar/sloshingCylinder/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/laminar/sloshingCylinder/constant/g | 2 +- .../laminar/sloshingCylinder/constant/transportProperties | 2 +- .../laminar/sloshingCylinder/constant/turbulenceProperties | 2 +- .../interFoam/laminar/sloshingCylinder/system/blockMeshDict | 2 +- .../interFoam/laminar/sloshingCylinder/system/controlDict | 2 +- .../interFoam/laminar/sloshingCylinder/system/decomposeParDict | 2 +- .../interFoam/laminar/sloshingCylinder/system/fvSchemes | 2 +- .../interFoam/laminar/sloshingCylinder/system/fvSolution | 2 +- .../interFoam/laminar/sloshingCylinder/system/meshQualityDict | 2 +- .../interFoam/laminar/sloshingCylinder/system/setFieldsDict | 2 +- .../interFoam/laminar/sloshingCylinder/system/snappyHexMeshDict | 2 +- tutorials/multiphase/interFoam/laminar/sloshingTank2D/0.orig/U | 2 +- .../interFoam/laminar/sloshingTank2D/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/sloshingTank2D/0.orig/p_rgh | 2 +- .../interFoam/laminar/sloshingTank2D/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/laminar/sloshingTank2D/constant/g | 2 +- .../laminar/sloshingTank2D/constant/transportProperties | 2 +- .../laminar/sloshingTank2D/constant/turbulenceProperties | 2 +- .../interFoam/laminar/sloshingTank2D/system/blockMeshDict.m4 | 2 +- .../interFoam/laminar/sloshingTank2D/system/controlDict | 2 +- .../interFoam/laminar/sloshingTank2D/system/decomposeParDict | 2 +- .../interFoam/laminar/sloshingTank2D/system/fvSchemes | 2 +- .../interFoam/laminar/sloshingTank2D/system/fvSolution | 2 +- .../interFoam/laminar/sloshingTank2D/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/sloshingTank2D3DoF/0.orig/U | 2 +- .../interFoam/laminar/sloshingTank2D3DoF/0.orig/alpha.water | 2 +- .../interFoam/laminar/sloshingTank2D3DoF/0.orig/p_rgh | 2 +- .../laminar/sloshingTank2D3DoF/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/laminar/sloshingTank2D3DoF/constant/g | 2 +- .../laminar/sloshingTank2D3DoF/constant/transportProperties | 2 +- .../laminar/sloshingTank2D3DoF/constant/turbulenceProperties | 2 +- .../laminar/sloshingTank2D3DoF/system/blockMeshDict.m4 | 2 +- .../interFoam/laminar/sloshingTank2D3DoF/system/controlDict | 2 +- .../laminar/sloshingTank2D3DoF/system/decomposeParDict | 2 +- .../interFoam/laminar/sloshingTank2D3DoF/system/fvSchemes | 2 +- .../interFoam/laminar/sloshingTank2D3DoF/system/fvSolution | 2 +- .../interFoam/laminar/sloshingTank2D3DoF/system/setFieldsDict | 2 +- tutorials/multiphase/interFoam/laminar/sloshingTank3D/0.orig/U | 2 +- .../interFoam/laminar/sloshingTank3D/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/sloshingTank3D/0.orig/p_rgh | 2 +- .../interFoam/laminar/sloshingTank3D/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/laminar/sloshingTank3D/constant/g | 2 +- .../laminar/sloshingTank3D/constant/transportProperties | 2 +- .../laminar/sloshingTank3D/constant/turbulenceProperties | 2 +- .../interFoam/laminar/sloshingTank3D/system/blockMeshDict.m4 | 2 +- .../interFoam/laminar/sloshingTank3D/system/controlDict | 2 +- .../interFoam/laminar/sloshingTank3D/system/decomposeParDict | 2 +- .../interFoam/laminar/sloshingTank3D/system/fvSchemes | 2 +- .../interFoam/laminar/sloshingTank3D/system/fvSolution | 2 +- .../interFoam/laminar/sloshingTank3D/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/sloshingTank3D3DoF/0.orig/U | 2 +- .../interFoam/laminar/sloshingTank3D3DoF/0.orig/alpha.water | 2 +- .../interFoam/laminar/sloshingTank3D3DoF/0.orig/p_rgh | 2 +- .../laminar/sloshingTank3D3DoF/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/laminar/sloshingTank3D3DoF/constant/g | 2 +- .../laminar/sloshingTank3D3DoF/constant/transportProperties | 2 +- .../laminar/sloshingTank3D3DoF/constant/turbulenceProperties | 2 +- .../laminar/sloshingTank3D3DoF/system/blockMeshDict.m4 | 2 +- .../interFoam/laminar/sloshingTank3D3DoF/system/controlDict | 2 +- .../laminar/sloshingTank3D3DoF/system/decomposeParDict | 2 +- .../interFoam/laminar/sloshingTank3D3DoF/system/fvSchemes | 2 +- .../interFoam/laminar/sloshingTank3D3DoF/system/fvSolution | 2 +- .../interFoam/laminar/sloshingTank3D3DoF/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/sloshingTank3D6DoF/0.orig/U | 2 +- .../interFoam/laminar/sloshingTank3D6DoF/0.orig/alpha.water | 2 +- .../interFoam/laminar/sloshingTank3D6DoF/0.orig/p_rgh | 2 +- .../laminar/sloshingTank3D6DoF/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/laminar/sloshingTank3D6DoF/constant/g | 2 +- .../laminar/sloshingTank3D6DoF/constant/transportProperties | 2 +- .../laminar/sloshingTank3D6DoF/constant/turbulenceProperties | 2 +- .../laminar/sloshingTank3D6DoF/system/blockMeshDict.m4 | 2 +- .../interFoam/laminar/sloshingTank3D6DoF/system/controlDict | 2 +- .../laminar/sloshingTank3D6DoF/system/decomposeParDict | 2 +- .../interFoam/laminar/sloshingTank3D6DoF/system/fvSchemes | 2 +- .../interFoam/laminar/sloshingTank3D6DoF/system/fvSolution | 2 +- .../interFoam/laminar/sloshingTank3D6DoF/system/setFieldsDict | 2 +- tutorials/multiphase/interFoam/laminar/testTubeMixer/0.orig/U | 2 +- .../interFoam/laminar/testTubeMixer/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/testTubeMixer/0.orig/p_rgh | 2 +- .../interFoam/laminar/testTubeMixer/constant/dynamicMeshDict | 2 +- tutorials/multiphase/interFoam/laminar/testTubeMixer/constant/g | 2 +- .../laminar/testTubeMixer/constant/transportProperties | 2 +- .../laminar/testTubeMixer/constant/turbulenceProperties | 2 +- .../interFoam/laminar/testTubeMixer/system/blockMeshDict | 2 +- .../interFoam/laminar/testTubeMixer/system/controlDict | 2 +- .../interFoam/laminar/testTubeMixer/system/decomposeParDict | 2 +- .../multiphase/interFoam/laminar/testTubeMixer/system/fvSchemes | 2 +- .../interFoam/laminar/testTubeMixer/system/fvSolution | 2 +- .../interFoam/laminar/testTubeMixer/system/setFieldsDict | 2 +- .../laminar/vofToLagrangian/eulerianInjection/0.orig/U | 2 +- .../vofToLagrangian/eulerianInjection/0.orig/alpha.water | 2 +- .../laminar/vofToLagrangian/eulerianInjection/0.orig/p_rgh | 2 +- .../laminar/vofToLagrangian/eulerianInjection/constant/g | 2 +- .../eulerianInjection/constant/transportProperties | 2 +- .../eulerianInjection/constant/turbulenceProperties | 2 +- .../vofToLagrangian/eulerianInjection/system/blockMeshDict | 2 +- .../vofToLagrangian/eulerianInjection/system/controlDict | 2 +- .../vofToLagrangian/eulerianInjection/system/decomposeParDict | 2 +- .../laminar/vofToLagrangian/eulerianInjection/system/fvSchemes | 2 +- .../laminar/vofToLagrangian/eulerianInjection/system/fvSolution | 2 +- .../vofToLagrangian/eulerianInjection/system/setFieldsDict | 2 +- .../eulerianInjection/system/topoSetDict.createBlockage | 2 +- .../eulerianInjection/system/topoSetDict.createCollector | 2 +- .../eulerianInjection/system/topoSetDict.createPatch | 2 +- .../vofToLagrangian/lagrangianDistributionInjection/0.orig/N2 | 2 +- .../vofToLagrangian/lagrangianDistributionInjection/0.orig/O2 | 2 +- .../vofToLagrangian/lagrangianDistributionInjection/0.orig/T | 2 +- .../vofToLagrangian/lagrangianDistributionInjection/0.orig/U | 2 +- .../lagrangianDistributionInjection/0.orig/Ydefault | 2 +- .../lagrangianDistributionInjection/0.orig/alphat | 2 +- .../lagrangianDistributionInjection/0.orig/epsilon | 2 +- .../vofToLagrangian/lagrangianDistributionInjection/0.orig/k | 2 +- .../vofToLagrangian/lagrangianDistributionInjection/0.orig/nut | 2 +- .../vofToLagrangian/lagrangianDistributionInjection/0.orig/p | 2 +- .../constant/chemistryProperties | 2 +- .../constant/combustionProperties | 2 +- .../vofToLagrangian/lagrangianDistributionInjection/constant/g | 2 +- .../constant/radiationProperties | 2 +- .../constant/sprayCloudProperties | 2 +- .../constant/thermophysicalProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../lagrangianDistributionInjection/system/blockMeshDict | 2 +- .../lagrangianDistributionInjection/system/controlDict | 2 +- .../lagrangianDistributionInjection/system/decomposeParDict | 2 +- .../lagrangianDistributionInjection/system/fvSchemes | 2 +- .../lagrangianDistributionInjection/system/fvSolution | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/N2 | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/O2 | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/T | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/U | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/Ydefault | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/alphat | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/epsilon | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/k | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/nut | 2 +- .../vofToLagrangian/lagrangianParticleInjection/0.orig/p | 2 +- .../lagrangianParticleInjection/constant/chemistryProperties | 2 +- .../lagrangianParticleInjection/constant/combustionProperties | 2 +- .../vofToLagrangian/lagrangianParticleInjection/constant/g | 2 +- .../lagrangianParticleInjection/constant/radiationProperties | 2 +- .../lagrangianParticleInjection/constant/sprayCloudProperties | 2 +- .../constant/thermophysicalProperties | 2 +- .../lagrangianParticleInjection/constant/turbulenceProperties | 2 +- .../lagrangianParticleInjection/system/blockMeshDict | 2 +- .../lagrangianParticleInjection/system/controlDict | 2 +- .../lagrangianParticleInjection/system/decomposeParDict | 2 +- .../lagrangianParticleInjection/system/fvSchemes | 2 +- .../lagrangianParticleInjection/system/fvSolution | 2 +- tutorials/multiphase/interFoam/laminar/waves/cnoidal/0.orig/U | 2 +- .../interFoam/laminar/waves/cnoidal/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/waves/cnoidal/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/laminar/waves/cnoidal/constant/g | 2 +- .../laminar/waves/cnoidal/constant/transportProperties | 2 +- .../laminar/waves/cnoidal/constant/turbulenceProperties | 2 +- .../interFoam/laminar/waves/cnoidal/constant/waveProperties | 2 +- .../interFoam/laminar/waves/cnoidal/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/cnoidal/system/controlDict | 2 +- .../interFoam/laminar/waves/cnoidal/system/decomposeParDict | 2 +- .../multiphase/interFoam/laminar/waves/cnoidal/system/fvSchemes | 2 +- .../interFoam/laminar/waves/cnoidal/system/fvSolution | 2 +- .../interFoam/laminar/waves/cnoidal/system/setFieldsDict | 2 +- .../interFoam/laminar/waves/irregularMultiDirection/0.orig/U | 2 +- .../laminar/waves/irregularMultiDirection/0.orig/alpha.water | 2 +- .../laminar/waves/irregularMultiDirection/0.orig/p_rgh | 2 +- .../interFoam/laminar/waves/irregularMultiDirection/constant/g | 2 +- .../waves/irregularMultiDirection/constant/transportProperties | 2 +- .../waves/irregularMultiDirection/constant/turbulenceProperties | 2 +- .../waves/irregularMultiDirection/constant/waveProperties | 2 +- .../laminar/waves/irregularMultiDirection/system/blockMeshDict | 2 +- .../laminar/waves/irregularMultiDirection/system/controlDict | 2 +- .../waves/irregularMultiDirection/system/decomposeParDict | 2 +- .../laminar/waves/irregularMultiDirection/system/fvSchemes | 2 +- .../laminar/waves/irregularMultiDirection/system/fvSolution | 2 +- .../laminar/waves/irregularMultiDirection/system/setFieldsDict | 2 +- .../laminar/waves/mangroveInteraction/0.orig/MangrovesIndex | 2 +- .../interFoam/laminar/waves/mangroveInteraction/0.orig/U | 2 +- .../laminar/waves/mangroveInteraction/0.orig/alpha.water | 2 +- .../interFoam/laminar/waves/mangroveInteraction/0.orig/epsilon | 2 +- .../interFoam/laminar/waves/mangroveInteraction/0.orig/k | 2 +- .../interFoam/laminar/waves/mangroveInteraction/0.orig/nut | 2 +- .../interFoam/laminar/waves/mangroveInteraction/0.orig/p_rgh | 2 +- .../interFoam/laminar/waves/mangroveInteraction/constant/g | 2 +- .../waves/mangroveInteraction/constant/transportProperties | 2 +- .../waves/mangroveInteraction/constant/turbulenceProperties | 2 +- .../laminar/waves/mangroveInteraction/constant/waveProperties | 2 +- .../laminar/waves/mangroveInteraction/system/blockMeshDict | 2 +- .../laminar/waves/mangroveInteraction/system/controlDict | 2 +- .../laminar/waves/mangroveInteraction/system/decomposeParDict | 2 +- .../laminar/waves/mangroveInteraction/system/fvOptions | 2 +- .../laminar/waves/mangroveInteraction/system/fvSchemes | 2 +- .../laminar/waves/mangroveInteraction/system/fvSolution | 2 +- .../laminar/waves/mangroveInteraction/system/setFieldsDict | 2 +- .../laminar/waves/mangroveInteraction/system/topoSetDict | 2 +- tutorials/multiphase/interFoam/laminar/waves/solitary/0.orig/U | 2 +- .../interFoam/laminar/waves/solitary/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/waves/solitary/0.orig/p_rgh | 2 +- .../multiphase/interFoam/laminar/waves/solitary/constant/g | 2 +- .../laminar/waves/solitary/constant/transportProperties | 2 +- .../laminar/waves/solitary/constant/turbulenceProperties | 2 +- .../interFoam/laminar/waves/solitary/constant/waveProperties | 2 +- .../interFoam/laminar/waves/solitary/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/solitary/system/controlDict | 2 +- .../interFoam/laminar/waves/solitary/system/decomposeParDict | 2 +- .../interFoam/laminar/waves/solitary/system/fvSchemes | 2 +- .../interFoam/laminar/waves/solitary/system/fvSolution | 2 +- .../interFoam/laminar/waves/solitary/system/setFieldsDict | 2 +- .../interFoam/laminar/waves/solitaryGrimshaw/0.orig/U | 2 +- .../interFoam/laminar/waves/solitaryGrimshaw/0.orig/alpha.water | 2 +- .../interFoam/laminar/waves/solitaryGrimshaw/0.orig/p_rgh | 2 +- .../interFoam/laminar/waves/solitaryGrimshaw/constant/g | 2 +- .../laminar/waves/solitaryGrimshaw/constant/transportProperties | 2 +- .../waves/solitaryGrimshaw/constant/turbulenceProperties | 2 +- .../laminar/waves/solitaryGrimshaw/constant/waveProperties | 2 +- .../laminar/waves/solitaryGrimshaw/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/solitaryGrimshaw/system/controlDict | 2 +- .../laminar/waves/solitaryGrimshaw/system/decomposeParDict | 2 +- .../interFoam/laminar/waves/solitaryGrimshaw/system/fvSchemes | 2 +- .../interFoam/laminar/waves/solitaryGrimshaw/system/fvSolution | 2 +- .../laminar/waves/solitaryGrimshaw/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/waves/solitaryMcCowan/0.orig/U | 2 +- .../interFoam/laminar/waves/solitaryMcCowan/0.orig/alpha.water | 2 +- .../interFoam/laminar/waves/solitaryMcCowan/0.orig/p_rgh | 2 +- .../interFoam/laminar/waves/solitaryMcCowan/constant/g | 2 +- .../laminar/waves/solitaryMcCowan/constant/transportProperties | 2 +- .../laminar/waves/solitaryMcCowan/constant/turbulenceProperties | 2 +- .../laminar/waves/solitaryMcCowan/constant/waveProperties | 2 +- .../laminar/waves/solitaryMcCowan/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/solitaryMcCowan/system/controlDict | 2 +- .../laminar/waves/solitaryMcCowan/system/decomposeParDict | 2 +- .../interFoam/laminar/waves/solitaryMcCowan/system/fvSchemes | 2 +- .../interFoam/laminar/waves/solitaryMcCowan/system/fvSolution | 2 +- .../laminar/waves/solitaryMcCowan/system/setFieldsDict | 2 +- tutorials/multiphase/interFoam/laminar/waves/stokesI/0.orig/U | 2 +- .../interFoam/laminar/waves/stokesI/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/waves/stokesI/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/laminar/waves/stokesI/constant/g | 2 +- .../laminar/waves/stokesI/constant/transportProperties | 2 +- .../laminar/waves/stokesI/constant/turbulenceProperties | 2 +- .../interFoam/laminar/waves/stokesI/constant/waveProperties | 2 +- .../interFoam/laminar/waves/stokesI/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/stokesI/system/controlDict | 2 +- .../interFoam/laminar/waves/stokesI/system/decomposeParDict | 2 +- .../multiphase/interFoam/laminar/waves/stokesI/system/fvSchemes | 2 +- .../interFoam/laminar/waves/stokesI/system/fvSolution | 2 +- .../interFoam/laminar/waves/stokesI/system/setFieldsDict | 2 +- tutorials/multiphase/interFoam/laminar/waves/stokesII/0.orig/U | 2 +- .../interFoam/laminar/waves/stokesII/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/waves/stokesII/0.orig/p_rgh | 2 +- .../multiphase/interFoam/laminar/waves/stokesII/constant/g | 2 +- .../laminar/waves/stokesII/constant/transportProperties | 2 +- .../laminar/waves/stokesII/constant/turbulenceProperties | 2 +- .../interFoam/laminar/waves/stokesII/constant/waveProperties | 2 +- .../interFoam/laminar/waves/stokesII/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/stokesII/system/controlDict | 2 +- .../interFoam/laminar/waves/stokesII/system/decomposeParDict | 2 +- .../interFoam/laminar/waves/stokesII/system/fvSchemes | 2 +- .../interFoam/laminar/waves/stokesII/system/fvSolution | 2 +- .../interFoam/laminar/waves/stokesII/system/setFieldsDict | 2 +- tutorials/multiphase/interFoam/laminar/waves/stokesV/0.orig/U | 2 +- .../interFoam/laminar/waves/stokesV/0.orig/alpha.water | 2 +- .../multiphase/interFoam/laminar/waves/stokesV/0.orig/p_rgh | 2 +- tutorials/multiphase/interFoam/laminar/waves/stokesV/constant/g | 2 +- .../laminar/waves/stokesV/constant/transportProperties | 2 +- .../laminar/waves/stokesV/constant/turbulenceProperties | 2 +- .../interFoam/laminar/waves/stokesV/constant/waveProperties | 2 +- .../interFoam/laminar/waves/stokesV/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/stokesV/system/controlDict | 2 +- .../interFoam/laminar/waves/stokesV/system/decomposeParDict | 2 +- .../multiphase/interFoam/laminar/waves/stokesV/system/fvSchemes | 2 +- .../interFoam/laminar/waves/stokesV/system/fvSolution | 2 +- .../interFoam/laminar/waves/stokesV/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/waves/streamFunction/0.orig/U | 2 +- .../interFoam/laminar/waves/streamFunction/0.orig/alpha.water | 2 +- .../interFoam/laminar/waves/streamFunction/0.orig/p_rgh | 2 +- .../interFoam/laminar/waves/streamFunction/constant/g | 2 +- .../laminar/waves/streamFunction/constant/transportProperties | 2 +- .../laminar/waves/streamFunction/constant/turbulenceProperties | 2 +- .../laminar/waves/streamFunction/constant/waveProperties | 2 +- .../interFoam/laminar/waves/streamFunction/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/streamFunction/system/controlDict | 2 +- .../laminar/waves/streamFunction/system/decomposeParDict | 2 +- .../interFoam/laminar/waves/streamFunction/system/fvSchemes | 2 +- .../interFoam/laminar/waves/streamFunction/system/fvSolution | 2 +- .../interFoam/laminar/waves/streamFunction/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/waves/waveMakerFlap/0.orig/U | 2 +- .../interFoam/laminar/waves/waveMakerFlap/0.orig/alpha.water | 2 +- .../interFoam/laminar/waves/waveMakerFlap/0.orig/p_rgh | 2 +- .../laminar/waves/waveMakerFlap/0.orig/pointDisplacement | 2 +- .../laminar/waves/waveMakerFlap/constant/dynamicMeshDict | 2 +- .../multiphase/interFoam/laminar/waves/waveMakerFlap/constant/g | 2 +- .../laminar/waves/waveMakerFlap/constant/transportProperties | 2 +- .../laminar/waves/waveMakerFlap/constant/turbulenceProperties | 2 +- .../laminar/waves/waveMakerFlap/constant/waveProperties | 2 +- .../interFoam/laminar/waves/waveMakerFlap/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/waveMakerFlap/system/controlDict | 2 +- .../laminar/waves/waveMakerFlap/system/decomposeParDict | 2 +- .../interFoam/laminar/waves/waveMakerFlap/system/fvSchemes | 2 +- .../interFoam/laminar/waves/waveMakerFlap/system/fvSolution | 2 +- .../interFoam/laminar/waves/waveMakerFlap/system/setFieldsDict | 2 +- .../interFoam/laminar/waves/waveMakerMultiPaddleFlap/0.orig/U | 2 +- .../laminar/waves/waveMakerMultiPaddleFlap/0.orig/alpha.water | 2 +- .../laminar/waves/waveMakerMultiPaddleFlap/0.orig/p_rgh | 2 +- .../waves/waveMakerMultiPaddleFlap/0.orig/pointDisplacement | 2 +- .../waves/waveMakerMultiPaddleFlap/constant/dynamicMeshDict | 2 +- .../interFoam/laminar/waves/waveMakerMultiPaddleFlap/constant/g | 2 +- .../waves/waveMakerMultiPaddleFlap/constant/transportProperties | 2 +- .../waveMakerMultiPaddleFlap/constant/turbulenceProperties | 2 +- .../waves/waveMakerMultiPaddleFlap/constant/waveProperties | 2 +- .../laminar/waves/waveMakerMultiPaddleFlap/system/blockMeshDict | 2 +- .../laminar/waves/waveMakerMultiPaddleFlap/system/controlDict | 2 +- .../waves/waveMakerMultiPaddleFlap/system/decomposeParDict | 2 +- .../laminar/waves/waveMakerMultiPaddleFlap/system/fvSchemes | 2 +- .../laminar/waves/waveMakerMultiPaddleFlap/system/fvSolution | 2 +- .../laminar/waves/waveMakerMultiPaddleFlap/system/setFieldsDict | 2 +- .../interFoam/laminar/waves/waveMakerMultiPaddlePiston/0.orig/U | 2 +- .../laminar/waves/waveMakerMultiPaddlePiston/0.orig/alpha.water | 2 +- .../laminar/waves/waveMakerMultiPaddlePiston/0.orig/p_rgh | 2 +- .../waves/waveMakerMultiPaddlePiston/0.orig/pointDisplacement | 2 +- .../waves/waveMakerMultiPaddlePiston/constant/dynamicMeshDict | 2 +- .../laminar/waves/waveMakerMultiPaddlePiston/constant/g | 2 +- .../waveMakerMultiPaddlePiston/constant/transportProperties | 2 +- .../waveMakerMultiPaddlePiston/constant/turbulenceProperties | 2 +- .../waves/waveMakerMultiPaddlePiston/constant/waveProperties | 2 +- .../waves/waveMakerMultiPaddlePiston/system/blockMeshDict | 2 +- .../laminar/waves/waveMakerMultiPaddlePiston/system/controlDict | 2 +- .../waves/waveMakerMultiPaddlePiston/system/decomposeParDict | 2 +- .../laminar/waves/waveMakerMultiPaddlePiston/system/fvSchemes | 2 +- .../laminar/waves/waveMakerMultiPaddlePiston/system/fvSolution | 2 +- .../waves/waveMakerMultiPaddlePiston/system/setFieldsDict | 2 +- .../multiphase/interFoam/laminar/waves/waveMakerPiston/0.orig/U | 2 +- .../interFoam/laminar/waves/waveMakerPiston/0.orig/alpha.water | 2 +- .../interFoam/laminar/waves/waveMakerPiston/0.orig/p_rgh | 2 +- .../laminar/waves/waveMakerPiston/0.orig/pointDisplacement | 2 +- .../laminar/waves/waveMakerPiston/constant/dynamicMeshDict | 2 +- .../interFoam/laminar/waves/waveMakerPiston/constant/g | 2 +- .../laminar/waves/waveMakerPiston/constant/transportProperties | 2 +- .../laminar/waves/waveMakerPiston/constant/turbulenceProperties | 2 +- .../laminar/waves/waveMakerPiston/constant/waveProperties | 2 +- .../laminar/waves/waveMakerPiston/system/blockMeshDict | 2 +- .../interFoam/laminar/waves/waveMakerPiston/system/controlDict | 2 +- .../laminar/waves/waveMakerPiston/system/decomposeParDict | 2 +- .../interFoam/laminar/waves/waveMakerPiston/system/fvSchemes | 2 +- .../interFoam/laminar/waves/waveMakerPiston/system/fvSolution | 2 +- .../laminar/waves/waveMakerPiston/system/setFieldsDict | 2 +- .../interFoam/laminar/waves/waveMakerSolitary/0.orig/U | 2 +- .../laminar/waves/waveMakerSolitary/0.orig/alpha.water | 2 +- .../interFoam/laminar/waves/waveMakerSolitary/0.orig/p_rgh | 2 +- .../laminar/waves/waveMakerSolitary/0.orig/pointDisplacement | 2 +- .../laminar/waves/waveMakerSolitary/constant/dynamicMeshDict | 2 +- .../interFoam/laminar/waves/waveMakerSolitary/constant/g | 2 +- .../waves/waveMakerSolitary/constant/transportProperties | 2 +- .../waves/waveMakerSolitary/constant/turbulenceProperties | 2 +- .../laminar/waves/waveMakerSolitary/constant/waveProperties | 2 +- .../laminar/waves/waveMakerSolitary/system/blockMeshDict | 2 +- .../laminar/waves/waveMakerSolitary/system/controlDict | 2 +- .../laminar/waves/waveMakerSolitary/system/decomposeParDict | 2 +- .../interFoam/laminar/waves/waveMakerSolitary/system/fvSchemes | 2 +- .../interFoam/laminar/waves/waveMakerSolitary/system/fvSolution | 2 +- .../laminar/waves/waveMakerSolitary/system/setFieldsDict | 2 +- tutorials/multiphase/interIsoFoam/damBreak/0.orig/U | 2 +- tutorials/multiphase/interIsoFoam/damBreak/0.orig/alpha.water | 2 +- tutorials/multiphase/interIsoFoam/damBreak/0.orig/p_rgh | 2 +- .../multiphase/interIsoFoam/damBreak/constant/dynamicMeshDict | 2 +- tutorials/multiphase/interIsoFoam/damBreak/constant/g | 2 +- .../interIsoFoam/damBreak/constant/transportProperties | 2 +- .../interIsoFoam/damBreak/constant/turbulenceProperties | 2 +- tutorials/multiphase/interIsoFoam/damBreak/system/blockMeshDict | 2 +- tutorials/multiphase/interIsoFoam/damBreak/system/controlDict | 2 +- .../multiphase/interIsoFoam/damBreak/system/decomposeParDict | 2 +- tutorials/multiphase/interIsoFoam/damBreak/system/fvSchemes | 2 +- tutorials/multiphase/interIsoFoam/damBreak/system/fvSolution | 2 +- tutorials/multiphase/interIsoFoam/damBreak/system/setFieldsDict | 2 +- tutorials/multiphase/interIsoFoam/damBreakWithObstacle/0.orig/U | 2 +- .../interIsoFoam/damBreakWithObstacle/0.orig/alpha.water | 2 +- .../multiphase/interIsoFoam/damBreakWithObstacle/0.orig/p_rgh | 2 +- .../interIsoFoam/damBreakWithObstacle/constant/dynamicMeshDict | 2 +- .../multiphase/interIsoFoam/damBreakWithObstacle/constant/g | 2 +- .../damBreakWithObstacle/constant/transportProperties | 2 +- .../damBreakWithObstacle/constant/turbulenceProperties | 2 +- .../interIsoFoam/damBreakWithObstacle/system/blockMeshDict | 2 +- .../interIsoFoam/damBreakWithObstacle/system/controlDict | 2 +- .../interIsoFoam/damBreakWithObstacle/system/decomposeParDict | 2 +- .../interIsoFoam/damBreakWithObstacle/system/fvSchemes | 2 +- .../interIsoFoam/damBreakWithObstacle/system/fvSolution | 2 +- .../interIsoFoam/damBreakWithObstacle/system/setFieldsDict | 2 +- .../interIsoFoam/damBreakWithObstacle/system/topoSetDict | 2 +- tutorials/multiphase/interIsoFoam/discInConstantFlow/0.orig/U | 2 +- .../interIsoFoam/discInConstantFlow/0.orig/alpha.water | 2 +- .../multiphase/interIsoFoam/discInConstantFlow/0.orig/p_rgh | 2 +- tutorials/multiphase/interIsoFoam/discInConstantFlow/constant/g | 2 +- .../discInConstantFlow/constant/transportProperties | 2 +- .../discInConstantFlow/constant/turbulenceProperties | 2 +- .../interIsoFoam/discInConstantFlow/system/blockMeshDict | 2 +- .../interIsoFoam/discInConstantFlow/system/controlDict | 2 +- .../multiphase/interIsoFoam/discInConstantFlow/system/fvSchemes | 2 +- .../interIsoFoam/discInConstantFlow/system/fvSolution | 2 +- .../interIsoFoam/discInConstantFlow/system/setAlphaFieldDict | 2 +- .../interIsoFoam/discInConstantFlowCyclicBCs/0.orig/U | 2 +- .../interIsoFoam/discInConstantFlowCyclicBCs/0.orig/alpha.water | 2 +- .../interIsoFoam/discInConstantFlowCyclicBCs/0.orig/p_rgh | 2 +- .../discInConstantFlowCyclicBCs/constant/dynamicMeshDict | 2 +- .../interIsoFoam/discInConstantFlowCyclicBCs/constant/g | 2 +- .../discInConstantFlowCyclicBCs/constant/transportProperties | 2 +- .../discInConstantFlowCyclicBCs/constant/turbulenceProperties | 2 +- .../discInConstantFlowCyclicBCs/system/blockMeshDict | 2 +- .../interIsoFoam/discInConstantFlowCyclicBCs/system/controlDict | 2 +- .../discInConstantFlowCyclicBCs/system/decomposeParDict | 2 +- .../interIsoFoam/discInConstantFlowCyclicBCs/system/fvSchemes | 2 +- .../interIsoFoam/discInConstantFlowCyclicBCs/system/fvSolution | 2 +- .../discInConstantFlowCyclicBCs/system/setAlphaFieldDict | 2 +- .../multiphase/interIsoFoam/discInConstantPorousFlow/0.orig/U | 2 +- .../interIsoFoam/discInConstantPorousFlow/0.orig/alpha.water | 2 +- .../interIsoFoam/discInConstantPorousFlow/0.orig/p_rgh | 2 +- .../interIsoFoam/discInConstantPorousFlow/0.orig/porosity | 2 +- .../multiphase/interIsoFoam/discInConstantPorousFlow/constant/g | 2 +- .../discInConstantPorousFlow/constant/porosityProperties | 2 +- .../discInConstantPorousFlow/constant/transportProperties | 2 +- .../discInConstantPorousFlow/constant/turbulenceProperties | 2 +- .../interIsoFoam/discInConstantPorousFlow/system/blockMeshDict | 2 +- .../interIsoFoam/discInConstantPorousFlow/system/controlDict | 2 +- .../discInConstantPorousFlow/system/decomposeParDict | 2 +- .../interIsoFoam/discInConstantPorousFlow/system/fvSchemes | 2 +- .../interIsoFoam/discInConstantPorousFlow/system/fvSolution | 2 +- .../discInConstantPorousFlow/system/setAlphaFieldDict | 2 +- .../interIsoFoam/discInConstantPorousFlow/system/setFieldsDict | 2 +- .../multiphase/interIsoFoam/discInReversedVortexFlow/0.orig/U | 2 +- .../interIsoFoam/discInReversedVortexFlow/0.orig/alpha.water | 2 +- .../interIsoFoam/discInReversedVortexFlow/0.orig/p_rgh | 2 +- .../multiphase/interIsoFoam/discInReversedVortexFlow/constant/g | 2 +- .../discInReversedVortexFlow/constant/transportProperties | 2 +- .../discInReversedVortexFlow/constant/turbulenceProperties | 2 +- .../interIsoFoam/discInReversedVortexFlow/system/blockMeshDict | 2 +- .../interIsoFoam/discInReversedVortexFlow/system/controlDict | 2 +- .../discInReversedVortexFlow/system/decomposeParDict | 2 +- .../interIsoFoam/discInReversedVortexFlow/system/fvSchemes | 2 +- .../interIsoFoam/discInReversedVortexFlow/system/fvSolution | 2 +- .../interIsoFoam/discInReversedVortexFlow/system/refineMeshDict | 2 +- .../discInReversedVortexFlow/system/setAlphaFieldDict | 2 +- .../interIsoFoam/discInReversedVortexFlow/system/topoSetDict | 2 +- .../interIsoFoam/discInReversedVortexFlow/system/topoSetDict2 | 2 +- tutorials/multiphase/interIsoFoam/iobasin/0.orig/U | 2 +- tutorials/multiphase/interIsoFoam/iobasin/0.orig/alpha.water | 2 +- tutorials/multiphase/interIsoFoam/iobasin/0.orig/p_rgh | 2 +- tutorials/multiphase/interIsoFoam/iobasin/constant/g | 2 +- .../interIsoFoam/iobasin/constant/transportProperties | 2 +- .../interIsoFoam/iobasin/constant/turbulenceProperties | 2 +- tutorials/multiphase/interIsoFoam/iobasin/system/blockMeshDict | 2 +- tutorials/multiphase/interIsoFoam/iobasin/system/controlDict | 2 +- .../multiphase/interIsoFoam/iobasin/system/createPatchDict | 2 +- .../multiphase/interIsoFoam/iobasin/system/decomposeParDict | 2 +- tutorials/multiphase/interIsoFoam/iobasin/system/fvSchemes | 2 +- tutorials/multiphase/interIsoFoam/iobasin/system/fvSolution | 2 +- tutorials/multiphase/interIsoFoam/iobasin/system/setFieldsDict | 2 +- .../interIsoFoam/notchedDiscInSolidBodyRotation/0.orig/U | 2 +- .../notchedDiscInSolidBodyRotation/0.orig/alpha.water | 2 +- .../interIsoFoam/notchedDiscInSolidBodyRotation/0.orig/p_rgh | 2 +- .../interIsoFoam/notchedDiscInSolidBodyRotation/constant/g | 2 +- .../notchedDiscInSolidBodyRotation/constant/transportProperties | 2 +- .../constant/turbulenceProperties | 2 +- .../notchedDiscInSolidBodyRotation/system/blockMeshDict | 2 +- .../notchedDiscInSolidBodyRotation/system/controlDict | 2 +- .../notchedDiscInSolidBodyRotation/system/fvSchemes | 2 +- .../notchedDiscInSolidBodyRotation/system/fvSolution | 2 +- .../notchedDiscInSolidBodyRotation/system/setAlphaFieldDict | 2 +- .../notchedDiscInSolidBodyRotation/system/setFieldsDict | 2 +- tutorials/multiphase/interIsoFoam/sloshingTank2D/0.orig/U | 2 +- .../multiphase/interIsoFoam/sloshingTank2D/0.orig/alpha.water | 2 +- tutorials/multiphase/interIsoFoam/sloshingTank2D/0.orig/p_rgh | 2 +- .../interIsoFoam/sloshingTank2D/constant/dynamicMeshDict | 2 +- tutorials/multiphase/interIsoFoam/sloshingTank2D/constant/g | 2 +- .../interIsoFoam/sloshingTank2D/constant/transportProperties | 2 +- .../interIsoFoam/sloshingTank2D/constant/turbulenceProperties | 2 +- .../interIsoFoam/sloshingTank2D/system/blockMeshDict.m4 | 2 +- .../multiphase/interIsoFoam/sloshingTank2D/system/controlDict | 2 +- .../interIsoFoam/sloshingTank2D/system/decomposeParDict | 2 +- .../multiphase/interIsoFoam/sloshingTank2D/system/fvSchemes | 2 +- .../multiphase/interIsoFoam/sloshingTank2D/system/fvSolution | 2 +- .../multiphase/interIsoFoam/sloshingTank2D/system/setFieldsDict | 2 +- .../multiphase/interIsoFoam/sphereInReversedVortexFlow/0.orig/U | 2 +- .../interIsoFoam/sphereInReversedVortexFlow/0.orig/alpha.water | 2 +- .../interIsoFoam/sphereInReversedVortexFlow/0.orig/p_rgh | 2 +- .../interIsoFoam/sphereInReversedVortexFlow/constant/g | 2 +- .../sphereInReversedVortexFlow/constant/transportProperties | 2 +- .../sphereInReversedVortexFlow/constant/turbulenceProperties | 2 +- .../sphereInReversedVortexFlow/system/blockMeshDict | 2 +- .../interIsoFoam/sphereInReversedVortexFlow/system/controlDict | 2 +- .../sphereInReversedVortexFlow/system/decomposeParDict | 2 +- .../interIsoFoam/sphereInReversedVortexFlow/system/fvSchemes | 2 +- .../interIsoFoam/sphereInReversedVortexFlow/system/fvSolution | 2 +- .../sphereInReversedVortexFlow/system/setAlphaFieldDict | 2 +- tutorials/multiphase/interIsoFoam/standingWave/0.orig/U | 2 +- .../multiphase/interIsoFoam/standingWave/0.orig/alpha.water | 2 +- tutorials/multiphase/interIsoFoam/standingWave/0.orig/p_rgh | 2 +- .../interIsoFoam/standingWave/constant/dynamicMeshDict | 2 +- tutorials/multiphase/interIsoFoam/standingWave/constant/g | 2 +- .../interIsoFoam/standingWave/constant/transportProperties | 2 +- .../interIsoFoam/standingWave/constant/turbulenceProperties | 2 +- .../multiphase/interIsoFoam/standingWave/system/blockMeshDict | 2 +- .../multiphase/interIsoFoam/standingWave/system/controlDict | 2 +- .../interIsoFoam/standingWave/system/decomposeParDict | 2 +- tutorials/multiphase/interIsoFoam/standingWave/system/fvSchemes | 2 +- .../multiphase/interIsoFoam/standingWave/system/fvSolution | 2 +- .../multiphase/interIsoFoam/standingWave/system/refineMeshDict1 | 2 +- .../multiphase/interIsoFoam/standingWave/system/refineMeshDict2 | 2 +- .../interIsoFoam/standingWave/system/setAlphaFieldDict | 2 +- .../multiphase/interIsoFoam/standingWave/system/topoSetDict1 | 2 +- .../multiphase/interIsoFoam/standingWave/system/topoSetDict2 | 2 +- .../multiphase/interIsoFoam/waveExampleStreamFunction/0.orig/U | 2 +- .../interIsoFoam/waveExampleStreamFunction/0.orig/alpha.water | 2 +- .../interIsoFoam/waveExampleStreamFunction/0.orig/p_rgh | 2 +- .../interIsoFoam/waveExampleStreamFunction/constant/g | 2 +- .../waveExampleStreamFunction/constant/transportProperties | 2 +- .../waveExampleStreamFunction/constant/turbulenceProperties | 2 +- .../waveExampleStreamFunction/constant/waveProperties | 2 +- .../interIsoFoam/waveExampleStreamFunction/system/blockMeshDict | 2 +- .../interIsoFoam/waveExampleStreamFunction/system/controlDict | 2 +- .../waveExampleStreamFunction/system/decomposeParDict | 2 +- .../interIsoFoam/waveExampleStreamFunction/system/fvSchemes | 2 +- .../interIsoFoam/waveExampleStreamFunction/system/fvSolution | 2 +- .../interIsoFoam/waveExampleStreamFunction/system/setFieldsDict | 2 +- tutorials/multiphase/interIsoFoam/weirOverflow/0.orig/U | 2 +- .../multiphase/interIsoFoam/weirOverflow/0.orig/alpha.water | 2 +- tutorials/multiphase/interIsoFoam/weirOverflow/0.orig/epsilon | 2 +- .../interIsoFoam/weirOverflow/0.orig/include/initialConditions | 2 +- tutorials/multiphase/interIsoFoam/weirOverflow/0.orig/k | 2 +- tutorials/multiphase/interIsoFoam/weirOverflow/0.orig/nut | 2 +- tutorials/multiphase/interIsoFoam/weirOverflow/0.orig/p_rgh | 2 +- tutorials/multiphase/interIsoFoam/weirOverflow/constant/g | 2 +- .../interIsoFoam/weirOverflow/constant/transportProperties | 2 +- .../interIsoFoam/weirOverflow/constant/turbulenceProperties | 2 +- .../multiphase/interIsoFoam/weirOverflow/system/blockMeshDict | 2 +- .../multiphase/interIsoFoam/weirOverflow/system/controlDict | 2 +- tutorials/multiphase/interIsoFoam/weirOverflow/system/fvSchemes | 2 +- .../multiphase/interIsoFoam/weirOverflow/system/fvSolution | 2 +- .../multiphase/interIsoFoam/weirOverflow/system/setFieldsDict | 2 +- tutorials/multiphase/interMixingFoam/laminar/damBreak/0.orig/U | 2 +- .../interMixingFoam/laminar/damBreak/0.orig/alpha.air | 2 +- .../interMixingFoam/laminar/damBreak/0.orig/alpha.other | 2 +- .../interMixingFoam/laminar/damBreak/0.orig/alpha.water | 2 +- .../multiphase/interMixingFoam/laminar/damBreak/0.orig/p_rgh | 2 +- .../multiphase/interMixingFoam/laminar/damBreak/constant/g | 2 +- .../laminar/damBreak/constant/transportProperties | 2 +- .../laminar/damBreak/constant/turbulenceProperties | 2 +- .../interMixingFoam/laminar/damBreak/system/blockMeshDict | 2 +- .../interMixingFoam/laminar/damBreak/system/controlDict | 2 +- .../interMixingFoam/laminar/damBreak/system/decomposeParDict | 2 +- .../interMixingFoam/laminar/damBreak/system/fvSchemes | 2 +- .../interMixingFoam/laminar/damBreak/system/fvSolution | 2 +- .../interMixingFoam/laminar/damBreak/system/setFieldsDict | 2 +- tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.orig/U | 2 +- .../interPhaseChangeDyMFoam/propeller/0.orig/alpha.water | 2 +- .../multiphase/interPhaseChangeDyMFoam/propeller/0.orig/epsilon | 2 +- tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.orig/k | 2 +- .../multiphase/interPhaseChangeDyMFoam/propeller/0.orig/nut | 2 +- .../multiphase/interPhaseChangeDyMFoam/propeller/0.orig/p_rgh | 2 +- .../interPhaseChangeDyMFoam/propeller/constant/dynamicMeshDict | 2 +- .../multiphase/interPhaseChangeDyMFoam/propeller/constant/g | 2 +- .../propeller/constant/transportProperties | 2 +- .../propeller/constant/turbulenceProperties | 2 +- .../interPhaseChangeDyMFoam/propeller/system/blockMeshDict | 2 +- .../interPhaseChangeDyMFoam/propeller/system/controlDict | 2 +- .../propeller/system/createInletOutletSets.topoSetDict | 2 +- .../interPhaseChangeDyMFoam/propeller/system/createPatchDict | 2 +- .../interPhaseChangeDyMFoam/propeller/system/decomposeParDict | 2 +- .../interPhaseChangeDyMFoam/propeller/system/fvSchemes | 2 +- .../interPhaseChangeDyMFoam/propeller/system/fvSolution | 2 +- .../interPhaseChangeDyMFoam/propeller/system/snappyHexMeshDict | 2 +- .../propeller/system/surfaceFeatureExtractDict | 2 +- .../multiphase/interPhaseChangeFoam/cavitatingBullet/0.orig/Phi | 2 +- .../multiphase/interPhaseChangeFoam/cavitatingBullet/0.orig/U | 2 +- .../interPhaseChangeFoam/cavitatingBullet/0.orig/alpha.water | 2 +- .../interPhaseChangeFoam/cavitatingBullet/0.orig/p_rgh | 2 +- .../multiphase/interPhaseChangeFoam/cavitatingBullet/constant/g | 2 +- .../cavitatingBullet/constant/transportProperties | 2 +- .../cavitatingBullet/constant/turbulenceProperties | 2 +- .../interPhaseChangeFoam/cavitatingBullet/system/blockMeshDict | 2 +- .../interPhaseChangeFoam/cavitatingBullet/system/controlDict | 2 +- .../cavitatingBullet/system/decomposeParDict | 2 +- .../interPhaseChangeFoam/cavitatingBullet/system/fvSchemes | 2 +- .../interPhaseChangeFoam/cavitatingBullet/system/fvSolution | 2 +- .../cavitatingBullet/system/snappyHexMeshDict | 2 +- .../multiphase/multiphaseEulerFoam/bubbleColumn/0.orig/T.air | 2 +- .../multiphase/multiphaseEulerFoam/bubbleColumn/0.orig/T.water | 2 +- .../multiphase/multiphaseEulerFoam/bubbleColumn/0.orig/Theta | 2 +- .../multiphase/multiphaseEulerFoam/bubbleColumn/0.orig/U.air | 2 +- .../multiphase/multiphaseEulerFoam/bubbleColumn/0.orig/U.water | 2 +- .../multiphaseEulerFoam/bubbleColumn/0.orig/alpha.air | 2 +- .../multiphaseEulerFoam/bubbleColumn/0.orig/alpha.water | 2 +- .../multiphase/multiphaseEulerFoam/bubbleColumn/0.orig/p_rgh | 2 +- .../multiphase/multiphaseEulerFoam/bubbleColumn/constant/g | 2 +- .../bubbleColumn/constant/transportProperties | 2 +- .../bubbleColumn/constant/turbulenceProperties | 2 +- .../multiphaseEulerFoam/bubbleColumn/system/blockMeshDict | 2 +- .../multiphaseEulerFoam/bubbleColumn/system/controlDict | 2 +- .../multiphaseEulerFoam/bubbleColumn/system/fvSchemes | 2 +- .../multiphaseEulerFoam/bubbleColumn/system/fvSolution | 2 +- .../multiphaseEulerFoam/bubbleColumn/system/setFieldsDict | 2 +- .../multiphase/multiphaseEulerFoam/damBreak4phase/0.orig/U | 2 +- .../multiphase/multiphaseEulerFoam/damBreak4phase/0.orig/U.air | 2 +- .../multiphaseEulerFoam/damBreak4phase/0.orig/U.mercury | 2 +- .../multiphase/multiphaseEulerFoam/damBreak4phase/0.orig/U.oil | 2 +- .../multiphaseEulerFoam/damBreak4phase/0.orig/U.water | 2 +- .../multiphaseEulerFoam/damBreak4phase/0.orig/alpha.air | 2 +- .../multiphaseEulerFoam/damBreak4phase/0.orig/alpha.mercury | 2 +- .../multiphaseEulerFoam/damBreak4phase/0.orig/alpha.oil | 2 +- .../multiphaseEulerFoam/damBreak4phase/0.orig/alpha.water | 2 +- .../multiphase/multiphaseEulerFoam/damBreak4phase/0.orig/p_rgh | 2 +- .../multiphase/multiphaseEulerFoam/damBreak4phase/constant/g | 2 +- .../damBreak4phase/constant/motionProperties | 2 +- .../damBreak4phase/constant/transportProperties | 2 +- .../damBreak4phase/constant/turbulenceProperties | 2 +- .../multiphaseEulerFoam/damBreak4phase/system/blockMeshDict | 2 +- .../multiphaseEulerFoam/damBreak4phase/system/controlDict | 2 +- .../multiphaseEulerFoam/damBreak4phase/system/decomposeParDict | 2 +- .../multiphaseEulerFoam/damBreak4phase/system/fvSchemes | 2 +- .../multiphaseEulerFoam/damBreak4phase/system/fvSolution | 2 +- .../multiphaseEulerFoam/damBreak4phase/system/setFieldsDict | 2 +- .../multiphase/multiphaseEulerFoam/damBreak4phaseFine/0.orig/U | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/U.air | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/U.mercury | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/U.oil | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/U.water | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/alpha.air | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/alpha.mercury | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/alpha.oil | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/alpha.water | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/0.orig/p_rgh | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/constant/g | 2 +- .../damBreak4phaseFine/constant/motionProperties | 2 +- .../damBreak4phaseFine/constant/transportProperties | 2 +- .../damBreak4phaseFine/constant/turbulenceProperties | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/system/blockMeshDict | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/system/controlDict | 2 +- .../damBreak4phaseFine/system/decomposeParDict | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/system/fvSchemes | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/system/fvSolution | 2 +- .../multiphaseEulerFoam/damBreak4phaseFine/system/setFieldsDict | 2 +- .../multiphase/multiphaseEulerFoam/mixerVessel2D/0.orig/Theta | 2 +- .../multiphase/multiphaseEulerFoam/mixerVessel2D/0.orig/U.air | 2 +- .../multiphaseEulerFoam/mixerVessel2D/0.orig/U.mercury | 2 +- .../multiphase/multiphaseEulerFoam/mixerVessel2D/0.orig/U.oil | 2 +- .../multiphase/multiphaseEulerFoam/mixerVessel2D/0.orig/U.water | 2 +- .../multiphaseEulerFoam/mixerVessel2D/0.orig/alpha.air | 2 +- .../multiphaseEulerFoam/mixerVessel2D/0.orig/alpha.mercury | 2 +- .../multiphaseEulerFoam/mixerVessel2D/0.orig/alpha.oil | 2 +- .../multiphaseEulerFoam/mixerVessel2D/0.orig/alpha.water | 2 +- .../multiphase/multiphaseEulerFoam/mixerVessel2D/0.orig/epsilon | 2 +- tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/0.orig/k | 2 +- .../multiphase/multiphaseEulerFoam/mixerVessel2D/0.orig/p_rgh | 2 +- .../multiphaseEulerFoam/mixerVessel2D/constant/MRFProperties | 2 +- .../multiphase/multiphaseEulerFoam/mixerVessel2D/constant/g | 2 +- .../mixerVessel2D/constant/interfacialProperties | 2 +- .../mixerVessel2D/constant/transportProperties | 2 +- .../mixerVessel2D/constant/turbulenceProperties | 2 +- .../multiphaseEulerFoam/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../multiphaseEulerFoam/mixerVessel2D/system/controlDict | 2 +- .../multiphaseEulerFoam/mixerVessel2D/system/fvSchemes | 2 +- .../multiphaseEulerFoam/mixerVessel2D/system/fvSolution | 2 +- .../multiphaseEulerFoam/mixerVessel2D/system/topoSetDict | 2 +- .../multiphaseInterFoam/laminar/damBreak4phase/0.orig/U | 2 +- .../multiphaseInterFoam/laminar/damBreak4phase/0.orig/alpha.air | 2 +- .../laminar/damBreak4phase/0.orig/alpha.mercury | 2 +- .../multiphaseInterFoam/laminar/damBreak4phase/0.orig/alpha.oil | 2 +- .../laminar/damBreak4phase/0.orig/alpha.water | 2 +- .../multiphaseInterFoam/laminar/damBreak4phase/0.orig/alphas | 2 +- .../multiphaseInterFoam/laminar/damBreak4phase/0.orig/p_rgh | 2 +- .../multiphaseInterFoam/laminar/damBreak4phase/constant/g | 2 +- .../laminar/damBreak4phase/constant/motionProperties | 2 +- .../laminar/damBreak4phase/constant/transportProperties | 2 +- .../laminar/damBreak4phase/constant/turbulenceProperties | 2 +- .../laminar/damBreak4phase/system/blockMeshDict | 2 +- .../laminar/damBreak4phase/system/controlDict | 2 +- .../laminar/damBreak4phase/system/decomposeParDict | 2 +- .../multiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes | 2 +- .../laminar/damBreak4phase/system/fvSolution | 2 +- .../laminar/damBreak4phase/system/setFieldsDict | 2 +- .../multiphaseInterFoam/laminar/damBreak4phaseFine/0.orig/U | 2 +- .../laminar/damBreak4phaseFine/0.orig/alpha.air | 2 +- .../laminar/damBreak4phaseFine/0.orig/alpha.mercury | 2 +- .../laminar/damBreak4phaseFine/0.orig/alpha.oil | 2 +- .../laminar/damBreak4phaseFine/0.orig/alpha.water | 2 +- .../laminar/damBreak4phaseFine/0.orig/alphas | 2 +- .../multiphaseInterFoam/laminar/damBreak4phaseFine/0.orig/p_rgh | 2 +- .../multiphaseInterFoam/laminar/damBreak4phaseFine/constant/g | 2 +- .../laminar/damBreak4phaseFine/constant/motionProperties | 2 +- .../laminar/damBreak4phaseFine/constant/transportProperties | 2 +- .../laminar/damBreak4phaseFine/constant/turbulenceProperties | 2 +- .../laminar/damBreak4phaseFine/system/blockMeshDict | 2 +- .../laminar/damBreak4phaseFine/system/controlDict | 2 +- .../laminar/damBreak4phaseFine/system/decomposeParDict | 2 +- .../laminar/damBreak4phaseFine/system/fvSchemes | 2 +- .../laminar/damBreak4phaseFine/system/fvSolution | 2 +- .../laminar/damBreak4phaseFine/system/setFieldsDict | 2 +- .../multiphaseInterFoam/laminar/mixerVessel2D/0.orig/T | 2 +- .../multiphaseInterFoam/laminar/mixerVessel2D/0.orig/U | 2 +- .../multiphaseInterFoam/laminar/mixerVessel2D/0.orig/alpha.air | 2 +- .../laminar/mixerVessel2D/0.orig/alpha.mercury | 2 +- .../multiphaseInterFoam/laminar/mixerVessel2D/0.orig/alpha.oil | 2 +- .../laminar/mixerVessel2D/0.orig/alpha.water | 2 +- .../multiphaseInterFoam/laminar/mixerVessel2D/0.orig/p_rgh | 2 +- .../laminar/mixerVessel2D/constant/MRFProperties | 2 +- .../multiphaseInterFoam/laminar/mixerVessel2D/constant/g | 2 +- .../laminar/mixerVessel2D/constant/transportProperties | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties | 2 +- .../laminar/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../laminar/mixerVessel2D/system/controlDict | 2 +- .../multiphaseInterFoam/laminar/mixerVessel2D/system/fvSchemes | 2 +- .../multiphaseInterFoam/laminar/mixerVessel2D/system/fvSolution | 2 +- .../laminar/mixerVessel2D/system/setFieldsDict | 2 +- .../laminar/mixerVessel2D/system/topoSetDict | 2 +- .../compressibleTwoSimpleRotors/0.orig/T | 2 +- .../compressibleTwoSimpleRotors/0.orig/U | 2 +- .../compressibleTwoSimpleRotors/0.orig/alpha.water | 2 +- .../compressibleTwoSimpleRotors/0.orig/alphat | 2 +- .../compressibleTwoSimpleRotors/0.orig/epsilon | 2 +- .../compressibleTwoSimpleRotors/0.orig/k | 2 +- .../compressibleTwoSimpleRotors/0.orig/nut | 2 +- .../compressibleTwoSimpleRotors/0.orig/p | 2 +- .../compressibleTwoSimpleRotors/0.orig/p_rgh | 2 +- .../compressibleTwoSimpleRotors/0.orig/pointDisplacement | 2 +- .../compressibleTwoSimpleRotors/0.orig/zoneID | 2 +- .../compressibleTwoSimpleRotors/constant/dynamicMeshDict | 2 +- .../compressibleTwoSimpleRotors/constant/g | 2 +- .../constant/thermophysicalProperties | 2 +- .../constant/thermophysicalProperties.air | 2 +- .../constant/thermophysicalProperties.water | 2 +- .../compressibleTwoSimpleRotors/constant/turbulenceProperties | 2 +- .../compressibleTwoSimpleRotors/system/blockMeshDict | 2 +- .../compressibleTwoSimpleRotors/system/controlDict | 2 +- .../compressibleTwoSimpleRotors/system/decomposeParDict | 2 +- .../compressibleTwoSimpleRotors/system/fvSchemes | 2 +- .../compressibleTwoSimpleRotors/system/fvSolution | 2 +- .../compressibleTwoSimpleRotors/system/setFieldsDict | 2 +- .../compressibleTwoSimpleRotors/system/topoSetDict | 2 +- .../overInterDyMFoam/floatingBody/background/0.orig/U | 2 +- .../overInterDyMFoam/floatingBody/background/0.orig/alpha.water | 2 +- .../overInterDyMFoam/floatingBody/background/0.orig/epsilon | 2 +- .../overInterDyMFoam/floatingBody/background/0.orig/k | 2 +- .../overInterDyMFoam/floatingBody/background/0.orig/nut | 2 +- .../overInterDyMFoam/floatingBody/background/0.orig/p_rgh | 2 +- .../floatingBody/background/0.orig/pointDisplacement | 2 +- .../overInterDyMFoam/floatingBody/background/0.orig/zoneID | 2 +- .../floatingBody/background/constant/dynamicMeshDict | 2 +- .../overInterDyMFoam/floatingBody/background/constant/g | 2 +- .../floatingBody/background/constant/transportProperties | 2 +- .../floatingBody/background/constant/turbulenceProperties | 2 +- .../floatingBody/background/system/blockMeshDict | 2 +- .../overInterDyMFoam/floatingBody/background/system/controlDict | 2 +- .../floatingBody/background/system/decomposeParDict | 2 +- .../overInterDyMFoam/floatingBody/background/system/fvSchemes | 2 +- .../overInterDyMFoam/floatingBody/background/system/fvSolution | 2 +- .../floatingBody/background/system/setFieldsDict | 2 +- .../overInterDyMFoam/floatingBody/background/system/topoSetDict | 2 +- .../floatingBody/floatingBody/system/blockMeshDict | 2 +- .../floatingBody/floatingBody/system/controlDict | 2 +- .../overInterDyMFoam/floatingBody/floatingBody/system/fvSchemes | 2 +- .../floatingBody/floatingBody/system/fvSolution | 2 +- .../floatingBody/floatingBody/system/topoSetDict | 2 +- .../overInterDyMFoam/floatingBodyWithSpring/background/0.orig/U | 2 +- .../floatingBodyWithSpring/background/0.orig/alpha.water | 2 +- .../floatingBodyWithSpring/background/0.orig/epsilon | 2 +- .../overInterDyMFoam/floatingBodyWithSpring/background/0.orig/k | 2 +- .../floatingBodyWithSpring/background/0.orig/nut | 2 +- .../floatingBodyWithSpring/background/0.orig/p_rgh | 2 +- .../floatingBodyWithSpring/background/0.orig/pointDisplacement | 2 +- .../floatingBodyWithSpring/background/0.orig/zoneID | 2 +- .../floatingBodyWithSpring/background/constant/dynamicMeshDict | 2 +- .../floatingBodyWithSpring/background/constant/g | 2 +- .../background/constant/transportProperties | 2 +- .../background/constant/turbulenceProperties | 2 +- .../floatingBodyWithSpring/background/system/blockMeshDict | 2 +- .../floatingBodyWithSpring/background/system/controlDict | 2 +- .../floatingBodyWithSpring/background/system/decomposeParDict | 2 +- .../floatingBodyWithSpring/background/system/fvSchemes | 2 +- .../floatingBodyWithSpring/background/system/fvSolution | 2 +- .../floatingBodyWithSpring/background/system/setFieldsDict | 2 +- .../floatingBodyWithSpring/background/system/topoSetDict | 2 +- .../floatingBodyWithSpring/floatingBody/system/blockMeshDict | 2 +- .../floatingBodyWithSpring/floatingBody/system/controlDict | 2 +- .../floatingBodyWithSpring/floatingBody/system/fvSchemes | 2 +- .../floatingBodyWithSpring/floatingBody/system/fvSolution | 2 +- .../floatingBodyWithSpring/floatingBody/system/topoSetDict | 2 +- .../overInterDyMFoam/rigidBodyHull/background/0.orig/U | 2 +- .../rigidBodyHull/background/0.orig/alpha.water | 2 +- .../overInterDyMFoam/rigidBodyHull/background/0.orig/epsilon | 2 +- .../overInterDyMFoam/rigidBodyHull/background/0.orig/k | 2 +- .../overInterDyMFoam/rigidBodyHull/background/0.orig/nut | 2 +- .../overInterDyMFoam/rigidBodyHull/background/0.orig/p_rgh | 2 +- .../rigidBodyHull/background/0.orig/pointDisplacement | 2 +- .../overInterDyMFoam/rigidBodyHull/background/0.orig/zoneID | 2 +- .../rigidBodyHull/background/constant/dynamicMeshDict | 2 +- .../overInterDyMFoam/rigidBodyHull/background/constant/g | 2 +- .../overInterDyMFoam/rigidBodyHull/background/constant/hRef | 2 +- .../rigidBodyHull/background/constant/transportProperties | 2 +- .../rigidBodyHull/background/constant/turbulenceProperties | 2 +- .../rigidBodyHull/background/system/blockMeshDict | 2 +- .../rigidBodyHull/background/system/controlDict | 2 +- .../rigidBodyHull/background/system/createPatchDict | 2 +- .../rigidBodyHull/background/system/decomposeParDict | 2 +- .../overInterDyMFoam/rigidBodyHull/background/system/fvOptions | 2 +- .../overInterDyMFoam/rigidBodyHull/background/system/fvSchemes | 2 +- .../overInterDyMFoam/rigidBodyHull/background/system/fvSolution | 2 +- .../rigidBodyHull/background/system/setFieldsDict | 2 +- .../rigidBodyHull/background/system/snappyHexMeshDict | 2 +- .../rigidBodyHull/background/system/topoSetDict | 2 +- .../rigidBodyHull/background/system/topoSetDict.cHullProp | 2 +- .../rigidBodyHull/overset-1/system/blockMeshDict | 2 +- .../overInterDyMFoam/rigidBodyHull/overset-1/system/controlDict | 2 +- .../rigidBodyHull/overset-1/system/decomposeParDict | 2 +- .../overInterDyMFoam/rigidBodyHull/overset-1/system/fvSchemes | 2 +- .../overInterDyMFoam/rigidBodyHull/overset-1/system/fvSolution | 2 +- .../rigidBodyHull/overset-1/system/snappyHexMeshDict | 2 +- .../rigidBodyHull/overset-1/system/surfaceFeatureExtractDict | 2 +- .../rigidBodyHull/overset-2/system/blockMeshDict | 2 +- .../overInterDyMFoam/rigidBodyHull/overset-2/system/controlDict | 2 +- .../rigidBodyHull/overset-2/system/decomposeParDict | 2 +- .../overInterDyMFoam/rigidBodyHull/overset-2/system/fvSchemes | 2 +- .../overInterDyMFoam/rigidBodyHull/overset-2/system/fvSolution | 2 +- .../rigidBodyHull/overset-2/system/snappyHexMeshDict | 2 +- .../rigidBodyHull/overset-2/system/surfaceFeatureExtractDict | 2 +- tutorials/multiphase/overInterDyMFoam/simpleRotor/0.orig/U | 2 +- .../multiphase/overInterDyMFoam/simpleRotor/0.orig/alpha.water | 2 +- tutorials/multiphase/overInterDyMFoam/simpleRotor/0.orig/p | 2 +- tutorials/multiphase/overInterDyMFoam/simpleRotor/0.orig/p_rgh | 2 +- .../overInterDyMFoam/simpleRotor/0.orig/pointDisplacement | 2 +- tutorials/multiphase/overInterDyMFoam/simpleRotor/0.orig/zoneID | 2 +- .../overInterDyMFoam/simpleRotor/constant/dynamicMeshDict | 2 +- .../multiphase/overInterDyMFoam/simpleRotor/constant/fvOptions | 2 +- tutorials/multiphase/overInterDyMFoam/simpleRotor/constant/g | 2 +- .../overInterDyMFoam/simpleRotor/constant/transportProperties | 2 +- .../overInterDyMFoam/simpleRotor/constant/turbulenceProperties | 2 +- .../overInterDyMFoam/simpleRotor/system/blockMeshDict | 2 +- .../multiphase/overInterDyMFoam/simpleRotor/system/controlDict | 2 +- .../overInterDyMFoam/simpleRotor/system/decomposeParDict | 2 +- .../multiphase/overInterDyMFoam/simpleRotor/system/fvSchemes | 2 +- .../multiphase/overInterDyMFoam/simpleRotor/system/fvSolution | 2 +- .../overInterDyMFoam/simpleRotor/system/setFieldsDict | 2 +- .../multiphase/overInterDyMFoam/simpleRotor/system/topoSetDict | 2 +- tutorials/multiphase/overInterDyMFoam/twoSimpleRotors/0.orig/U | 2 +- .../overInterDyMFoam/twoSimpleRotors/0.orig/alpha.water | 2 +- .../multiphase/overInterDyMFoam/twoSimpleRotors/0.orig/epsilon | 2 +- tutorials/multiphase/overInterDyMFoam/twoSimpleRotors/0.orig/k | 2 +- .../multiphase/overInterDyMFoam/twoSimpleRotors/0.orig/nut | 2 +- tutorials/multiphase/overInterDyMFoam/twoSimpleRotors/0.orig/p | 2 +- .../multiphase/overInterDyMFoam/twoSimpleRotors/0.orig/p_rgh | 2 +- .../overInterDyMFoam/twoSimpleRotors/0.orig/pointDisplacement | 2 +- .../multiphase/overInterDyMFoam/twoSimpleRotors/0.orig/zoneID | 2 +- .../overInterDyMFoam/twoSimpleRotors/constant/dynamicMeshDict | 2 +- .../multiphase/overInterDyMFoam/twoSimpleRotors/constant/g | 2 +- .../twoSimpleRotors/constant/transportProperties | 2 +- .../twoSimpleRotors/constant/turbulenceProperties | 2 +- .../overInterDyMFoam/twoSimpleRotors/system/blockMeshDict | 2 +- .../overInterDyMFoam/twoSimpleRotors/system/controlDict | 2 +- .../overInterDyMFoam/twoSimpleRotors/system/decomposeParDict | 2 +- .../overInterDyMFoam/twoSimpleRotors/system/fvSchemes | 2 +- .../overInterDyMFoam/twoSimpleRotors/system/fvSolution | 2 +- .../overInterDyMFoam/twoSimpleRotors/system/setFieldsDict | 2 +- .../overInterDyMFoam/twoSimpleRotors/system/topoSetDict | 2 +- .../multiphase/overInterDyMFoam/twoSquaresOutDomain/0.orig/U | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/0.orig/alpha.water | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/0.orig/epsilon | 2 +- .../multiphase/overInterDyMFoam/twoSquaresOutDomain/0.orig/k | 2 +- .../multiphase/overInterDyMFoam/twoSquaresOutDomain/0.orig/nut | 2 +- .../multiphase/overInterDyMFoam/twoSquaresOutDomain/0.orig/p | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/0.orig/p_rgh | 2 +- .../twoSquaresOutDomain/0.orig/pointDisplacement | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/0.orig/zoneID | 2 +- .../twoSquaresOutDomain/constant/dynamicMeshDict | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/constant/fvOptions | 2 +- .../multiphase/overInterDyMFoam/twoSquaresOutDomain/constant/g | 2 +- .../twoSquaresOutDomain/constant/transportProperties | 2 +- .../twoSquaresOutDomain/constant/turbulenceProperties | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/system/blockMeshDict | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/system/controlDict | 2 +- .../twoSquaresOutDomain/system/decomposeParDict | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/system/fvSchemes | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/system/fvSolution | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/system/setFieldsDict | 2 +- .../overInterDyMFoam/twoSquaresOutDomain/system/topoSetDict | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/0.orig/U | 2 +- .../twoSimpleRotors/0.orig/alpha.water | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/0.orig/alphat | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/0.orig/epsilon | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/0.orig/k | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/0.orig/nut | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/0.orig/p | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/0.orig/p_rgh | 2 +- .../twoSimpleRotors/0.orig/pointDisplacement | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/0.orig/zoneID | 2 +- .../twoSimpleRotors/constant/dynamicMeshDict | 2 +- .../overInterPhaseChangeDyMFoam/twoSimpleRotors/constant/g | 2 +- .../twoSimpleRotors/constant/transportProperties | 2 +- .../twoSimpleRotors/constant/turbulenceProperties | 2 +- .../twoSimpleRotors/system/blockMeshDict | 2 +- .../twoSimpleRotors/system/controlDict | 2 +- .../twoSimpleRotors/system/decomposeParDict | 2 +- .../twoSimpleRotors/system/fvSchemes | 2 +- .../twoSimpleRotors/system/fvSolution | 2 +- .../twoSimpleRotors/system/setFieldsDict | 2 +- .../twoSimpleRotors/system/topoSetDict | 2 +- .../potentialFreeSurfaceDyMFoam/oscillatingBox/0.orig/U | 2 +- .../potentialFreeSurfaceDyMFoam/oscillatingBox/0.orig/p | 2 +- .../potentialFreeSurfaceDyMFoam/oscillatingBox/0.orig/p_gh | 2 +- .../oscillatingBox/0.orig/pointDisplacement | 2 +- .../oscillatingBox/constant/dynamicMeshDict | 2 +- .../potentialFreeSurfaceDyMFoam/oscillatingBox/constant/g | 2 +- .../oscillatingBox/constant/transportProperties | 2 +- .../oscillatingBox/constant/turbulenceProperties | 2 +- .../oscillatingBox/system/blockMeshDict | 2 +- .../oscillatingBox/system/controlDict | 2 +- .../oscillatingBox/system/createPatchDict | 2 +- .../potentialFreeSurfaceDyMFoam/oscillatingBox/system/fvSchemes | 2 +- .../oscillatingBox/system/fvSolution | 2 +- .../oscillatingBox/system/topoSetDict | 2 +- .../oscillatingBox/system/topoSetDict-selectBottom | 2 +- .../multiphase/potentialFreeSurfaceFoam/oscillatingBox/0.orig/U | 2 +- .../multiphase/potentialFreeSurfaceFoam/oscillatingBox/0.orig/p | 2 +- .../potentialFreeSurfaceFoam/oscillatingBox/0.orig/p_gh | 2 +- .../potentialFreeSurfaceFoam/oscillatingBox/constant/g | 2 +- .../oscillatingBox/constant/transportProperties | 2 +- .../oscillatingBox/constant/turbulenceProperties | 2 +- .../oscillatingBox/system/blockMeshDict | 2 +- .../potentialFreeSurfaceFoam/oscillatingBox/system/controlDict | 2 +- .../potentialFreeSurfaceFoam/oscillatingBox/system/fvSchemes | 2 +- .../potentialFreeSurfaceFoam/oscillatingBox/system/fvSolution | 2 +- .../potentialFreeSurfaceFoam/oscillatingBox/system/topoSetDict | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/T.gas | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/T.liquid | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/U.gas | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/U.gas2 | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/U.liquid | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/alpha.gas | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/alpha.liquid | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/alphat.gas | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/alphat.liquid | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/epsilon.gas | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/epsilon.liquid | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/k.gas | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/k.liquid | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/nut.gas | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/nut.liquid | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/p | 2 +- .../RAS/wallBoiling1D_2phase/0.orig/p_rgh | 2 +- .../RAS/wallBoiling1D_2phase/constant/g | 2 +- .../RAS/wallBoiling1D_2phase/constant/phaseProperties | 2 +- .../wallBoiling1D_2phase/constant/thermophysicalProperties.gas | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../RAS/wallBoiling1D_2phase/constant/turbulenceProperties.gas | 2 +- .../wallBoiling1D_2phase/constant/turbulenceProperties.liquid | 2 +- .../RAS/wallBoiling1D_2phase/system/blockMeshDict | 2 +- .../RAS/wallBoiling1D_2phase/system/controlDict | 2 +- .../RAS/wallBoiling1D_2phase/system/fvSchemes | 2 +- .../RAS/wallBoiling1D_2phase/system/fvSolution | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/T.gas | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/T.gas2 | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/T.liquid | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/U.gas | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/U.gas2 | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/U.liquid | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/alpha.gas | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/alpha.gas2 | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/alpha.liquid | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/alphat.gas | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/alphat.gas2 | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/alphat.liquid | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/epsilon.gas | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/epsilon.gas2 | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/epsilon.liquid | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/k.gas | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/k.gas2 | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/k.liquid | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/nut.gas | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/nut.gas2 | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/nut.liquid | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/p | 2 +- .../RAS/wallBoiling1D_3phase/0.orig/p_rgh | 2 +- .../RAS/wallBoiling1D_3phase/constant/g | 2 +- .../RAS/wallBoiling1D_3phase/constant/phaseProperties | 2 +- .../wallBoiling1D_3phase/constant/thermophysicalProperties.gas | 2 +- .../wallBoiling1D_3phase/constant/thermophysicalProperties.gas2 | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../RAS/wallBoiling1D_3phase/constant/turbulenceProperties.gas | 2 +- .../RAS/wallBoiling1D_3phase/constant/turbulenceProperties.gas2 | 2 +- .../wallBoiling1D_3phase/constant/turbulenceProperties.liquid | 2 +- .../RAS/wallBoiling1D_3phase/system/blockMeshDict | 2 +- .../RAS/wallBoiling1D_3phase/system/controlDict | 2 +- .../RAS/wallBoiling1D_3phase/system/fvSchemes | 2 +- .../RAS/wallBoiling1D_3phase/system/fvSolution | 2 +- .../laminar/bubbleColumn/0.orig/T.air | 2 +- .../laminar/bubbleColumn/0.orig/T.water | 2 +- .../laminar/bubbleColumn/0.orig/Theta | 2 +- .../laminar/bubbleColumn/0.orig/U.air | 2 +- .../laminar/bubbleColumn/0.orig/U.water | 2 +- .../laminar/bubbleColumn/0.orig/alpha.air | 2 +- .../laminar/bubbleColumn/0.orig/alpha.water | 2 +- .../reactingMultiphaseEulerFoam/laminar/bubbleColumn/0.orig/p | 2 +- .../laminar/bubbleColumn/0.orig/p_rgh | 2 +- .../reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/g | 2 +- .../laminar/bubbleColumn/constant/phaseProperties | 2 +- .../laminar/bubbleColumn/constant/thermophysicalProperties.air | 2 +- .../bubbleColumn/constant/thermophysicalProperties.water | 2 +- .../laminar/bubbleColumn/constant/turbulenceProperties.air | 2 +- .../laminar/bubbleColumn/constant/turbulenceProperties.water | 2 +- .../laminar/bubbleColumn/system/blockMeshDict | 2 +- .../laminar/bubbleColumn/system/controlDict | 2 +- .../laminar/bubbleColumn/system/fvSchemes | 2 +- .../laminar/bubbleColumn/system/fvSolution | 2 +- .../laminar/bubbleColumn/system/setFieldsDict | 2 +- .../laminar/mixerVessel2D/0.orig/T.air | 2 +- .../laminar/mixerVessel2D/0.orig/T.mercury | 2 +- .../laminar/mixerVessel2D/0.orig/T.oil | 2 +- .../laminar/mixerVessel2D/0.orig/T.water | 2 +- .../laminar/mixerVessel2D/0.orig/Theta | 2 +- .../laminar/mixerVessel2D/0.orig/U.air | 2 +- .../laminar/mixerVessel2D/0.orig/U.mercury | 2 +- .../laminar/mixerVessel2D/0.orig/U.oil | 2 +- .../laminar/mixerVessel2D/0.orig/U.water | 2 +- .../laminar/mixerVessel2D/0.orig/alpha.air | 2 +- .../laminar/mixerVessel2D/0.orig/alpha.mercury | 2 +- .../laminar/mixerVessel2D/0.orig/alpha.oil | 2 +- .../laminar/mixerVessel2D/0.orig/alpha.water | 2 +- .../reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0.orig/p | 2 +- .../laminar/mixerVessel2D/0.orig/p_rgh | 2 +- .../laminar/mixerVessel2D/constant/MRFProperties | 2 +- .../laminar/mixerVessel2D/constant/g | 2 +- .../laminar/mixerVessel2D/constant/phaseProperties | 2 +- .../laminar/mixerVessel2D/constant/thermophysicalProperties.air | 2 +- .../mixerVessel2D/constant/thermophysicalProperties.mercury | 2 +- .../laminar/mixerVessel2D/constant/thermophysicalProperties.oil | 2 +- .../mixerVessel2D/constant/thermophysicalProperties.water | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties.air | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties.mercury | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties.oil | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties.water | 2 +- .../laminar/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../laminar/mixerVessel2D/system/controlDict | 2 +- .../laminar/mixerVessel2D/system/fvSchemes | 2 +- .../laminar/mixerVessel2D/system/fvSolution | 2 +- .../laminar/mixerVessel2D/system/topoSetDict | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/T.air | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/T.water | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/Theta | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/U.air | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/U.water | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/alpha.air | 2 +- .../LES/bubbleColumn/0.orig/alphat.air | 2 +- .../LES/bubbleColumn/0.orig/alphat.water | 2 +- .../LES/bubbleColumn/0.orig/epsilon.air | 2 +- .../LES/bubbleColumn/0.orig/epsilon.water | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/k.air | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/k.water | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/nut.air | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/nut.water | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/0.orig/p_rgh | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/constant/g | 2 +- .../LES/bubbleColumn/constant/phaseProperties | 2 +- .../LES/bubbleColumn/constant/thermophysicalProperties.air | 2 +- .../LES/bubbleColumn/constant/thermophysicalProperties.water | 2 +- .../LES/bubbleColumn/constant/turbulenceProperties.air | 2 +- .../LES/bubbleColumn/constant/turbulenceProperties.water | 2 +- .../LES/bubbleColumn/system/blockMeshDict | 2 +- .../LES/bubbleColumn/system/controlDict | 2 +- .../reactingTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes | 2 +- .../LES/bubbleColumn/system/fvSolution | 2 +- .../LES/bubbleColumn/system/setFieldsDict | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.gas | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.solids | 2 +- .../reactingTwoPhaseEulerFoam/RAS/LBend/0/Theta.solids | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.gas | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.solids | 2 +- .../reactingTwoPhaseEulerFoam/RAS/LBend/0/alpha.solids | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.gas | 2 +- .../reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.solids | 2 +- .../reactingTwoPhaseEulerFoam/RAS/LBend/0/epsilon.gas | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/k.gas | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.gas | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.solids | 2 +- tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p_rgh | 2 +- .../multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/g | 2 +- .../RAS/LBend/constant/phaseProperties | 2 +- .../RAS/LBend/constant/thermophysicalProperties.gas | 2 +- .../RAS/LBend/constant/thermophysicalProperties.solids | 2 +- .../RAS/LBend/constant/turbulenceProperties.gas | 2 +- .../RAS/LBend/constant/turbulenceProperties.solids | 2 +- .../reactingTwoPhaseEulerFoam/RAS/LBend/system/blockMeshDict | 2 +- .../reactingTwoPhaseEulerFoam/RAS/LBend/system/controlDict | 2 +- .../reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSchemes | 2 +- .../reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSolution | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/T.air | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/T.water | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/Theta | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/U.air | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/U.water | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/alpha.air | 2 +- .../RAS/bubbleColumn/0.orig/alphat.air | 2 +- .../RAS/bubbleColumn/0.orig/alphat.water | 2 +- .../RAS/bubbleColumn/0.orig/epsilon.air | 2 +- .../RAS/bubbleColumn/0.orig/epsilon.water | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/epsilonm | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/k.air | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/k.water | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/km | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/nut.air | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/nut.water | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0.orig/p_rgh | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/constant/g | 2 +- .../RAS/bubbleColumn/constant/phaseProperties | 2 +- .../RAS/bubbleColumn/constant/thermophysicalProperties.air | 2 +- .../RAS/bubbleColumn/constant/thermophysicalProperties.water | 2 +- .../RAS/bubbleColumn/constant/turbulenceProperties.air | 2 +- .../RAS/bubbleColumn/constant/turbulenceProperties.water | 2 +- .../RAS/bubbleColumn/system/blockMeshDict | 2 +- .../RAS/bubbleColumn/system/controlDict | 2 +- .../reactingTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSchemes | 2 +- .../RAS/bubbleColumn/system/fvSolution | 2 +- .../RAS/bubbleColumn/system/setFieldsDict | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/AIR.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/AIR.liquid | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/CO.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/H2O.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/H2O.liquid | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/T.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/T.liquid | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/U.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/U.liquid | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/Ydefault.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/alpha.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/alpha.liquid | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/alphat.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/epsilon.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/k.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/nut.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/p | 2 +- .../RAS/bubbleColumnEvaporatingReacting/0.orig/p_rgh | 2 +- .../constant/chemistryProperties.gas | 2 +- .../constant/combustionProperties.gas | 2 +- .../RAS/bubbleColumnEvaporatingReacting/constant/g | 2 +- .../bubbleColumnEvaporatingReacting/constant/phaseProperties | 2 +- .../constant/thermophysicalProperties.gas | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../constant/turbulenceProperties.gas | 2 +- .../constant/turbulenceProperties.liquid | 2 +- .../RAS/bubbleColumnEvaporatingReacting/system/blockMeshDict | 2 +- .../RAS/bubbleColumnEvaporatingReacting/system/controlDict | 2 +- .../RAS/bubbleColumnEvaporatingReacting/system/decomposeParDict | 2 +- .../RAS/bubbleColumnEvaporatingReacting/system/fvSchemes | 2 +- .../RAS/bubbleColumnEvaporatingReacting/system/fvSolution | 2 +- .../RAS/bubbleColumnEvaporatingReacting/system/setFieldsDict | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/T.air | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/T.water | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/Theta | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/U.air | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/U.water | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/alpha.air | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/alphat.air | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/alphat.water | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/epsilon.air | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/epsilon.water | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/epsilonm | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/f.air.bubbles | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/k.air | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/k.water | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/km | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/nut.air | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/nut.water | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/p | 2 +- .../RAS/bubbleColumnPolydisperse/0.orig/p_rgh | 2 +- .../RAS/bubbleColumnPolydisperse/constant/g | 2 +- .../RAS/bubbleColumnPolydisperse/constant/phaseProperties | 2 +- .../constant/thermophysicalProperties.air | 2 +- .../constant/thermophysicalProperties.water | 2 +- .../bubbleColumnPolydisperse/constant/turbulenceProperties.air | 2 +- .../constant/turbulenceProperties.water | 2 +- .../RAS/bubbleColumnPolydisperse/system/blockMeshDict | 2 +- .../RAS/bubbleColumnPolydisperse/system/controlDict | 2 +- .../RAS/bubbleColumnPolydisperse/system/fvSchemes | 2 +- .../RAS/bubbleColumnPolydisperse/system/fvSolution | 2 +- .../RAS/bubbleColumnPolydisperse/system/setFieldsDict | 2 +- .../RAS/bubbleColumnPolydisperse/system/topoSetDict | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0.orig/T.air | 2 +- .../RAS/fluidisedBed/0.orig/T.particles | 2 +- .../RAS/fluidisedBed/0.orig/Theta.particles | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0.orig/U.air | 2 +- .../RAS/fluidisedBed/0.orig/U.particles | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0.orig/alpha.air | 2 +- .../RAS/fluidisedBed/0.orig/alpha.particles | 2 +- .../RAS/fluidisedBed/0.orig/alphat.air | 2 +- .../RAS/fluidisedBed/0.orig/alphat.particles | 2 +- .../RAS/fluidisedBed/0.orig/epsilon.air | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0.orig/k.air | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0.orig/nut.air | 2 +- .../RAS/fluidisedBed/0.orig/nut.particles | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0.orig/p_rgh | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/constant/g | 2 +- .../RAS/fluidisedBed/constant/phaseProperties | 2 +- .../RAS/fluidisedBed/constant/thermophysicalProperties.air | 2 +- .../fluidisedBed/constant/thermophysicalProperties.particles | 2 +- .../RAS/fluidisedBed/constant/turbulenceProperties.air | 2 +- .../RAS/fluidisedBed/constant/turbulenceProperties.particles | 2 +- .../RAS/fluidisedBed/system/blockMeshDict | 2 +- .../RAS/fluidisedBed/system/controlDict | 2 +- .../reactingTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSchemes | 2 +- .../RAS/fluidisedBed/system/fvSolution | 2 +- .../RAS/fluidisedBed/system/setFieldsDict | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/T.gas | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/T.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/U.gas | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/U.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/alpha.gas | 2 +- .../RAS/wallBoiling/0.orig/alpha.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/alphat.gas | 2 +- .../RAS/wallBoiling/0.orig/alphat.liquid | 2 +- .../RAS/wallBoiling/0.orig/epsilon.gas | 2 +- .../RAS/wallBoiling/0.orig/epsilon.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/k.gas | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/k.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/nut.gas | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/nut.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/0.orig/p_rgh | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/g | 2 +- .../RAS/wallBoiling/constant/phaseProperties | 2 +- .../RAS/wallBoiling/constant/thermophysicalProperties.gas | 2 +- .../RAS/wallBoiling/constant/thermophysicalProperties.liquid | 2 +- .../RAS/wallBoiling/constant/turbulenceProperties.gas | 2 +- .../RAS/wallBoiling/constant/turbulenceProperties.liquid | 2 +- .../RAS/wallBoiling/system/blockMeshDict | 2 +- .../RAS/wallBoiling/system/controlDict | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSolution | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/T.gas | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/T.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/U.gas | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/U.gas2 | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/U.liquid | 2 +- .../RAS/wallBoiling1D/0.orig/alpha.gas | 2 +- .../RAS/wallBoiling1D/0.orig/alpha.liquid | 2 +- .../RAS/wallBoiling1D/0.orig/alphat.gas | 2 +- .../RAS/wallBoiling1D/0.orig/alphat.liquid | 2 +- .../RAS/wallBoiling1D/0.orig/epsilon.gas | 2 +- .../RAS/wallBoiling1D/0.orig/epsilon.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/k.gas | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/k.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/nut.gas | 2 +- .../RAS/wallBoiling1D/0.orig/nut.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/0.orig/p_rgh | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoiling1D/constant/g | 2 +- .../RAS/wallBoiling1D/constant/phaseProperties | 2 +- .../RAS/wallBoiling1D/constant/thermophysicalProperties.gas | 2 +- .../RAS/wallBoiling1D/constant/thermophysicalProperties.liquid | 2 +- .../RAS/wallBoiling1D/constant/turbulenceProperties.gas | 2 +- .../RAS/wallBoiling1D/constant/turbulenceProperties.liquid | 2 +- .../RAS/wallBoiling1D/system/blockMeshDict | 2 +- .../RAS/wallBoiling1D/system/controlDict | 2 +- .../RAS/wallBoiling1D/system/fvSchemes | 2 +- .../RAS/wallBoiling1D/system/fvSolution | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0.orig/T.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/T.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0.orig/U.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/U.liquid | 2 +- .../RAS/wallBoilingIATE/0.orig/alpha.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/alpha.liquid | 2 +- .../RAS/wallBoilingIATE/0.orig/alphat.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/alphat.liquid | 2 +- .../RAS/wallBoilingIATE/0.orig/epsilon.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/epsilon.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0.orig/k.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/k.liquid | 2 +- .../RAS/wallBoilingIATE/0.orig/kappai.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/nut.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/nut.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0.orig/p_rgh | 2 +- .../RAS/wallBoilingIATE/0.orig/water.gas | 2 +- .../RAS/wallBoilingIATE/0.orig/water.liquid | 2 +- .../reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/g | 2 +- .../RAS/wallBoilingIATE/constant/phaseProperties | 2 +- .../RAS/wallBoilingIATE/constant/thermophysicalProperties.gas | 2 +- .../wallBoilingIATE/constant/thermophysicalProperties.liquid | 2 +- .../RAS/wallBoilingIATE/constant/turbulenceProperties.gas | 2 +- .../RAS/wallBoilingIATE/constant/turbulenceProperties.liquid | 2 +- .../RAS/wallBoilingIATE/system/blockMeshDict | 2 +- .../RAS/wallBoilingIATE/system/controlDict | 2 +- .../RAS/wallBoilingIATE/system/fvSchemes | 2 +- .../RAS/wallBoilingIATE/system/fvSolution | 2 +- .../reactingTwoPhaseEulerFoam/laminar/bubbleColumn/0.orig/T.air | 2 +- .../laminar/bubbleColumn/0.orig/T.water | 2 +- .../reactingTwoPhaseEulerFoam/laminar/bubbleColumn/0.orig/Theta | 2 +- .../reactingTwoPhaseEulerFoam/laminar/bubbleColumn/0.orig/U.air | 2 +- .../laminar/bubbleColumn/0.orig/U.water | 2 +- .../laminar/bubbleColumn/0.orig/alpha.air | 2 +- .../reactingTwoPhaseEulerFoam/laminar/bubbleColumn/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/laminar/bubbleColumn/0.orig/p_rgh | 2 +- .../reactingTwoPhaseEulerFoam/laminar/bubbleColumn/constant/g | 2 +- .../laminar/bubbleColumn/constant/phaseProperties | 2 +- .../laminar/bubbleColumn/constant/thermophysicalProperties.air | 2 +- .../bubbleColumn/constant/thermophysicalProperties.water | 2 +- .../laminar/bubbleColumn/constant/turbulenceProperties.air | 2 +- .../laminar/bubbleColumn/constant/turbulenceProperties.water | 2 +- .../laminar/bubbleColumn/system/blockMeshDict | 2 +- .../laminar/bubbleColumn/system/controlDict | 2 +- .../laminar/bubbleColumn/system/fvSchemes | 2 +- .../laminar/bubbleColumn/system/fvSolution | 2 +- .../laminar/bubbleColumn/system/setFieldsDict | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/CO.gas | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/H2O.gas | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/H2O.liquid | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/T.gas | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/T.liquid | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/U.gas | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/U.liquid | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/Ydefault | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/air.gas | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/air.liquid | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/alpha.gas | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/alpha.liquid | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/p | 2 +- .../laminar/bubbleColumnEvaporating/0.orig/p_rgh | 2 +- .../laminar/bubbleColumnEvaporating/constant/g | 2 +- .../laminar/bubbleColumnEvaporating/constant/phaseProperties | 2 +- .../constant/thermophysicalProperties.gas | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../bubbleColumnEvaporating/constant/turbulenceProperties.gas | 2 +- .../constant/turbulenceProperties.liquid | 2 +- .../laminar/bubbleColumnEvaporating/system/blockMeshDict | 2 +- .../laminar/bubbleColumnEvaporating/system/continuityFunctions | 2 +- .../laminar/bubbleColumnEvaporating/system/controlDict | 2 +- .../laminar/bubbleColumnEvaporating/system/decomposeParDict | 2 +- .../laminar/bubbleColumnEvaporating/system/fvSchemes | 2 +- .../laminar/bubbleColumnEvaporating/system/fvSolution | 2 +- .../laminar/bubbleColumnEvaporating/system/setFieldsDict | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/T.gas | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/T.liquid | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/U.gas | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/U.liquid | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/air.gas | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/air.liquid | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/alpha.gas | 2 +- .../bubbleColumnEvaporatingDissolving/0.orig/alpha.liquid | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/p | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/p_rgh | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/0.orig/water.gas | 2 +- .../bubbleColumnEvaporatingDissolving/0.orig/water.liquid | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/constant/g | 2 +- .../bubbleColumnEvaporatingDissolving/constant/phaseProperties | 2 +- .../constant/thermophysicalProperties.gas | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../constant/turbulenceProperties.gas | 2 +- .../constant/turbulenceProperties.liquid | 2 +- .../bubbleColumnEvaporatingDissolving/system/blockMeshDict | 2 +- .../bubbleColumnEvaporatingDissolving/system/controlDict | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/system/fvSchemes | 2 +- .../laminar/bubbleColumnEvaporatingDissolving/system/fvSolution | 2 +- .../bubbleColumnEvaporatingDissolving/system/setFieldsDict | 2 +- .../laminar/bubbleColumnIATE/0.orig/T.air | 2 +- .../laminar/bubbleColumnIATE/0.orig/T.water | 2 +- .../laminar/bubbleColumnIATE/0.orig/Theta | 2 +- .../laminar/bubbleColumnIATE/0.orig/U.air | 2 +- .../laminar/bubbleColumnIATE/0.orig/U.water | 2 +- .../laminar/bubbleColumnIATE/0.orig/alpha.air | 2 +- .../laminar/bubbleColumnIATE/0.orig/kappai.air | 2 +- .../reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/p | 2 +- .../laminar/bubbleColumnIATE/0.orig/p_rgh | 2 +- .../laminar/bubbleColumnIATE/constant/g | 2 +- .../laminar/bubbleColumnIATE/constant/phaseProperties | 2 +- .../bubbleColumnIATE/constant/thermophysicalProperties.air | 2 +- .../bubbleColumnIATE/constant/thermophysicalProperties.water | 2 +- .../laminar/bubbleColumnIATE/constant/turbulenceProperties.air | 2 +- .../bubbleColumnIATE/constant/turbulenceProperties.water | 2 +- .../laminar/bubbleColumnIATE/system/blockMeshDict | 2 +- .../laminar/bubbleColumnIATE/system/controlDict | 2 +- .../laminar/bubbleColumnIATE/system/fvSchemes | 2 +- .../laminar/bubbleColumnIATE/system/fvSolution | 2 +- .../laminar/bubbleColumnIATE/system/setFieldsDict | 2 +- .../reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0.orig/T.air | 2 +- .../laminar/fluidisedBed/0.orig/T.particles | 2 +- .../laminar/fluidisedBed/0.orig/Theta.particles | 2 +- .../reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0.orig/U.air | 2 +- .../laminar/fluidisedBed/0.orig/U.particles | 2 +- .../laminar/fluidisedBed/0.orig/alpha.particles | 2 +- .../laminar/fluidisedBed/0.orig/alphat.particles | 2 +- .../laminar/fluidisedBed/0.orig/epsilon.air | 2 +- .../reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0.orig/k.air | 2 +- .../laminar/fluidisedBed/0.orig/nut.air | 2 +- .../laminar/fluidisedBed/0.orig/nut.particles | 2 +- .../reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0.orig/p_rgh | 2 +- .../reactingTwoPhaseEulerFoam/laminar/fluidisedBed/constant/g | 2 +- .../laminar/fluidisedBed/constant/phaseProperties | 2 +- .../laminar/fluidisedBed/constant/thermophysicalProperties.air | 2 +- .../fluidisedBed/constant/thermophysicalProperties.particles | 2 +- .../laminar/fluidisedBed/constant/turbulenceProperties.air | 2 +- .../fluidisedBed/constant/turbulenceProperties.particles | 2 +- .../laminar/fluidisedBed/system/blockMeshDict | 2 +- .../laminar/fluidisedBed/system/controlDict | 2 +- .../laminar/fluidisedBed/system/fvSchemes | 2 +- .../laminar/fluidisedBed/system/fvSolution | 2 +- .../laminar/fluidisedBed/system/setFieldsDict | 2 +- .../reactingTwoPhaseEulerFoam/laminar/injection/0.orig/T.air | 2 +- .../reactingTwoPhaseEulerFoam/laminar/injection/0.orig/T.water | 2 +- .../reactingTwoPhaseEulerFoam/laminar/injection/0.orig/U.air | 2 +- .../reactingTwoPhaseEulerFoam/laminar/injection/0.orig/U.water | 2 +- .../laminar/injection/0.orig/alpha.air | 2 +- .../reactingTwoPhaseEulerFoam/laminar/injection/0.orig/p | 2 +- .../reactingTwoPhaseEulerFoam/laminar/injection/0.orig/p_rgh | 2 +- .../laminar/injection/constant/fvOptions | 2 +- .../reactingTwoPhaseEulerFoam/laminar/injection/constant/g | 2 +- .../laminar/injection/constant/phaseProperties | 2 +- .../laminar/injection/constant/thermophysicalProperties.air | 2 +- .../laminar/injection/constant/thermophysicalProperties.water | 2 +- .../laminar/injection/constant/turbulenceProperties.air | 2 +- .../laminar/injection/constant/turbulenceProperties.water | 2 +- .../laminar/injection/system/blockMeshDict | 2 +- .../laminar/injection/system/controlDict | 2 +- .../laminar/injection/system/fvSchemes | 2 +- .../laminar/injection/system/fvSolution | 2 +- .../laminar/injection/system/setFieldsDict | 2 +- .../laminar/mixerVessel2D/0.orig/T.air | 2 +- .../laminar/mixerVessel2D/0.orig/T.water | 2 +- .../laminar/mixerVessel2D/0.orig/Theta | 2 +- .../laminar/mixerVessel2D/0.orig/U.air | 2 +- .../laminar/mixerVessel2D/0.orig/U.water | 2 +- .../laminar/mixerVessel2D/0.orig/alpha.air | 2 +- .../reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/p | 2 +- .../laminar/mixerVessel2D/0.orig/p_rgh | 2 +- .../laminar/mixerVessel2D/constant/MRFProperties | 2 +- .../reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/g | 2 +- .../laminar/mixerVessel2D/constant/phaseProperties | 2 +- .../laminar/mixerVessel2D/constant/thermophysicalProperties.air | 2 +- .../mixerVessel2D/constant/thermophysicalProperties.water | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties.air | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties.water | 2 +- .../laminar/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../laminar/mixerVessel2D/system/controlDict | 2 +- .../laminar/mixerVessel2D/system/fvSchemes | 2 +- .../laminar/mixerVessel2D/system/fvSolution | 2 +- .../laminar/mixerVessel2D/system/topoSetDict | 2 +- .../laminar/steamInjection/0.orig/T.steam | 2 +- .../laminar/steamInjection/0.orig/T.water | 2 +- .../laminar/steamInjection/0.orig/U.steam | 2 +- .../laminar/steamInjection/0.orig/U.water | 2 +- .../laminar/steamInjection/0.orig/alpha.steam | 2 +- .../laminar/steamInjection/0.orig/alpha.water | 2 +- .../laminar/steamInjection/0.orig/nut.water | 2 +- .../reactingTwoPhaseEulerFoam/laminar/steamInjection/0.orig/p | 2 +- .../laminar/steamInjection/0.orig/p_rgh | 2 +- .../laminar/steamInjection/0.orig/water.steam | 2 +- .../laminar/steamInjection/0.orig/water.water | 2 +- .../laminar/steamInjection/constant/fvOptions | 2 +- .../reactingTwoPhaseEulerFoam/laminar/steamInjection/constant/g | 2 +- .../laminar/steamInjection/constant/phaseProperties | 2 +- .../steamInjection/constant/thermophysicalProperties.steam | 2 +- .../steamInjection/constant/thermophysicalProperties.water | 2 +- .../laminar/steamInjection/constant/turbulenceProperties.steam | 2 +- .../laminar/steamInjection/constant/turbulenceProperties.water | 2 +- .../laminar/steamInjection/system/blockMeshDict | 2 +- .../laminar/steamInjection/system/controlDict | 2 +- .../laminar/steamInjection/system/fvSchemes | 2 +- .../laminar/steamInjection/system/fvSolution | 2 +- tutorials/multiphase/twoLiquidMixingFoam/lockExchange/0.orig/U | 2 +- .../twoLiquidMixingFoam/lockExchange/0.orig/alpha.sludge | 2 +- .../multiphase/twoLiquidMixingFoam/lockExchange/0.orig/p_rgh | 2 +- .../multiphase/twoLiquidMixingFoam/lockExchange/constant/g | 2 +- .../lockExchange/constant/transportProperties | 2 +- .../lockExchange/constant/turbulenceProperties | 2 +- .../twoLiquidMixingFoam/lockExchange/system/blockMeshDict | 2 +- .../twoLiquidMixingFoam/lockExchange/system/controlDict | 2 +- .../twoLiquidMixingFoam/lockExchange/system/fvSchemes | 2 +- .../twoLiquidMixingFoam/lockExchange/system/fvSolution | 2 +- .../twoLiquidMixingFoam/lockExchange/system/setFieldsDict | 2 +- .../multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0.orig/T.air | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/T.water | 2 +- .../multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0.orig/Theta | 2 +- .../multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0.orig/U.air | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/U.water | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/alpha.air | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/alphat.air | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/alphat.water | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/epsilon.air | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/epsilon.water | 2 +- .../multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0.orig/k.air | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/k.water | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/nut.air | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/0.orig/nut.water | 2 +- .../multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0.orig/p | 2 +- .../multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0.orig/p_rgh | 2 +- .../multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/g | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties | 2 +- .../LES/bubbleColumn/constant/thermophysicalProperties.air | 2 +- .../LES/bubbleColumn/constant/thermophysicalProperties.water | 2 +- .../LES/bubbleColumn/constant/turbulenceProperties.air | 2 +- .../LES/bubbleColumn/constant/turbulenceProperties.water | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/system/blockMeshDict | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/system/controlDict | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution | 2 +- .../twoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/T.air | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/T.water | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/Theta | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/U.air | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/U.water | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/alpha.air | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/alphat.air | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/alphat.water | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/epsilon.air | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/epsilon.water | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/epsilonm | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/k.air | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/k.water | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/km | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/nut.air | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/nut.water | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/p | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0.orig/p_rgh | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/g | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties | 2 +- .../RAS/bubbleColumn/constant/thermophysicalProperties.air | 2 +- .../RAS/bubbleColumn/constant/thermophysicalProperties.water | 2 +- .../RAS/bubbleColumn/constant/turbulenceProperties.air | 2 +- .../RAS/bubbleColumn/constant/turbulenceProperties.water | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/system/blockMeshDict | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/system/fvSchemes | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/system/fvSolution | 2 +- .../twoPhaseEulerFoam/RAS/bubbleColumn/system/setFieldsDict | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/T.air | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/T.particles | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/Theta.particles | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/U.air | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/U.particles | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/alpha.air | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/alpha.particles | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/alphat.air | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/alphat.particles | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/epsilon.air | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/k.air | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/nut.air | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/nut.particles | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/p | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0.orig/p_rgh | 2 +- .../multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/g | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties | 2 +- .../RAS/fluidisedBed/constant/thermophysicalProperties.air | 2 +- .../fluidisedBed/constant/thermophysicalProperties.particles | 2 +- .../RAS/fluidisedBed/constant/turbulenceProperties.air | 2 +- .../RAS/fluidisedBed/constant/turbulenceProperties.particles | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/system/blockMeshDict | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/system/fvSchemes | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/system/fvSolution | 2 +- .../twoPhaseEulerFoam/RAS/fluidisedBed/system/setFieldsDict | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/0.orig/T.air | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/0.orig/T.water | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/0.orig/Theta | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/0.orig/U.air | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/0.orig/U.water | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/0.orig/alpha.air | 2 +- .../multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0.orig/p | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/0.orig/p_rgh | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/constant/g | 2 +- .../laminar/bubbleColumn/constant/phaseProperties | 2 +- .../laminar/bubbleColumn/constant/thermophysicalProperties.air | 2 +- .../bubbleColumn/constant/thermophysicalProperties.water | 2 +- .../laminar/bubbleColumn/constant/turbulenceProperties.air | 2 +- .../laminar/bubbleColumn/constant/turbulenceProperties.water | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/system/blockMeshDict | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/system/fvSchemes | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/system/fvSolution | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumn/system/setFieldsDict | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/T.air | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/T.water | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/Theta | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/U.air | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/U.water | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/alpha.air | 2 +- .../laminar/bubbleColumnIATE/0.orig/kappai.air | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/p | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/0.orig/p_rgh | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/g | 2 +- .../laminar/bubbleColumnIATE/constant/phaseProperties | 2 +- .../bubbleColumnIATE/constant/thermophysicalProperties.air | 2 +- .../bubbleColumnIATE/constant/thermophysicalProperties.water | 2 +- .../laminar/bubbleColumnIATE/constant/turbulenceProperties.air | 2 +- .../bubbleColumnIATE/constant/turbulenceProperties.water | 2 +- .../laminar/bubbleColumnIATE/system/blockMeshDict | 2 +- .../laminar/bubbleColumnIATE/system/controlDict | 2 +- .../twoPhaseEulerFoam/laminar/bubbleColumnIATE/system/fvSchemes | 2 +- .../laminar/bubbleColumnIATE/system/fvSolution | 2 +- .../laminar/bubbleColumnIATE/system/setFieldsDict | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/T.air | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/T.particles | 2 +- .../laminar/fluidisedBed/0.orig/Theta.particles | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/U.air | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/U.particles | 2 +- .../laminar/fluidisedBed/0.orig/alpha.particles | 2 +- .../laminar/fluidisedBed/0.orig/alphat.particles | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/epsilon.air | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/k.air | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/nut.air | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/nut.particles | 2 +- .../multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/p | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/0.orig/p_rgh | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/constant/g | 2 +- .../laminar/fluidisedBed/constant/phaseProperties | 2 +- .../laminar/fluidisedBed/constant/thermophysicalProperties.air | 2 +- .../fluidisedBed/constant/thermophysicalProperties.particles | 2 +- .../laminar/fluidisedBed/constant/turbulenceProperties.air | 2 +- .../fluidisedBed/constant/turbulenceProperties.particles | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/system/blockMeshDict | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/system/fvSchemes | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/system/fvSolution | 2 +- .../twoPhaseEulerFoam/laminar/fluidisedBed/system/setFieldsDict | 2 +- .../multiphase/twoPhaseEulerFoam/laminar/injection/0.orig/T.air | 2 +- .../twoPhaseEulerFoam/laminar/injection/0.orig/T.water | 2 +- .../multiphase/twoPhaseEulerFoam/laminar/injection/0.orig/U.air | 2 +- .../twoPhaseEulerFoam/laminar/injection/0.orig/U.water | 2 +- .../twoPhaseEulerFoam/laminar/injection/0.orig/alpha.air | 2 +- .../multiphase/twoPhaseEulerFoam/laminar/injection/0.orig/p | 2 +- .../multiphase/twoPhaseEulerFoam/laminar/injection/0.orig/p_rgh | 2 +- .../twoPhaseEulerFoam/laminar/injection/constant/fvOptions | 2 +- .../multiphase/twoPhaseEulerFoam/laminar/injection/constant/g | 2 +- .../laminar/injection/constant/phaseProperties | 2 +- .../laminar/injection/constant/thermophysicalProperties.air | 2 +- .../laminar/injection/constant/thermophysicalProperties.water | 2 +- .../laminar/injection/constant/turbulenceProperties.air | 2 +- .../laminar/injection/constant/turbulenceProperties.water | 2 +- .../twoPhaseEulerFoam/laminar/injection/system/blockMeshDict | 2 +- .../twoPhaseEulerFoam/laminar/injection/system/controlDict | 2 +- .../twoPhaseEulerFoam/laminar/injection/system/fvSchemes | 2 +- .../twoPhaseEulerFoam/laminar/injection/system/fvSolution | 2 +- .../twoPhaseEulerFoam/laminar/injection/system/setFieldsDict | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/T.air | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/T.water | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/Theta | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/U.air | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/U.water | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/alpha.air | 2 +- .../multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/p | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/0.orig/p_rgh | 2 +- .../laminar/mixerVessel2D/constant/MRFProperties | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/constant/g | 2 +- .../laminar/mixerVessel2D/constant/phaseProperties | 2 +- .../laminar/mixerVessel2D/constant/thermophysicalProperties.air | 2 +- .../mixerVessel2D/constant/thermophysicalProperties.water | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties.air | 2 +- .../laminar/mixerVessel2D/constant/turbulenceProperties.water | 2 +- .../laminar/mixerVessel2D/system/blockMeshDict.m4 | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/system/controlDict | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSchemes | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSolution | 2 +- .../twoPhaseEulerFoam/laminar/mixerVessel2D/system/topoSetDict | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/GRep | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/GRxp | 2 +- .../preProcessing/PDRsetFields/simplePipeCage/0.orig/RPers | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Su | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/T | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Tu | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/U | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Xi | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Xp | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/b | 2 +- .../preProcessing/PDRsetFields/simplePipeCage/0.orig/epsilon | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/ft | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/k | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/p | 2 +- .../PDRsetFields/simplePipeCage/constant/PDRProperties | 2 +- .../PDRsetFields/simplePipeCage/constant/combustionProperties | 2 +- .../PDRsetFields/simplePipeCage/constant/dynamicMeshDict | 2 +- tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/g | 2 +- .../simplePipeCage/constant/thermophysicalProperties | 2 +- .../PDRsetFields/simplePipeCage/constant/turbulenceProperties | 2 +- .../PDRsetFields/simplePipeCage/geometry/groups/group01 | 2 +- .../PDRsetFields/simplePipeCage/geometry/groups/group11 | 2 +- .../PDRsetFields/simplePipeCage/geometry/groups/group14 | 2 +- .../PDRsetFields/simplePipeCage/geometry/groups/group15 | 2 +- .../PDRsetFields/simplePipeCage/geometry/groups/group17 | 2 +- .../PDRsetFields/simplePipeCage/geometry/groups/group21 | 2 +- .../PDRsetFields/simplePipeCage/geometry/groups/group31 | 2 +- .../PDRsetFields/simplePipeCage/geometry/groups/group41 | 2 +- .../PDRsetFields/simplePipeCage/geometry/obstaclesDict | 2 +- .../PDRsetFields/simplePipeCage/system/PDRblockMeshDict | 2 +- .../PDRsetFields/simplePipeCage/system/PDRsetFieldsDict | 2 +- .../PDRsetFields/simplePipeCage/system/controlDict | 2 +- .../PDRsetFields/simplePipeCage/system/createPatchDict | 2 +- .../PDRsetFields/simplePipeCage/system/decomposeParDict | 2 +- .../preProcessing/PDRsetFields/simplePipeCage/system/fvSchemes | 2 +- .../preProcessing/PDRsetFields/simplePipeCage/system/fvSolution | 2 +- .../PDRsetFields/simplePipeCage/system/mapFieldsDict | 2 +- .../preProcessing/PDRsetFields/simplePipeCage/system/probes | 2 +- .../PDRsetFields/simplePipeCage/system/refineMeshDict | 2 +- .../PDRsetFields/simplePipeCage/system/setFieldsDict | 2 +- .../PDRsetFields/simplePipeCage/system/setFieldsDict1 | 2 +- .../PDRsetFields/simplePipeCage/system/topoSetDict | 2 +- .../createZeroDirectory/cavity/constant/transportProperties | 2 +- .../createZeroDirectory/cavity/system/blockMeshDict | 2 +- .../createZeroDirectory/cavity/system/caseProperties | 2 +- .../preProcessing/createZeroDirectory/cavity/system/controlDict | 2 +- .../preProcessing/createZeroDirectory/cavity/system/fvSchemes | 2 +- .../preProcessing/createZeroDirectory/cavity/system/fvSolution | 2 +- .../createZeroDirectory/motorBike/constant/transportProperties | 2 +- .../createZeroDirectory/motorBike/constant/turbulenceProperties | 2 +- .../createZeroDirectory/motorBike/system/blockMeshDict | 2 +- .../createZeroDirectory/motorBike/system/caseProperties | 2 +- .../createZeroDirectory/motorBike/system/controlDict | 2 +- .../createZeroDirectory/motorBike/system/decomposeParDict | 2 +- .../createZeroDirectory/motorBike/system/fvSchemes | 2 +- .../createZeroDirectory/motorBike/system/fvSolution | 2 +- .../createZeroDirectory/motorBike/system/meshQualityDict | 2 +- .../createZeroDirectory/motorBike/system/snappyHexMeshDict | 2 +- .../motorBike/system/surfaceFeatureExtractDict | 2 +- .../snappyMultiRegionHeater/constant/bottomAir/g | 2 +- .../constant/bottomAir/radiationProperties | 2 +- .../constant/bottomAir/thermophysicalProperties | 2 +- .../constant/bottomAir/turbulenceProperties | 2 +- .../createZeroDirectory/snappyMultiRegionHeater/constant/g | 2 +- .../snappyMultiRegionHeater/constant/heater/radiationProperties | 2 +- .../constant/heater/thermophysicalProperties | 2 +- .../constant/leftSolid/radiationProperties | 2 +- .../snappyMultiRegionHeater/constant/regionProperties | 2 +- .../constant/rightSolid/radiationProperties | 2 +- .../snappyMultiRegionHeater/constant/topAir/g | 2 +- .../snappyMultiRegionHeater/constant/topAir/radiationProperties | 2 +- .../constant/topAir/thermophysicalProperties | 2 +- .../constant/topAir/turbulenceProperties | 2 +- .../snappyMultiRegionHeater/system/blockMeshDict | 2 +- .../snappyMultiRegionHeater/system/bottomAir/caseProperties | 2 +- .../system/bottomAir/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/bottomAir/decomposeParDict | 2 +- .../snappyMultiRegionHeater/system/bottomAir/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/bottomAir/fvSolution | 2 +- .../snappyMultiRegionHeater/system/controlDict | 2 +- .../snappyMultiRegionHeater/system/decomposeParDict | 2 +- .../snappyMultiRegionHeater/system/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/fvSolution | 2 +- .../snappyMultiRegionHeater/system/heater/caseProperties | 2 +- .../snappyMultiRegionHeater/system/heater/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/heater/decomposeParDict | 2 +- .../snappyMultiRegionHeater/system/heater/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/heater/fvSolution | 2 +- .../snappyMultiRegionHeater/system/leftSolid/caseProperties | 2 +- .../system/leftSolid/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/leftSolid/decomposeParDict | 2 +- .../snappyMultiRegionHeater/system/leftSolid/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/rightSolid/caseProperties | 2 +- .../system/rightSolid/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/rightSolid/decomposeParDict | 2 +- .../snappyMultiRegionHeater/system/rightSolid/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/snappyHexMeshDict | 2 +- .../snappyMultiRegionHeater/system/surfaceFeatureExtractDict | 2 +- .../snappyMultiRegionHeater/system/topAir/caseProperties | 2 +- .../snappyMultiRegionHeater/system/topAir/changeDictionaryDict | 2 +- .../snappyMultiRegionHeater/system/topAir/decomposeParDict | 2 +- .../snappyMultiRegionHeater/system/topAir/fvSchemes | 2 +- .../snappyMultiRegionHeater/system/topAir/fvSolution | 2 +- .../geometric/constant/transportProperties | 2 +- .../geometric/constant/turbulenceProperties | 2 +- .../decompositionConstraints/geometric/system/blockMeshDict | 2 +- .../decompositionConstraints/geometric/system/controlDict | 2 +- .../geometric/system/decomposeConstraints | 2 +- .../decompositionConstraints/geometric/system/decomposeParDict | 2 +- .../geometric/system/decomposeParDict.8 | 2 +- .../decompositionConstraints/geometric/system/fvSchemes | 2 +- .../decompositionConstraints/geometric/system/fvSolution | 2 +- tutorials/resources/geometry/fridgeA.eMesh | 2 +- .../stressAnalysis/solidDisplacementFoam/plateHole/0.orig/D | 2 +- .../stressAnalysis/solidDisplacementFoam/plateHole/0.orig/T | 2 +- .../plateHole/constant/mechanicalProperties | 2 +- .../solidDisplacementFoam/plateHole/constant/thermalProperties | 2 +- .../solidDisplacementFoam/plateHole/system/blockMeshDict | 2 +- .../solidDisplacementFoam/plateHole/system/controlDict | 2 +- .../solidDisplacementFoam/plateHole/system/decomposeParDict | 2 +- .../solidDisplacementFoam/plateHole/system/fvSchemes | 2 +- .../solidDisplacementFoam/plateHole/system/fvSolution | 2 +- .../solidDisplacementFoam/plateHole/system/singleGraph | 2 +- .../solidEquilibriumDisplacementFoam/beamEndLoad/0/D | 2 +- .../solidEquilibriumDisplacementFoam/beamEndLoad/0/p | 2 +- .../beamEndLoad/constant/mechanicalProperties | 2 +- .../beamEndLoad/constant/thermalProperties | 2 +- .../beamEndLoad/system/blockMeshDict | 2 +- .../beamEndLoad/system/controlDict | 2 +- .../beamEndLoad/system/fvSchemes | 2 +- .../beamEndLoad/system/fvSolution | 2 +- .../atmDownstreamDevelopment/setups.orig/common/0.orig/U | 2 +- .../setups.orig/common/0.orig/include/ABLConditions | 2 +- .../atmDownstreamDevelopment/setups.orig/common/0.orig/k | 2 +- .../atmDownstreamDevelopment/setups.orig/common/0.orig/nut | 2 +- .../atmDownstreamDevelopment/setups.orig/common/0.orig/p | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../setups.orig/common/system/blockMeshDict | 2 +- .../setups.orig/common/system/controlDict | 2 +- .../setups.orig/common/system/decomposeParDict | 2 +- .../setups.orig/common/system/fvSchemes | 2 +- .../setups.orig/common/system/fvSolution | 2 +- .../setups.orig/kEpsilon/0.orig/epsilon | 2 +- .../setups.orig/kEpsilon/constant/turbulenceProperties | 2 +- .../atmDownstreamDevelopment/setups.orig/kOmegaSST/0.orig/omega | 2 +- .../setups.orig/kOmegaSST/constant/turbulenceProperties | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/0.orig/Cd | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/0.orig/LAD | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/0.orig/T | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/0.orig/U | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/0.orig/alphat | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/0.orig/k | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/0.orig/nut | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/0.orig/p_rgh | 2 +- .../atmFlatTerrain/precursor/setups.orig/common/constant/g | 2 +- .../precursor/setups.orig/common/constant/transportProperties | 2 +- .../precursor/setups.orig/common/system/blockMeshDict | 2 +- .../precursor/setups.orig/common/system/controlDict | 2 +- .../precursor/setups.orig/common/system/decomposeParDict | 2 +- .../precursor/setups.orig/common/system/fvSchemes | 2 +- .../precursor/setups.orig/common/system/fvSolution | 2 +- .../precursor/setups.orig/kEpsilon/0.orig/epsilon | 2 +- .../atmFlatTerrain/precursor/setups.orig/kEpsilon/0.orig/qPlant | 2 +- .../precursor/setups.orig/kEpsilon/constant/fvOptions | 2 +- .../setups.orig/kEpsilon/constant/turbulenceProperties | 2 +- .../atmFlatTerrain/precursor/setups.orig/kL/0.orig/qPlant | 2 +- .../atmFlatTerrain/precursor/setups.orig/kL/constant/fvOptions | 2 +- .../precursor/setups.orig/kL/constant/turbulenceProperties | 2 +- .../atmFlatTerrain/precursor/setups.orig/kOmegaSST/0.orig/omega | 2 +- .../precursor/setups.orig/kOmegaSST/0.orig/qPlant | 2 +- .../precursor/setups.orig/kOmegaSST/constant/fvOptions | 2 +- .../setups.orig/kOmegaSST/constant/turbulenceProperties | 2 +- .../atmFlatTerrain/successor/setups.orig/common/0.orig/T | 2 +- .../atmFlatTerrain/successor/setups.orig/common/0.orig/U | 2 +- .../atmFlatTerrain/successor/setups.orig/common/0.orig/alphat | 2 +- .../atmFlatTerrain/successor/setups.orig/common/0.orig/k | 2 +- .../atmFlatTerrain/successor/setups.orig/common/0.orig/nut | 2 +- .../atmFlatTerrain/successor/setups.orig/common/0.orig/p_rgh | 2 +- .../successor/setups.orig/common/constant/fvOptions | 2 +- .../atmFlatTerrain/successor/setups.orig/common/constant/g | 2 +- .../successor/setups.orig/common/constant/transportProperties | 2 +- .../successor/setups.orig/common/system/blockMeshDict | 2 +- .../successor/setups.orig/common/system/controlDict | 2 +- .../successor/setups.orig/common/system/createPatchDict | 2 +- .../successor/setups.orig/common/system/decomposeParDict | 2 +- .../successor/setups.orig/common/system/fvSchemes | 2 +- .../successor/setups.orig/common/system/fvSolution | 2 +- .../successor/setups.orig/common/system/mapFieldsDict | 2 +- .../successor/setups.orig/common/system/topoSetDict | 2 +- .../successor/setups.orig/kEpsilon/0.orig/epsilon | 2 +- .../setups.orig/kEpsilon/constant/turbulenceProperties | 2 +- .../atmFlatTerrain/successor/setups.orig/kL/constant/fvOptions | 2 +- .../successor/setups.orig/kL/constant/turbulenceProperties | 2 +- .../atmFlatTerrain/successor/setups.orig/kOmegaSST/0.orig/omega | 2 +- .../setups.orig/kOmegaSST/constant/turbulenceProperties | 2 +- .../atmForestStability/setups.orig/common/0.orig/Cd | 2 +- .../atmForestStability/setups.orig/common/0.orig/LAD | 2 +- .../atmForestStability/setups.orig/common/0.orig/T | 2 +- .../atmForestStability/setups.orig/common/0.orig/U | 2 +- .../atmForestStability/setups.orig/common/0.orig/alphat | 2 +- .../atmForestStability/setups.orig/common/0.orig/epsilon | 2 +- .../atmForestStability/setups.orig/common/0.orig/k | 2 +- .../atmForestStability/setups.orig/common/0.orig/nut | 2 +- .../atmForestStability/setups.orig/common/0.orig/omega | 2 +- .../atmForestStability/setups.orig/common/0.orig/p_rgh | 2 +- .../atmForestStability/setups.orig/common/constant/g | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../setups.orig/common/constant/turbulenceProperties | 2 +- .../atmForestStability/setups.orig/common/system/blockMeshDict | 2 +- .../atmForestStability/setups.orig/common/system/controlDict | 2 +- .../setups.orig/common/system/decomposeParDict | 2 +- .../atmForestStability/setups.orig/common/system/fvSchemes | 2 +- .../atmForestStability/setups.orig/common/system/fvSolution | 2 +- .../atmForestStability/setups.orig/neutral/0.orig/qPlant | 2 +- .../atmForestStability/setups.orig/neutral/constant/fvOptions | 2 +- .../atmForestStability/setups.orig/neutral/system/setFieldsDict | 2 +- .../atmForestStability/setups.orig/slightlyStable/0.orig/qPlant | 2 +- .../setups.orig/slightlyStable/constant/fvOptions | 2 +- .../setups.orig/slightlyStable/system/setFieldsDict | 2 +- .../setups.orig/slightlyUnstable/0.orig/qPlant | 2 +- .../setups.orig/slightlyUnstable/constant/fvOptions | 2 +- .../setups.orig/slightlyUnstable/system/setFieldsDict | 2 +- .../atmForestStability/setups.orig/stable/0.orig/qPlant | 2 +- .../atmForestStability/setups.orig/stable/constant/fvOptions | 2 +- .../atmForestStability/setups.orig/stable/system/setFieldsDict | 2 +- .../atmForestStability/setups.orig/unstable/0.orig/qPlant | 2 +- .../atmForestStability/setups.orig/unstable/constant/fvOptions | 2 +- .../setups.orig/unstable/system/setFieldsDict | 2 +- .../atmForestStability/setups.orig/veryStable/0.orig/qPlant | 2 +- .../setups.orig/veryStable/constant/fvOptions | 2 +- .../setups.orig/veryStable/system/setFieldsDict | 2 +- .../multiphase/StefanProblem/setups.orig/common/0.orig/U | 2 +- .../multiphase/StefanProblem/setups.orig/common/0.orig/p_rgh | 2 +- .../multiphase/StefanProblem/setups.orig/common/constant/g | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../setups.orig/common/constant/turbulenceProperties | 2 +- .../StefanProblem/setups.orig/common/system/blockMeshDict | 2 +- .../StefanProblem/setups.orig/common/system/decomposeParDict | 2 +- .../setups.orig/icoReactingMultiphaseInterFoam/0.orig/T | 2 +- .../setups.orig/icoReactingMultiphaseInterFoam/0.orig/alpha.gas | 2 +- .../icoReactingMultiphaseInterFoam/0.orig/alpha.liquid | 2 +- .../icoReactingMultiphaseInterFoam/constant/phaseProperties | 2 +- .../constant/thermophysicalProperties.gas | 2 +- .../constant/thermophysicalProperties.liquid | 2 +- .../icoReactingMultiphaseInterFoam/system/controlDict | 2 +- .../setups.orig/icoReactingMultiphaseInterFoam/system/fvSchemes | 2 +- .../icoReactingMultiphaseInterFoam/system/fvSolution | 2 +- .../icoReactingMultiphaseInterFoam/system/setAlphaFieldDict.gas | 2 +- .../system/setAlphaFieldDict.liquid | 2 +- .../setups.orig/interCondensatingEvaporatingFoam/0.orig/T | 2 +- .../interCondensatingEvaporatingFoam/0.orig/alpha.liquid | 2 +- .../setups.orig/interCondensatingEvaporatingFoam/0.orig/p | 2 +- .../constant/phaseChangeProperties | 2 +- .../constant/thermophysicalProperties | 2 +- .../interCondensatingEvaporatingFoam/system/controlDict | 2 +- .../interCondensatingEvaporatingFoam/system/fvSchemes | 2 +- .../interCondensatingEvaporatingFoam/system/fvSolution | 2 +- .../interCondensatingEvaporatingFoam/system/setAlphaFieldDict | 2 +- .../multiphase/interIsoFoam/porousDamBreak/0.orig/U | 2 +- .../multiphase/interIsoFoam/porousDamBreak/0.orig/alpha.water | 2 +- .../multiphase/interIsoFoam/porousDamBreak/0.orig/p_rgh | 2 +- .../multiphase/interIsoFoam/porousDamBreak/0.orig/porosity | 2 +- .../multiphase/interIsoFoam/porousDamBreak/constant/g | 2 +- .../interIsoFoam/porousDamBreak/constant/porosityProperties | 2 +- .../interIsoFoam/porousDamBreak/constant/transportProperties | 2 +- .../interIsoFoam/porousDamBreak/constant/turbulenceProperties | 2 +- .../multiphase/interIsoFoam/porousDamBreak/system/blockMeshDict | 2 +- .../multiphase/interIsoFoam/porousDamBreak/system/controlDict | 2 +- .../interIsoFoam/porousDamBreak/system/decomposeParDict | 2 +- .../multiphase/interIsoFoam/porousDamBreak/system/fvSchemes | 2 +- .../multiphase/interIsoFoam/porousDamBreak/system/fvSolution | 2 +- .../multiphase/interIsoFoam/porousDamBreak/system/setFieldsDict | 2 +- .../schemes/divergenceExample/0.orig/T | 2 +- .../schemes/divergenceExample/0.orig/U | 2 +- .../schemes/divergenceExample/constant/transportProperties | 2 +- .../schemes/divergenceExample/system/blockMeshDict | 2 +- .../schemes/divergenceExample/system/controlDict | 2 +- .../schemes/divergenceExample/system/fvSchemes | 2 +- .../schemes/divergenceExample/system/fvSchemes.template | 2 +- .../schemes/divergenceExample/system/fvSolution | 2 +- .../nonOrthogonalChannel/setups.orig/0/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/10/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/20/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/30/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/40/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/50/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/60/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/70/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/80/system/blockMeshDict | 2 +- .../nonOrthogonalChannel/setups.orig/85/system/blockMeshDict | 2 +- .../schemes/nonOrthogonalChannel/setups.orig/common/0.orig/U | 2 +- .../schemes/nonOrthogonalChannel/setups.orig/common/0.orig/k | 2 +- .../schemes/nonOrthogonalChannel/setups.orig/common/0.orig/nut | 2 +- .../nonOrthogonalChannel/setups.orig/common/0.orig/omega | 2 +- .../schemes/nonOrthogonalChannel/setups.orig/common/0.orig/p | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../setups.orig/common/constant/turbulenceProperties | 2 +- .../nonOrthogonalChannel/setups.orig/common/system/controlDict | 2 +- .../setups.orig/common/system/decomposeParDict | 2 +- .../nonOrthogonalChannel/setups.orig/common/system/fvSchemes | 2 +- .../nonOrthogonalChannel/setups.orig/common/system/fvSolution | 2 +- .../setups.orig/common/system/sampleEpsilon | 2 +- .../nonOrthogonalChannel/setups.orig/common/system/sampleG | 2 +- .../nonOrthogonalChannel/setups.orig/common/system/sampleK | 2 +- .../nonOrthogonalChannel/setups.orig/common/system/sampleR | 2 +- .../nonOrthogonalChannel/setups.orig/common/system/sampleU | 2 +- .../skewnessCavity/setups.orig/Gauss-linear/system/fvSchemes | 2 +- .../setups.orig/Gauss-pointLinear/system/fvSchemes | 2 +- .../setups.orig/cellLimited-Gauss-linear-1/system/fvSchemes | 2 +- .../cellLimited-Gauss-pointLinear-1/system/fvSchemes | 2 +- .../cellLimited-iterativeGauss-linear-5-1/system/fvSchemes | 2 +- .../setups.orig/cellLimited-leastSquares-1/system/fvSchemes | 2 +- .../setups.orig/cellMDLimited-Gauss-linear-1/system/fvSchemes | 2 +- .../cellMDLimited-Gauss-pointLinear-1/system/fvSchemes | 2 +- .../cellMDLimited-iterativeGauss-linear-5-1/system/fvSchemes | 2 +- .../setups.orig/cellMDLimited-leastSquares-1/system/fvSchemes | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../skewnessCavity/setups.orig/common/system/controlDict | 2 +- .../skewnessCavity/setups.orig/common/system/cuttingPlane | 2 +- .../skewnessCavity/setups.orig/common/system/decomposeParDict | 2 +- .../schemes/skewnessCavity/setups.orig/common/system/fvSolution | 2 +- .../setups.orig/faceLimited-Gauss-linear-1/system/fvSchemes | 2 +- .../faceLimited-Gauss-pointLinear-1/system/fvSchemes | 2 +- .../faceLimited-iterativeGauss-linear-5-1/system/fvSchemes | 2 +- .../setups.orig/faceLimited-leastSquares-1/system/fvSchemes | 2 +- .../setups.orig/faceMDLimited-Gauss-linear-1/system/fvSchemes | 2 +- .../faceMDLimited-Gauss-pointLinear-1/system/fvSchemes | 2 +- .../faceMDLimited-iterativeGauss-linear-5-1/system/fvSchemes | 2 +- .../setups.orig/faceMDLimited-leastSquares-1/system/fvSchemes | 2 +- .../setups.orig/iterativeGauss-linear-1/system/fvSchemes | 2 +- .../setups.orig/iterativeGauss-linear-10/system/fvSchemes | 2 +- .../setups.orig/iterativeGauss-linear-2/system/fvSchemes | 2 +- .../setups.orig/iterativeGauss-linear-20/system/fvSchemes | 2 +- .../setups.orig/iterativeGauss-linear-3/system/fvSchemes | 2 +- .../setups.orig/iterativeGauss-linear-4/system/fvSchemes | 2 +- .../setups.orig/iterativeGauss-linear-5/system/fvSchemes | 2 +- .../skewnessCavity/setups.orig/leastSquares/system/fvSchemes | 2 +- .../schemes/weightedFluxExample/0.orig/DT | 2 +- .../schemes/weightedFluxExample/0.orig/T | 2 +- .../schemes/weightedFluxExample/constant/transportProperties | 2 +- .../schemes/weightedFluxExample/system/blockMeshDict | 2 +- .../schemes/weightedFluxExample/system/controlDict.template | 2 +- .../schemes/weightedFluxExample/system/fvSchemes.template | 2 +- .../schemes/weightedFluxExample/system/fvSolution | 2 +- .../schemes/weightedFluxExample/system/setFieldsDict | 2 +- .../schemes/weightedFluxExample/system/singleGraph | 2 +- .../planeChannel/setups.orig/EBRSM.setTurbulenceFields/0.orig/R | 2 +- .../setups.orig/EBRSM.setTurbulenceFields/0.orig/epsilon | 2 +- .../planeChannel/setups.orig/EBRSM.setTurbulenceFields/0.orig/f | 2 +- .../planeChannel/setups.orig/EBRSM.setTurbulenceFields/0.orig/k | 2 +- .../EBRSM.setTurbulenceFields/constant/turbulenceProperties | 2 +- .../EBRSM.setTurbulenceFields/system/setTurbulenceFieldsDict | 2 +- .../turbulenceModels/planeChannel/setups.orig/EBRSM/0.orig/R | 2 +- .../planeChannel/setups.orig/EBRSM/0.orig/epsilon | 2 +- .../turbulenceModels/planeChannel/setups.orig/EBRSM/0.orig/f | 2 +- .../turbulenceModels/planeChannel/setups.orig/EBRSM/0.orig/k | 2 +- .../setups.orig/EBRSM/constant/turbulenceProperties | 2 +- .../turbulenceModels/planeChannel/setups.orig/common/0.orig/U | 2 +- .../turbulenceModels/planeChannel/setups.orig/common/0.orig/nut | 2 +- .../turbulenceModels/planeChannel/setups.orig/common/0.orig/p | 2 +- .../planeChannel/setups.orig/common/constant/fvOptions | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../planeChannel/setups.orig/common/system/blockMeshDict | 2 +- .../planeChannel/setups.orig/common/system/controlDict | 2 +- .../planeChannel/setups.orig/common/system/decomposeParDict | 2 +- .../planeChannel/setups.orig/common/system/fvSchemes | 2 +- .../planeChannel/setups.orig/common/system/fvSolution | 2 +- .../planeChannel/setups.orig/common/system/sampleEpsilon | 2 +- .../planeChannel/setups.orig/common/system/sampleF | 2 +- .../planeChannel/setups.orig/common/system/sampleG | 2 +- .../planeChannel/setups.orig/common/system/sampleK | 2 +- .../planeChannel/setups.orig/common/system/sampleR | 2 +- .../planeChannel/setups.orig/common/system/sampleU | 2 +- .../planeChannel/setups.orig/kOmegaSST/0.orig/k | 2 +- .../planeChannel/setups.orig/kOmegaSST/0.orig/omega | 2 +- .../setups.orig/kOmegaSST/constant/turbulenceProperties | 2 +- .../oneCellThickPlaneChannel/setups.orig/DFM/0.orig/T | 2 +- .../oneCellThickPlaneChannel/setups.orig/DFM/0.orig/U | 2 +- .../oneCellThickPlaneChannel/setups.orig/DFSEM/0.orig/U | 2 +- .../oneCellThickPlaneChannel/setups.orig/FSM/0.orig/T | 2 +- .../oneCellThickPlaneChannel/setups.orig/FSM/0.orig/U | 2 +- .../oneCellThickPlaneChannel/setups.orig/common/0.orig/T | 2 +- .../oneCellThickPlaneChannel/setups.orig/common/0.orig/nut | 2 +- .../oneCellThickPlaneChannel/setups.orig/common/0.orig/p | 2 +- .../setups.orig/common/constant/transportProperties | 2 +- .../setups.orig/common/constant/turbulenceProperties | 2 +- .../setups.orig/common/system/blockMeshDict | 2 +- .../setups.orig/common/system/controlDict | 2 +- .../setups.orig/common/system/decomposeParDict | 2 +- .../setups.orig/common/system/fvSchemes | 2 +- .../setups.orig/common/system/fvSolution | 2 +- 9375 files changed, 9375 insertions(+), 9375 deletions(-) diff --git a/applications/test/Function1/case1/constant/function1Properties b/applications/test/Function1/case1/constant/function1Properties index f142db150e5..9940ad56d2b 100644 --- a/applications/test/Function1/case1/constant/function1Properties +++ b/applications/test/Function1/case1/constant/function1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/Function1/case1/system/controlDict b/applications/test/Function1/case1/system/controlDict index 745d0b03741..6ffc896c532 100644 --- a/applications/test/Function1/case1/system/controlDict +++ b/applications/test/Function1/case1/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/Hashing2/hashingTests b/applications/test/Hashing2/hashingTests index e47c218eb26..e3883f82ef4 100644 --- a/applications/test/Hashing2/hashingTests +++ b/applications/test/Hashing2/hashingTests @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/PDRblockMesh/box0/system/PDRblockMeshDict b/applications/test/PDRblockMesh/box0/system/PDRblockMeshDict index cba7f4354bb..e476cd9650e 100644 --- a/applications/test/PDRblockMesh/box0/system/PDRblockMeshDict +++ b/applications/test/PDRblockMesh/box0/system/PDRblockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/PDRblockMesh/box0/system/controlDict b/applications/test/PDRblockMesh/box0/system/controlDict index f1a3ed8af8c..146750221a6 100644 --- a/applications/test/PDRblockMesh/box0/system/controlDict +++ b/applications/test/PDRblockMesh/box0/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/PDRblockMesh/box0/system/fvSchemes b/applications/test/PDRblockMesh/box0/system/fvSchemes index d56caeca4f9..4862a13b3d5 100644 --- a/applications/test/PDRblockMesh/box0/system/fvSchemes +++ b/applications/test/PDRblockMesh/box0/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/PDRblockMesh/box0/system/fvSolution b/applications/test/PDRblockMesh/box0/system/fvSolution index 8eca38b352b..eeec2dc69eb 100644 --- a/applications/test/PDRblockMesh/box0/system/fvSolution +++ b/applications/test/PDRblockMesh/box0/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/PatchFunction1/function1Properties b/applications/test/PatchFunction1/function1Properties index 8f3cecb0e11..57ade1f8320 100644 --- a/applications/test/PatchFunction1/function1Properties +++ b/applications/test/PatchFunction1/function1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/codeStream/codeStreamDict1 b/applications/test/codeStream/codeStreamDict1 index 56ed04cde34..29ad9906475 100644 --- a/applications/test/codeStream/codeStreamDict1 +++ b/applications/test/codeStream/codeStreamDict1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/compoundToken1/testDict1 b/applications/test/compoundToken1/testDict1 index b41a1c0f816..e66b1ac5588 100644 --- a/applications/test/compoundToken1/testDict1 +++ b/applications/test/compoundToken1/testDict1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/compoundToken1/testDict2 b/applications/test/compoundToken1/testDict2 index 36b1b81094e..f989f3e6a55 100644 --- a/applications/test/compoundToken1/testDict2 +++ b/applications/test/compoundToken1/testDict2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/coordinateSystem/testCase0/constant/coordinateSystems b/applications/test/coordinateSystem/testCase0/constant/coordinateSystems index a76791014fb..3e88df8f6f5 100644 --- a/applications/test/coordinateSystem/testCase0/constant/coordinateSystems +++ b/applications/test/coordinateSystem/testCase0/constant/coordinateSystems @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/coordinateSystem/testCase0/system/controlDict b/applications/test/coordinateSystem/testCase0/system/controlDict index 65a91311126..ac5d5639b51 100644 --- a/applications/test/coordinateSystem/testCase0/system/controlDict +++ b/applications/test/coordinateSystem/testCase0/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/coordinateSystem/testCase1/constant/coordinateSystems b/applications/test/coordinateSystem/testCase1/constant/coordinateSystems index 15c7d061d53..0f507f8ae15 100644 --- a/applications/test/coordinateSystem/testCase1/constant/coordinateSystems +++ b/applications/test/coordinateSystem/testCase1/constant/coordinateSystems @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/coordinateSystem/testCase1/system/controlDict b/applications/test/coordinateSystem/testCase1/system/controlDict index 65a91311126..ac5d5639b51 100644 --- a/applications/test/coordinateSystem/testCase1/system/controlDict +++ b/applications/test/coordinateSystem/testCase1/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/coordinateSystem/testCsys1 b/applications/test/coordinateSystem/testCsys1 index bb6752d23fc..3def73caa8b 100644 --- a/applications/test/coordinateSystem/testCsys1 +++ b/applications/test/coordinateSystem/testCsys1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/coordinateSystem/testCsys2 b/applications/test/coordinateSystem/testCsys2 index 4cddba27704..18c24bdfe52 100644 --- a/applications/test/coordinateSystem/testCsys2 +++ b/applications/test/coordinateSystem/testCsys2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/blockMeshDict1.calc b/applications/test/dictionary/blockMeshDict1.calc index 043d671ea5f..90caf2a5ac7 100644 --- a/applications/test/dictionary/blockMeshDict1.calc +++ b/applications/test/dictionary/blockMeshDict1.calc @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/blockMeshDict1.eval b/applications/test/dictionary/blockMeshDict1.eval index 7081405017b..96674468b12 100644 --- a/applications/test/dictionary/blockMeshDict1.eval +++ b/applications/test/dictionary/blockMeshDict1.eval @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDict b/applications/test/dictionary/testDict index e6b042ba95a..ea4ef8abcac 100644 --- a/applications/test/dictionary/testDict +++ b/applications/test/dictionary/testDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDict2 b/applications/test/dictionary/testDict2 index d7794df3bef..c92a7620e0d 100644 --- a/applications/test/dictionary/testDict2 +++ b/applications/test/dictionary/testDict2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictAPI b/applications/test/dictionary/testDictAPI index 273abe443ca..da455073518 100644 --- a/applications/test/dictionary/testDictAPI +++ b/applications/test/dictionary/testDictAPI @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictCalc1 b/applications/test/dictionary/testDictCalc1 index 5baa0ca844b..4b4f0eae79f 100644 --- a/applications/test/dictionary/testDictCalc1 +++ b/applications/test/dictionary/testDictCalc1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictEval1 b/applications/test/dictionary/testDictEval1 index ddaf60300ff..e0389486930 100644 --- a/applications/test/dictionary/testDictEval1 +++ b/applications/test/dictionary/testDictEval1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictEval2 b/applications/test/dictionary/testDictEval2 index 177d20b4914..987b7a4f74e 100644 --- a/applications/test/dictionary/testDictEval2 +++ b/applications/test/dictionary/testDictEval2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictEval3 b/applications/test/dictionary/testDictEval3 index b1314d56b16..1de245d0ec3 100644 --- a/applications/test/dictionary/testDictEval3 +++ b/applications/test/dictionary/testDictEval3 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictEval4 b/applications/test/dictionary/testDictEval4 index 1861bc8242b..c0484eaf294 100644 --- a/applications/test/dictionary/testDictEval4 +++ b/applications/test/dictionary/testDictEval4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictEval5 b/applications/test/dictionary/testDictEval5 index 01f27c7586d..04cfadb2e40 100644 --- a/applications/test/dictionary/testDictEval5 +++ b/applications/test/dictionary/testDictEval5 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictList b/applications/test/dictionary/testDictList index 02b49a246e0..e0afa733666 100644 --- a/applications/test/dictionary/testDictList +++ b/applications/test/dictionary/testDictList @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testDictRegex b/applications/test/dictionary/testDictRegex index 99cc374f619..eafc4ef03a1 100644 --- a/applications/test/dictionary/testDictRegex +++ b/applications/test/dictionary/testDictRegex @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testPrimitiveEntry b/applications/test/dictionary/testPrimitiveEntry index 3f295269158..fcfc01fe2e5 100644 --- a/applications/test/dictionary/testPrimitiveEntry +++ b/applications/test/dictionary/testPrimitiveEntry @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionary/testSubkeyword b/applications/test/dictionary/testSubkeyword index 02351728c29..272f8d84b98 100644 --- a/applications/test/dictionary/testSubkeyword +++ b/applications/test/dictionary/testSubkeyword @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/dictionaryCopy/testDictCopy b/applications/test/dictionaryCopy/testDictCopy index 2e07bea3dd2..8ba9475131a 100644 --- a/applications/test/dictionaryCopy/testDictCopy +++ b/applications/test/dictionaryCopy/testDictCopy @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/exprEntry/testDict1 b/applications/test/exprEntry/testDict1 index e59409c464b..3923565fb30 100644 --- a/applications/test/exprEntry/testDict1 +++ b/applications/test/exprEntry/testDict1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/fieldMapping/pipe1D/constant/manualDecomposition b/applications/test/fieldMapping/pipe1D/constant/manualDecomposition index 75891bcfda4..4ca26d32ddb 100644 --- a/applications/test/fieldMapping/pipe1D/constant/manualDecomposition +++ b/applications/test/fieldMapping/pipe1D/constant/manualDecomposition @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/fieldMapping/pipe1D/constant/transportProperties b/applications/test/fieldMapping/pipe1D/constant/transportProperties index b75993c5a80..871e36bb82b 100644 --- a/applications/test/fieldMapping/pipe1D/constant/transportProperties +++ b/applications/test/fieldMapping/pipe1D/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/fieldMapping/pipe1D/system/blockMeshDict b/applications/test/fieldMapping/pipe1D/system/blockMeshDict index f4a6b6cd702..d6672563677 100644 --- a/applications/test/fieldMapping/pipe1D/system/blockMeshDict +++ b/applications/test/fieldMapping/pipe1D/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/fieldMapping/pipe1D/system/controlDict b/applications/test/fieldMapping/pipe1D/system/controlDict index bada788be25..5ae3e4f247c 100644 --- a/applications/test/fieldMapping/pipe1D/system/controlDict +++ b/applications/test/fieldMapping/pipe1D/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/fieldMapping/pipe1D/system/fvSchemes b/applications/test/fieldMapping/pipe1D/system/fvSchemes index 006d7ed2dfd..a7131dd6c4d 100644 --- a/applications/test/fieldMapping/pipe1D/system/fvSchemes +++ b/applications/test/fieldMapping/pipe1D/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/fieldMapping/pipe1D/system/fvSolution b/applications/test/fieldMapping/pipe1D/system/fvSolution index 6059d89847c..e8d26ebaf71 100644 --- a/applications/test/fieldMapping/pipe1D/system/fvSolution +++ b/applications/test/fieldMapping/pipe1D/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/gravityMeshObject/case1/constant/banana b/applications/test/gravityMeshObject/case1/constant/banana index 9b2d0cb8081..3e79cdd108e 100644 --- a/applications/test/gravityMeshObject/case1/constant/banana +++ b/applications/test/gravityMeshObject/case1/constant/banana @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/gravityMeshObject/case1/constant/g b/applications/test/gravityMeshObject/case1/constant/g index f1f11742fbd..ee1da146fdb 100644 --- a/applications/test/gravityMeshObject/case1/constant/g +++ b/applications/test/gravityMeshObject/case1/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/gravityMeshObject/case1/constant/saturn b/applications/test/gravityMeshObject/case1/constant/saturn index 909ada6d3b7..c6e70e84e47 100644 --- a/applications/test/gravityMeshObject/case1/constant/saturn +++ b/applications/test/gravityMeshObject/case1/constant/saturn @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/gravityMeshObject/case1/system/controlDict b/applications/test/gravityMeshObject/case1/system/controlDict index f87a3b9a99d..06d786972f5 100644 --- a/applications/test/gravityMeshObject/case1/system/controlDict +++ b/applications/test/gravityMeshObject/case1/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/hexRef8/block/constant/manualDecomposition b/applications/test/hexRef8/block/constant/manualDecomposition index 75891bcfda4..4ca26d32ddb 100644 --- a/applications/test/hexRef8/block/constant/manualDecomposition +++ b/applications/test/hexRef8/block/constant/manualDecomposition @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/hexRef8/block/constant/transportProperties b/applications/test/hexRef8/block/constant/transportProperties index b75993c5a80..871e36bb82b 100644 --- a/applications/test/hexRef8/block/constant/transportProperties +++ b/applications/test/hexRef8/block/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/hexRef8/block/system/blockMeshDict b/applications/test/hexRef8/block/system/blockMeshDict index 2ca591b2c30..460793d9577 100644 --- a/applications/test/hexRef8/block/system/blockMeshDict +++ b/applications/test/hexRef8/block/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/hexRef8/block/system/controlDict b/applications/test/hexRef8/block/system/controlDict index e709979f885..2879c99ce29 100644 --- a/applications/test/hexRef8/block/system/controlDict +++ b/applications/test/hexRef8/block/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/hexRef8/block/system/fvSchemes b/applications/test/hexRef8/block/system/fvSchemes index 006d7ed2dfd..a7131dd6c4d 100644 --- a/applications/test/hexRef8/block/system/fvSchemes +++ b/applications/test/hexRef8/block/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/hexRef8/block/system/fvSolution b/applications/test/hexRef8/block/system/fvSolution index 6059d89847c..e8d26ebaf71 100644 --- a/applications/test/hexRef8/block/system/fvSolution +++ b/applications/test/hexRef8/block/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/0/U b/applications/test/mapDistributePolyMesh/cavity/0/U index 71dbd146d6c..b2fe3135a7c 100644 --- a/applications/test/mapDistributePolyMesh/cavity/0/U +++ b/applications/test/mapDistributePolyMesh/cavity/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/0/p b/applications/test/mapDistributePolyMesh/cavity/0/p index 448b60413be..ef4fcf836f6 100644 --- a/applications/test/mapDistributePolyMesh/cavity/0/p +++ b/applications/test/mapDistributePolyMesh/cavity/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/0/phi b/applications/test/mapDistributePolyMesh/cavity/0/phi index 34461f9503f..807552eff61 100644 --- a/applications/test/mapDistributePolyMesh/cavity/0/phi +++ b/applications/test/mapDistributePolyMesh/cavity/0/phi @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/constant/transportProperties b/applications/test/mapDistributePolyMesh/cavity/constant/transportProperties index b75993c5a80..871e36bb82b 100644 --- a/applications/test/mapDistributePolyMesh/cavity/constant/transportProperties +++ b/applications/test/mapDistributePolyMesh/cavity/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/blockMeshDict b/applications/test/mapDistributePolyMesh/cavity/system/blockMeshDict index b968c8e83c0..4cc52dc0b74 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/blockMeshDict +++ b/applications/test/mapDistributePolyMesh/cavity/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/controlDict b/applications/test/mapDistributePolyMesh/cavity/system/controlDict index 776c9a39459..88560e1e0ed 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/controlDict +++ b/applications/test/mapDistributePolyMesh/cavity/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/controlDict-latestTime b/applications/test/mapDistributePolyMesh/cavity/system/controlDict-latestTime index e5820c6d838..da24012b6ba 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/controlDict-latestTime +++ b/applications/test/mapDistributePolyMesh/cavity/system/controlDict-latestTime @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/controlDict-startTime b/applications/test/mapDistributePolyMesh/cavity/system/controlDict-startTime index 776c9a39459..88560e1e0ed 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/controlDict-startTime +++ b/applications/test/mapDistributePolyMesh/cavity/system/controlDict-startTime @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict index 7752ce74f0d..5c82f89759d 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict +++ b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-hierarchical b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-hierarchical index 27aa8e4a049..d5306fb0c4b 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-hierarchical +++ b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-hierarchical @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-scotch b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-scotch index 4c888b43bf0..870efdf9677 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-scotch +++ b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-scotch @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict.2 b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict.2 index 49c6b2a5a10..28c9bd0655f 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict.2 +++ b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict.2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict.5 b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict.5 index d310f61e5bc..6af33514f26 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict.5 +++ b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict.5 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/fvSchemes b/applications/test/mapDistributePolyMesh/cavity/system/fvSchemes index 51748f98add..d98fb1d34a8 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/fvSchemes +++ b/applications/test/mapDistributePolyMesh/cavity/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/fvSolution b/applications/test/mapDistributePolyMesh/cavity/system/fvSolution index c524793be62..330d6a35fd0 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/fvSolution +++ b/applications/test/mapDistributePolyMesh/cavity/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/mapDistributePolyMesh/cavity/system/processorField b/applications/test/mapDistributePolyMesh/cavity/system/processorField index 43fc261bb06..a2ba129d618 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/processorField +++ b/applications/test/mapDistributePolyMesh/cavity/system/processorField @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/T b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/T index 4848b1e6b3b..f9ee66a651e 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/T +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/U b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/U index 6dc2df1c588..a1246f6443b 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/U +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/epsilon b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/epsilon index 03942edf9c9..1eea0f7c7a6 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/epsilon +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/k b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/k index 63f289e2081..d11a43ee146 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/k +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p index 62072fd3a72..a46390c250c 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p_rgh b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p_rgh index b07ef7b9bee..fce7509da2c 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p_rgh +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/0/topAir/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/g b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/g index 881915bac2f..32870956d50 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/g +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/regionProperties b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/regionProperties index 085c4927ef4..d69e9ef84d6 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/regionProperties +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/radiationProperties b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/radiationProperties +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/thermophysicalProperties b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/thermophysicalProperties +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/turbulenceProperties b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/turbulenceProperties index 0e4214acde2..f0c14e0b36b 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/turbulenceProperties +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/constant/topAir/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/controlDict b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/controlDict index fee5618da1f..bd6b19dd4e4 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/controlDict +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/decomposeParDict b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/decomposeParDict index e00f3cec98a..86ffb4fba91 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/decomposeParDict +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSchemes b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSchemes index 0bba6405081..0d18e212eab 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSchemes +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSolution b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSolution index 1d96f891266..886d8b90729 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSolution +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/topAir/blockMeshDict b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/topAir/blockMeshDict index c13fe6564d2..62fd33a385b 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/topAir/blockMeshDict +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/fluid/system/topAir/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/T b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/T index a658657e05b..4a4041052f5 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/T +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/p b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/p index 55c6ddb14ea..2d379bf42c8 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/p +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/0/bottomSolid/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/bottomSolid/radiationProperties b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/bottomSolid/radiationProperties index cdf5c8901bc..5cde2ae1222 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/bottomSolid/radiationProperties +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/bottomSolid/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/bottomSolid/thermophysicalProperties b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/bottomSolid/thermophysicalProperties index 088877f64fa..5954c4103d1 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/bottomSolid/thermophysicalProperties +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/bottomSolid/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/g b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/g index 881915bac2f..32870956d50 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/g +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/regionProperties b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/regionProperties index fad6e94ce4a..798b6949426 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/regionProperties +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/blockMeshDict b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/blockMeshDict index b5fb65ae9f2..84d74dff2f9 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/blockMeshDict +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSchemes b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSchemes index dc9195c35e8..74c584a3323 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSchemes +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSolution b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSolution index 69ef7e610c4..88b3f332a66 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSolution +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/bottomSolid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/controlDict b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/controlDict index fee5618da1f..bd6b19dd4e4 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/controlDict +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/decomposeParDict b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/decomposeParDict index e00f3cec98a..86ffb4fba91 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/decomposeParDict +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSchemes b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSchemes index 204bf61ca98..6b52e49180e 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSchemes +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSolution b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSolution index 3d469994c91..bdb511f3c08 100644 --- a/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSolution +++ b/applications/test/multiWorld/chtMultiRegionSimpleFoam/solid/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/0/T b/applications/test/multiWorld/solidFoam/solid1/0/T index 12287e6c310..7bc953313f7 100644 --- a/applications/test/multiWorld/solidFoam/solid1/0/T +++ b/applications/test/multiWorld/solidFoam/solid1/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/0/p b/applications/test/multiWorld/solidFoam/solid1/0/p index eacb64e0af5..7bee48b936b 100644 --- a/applications/test/multiWorld/solidFoam/solid1/0/p +++ b/applications/test/multiWorld/solidFoam/solid1/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/constant/g b/applications/test/multiWorld/solidFoam/solid1/constant/g index 881915bac2f..32870956d50 100644 --- a/applications/test/multiWorld/solidFoam/solid1/constant/g +++ b/applications/test/multiWorld/solidFoam/solid1/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/constant/radiationProperties b/applications/test/multiWorld/solidFoam/solid1/constant/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/applications/test/multiWorld/solidFoam/solid1/constant/radiationProperties +++ b/applications/test/multiWorld/solidFoam/solid1/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/constant/thermophysicalProperties b/applications/test/multiWorld/solidFoam/solid1/constant/thermophysicalProperties index 088877f64fa..5954c4103d1 100644 --- a/applications/test/multiWorld/solidFoam/solid1/constant/thermophysicalProperties +++ b/applications/test/multiWorld/solidFoam/solid1/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/system/blockMeshDict b/applications/test/multiWorld/solidFoam/solid1/system/blockMeshDict index 6b59b899c79..ebe4fd109f4 100644 --- a/applications/test/multiWorld/solidFoam/solid1/system/blockMeshDict +++ b/applications/test/multiWorld/solidFoam/solid1/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/system/controlDict b/applications/test/multiWorld/solidFoam/solid1/system/controlDict index 6411ee47043..5777bb4f15b 100644 --- a/applications/test/multiWorld/solidFoam/solid1/system/controlDict +++ b/applications/test/multiWorld/solidFoam/solid1/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/system/decomposeParDict b/applications/test/multiWorld/solidFoam/solid1/system/decomposeParDict index e00f3cec98a..86ffb4fba91 100644 --- a/applications/test/multiWorld/solidFoam/solid1/system/decomposeParDict +++ b/applications/test/multiWorld/solidFoam/solid1/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/system/fvSchemes b/applications/test/multiWorld/solidFoam/solid1/system/fvSchemes index cd57e165594..1ea5e5c9ba3 100644 --- a/applications/test/multiWorld/solidFoam/solid1/system/fvSchemes +++ b/applications/test/multiWorld/solidFoam/solid1/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1/system/fvSolution b/applications/test/multiWorld/solidFoam/solid1/system/fvSolution index c8aacc1f72b..c810bcbef63 100644 --- a/applications/test/multiWorld/solidFoam/solid1/system/fvSolution +++ b/applications/test/multiWorld/solidFoam/solid1/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/T b/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/T index 12287e6c310..7bc953313f7 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/T +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/p b/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/p index eacb64e0af5..7bee48b936b 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/p +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid1/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/T b/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/T index 022da3b3e11..280044f46c1 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/T +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/p b/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/p index 41649262b73..39e1b174dc2 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/p +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/0.orig/solid2/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/constant/g b/applications/test/multiWorld/solidFoam/solid1_solid2/constant/g index 881915bac2f..32870956d50 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/constant/g +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/constant/regionProperties b/applications/test/multiWorld/solidFoam/solid1_solid2/constant/regionProperties index 34cb5058fff..76132afadcc 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/constant/regionProperties +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/constant/solid1/radiationProperties b/applications/test/multiWorld/solidFoam/solid1_solid2/constant/solid1/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/constant/solid1/radiationProperties +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/constant/solid1/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/constant/solid1/thermophysicalProperties b/applications/test/multiWorld/solidFoam/solid1_solid2/constant/solid1/thermophysicalProperties index 088877f64fa..5954c4103d1 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/constant/solid1/thermophysicalProperties +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/constant/solid1/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/system/controlDict b/applications/test/multiWorld/solidFoam/solid1_solid2/system/controlDict index 3aa721be88d..1d6ed623791 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/system/controlDict +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSchemes b/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSchemes index cd57e165594..1ea5e5c9ba3 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSchemes +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSolution b/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSolution index ac42485a2f7..3655bbbf2ff 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSolution +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSolution-energyCoupling b/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSolution-energyCoupling index ac42485a2f7..3655bbbf2ff 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSolution-energyCoupling +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/system/fvSolution-energyCoupling @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/system/solid1/blockMeshDict b/applications/test/multiWorld/solidFoam/solid1_solid2/system/solid1/blockMeshDict index 3a84e9403ef..32669c88e97 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/system/solid1/blockMeshDict +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/system/solid1/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid1_solid2/system/solid2/blockMeshDict b/applications/test/multiWorld/solidFoam/solid1_solid2/system/solid2/blockMeshDict index ae93b55577d..8af815d41c1 100644 --- a/applications/test/multiWorld/solidFoam/solid1_solid2/system/solid2/blockMeshDict +++ b/applications/test/multiWorld/solidFoam/solid1_solid2/system/solid2/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid2/0/T b/applications/test/multiWorld/solidFoam/solid2/0/T index 022da3b3e11..280044f46c1 100644 --- a/applications/test/multiWorld/solidFoam/solid2/0/T +++ b/applications/test/multiWorld/solidFoam/solid2/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid2/0/p b/applications/test/multiWorld/solidFoam/solid2/0/p index 41649262b73..39e1b174dc2 100644 --- a/applications/test/multiWorld/solidFoam/solid2/0/p +++ b/applications/test/multiWorld/solidFoam/solid2/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/multiWorld/solidFoam/solid2/system/blockMeshDict b/applications/test/multiWorld/solidFoam/solid2/system/blockMeshDict index df5378febfc..bcf42cf23bd 100644 --- a/applications/test/multiWorld/solidFoam/solid2/system/blockMeshDict +++ b/applications/test/multiWorld/solidFoam/solid2/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/namedDictionary/testDict1 b/applications/test/namedDictionary/testDict1 index ba787f0f05d..adfc10ac26e 100644 --- a/applications/test/namedDictionary/testDict1 +++ b/applications/test/namedDictionary/testDict1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/oneBlock_cyclic/0/T b/applications/test/parallel-comm1/oneBlock_cyclic/0/T index 8460cc6cf9c..25bb850ce60 100644 --- a/applications/test/parallel-comm1/oneBlock_cyclic/0/T +++ b/applications/test/parallel-comm1/oneBlock_cyclic/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/oneBlock_cyclic/constant/transportProperties b/applications/test/parallel-comm1/oneBlock_cyclic/constant/transportProperties index 5d74f54db07..39f9579daa9 100644 --- a/applications/test/parallel-comm1/oneBlock_cyclic/constant/transportProperties +++ b/applications/test/parallel-comm1/oneBlock_cyclic/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/oneBlock_cyclic/system/blockMeshDict b/applications/test/parallel-comm1/oneBlock_cyclic/system/blockMeshDict index d6025ee7cfb..0717d45c256 100644 --- a/applications/test/parallel-comm1/oneBlock_cyclic/system/blockMeshDict +++ b/applications/test/parallel-comm1/oneBlock_cyclic/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/oneBlock_cyclic/system/controlDict b/applications/test/parallel-comm1/oneBlock_cyclic/system/controlDict index 9ad032b48ce..2731f22f2d0 100644 --- a/applications/test/parallel-comm1/oneBlock_cyclic/system/controlDict +++ b/applications/test/parallel-comm1/oneBlock_cyclic/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/oneBlock_cyclic/system/decomposeParDict b/applications/test/parallel-comm1/oneBlock_cyclic/system/decomposeParDict index 8e8ac9d16bd..4bad0dfc917 100644 --- a/applications/test/parallel-comm1/oneBlock_cyclic/system/decomposeParDict +++ b/applications/test/parallel-comm1/oneBlock_cyclic/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/oneBlock_cyclic/system/fvSchemes b/applications/test/parallel-comm1/oneBlock_cyclic/system/fvSchemes index 6ca6eae217e..cc30cf8904e 100644 --- a/applications/test/parallel-comm1/oneBlock_cyclic/system/fvSchemes +++ b/applications/test/parallel-comm1/oneBlock_cyclic/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/oneBlock_cyclic/system/fvSolution b/applications/test/parallel-comm1/oneBlock_cyclic/system/fvSolution index d12ab2519c5..782b71974f4 100644 --- a/applications/test/parallel-comm1/oneBlock_cyclic/system/fvSolution +++ b/applications/test/parallel-comm1/oneBlock_cyclic/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/T b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/T index d57a1d9af0e..b412c656e65 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/T +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/cellToRegion b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/cellToRegion index 3e8b23d6a19..17560e6e5d0 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/cellToRegion +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/cellToRegion @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/processorID b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/processorID index 2be2281188e..b4e207a07f4 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/processorID +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/0/processorID @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/constant/transportProperties b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/constant/transportProperties index 5d74f54db07..39f9579daa9 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/constant/transportProperties +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/blockMeshDict b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/blockMeshDict index 126c34e4baf..234c4cdbdde 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/blockMeshDict +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/controlDict b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/controlDict index 9ad032b48ce..2731f22f2d0 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/controlDict +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/decomposeParDict b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/decomposeParDict index 019150f5139..d9f27c5d342 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/decomposeParDict +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSchemes b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSchemes index 6ca6eae217e..cc30cf8904e 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSchemes +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSolution b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSolution index d12ab2519c5..782b71974f4 100644 --- a/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSolution +++ b/applications/test/parallel-comm1/twoBlocks_cyclicAMI/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/0.orig/T b/applications/test/parallelOverset/heatTransfer/0.orig/T index 4b9f8117500..833a8ce584c 100644 --- a/applications/test/parallelOverset/heatTransfer/0.orig/T +++ b/applications/test/parallelOverset/heatTransfer/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/0.orig/pointDisplacement b/applications/test/parallelOverset/heatTransfer/0.orig/pointDisplacement index 5d75e0d5e76..ccc10feff4c 100644 --- a/applications/test/parallelOverset/heatTransfer/0.orig/pointDisplacement +++ b/applications/test/parallelOverset/heatTransfer/0.orig/pointDisplacement @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/0.orig/zoneID b/applications/test/parallelOverset/heatTransfer/0.orig/zoneID index 36201b2e4e7..9235ad3aeb5 100644 --- a/applications/test/parallelOverset/heatTransfer/0.orig/zoneID +++ b/applications/test/parallelOverset/heatTransfer/0.orig/zoneID @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/constant/dynamicMeshDict b/applications/test/parallelOverset/heatTransfer/constant/dynamicMeshDict index 238f0ef8e6b..71ac63592ad 100644 --- a/applications/test/parallelOverset/heatTransfer/constant/dynamicMeshDict +++ b/applications/test/parallelOverset/heatTransfer/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/constant/transportProperties b/applications/test/parallelOverset/heatTransfer/constant/transportProperties index 7f89780e5d4..baa2904b081 100644 --- a/applications/test/parallelOverset/heatTransfer/constant/transportProperties +++ b/applications/test/parallelOverset/heatTransfer/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/blockMeshDict b/applications/test/parallelOverset/heatTransfer/system/blockMeshDict index 7e71841d3d1..276b56bf9a7 100644 --- a/applications/test/parallelOverset/heatTransfer/system/blockMeshDict +++ b/applications/test/parallelOverset/heatTransfer/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/controlDict b/applications/test/parallelOverset/heatTransfer/system/controlDict index ee167aaafc6..afa6e27e880 100644 --- a/applications/test/parallelOverset/heatTransfer/system/controlDict +++ b/applications/test/parallelOverset/heatTransfer/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/decomposeParDict b/applications/test/parallelOverset/heatTransfer/system/decomposeParDict index cf5d134fa1b..ba0ea0351a3 100644 --- a/applications/test/parallelOverset/heatTransfer/system/decomposeParDict +++ b/applications/test/parallelOverset/heatTransfer/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/fvSchemes b/applications/test/parallelOverset/heatTransfer/system/fvSchemes index 5802dfc133d..85dd06cce54 100644 --- a/applications/test/parallelOverset/heatTransfer/system/fvSchemes +++ b/applications/test/parallelOverset/heatTransfer/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/fvSolution b/applications/test/parallelOverset/heatTransfer/system/fvSolution index d42b7ed6889..425ece7ffa1 100644 --- a/applications/test/parallelOverset/heatTransfer/system/fvSolution +++ b/applications/test/parallelOverset/heatTransfer/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/postProcessingDict b/applications/test/parallelOverset/heatTransfer/system/postProcessingDict index 6bbc6214d4e..82e626844ab 100644 --- a/applications/test/parallelOverset/heatTransfer/system/postProcessingDict +++ b/applications/test/parallelOverset/heatTransfer/system/postProcessingDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/processorField b/applications/test/parallelOverset/heatTransfer/system/processorField index e643c183841..b1fc0f49db9 100644 --- a/applications/test/parallelOverset/heatTransfer/system/processorField +++ b/applications/test/parallelOverset/heatTransfer/system/processorField @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/setFieldsDict b/applications/test/parallelOverset/heatTransfer/system/setFieldsDict index c9334c623ab..2f92137b3f0 100644 --- a/applications/test/parallelOverset/heatTransfer/system/setFieldsDict +++ b/applications/test/parallelOverset/heatTransfer/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/parallelOverset/heatTransfer/system/topoSetDict b/applications/test/parallelOverset/heatTransfer/system/topoSetDict index 635f7268b63..e54e2d61d49 100644 --- a/applications/test/parallelOverset/heatTransfer/system/topoSetDict +++ b/applications/test/parallelOverset/heatTransfer/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/patchRegion/cavity_pinched/constant/transportProperties b/applications/test/patchRegion/cavity_pinched/constant/transportProperties index b75993c5a80..871e36bb82b 100644 --- a/applications/test/patchRegion/cavity_pinched/constant/transportProperties +++ b/applications/test/patchRegion/cavity_pinched/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/patchRegion/cavity_pinched/system/blockMeshDict b/applications/test/patchRegion/cavity_pinched/system/blockMeshDict index a2e490626ee..56483929879 100644 --- a/applications/test/patchRegion/cavity_pinched/system/blockMeshDict +++ b/applications/test/patchRegion/cavity_pinched/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/patchRegion/cavity_pinched/system/collapseDict b/applications/test/patchRegion/cavity_pinched/system/collapseDict index 41372f5bd90..ec549fbf460 100644 --- a/applications/test/patchRegion/cavity_pinched/system/collapseDict +++ b/applications/test/patchRegion/cavity_pinched/system/collapseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/patchRegion/cavity_pinched/system/controlDict b/applications/test/patchRegion/cavity_pinched/system/controlDict index 8327fcb45ba..4503cc9de89 100644 --- a/applications/test/patchRegion/cavity_pinched/system/controlDict +++ b/applications/test/patchRegion/cavity_pinched/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/patchRegion/cavity_pinched/system/decomposeParDict b/applications/test/patchRegion/cavity_pinched/system/decomposeParDict index f0d6557eb3c..d23c935022a 100644 --- a/applications/test/patchRegion/cavity_pinched/system/decomposeParDict +++ b/applications/test/patchRegion/cavity_pinched/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/patchRegion/cavity_pinched/system/fvSchemes b/applications/test/patchRegion/cavity_pinched/system/fvSchemes index c0f00b28b74..3edc14892c0 100644 --- a/applications/test/patchRegion/cavity_pinched/system/fvSchemes +++ b/applications/test/patchRegion/cavity_pinched/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/patchRegion/cavity_pinched/system/fvSolution b/applications/test/patchRegion/cavity_pinched/system/fvSolution index 98ae6de448c..68b888be0cb 100644 --- a/applications/test/patchRegion/cavity_pinched/system/fvSolution +++ b/applications/test/patchRegion/cavity_pinched/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/0.orig/U b/applications/test/reconstructedDistanceFunction/case1/0.orig/U index c7bcee4ec45..6c3f2d2a354 100644 --- a/applications/test/reconstructedDistanceFunction/case1/0.orig/U +++ b/applications/test/reconstructedDistanceFunction/case1/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/0.orig/alpha1 b/applications/test/reconstructedDistanceFunction/case1/0.orig/alpha1 index 16bc634c7c7..afd0eb80959 100644 --- a/applications/test/reconstructedDistanceFunction/case1/0.orig/alpha1 +++ b/applications/test/reconstructedDistanceFunction/case1/0.orig/alpha1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/0.orig/markedCells b/applications/test/reconstructedDistanceFunction/case1/0.orig/markedCells index c2f0a272749..2898ebebe9c 100644 --- a/applications/test/reconstructedDistanceFunction/case1/0.orig/markedCells +++ b/applications/test/reconstructedDistanceFunction/case1/0.orig/markedCells @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/constant/g b/applications/test/reconstructedDistanceFunction/case1/constant/g index de6f46aebb1..d42c18970d2 100644 --- a/applications/test/reconstructedDistanceFunction/case1/constant/g +++ b/applications/test/reconstructedDistanceFunction/case1/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/constant/transportProperties b/applications/test/reconstructedDistanceFunction/case1/constant/transportProperties index b1eaa54ec48..4b75367d326 100644 --- a/applications/test/reconstructedDistanceFunction/case1/constant/transportProperties +++ b/applications/test/reconstructedDistanceFunction/case1/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/constant/turbulenceProperties b/applications/test/reconstructedDistanceFunction/case1/constant/turbulenceProperties index f363405209c..388becd7687 100644 --- a/applications/test/reconstructedDistanceFunction/case1/constant/turbulenceProperties +++ b/applications/test/reconstructedDistanceFunction/case1/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/blockMeshDict b/applications/test/reconstructedDistanceFunction/case1/system/blockMeshDict index 918f164af0e..51f6a9d8d0d 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/blockMeshDict +++ b/applications/test/reconstructedDistanceFunction/case1/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/changeDictionaryDict b/applications/test/reconstructedDistanceFunction/case1/system/changeDictionaryDict index 225c56400c9..5f4a18e53e0 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/changeDictionaryDict +++ b/applications/test/reconstructedDistanceFunction/case1/system/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/controlDict b/applications/test/reconstructedDistanceFunction/case1/system/controlDict index af0b6688977..051435b41f2 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/controlDict +++ b/applications/test/reconstructedDistanceFunction/case1/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/decomposeParDict b/applications/test/reconstructedDistanceFunction/case1/system/decomposeParDict index d91b61b42c0..a59a86b4105 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/decomposeParDict +++ b/applications/test/reconstructedDistanceFunction/case1/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/fvSchemes b/applications/test/reconstructedDistanceFunction/case1/system/fvSchemes index f42b99fa234..5365d72478d 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/fvSchemes +++ b/applications/test/reconstructedDistanceFunction/case1/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/fvSolution b/applications/test/reconstructedDistanceFunction/case1/system/fvSolution index 4d2436c51a0..819c85d4309 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/fvSolution +++ b/applications/test/reconstructedDistanceFunction/case1/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/isoSurfDict b/applications/test/reconstructedDistanceFunction/case1/system/isoSurfDict index 05f0838e939..5369d845ed6 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/isoSurfDict +++ b/applications/test/reconstructedDistanceFunction/case1/system/isoSurfDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/setAlphaFieldDict b/applications/test/reconstructedDistanceFunction/case1/system/setAlphaFieldDict index 3dca4107dcb..c31426fcac9 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/setAlphaFieldDict +++ b/applications/test/reconstructedDistanceFunction/case1/system/setAlphaFieldDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/reconstructedDistanceFunction/case1/system/topoSetDict b/applications/test/reconstructedDistanceFunction/case1/system/topoSetDict index 0d6fd73ae07..29adbd5729a 100644 --- a/applications/test/reconstructedDistanceFunction/case1/system/topoSetDict +++ b/applications/test/reconstructedDistanceFunction/case1/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/regex1/testRegexps b/applications/test/regex1/testRegexps index a3dd95a9af1..4d39ee8e8cc 100644 --- a/applications/test/regex1/testRegexps +++ b/applications/test/regex1/testRegexps @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/regex1/testRegexps2 b/applications/test/regex1/testRegexps2 index 1550d1cdf5d..3fc88e8eb46 100644 --- a/applications/test/regex1/testRegexps2 +++ b/applications/test/regex1/testRegexps2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/router/routerDict b/applications/test/router/routerDict index 764026f1ba5..4a1ca0b2ced 100644 --- a/applications/test/router/routerDict +++ b/applications/test/router/routerDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/0.orig/T b/applications/test/setAlphaField/case1/0.orig/T index d2e6d5c78d9..f03b7913d91 100644 --- a/applications/test/setAlphaField/case1/0.orig/T +++ b/applications/test/setAlphaField/case1/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/0.orig/U b/applications/test/setAlphaField/case1/0.orig/U index 9a0d9c8fea1..466eb67c4f9 100644 --- a/applications/test/setAlphaField/case1/0.orig/U +++ b/applications/test/setAlphaField/case1/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/0.orig/alpha.water b/applications/test/setAlphaField/case1/0.orig/alpha.water index 391af85a141..fdd195c0d60 100644 --- a/applications/test/setAlphaField/case1/0.orig/alpha.water +++ b/applications/test/setAlphaField/case1/0.orig/alpha.water @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/0.orig/p b/applications/test/setAlphaField/case1/0.orig/p index e72aa9d41fa..76617fbcddb 100644 --- a/applications/test/setAlphaField/case1/0.orig/p +++ b/applications/test/setAlphaField/case1/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/0.orig/p_rgh b/applications/test/setAlphaField/case1/0.orig/p_rgh index c54fc336947..83b752acd99 100644 --- a/applications/test/setAlphaField/case1/0.orig/p_rgh +++ b/applications/test/setAlphaField/case1/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/constant/g b/applications/test/setAlphaField/case1/constant/g index f1f11742fbd..ee1da146fdb 100644 --- a/applications/test/setAlphaField/case1/constant/g +++ b/applications/test/setAlphaField/case1/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/constant/thermophysicalProperties b/applications/test/setAlphaField/case1/constant/thermophysicalProperties index 161577e76cc..32c5e631d7a 100644 --- a/applications/test/setAlphaField/case1/constant/thermophysicalProperties +++ b/applications/test/setAlphaField/case1/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/constant/thermophysicalProperties.air b/applications/test/setAlphaField/case1/constant/thermophysicalProperties.air index 0dbc1f07da0..6e58d575e5f 100644 --- a/applications/test/setAlphaField/case1/constant/thermophysicalProperties.air +++ b/applications/test/setAlphaField/case1/constant/thermophysicalProperties.air @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/constant/thermophysicalProperties.water b/applications/test/setAlphaField/case1/constant/thermophysicalProperties.water index 6353366cea8..48befb92cb2 100644 --- a/applications/test/setAlphaField/case1/constant/thermophysicalProperties.water +++ b/applications/test/setAlphaField/case1/constant/thermophysicalProperties.water @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/constant/turbulenceProperties b/applications/test/setAlphaField/case1/constant/turbulenceProperties index f85e5058aaa..f64cea1e5e3 100644 --- a/applications/test/setAlphaField/case1/constant/turbulenceProperties +++ b/applications/test/setAlphaField/case1/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/system/blockMeshDict b/applications/test/setAlphaField/case1/system/blockMeshDict index dae7eb2b2e9..f9c3fdf08c6 100644 --- a/applications/test/setAlphaField/case1/system/blockMeshDict +++ b/applications/test/setAlphaField/case1/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/system/controlDict b/applications/test/setAlphaField/case1/system/controlDict index c464b38f25d..d6cb0aad12a 100644 --- a/applications/test/setAlphaField/case1/system/controlDict +++ b/applications/test/setAlphaField/case1/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/system/decomposeParDict b/applications/test/setAlphaField/case1/system/decomposeParDict index 7b6c40eb7f8..941f69efe75 100644 --- a/applications/test/setAlphaField/case1/system/decomposeParDict +++ b/applications/test/setAlphaField/case1/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/system/fvSchemes b/applications/test/setAlphaField/case1/system/fvSchemes index c97f3d2f91e..e15abe1769f 100644 --- a/applications/test/setAlphaField/case1/system/fvSchemes +++ b/applications/test/setAlphaField/case1/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/system/fvSolution b/applications/test/setAlphaField/case1/system/fvSolution index 7e88cfb61ca..ce7eb4904e5 100644 --- a/applications/test/setAlphaField/case1/system/fvSolution +++ b/applications/test/setAlphaField/case1/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/setAlphaField/case1/system/setAlphaFieldDict b/applications/test/setAlphaField/case1/system/setAlphaFieldDict index 897db58953d..b121e7b6d42 100644 --- a/applications/test/setAlphaField/case1/system/setAlphaFieldDict +++ b/applications/test/setAlphaField/case1/system/setAlphaFieldDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/spline/test-splines b/applications/test/spline/test-splines index e3ab656fcea..6b2c2287593 100644 --- a/applications/test/spline/test-splines +++ b/applications/test/spline/test-splines @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/syncTools/block_2x2x1/constant/transportProperties b/applications/test/syncTools/block_2x2x1/constant/transportProperties index 81751433add..3213de39beb 100644 --- a/applications/test/syncTools/block_2x2x1/constant/transportProperties +++ b/applications/test/syncTools/block_2x2x1/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/syncTools/block_2x2x1/system/blockMeshDict b/applications/test/syncTools/block_2x2x1/system/blockMeshDict index 9f09d1d0087..573ec056a1a 100644 --- a/applications/test/syncTools/block_2x2x1/system/blockMeshDict +++ b/applications/test/syncTools/block_2x2x1/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/syncTools/block_2x2x1/system/controlDict b/applications/test/syncTools/block_2x2x1/system/controlDict index 67583ffe687..990b3a08cef 100644 --- a/applications/test/syncTools/block_2x2x1/system/controlDict +++ b/applications/test/syncTools/block_2x2x1/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/syncTools/block_2x2x1/system/decomposeParDict b/applications/test/syncTools/block_2x2x1/system/decomposeParDict index b7fb4d5f7ee..013a59430db 100644 --- a/applications/test/syncTools/block_2x2x1/system/decomposeParDict +++ b/applications/test/syncTools/block_2x2x1/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/syncTools/block_2x2x1/system/fvSchemes b/applications/test/syncTools/block_2x2x1/system/fvSchemes index 51748f98add..d98fb1d34a8 100644 --- a/applications/test/syncTools/block_2x2x1/system/fvSchemes +++ b/applications/test/syncTools/block_2x2x1/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/syncTools/block_2x2x1/system/fvSolution b/applications/test/syncTools/block_2x2x1/system/fvSolution index e19b1d15604..ae01a253720 100644 --- a/applications/test/syncTools/block_2x2x1/system/fvSolution +++ b/applications/test/syncTools/block_2x2x1/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/volField/cavity/0/U b/applications/test/volField/cavity/0/U index a05106777f8..b6b2a8c0d54 100644 --- a/applications/test/volField/cavity/0/U +++ b/applications/test/volField/cavity/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/volField/cavity/0/p b/applications/test/volField/cavity/0/p index f8937723c81..750b989d540 100644 --- a/applications/test/volField/cavity/0/p +++ b/applications/test/volField/cavity/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/volField/cavity/constant/transportProperties b/applications/test/volField/cavity/constant/transportProperties index b75993c5a80..871e36bb82b 100644 --- a/applications/test/volField/cavity/constant/transportProperties +++ b/applications/test/volField/cavity/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/volField/cavity/system/blockMeshDict b/applications/test/volField/cavity/system/blockMeshDict index 2cb9240ee85..3460c49fb9e 100644 --- a/applications/test/volField/cavity/system/blockMeshDict +++ b/applications/test/volField/cavity/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/volField/cavity/system/controlDict b/applications/test/volField/cavity/system/controlDict index 776c9a39459..88560e1e0ed 100644 --- a/applications/test/volField/cavity/system/controlDict +++ b/applications/test/volField/cavity/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/volField/cavity/system/fvSchemes b/applications/test/volField/cavity/system/fvSchemes index 25648eaf7cd..251e5e8c468 100644 --- a/applications/test/volField/cavity/system/fvSchemes +++ b/applications/test/volField/cavity/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/volField/cavity/system/fvSolution b/applications/test/volField/cavity/system/fvSolution index 3ca12dcaedc..2a9649991fe 100644 --- a/applications/test/volField/cavity/system/fvSolution +++ b/applications/test/volField/cavity/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/wordRe/testRegexps b/applications/test/wordRe/testRegexps index ea9a14f8a65..a4b9ccd768e 100644 --- a/applications/test/wordRe/testRegexps +++ b/applications/test/wordRe/testRegexps @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/zoneDistribute/case1/system/blockMeshDict b/applications/test/zoneDistribute/case1/system/blockMeshDict index c1f5b953cb0..fa0ff0d902d 100644 --- a/applications/test/zoneDistribute/case1/system/blockMeshDict +++ b/applications/test/zoneDistribute/case1/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/zoneDistribute/case1/system/controlDict b/applications/test/zoneDistribute/case1/system/controlDict index 9540e2617b7..136e87b1d50 100644 --- a/applications/test/zoneDistribute/case1/system/controlDict +++ b/applications/test/zoneDistribute/case1/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/zoneDistribute/case1/system/decomposeParDict b/applications/test/zoneDistribute/case1/system/decomposeParDict index d33d460f02e..d73c8f7447c 100644 --- a/applications/test/zoneDistribute/case1/system/decomposeParDict +++ b/applications/test/zoneDistribute/case1/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/zoneDistribute/case1/system/fvSchemes b/applications/test/zoneDistribute/case1/system/fvSchemes index 93b107859b0..998f1e8ef8b 100644 --- a/applications/test/zoneDistribute/case1/system/fvSchemes +++ b/applications/test/zoneDistribute/case1/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/zoneDistribute/case1/system/fvSolution b/applications/test/zoneDistribute/case1/system/fvSolution index 8eca38b352b..eeec2dc69eb 100644 --- a/applications/test/zoneDistribute/case1/system/fvSolution +++ b/applications/test/zoneDistribute/case1/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/zoneDistribute/case1/system/meshQualityDict b/applications/test/zoneDistribute/case1/system/meshQualityDict index bb4ca5ee2bc..e010357d642 100644 --- a/applications/test/zoneDistribute/case1/system/meshQualityDict +++ b/applications/test/zoneDistribute/case1/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/zoneDistribute/case1/system/snappyHexMeshDict b/applications/test/zoneDistribute/case1/system/snappyHexMeshDict index 5e073d35c01..bdf0175f961 100644 --- a/applications/test/zoneDistribute/case1/system/snappyHexMeshDict +++ b/applications/test/zoneDistribute/case1/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/test/zoneDistribute/case1/system/surfaceFeatureExtractDict b/applications/test/zoneDistribute/case1/system/surfaceFeatureExtractDict index bd1bb96620a..7dbb7225bfb 100644 --- a/applications/test/zoneDistribute/case1/system/surfaceFeatureExtractDict +++ b/applications/test/zoneDistribute/case1/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/postProcessing/lagrangian/particleTracks/particleTrackProperties b/applications/utilities/postProcessing/lagrangian/particleTracks/particleTrackProperties index afb12aece8e..283d3b0a934 100644 --- a/applications/utilities/postProcessing/lagrangian/particleTracks/particleTrackProperties +++ b/applications/utilities/postProcessing/lagrangian/particleTracks/particleTrackProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/preProcessing/PDR/pdrFields/obstacles/ObstaclesDict b/applications/utilities/preProcessing/PDR/pdrFields/obstacles/ObstaclesDict index 661b515e2d4..97245fc6c49 100644 --- a/applications/utilities/preProcessing/PDR/pdrFields/obstacles/ObstaclesDict +++ b/applications/utilities/preProcessing/PDR/pdrFields/obstacles/ObstaclesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/preProcessing/setAlphaField/setAlphaFieldDict b/applications/utilities/preProcessing/setAlphaField/setAlphaFieldDict index f655483202d..c5e38202f72 100644 --- a/applications/utilities/preProcessing/setAlphaField/setAlphaFieldDict +++ b/applications/utilities/preProcessing/setAlphaField/setAlphaFieldDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/preProcessing/setExprBoundaryFields/setExprBoundaryFieldsDict b/applications/utilities/preProcessing/setExprBoundaryFields/setExprBoundaryFieldsDict index 323774047f4..cb3b2a2383f 100644 --- a/applications/utilities/preProcessing/setExprBoundaryFields/setExprBoundaryFieldsDict +++ b/applications/utilities/preProcessing/setExprBoundaryFields/setExprBoundaryFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/preProcessing/setExprFields/setExprFieldsDict b/applications/utilities/preProcessing/setExprFields/setExprFieldsDict index 0a65330e5e3..5c6ac3b35aa 100644 --- a/applications/utilities/preProcessing/setExprFields/setExprFieldsDict +++ b/applications/utilities/preProcessing/setExprFields/setExprFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/surface/surfaceMeshConvert/coordinateSystems b/applications/utilities/surface/surfaceMeshConvert/coordinateSystems index d8759c1e14c..214153fcbbb 100644 --- a/applications/utilities/surface/surfaceMeshConvert/coordinateSystems +++ b/applications/utilities/surface/surfaceMeshConvert/coordinateSystems @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/PDRMeshDict b/etc/caseDicts/annotated/PDRMeshDict index f57cf29e337..f522a64eb1c 100644 --- a/etc/caseDicts/annotated/PDRMeshDict +++ b/etc/caseDicts/annotated/PDRMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/PDRblockMeshDict b/etc/caseDicts/annotated/PDRblockMeshDict index 55ecc39dd05..dfceb8b0198 100644 --- a/etc/caseDicts/annotated/PDRblockMeshDict +++ b/etc/caseDicts/annotated/PDRblockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/ROMfieldsDict b/etc/caseDicts/annotated/ROMfieldsDict index 45cc581a14d..2adb13165b0 100644 --- a/etc/caseDicts/annotated/ROMfieldsDict +++ b/etc/caseDicts/annotated/ROMfieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/adiabaticFlameTDict b/etc/caseDicts/annotated/adiabaticFlameTDict index 524c0a23252..e36b8db8479 100644 --- a/etc/caseDicts/annotated/adiabaticFlameTDict +++ b/etc/caseDicts/annotated/adiabaticFlameTDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/adiosWriteDict b/etc/caseDicts/annotated/adiosWriteDict index 424bb8fd5c9..87efd373d9e 100644 --- a/etc/caseDicts/annotated/adiosWriteDict +++ b/etc/caseDicts/annotated/adiosWriteDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/blockMeshDict b/etc/caseDicts/annotated/blockMeshDict index a8b60077718..0dff06a88dd 100644 --- a/etc/caseDicts/annotated/blockMeshDict +++ b/etc/caseDicts/annotated/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/boxTurbDict b/etc/caseDicts/annotated/boxTurbDict index 36f140f68f9..7a690399d51 100644 --- a/etc/caseDicts/annotated/boxTurbDict +++ b/etc/caseDicts/annotated/boxTurbDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/changeDictionaryDict b/etc/caseDicts/annotated/changeDictionaryDict index 64bf8ffd753..a1a3415fa66 100644 --- a/etc/caseDicts/annotated/changeDictionaryDict +++ b/etc/caseDicts/annotated/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/collapseDict b/etc/caseDicts/annotated/collapseDict index cf1ae7e97e7..0e0472c7e86 100644 --- a/etc/caseDicts/annotated/collapseDict +++ b/etc/caseDicts/annotated/collapseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/createBafflesDict b/etc/caseDicts/annotated/createBafflesDict index 6a4f5282c02..882907eae6c 100644 --- a/etc/caseDicts/annotated/createBafflesDict +++ b/etc/caseDicts/annotated/createBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/createBoxTurbDict b/etc/caseDicts/annotated/createBoxTurbDict index 3f0d64ec742..8d01b5e8837 100644 --- a/etc/caseDicts/annotated/createBoxTurbDict +++ b/etc/caseDicts/annotated/createBoxTurbDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/createPatchDict b/etc/caseDicts/annotated/createPatchDict index af13e54ddb5..8582a9c698c 100644 --- a/etc/caseDicts/annotated/createPatchDict +++ b/etc/caseDicts/annotated/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/decomposeParDict b/etc/caseDicts/annotated/decomposeParDict index 5d937528071..53c44c33e6c 100644 --- a/etc/caseDicts/annotated/decomposeParDict +++ b/etc/caseDicts/annotated/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/dsmcInitialiseDict b/etc/caseDicts/annotated/dsmcInitialiseDict index 81658c89837..23cd78fef87 100644 --- a/etc/caseDicts/annotated/dsmcInitialiseDict +++ b/etc/caseDicts/annotated/dsmcInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/equilibriumFlameTDict b/etc/caseDicts/annotated/equilibriumFlameTDict index 61335b218ca..b8726508b23 100644 --- a/etc/caseDicts/annotated/equilibriumFlameTDict +++ b/etc/caseDicts/annotated/equilibriumFlameTDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/extrude2DMeshDict b/etc/caseDicts/annotated/extrude2DMeshDict index 7c1ea7831e2..a43a554dbf5 100644 --- a/etc/caseDicts/annotated/extrude2DMeshDict +++ b/etc/caseDicts/annotated/extrude2DMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/extrudeMeshDict b/etc/caseDicts/annotated/extrudeMeshDict index d8ad0e0e6a0..6832d739bb1 100644 --- a/etc/caseDicts/annotated/extrudeMeshDict +++ b/etc/caseDicts/annotated/extrudeMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/extrudeToRegionMeshDict b/etc/caseDicts/annotated/extrudeToRegionMeshDict index fa9865b4ddf..acb2808bc05 100644 --- a/etc/caseDicts/annotated/extrudeToRegionMeshDict +++ b/etc/caseDicts/annotated/extrudeToRegionMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/fieldCoordinateSystemTransformDict b/etc/caseDicts/annotated/fieldCoordinateSystemTransformDict index 575d04dc07c..2ef2aac82fd 100644 --- a/etc/caseDicts/annotated/fieldCoordinateSystemTransformDict +++ b/etc/caseDicts/annotated/fieldCoordinateSystemTransformDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/foamDataToFluentDict b/etc/caseDicts/annotated/foamDataToFluentDict index ae41460adbd..93ab47f37d4 100644 --- a/etc/caseDicts/annotated/foamDataToFluentDict +++ b/etc/caseDicts/annotated/foamDataToFluentDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/foamyHexMeshDict b/etc/caseDicts/annotated/foamyHexMeshDict index 7b5039f11db..dec5dfc0092 100644 --- a/etc/caseDicts/annotated/foamyHexMeshDict +++ b/etc/caseDicts/annotated/foamyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/foamyQuadMeshDict b/etc/caseDicts/annotated/foamyQuadMeshDict index a1afe674183..61787c87e25 100644 --- a/etc/caseDicts/annotated/foamyQuadMeshDict +++ b/etc/caseDicts/annotated/foamyQuadMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/mapFieldsDict b/etc/caseDicts/annotated/mapFieldsDict index 50f07809fbd..e693c2847b0 100644 --- a/etc/caseDicts/annotated/mapFieldsDict +++ b/etc/caseDicts/annotated/mapFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/mdEquilibrationDict b/etc/caseDicts/annotated/mdEquilibrationDict index 15e196598dd..603a076d856 100644 --- a/etc/caseDicts/annotated/mdEquilibrationDict +++ b/etc/caseDicts/annotated/mdEquilibrationDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/mdInitialiseDict b/etc/caseDicts/annotated/mdInitialiseDict index fae9d5746f4..9fe5cc1e1e0 100644 --- a/etc/caseDicts/annotated/mdInitialiseDict +++ b/etc/caseDicts/annotated/mdInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/mergeOrSplitBafflesDict b/etc/caseDicts/annotated/mergeOrSplitBafflesDict index bbeeed15125..bf125ccd0e7 100644 --- a/etc/caseDicts/annotated/mergeOrSplitBafflesDict +++ b/etc/caseDicts/annotated/mergeOrSplitBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/meshQualityDict-collapseEdges b/etc/caseDicts/annotated/meshQualityDict-collapseEdges index 7f4d4a465b3..3e10a9330e6 100644 --- a/etc/caseDicts/annotated/meshQualityDict-collapseEdges +++ b/etc/caseDicts/annotated/meshQualityDict-collapseEdges @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/mirrorMeshDict b/etc/caseDicts/annotated/mirrorMeshDict index 5c3448f471a..695508c8172 100644 --- a/etc/caseDicts/annotated/mirrorMeshDict +++ b/etc/caseDicts/annotated/mirrorMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/mixtureAdiabaticFlameTDict b/etc/caseDicts/annotated/mixtureAdiabaticFlameTDict index fda6bb78cc9..13c1eeaeb7a 100644 --- a/etc/caseDicts/annotated/mixtureAdiabaticFlameTDict +++ b/etc/caseDicts/annotated/mixtureAdiabaticFlameTDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/modifyMeshDict b/etc/caseDicts/annotated/modifyMeshDict index c9c2f996b39..a41c29d3646 100644 --- a/etc/caseDicts/annotated/modifyMeshDict +++ b/etc/caseDicts/annotated/modifyMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/noiseDict b/etc/caseDicts/annotated/noiseDict index 88c447a3e18..768d98f63ba 100644 --- a/etc/caseDicts/annotated/noiseDict +++ b/etc/caseDicts/annotated/noiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/obstaclesDict b/etc/caseDicts/annotated/obstaclesDict index a1cc2a9ccf4..d08689f3442 100644 --- a/etc/caseDicts/annotated/obstaclesDict +++ b/etc/caseDicts/annotated/obstaclesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/optimisationDict b/etc/caseDicts/annotated/optimisationDict index f9af8096c55..56b8f75a3e0 100644 --- a/etc/caseDicts/annotated/optimisationDict +++ b/etc/caseDicts/annotated/optimisationDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/particleTrackDict b/etc/caseDicts/annotated/particleTrackDict index e273282153b..088e54a28b9 100644 --- a/etc/caseDicts/annotated/particleTrackDict +++ b/etc/caseDicts/annotated/particleTrackDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/pdfDict b/etc/caseDicts/annotated/pdfDict index 1823e64eb0c..ec213e555f4 100644 --- a/etc/caseDicts/annotated/pdfDict +++ b/etc/caseDicts/annotated/pdfDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/postChannelDict b/etc/caseDicts/annotated/postChannelDict index 91912aa45e5..6552c217dd9 100644 --- a/etc/caseDicts/annotated/postChannelDict +++ b/etc/caseDicts/annotated/postChannelDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/potentialDict b/etc/caseDicts/annotated/potentialDict index 8bb3354b9b6..176949a13ef 100644 --- a/etc/caseDicts/annotated/potentialDict +++ b/etc/caseDicts/annotated/potentialDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/probesDict b/etc/caseDicts/annotated/probesDict index 088055a78dc..61486f97f72 100644 --- a/etc/caseDicts/annotated/probesDict +++ b/etc/caseDicts/annotated/probesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/processorFieldDict b/etc/caseDicts/annotated/processorFieldDict index 7dce9c838d3..c87e4281d4a 100644 --- a/etc/caseDicts/annotated/processorFieldDict +++ b/etc/caseDicts/annotated/processorFieldDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/readFieldsDict b/etc/caseDicts/annotated/readFieldsDict index 278e97062fa..7f27880829d 100644 --- a/etc/caseDicts/annotated/readFieldsDict +++ b/etc/caseDicts/annotated/readFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/refineMeshDict b/etc/caseDicts/annotated/refineMeshDict index 87f3badec1e..8da26d99df7 100644 --- a/etc/caseDicts/annotated/refineMeshDict +++ b/etc/caseDicts/annotated/refineMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/runTimePostProcessingDict b/etc/caseDicts/annotated/runTimePostProcessingDict index 323c059e216..f43e23cf568 100644 --- a/etc/caseDicts/annotated/runTimePostProcessingDict +++ b/etc/caseDicts/annotated/runTimePostProcessingDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/sampleDict b/etc/caseDicts/annotated/sampleDict index 81c9884e628..beeaa1f0db0 100644 --- a/etc/caseDicts/annotated/sampleDict +++ b/etc/caseDicts/annotated/sampleDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/selectCellsDict b/etc/caseDicts/annotated/selectCellsDict index d5a376c1336..79696142948 100644 --- a/etc/caseDicts/annotated/selectCellsDict +++ b/etc/caseDicts/annotated/selectCellsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/setAlphaFieldDict b/etc/caseDicts/annotated/setAlphaFieldDict index f3a6208d8cc..a3db655c418 100644 --- a/etc/caseDicts/annotated/setAlphaFieldDict +++ b/etc/caseDicts/annotated/setAlphaFieldDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/setExprBoundaryFieldsDict b/etc/caseDicts/annotated/setExprBoundaryFieldsDict index de82bfbb9d8..39390e88f6e 100644 --- a/etc/caseDicts/annotated/setExprBoundaryFieldsDict +++ b/etc/caseDicts/annotated/setExprBoundaryFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/setExprFieldsDict b/etc/caseDicts/annotated/setExprFieldsDict index f5b85f5f838..ee3c92f7680 100644 --- a/etc/caseDicts/annotated/setExprFieldsDict +++ b/etc/caseDicts/annotated/setExprFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/setFieldsDict b/etc/caseDicts/annotated/setFieldsDict index 329a63c1af6..f36e68f7e83 100644 --- a/etc/caseDicts/annotated/setFieldsDict +++ b/etc/caseDicts/annotated/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/snappyHexMeshDict b/etc/caseDicts/annotated/snappyHexMeshDict index 522283b1503..c45b2bfa65e 100644 --- a/etc/caseDicts/annotated/snappyHexMeshDict +++ b/etc/caseDicts/annotated/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/snappyRefineMeshDict b/etc/caseDicts/annotated/snappyRefineMeshDict index f06dc2f65dc..2c1879ea782 100644 --- a/etc/caseDicts/annotated/snappyRefineMeshDict +++ b/etc/caseDicts/annotated/snappyRefineMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/stitchMeshDict b/etc/caseDicts/annotated/stitchMeshDict index 0883fe821d1..c0fdaac81d7 100644 --- a/etc/caseDicts/annotated/stitchMeshDict +++ b/etc/caseDicts/annotated/stitchMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/surfaceFeatureExtractDict b/etc/caseDicts/annotated/surfaceFeatureExtractDict index 83f94a06827..ce9e135edd7 100644 --- a/etc/caseDicts/annotated/surfaceFeatureExtractDict +++ b/etc/caseDicts/annotated/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/surfaceHookUpDict b/etc/caseDicts/annotated/surfaceHookUpDict index 9703185357e..94e4f49b63c 100644 --- a/etc/caseDicts/annotated/surfaceHookUpDict +++ b/etc/caseDicts/annotated/surfaceHookUpDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/surfacePatchDict b/etc/caseDicts/annotated/surfacePatchDict index 6bd8c085dc6..b1581c94f4b 100644 --- a/etc/caseDicts/annotated/surfacePatchDict +++ b/etc/caseDicts/annotated/surfacePatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/surfaceSubsetDict b/etc/caseDicts/annotated/surfaceSubsetDict index b698122d5c2..06366738d19 100644 --- a/etc/caseDicts/annotated/surfaceSubsetDict +++ b/etc/caseDicts/annotated/surfaceSubsetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/toleranceDict b/etc/caseDicts/annotated/toleranceDict index b80e3c017ae..169b6c4f070 100644 --- a/etc/caseDicts/annotated/toleranceDict +++ b/etc/caseDicts/annotated/toleranceDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/topoSetDict b/etc/caseDicts/annotated/topoSetDict index c30829dd784..5f8d13684f8 100644 --- a/etc/caseDicts/annotated/topoSetDict +++ b/etc/caseDicts/annotated/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/topoSetSourcesDict b/etc/caseDicts/annotated/topoSetSourcesDict index 4a056d9ca81..58727baa7e3 100644 --- a/etc/caseDicts/annotated/topoSetSourcesDict +++ b/etc/caseDicts/annotated/topoSetSourcesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/turbulenceFieldsDict b/etc/caseDicts/annotated/turbulenceFieldsDict index 1181c071605..8c3bdac2cb8 100644 --- a/etc/caseDicts/annotated/turbulenceFieldsDict +++ b/etc/caseDicts/annotated/turbulenceFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/viewFactorsDict b/etc/caseDicts/annotated/viewFactorsDict index 440a14d92e5..806d1de5848 100644 --- a/etc/caseDicts/annotated/viewFactorsDict +++ b/etc/caseDicts/annotated/viewFactorsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/annotated/wallFunctionDict b/etc/caseDicts/annotated/wallFunctionDict index 258fa42619c..4a56bf250a7 100644 --- a/etc/caseDicts/annotated/wallFunctionDict +++ b/etc/caseDicts/annotated/wallFunctionDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/boundaries b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/boundaries index 05d67c82434..1906b2571ca 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/boundaries +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/boundaries @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inlet b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inlet index fa3ac0f8794..dc8c5857cad 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inlet +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inletOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inletOptions index 4e651076af6..9de239b0237 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inletOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inletOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outlet b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outlet index 8b0dc9bbe32..80ced5d91f9 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outlet +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outletOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outletOptions index 4c85e76de27..a48472620ad 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outletOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outletOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wall b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wall index cf70f6a36bd..0e067b4f174 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wall +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wall @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions index 3c7be4ba5a5..7a50f5385f6 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inlet b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inlet index fa3ac0f8794..dc8c5857cad 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inlet +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inletOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inletOptions index b54ba150ff5..e1327825444 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inletOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inletOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outlet b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outlet index 324e80cfd97..6933abf8713 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outlet +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outletOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outletOptions index 92cee6ad717..22a3b7d0352 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outletOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outletOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wall b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wall index 9e3cec6f430..6c30540fe4a 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wall +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wall @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions index 707bfcd30a8..c9a729ad32f 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inlet b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inlet index 9595b442007..40747deccdc 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inlet +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inletOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inletOptions index f7e6f8e09b4..19c22fc23a2 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inletOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inletOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/outlet b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/outlet index c88fe9a0457..eb35977345c 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/outlet +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/outlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wall b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wall index e8ce7e90801..7acc950e52c 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wall +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wall @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wallOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wallOptions index 10c6ba8ef82..9b73cb90502 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wallOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wallOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inlet b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inlet index 5a652f659aa..8106cb4c9eb 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inlet +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inletOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inletOptions index 676f7b43820..9a6b281b1be 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inletOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inletOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outlet b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outlet index 9df8d315196..a8a8cd66a3f 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outlet +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outletOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outletOptions index d761b040912..4df0a5ac784 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outletOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outletOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wall b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wall index 9e3a5805f72..17fc23000d7 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wall +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wall @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wallOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wallOptions index aa317e57ebe..f9171e1c6e4 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wallOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wallOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wall b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wall index a9fc8aff546..a751be07eeb 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wall +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wall @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions index 59917d5a730..e7dd4fe44a0 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions +++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kEpsilon b/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kEpsilon index 2e5ddb58ba2..4cf02a92283 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kEpsilon +++ b/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kEpsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmega b/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmega index 27495f56dcf..db57e8f0213 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmega +++ b/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmegaSST b/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmegaSST index 900c2c98fdb..efe8270c67c 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmegaSST +++ b/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmegaSST @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/laminar b/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/laminar index 3a5f3a8428d..2fdcb6e82c9 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/laminar +++ b/etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/laminar @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/solvers/chtMultiRegionFoam b/etc/caseDicts/createZeroDirectoryTemplates/solvers/chtMultiRegionFoam index c06b5183a66..3ee9016cea3 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/solvers/chtMultiRegionFoam +++ b/etc/caseDicts/createZeroDirectoryTemplates/solvers/chtMultiRegionFoam @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/solvers/icoFoam b/etc/caseDicts/createZeroDirectoryTemplates/solvers/icoFoam index c4672f9c7ea..f846f49085e 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/solvers/icoFoam +++ b/etc/caseDicts/createZeroDirectoryTemplates/solvers/icoFoam @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/solvers/pimpleFoam b/etc/caseDicts/createZeroDirectoryTemplates/solvers/pimpleFoam index f9ba1226340..afb5b591c8d 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/solvers/pimpleFoam +++ b/etc/caseDicts/createZeroDirectoryTemplates/solvers/pimpleFoam @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/solvers/pisoFoam b/etc/caseDicts/createZeroDirectoryTemplates/solvers/pisoFoam index 0d9cabd932e..edc4a036946 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/solvers/pisoFoam +++ b/etc/caseDicts/createZeroDirectoryTemplates/solvers/pisoFoam @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/solvers/rhoPimpleFoam b/etc/caseDicts/createZeroDirectoryTemplates/solvers/rhoPimpleFoam index 540e3b991cf..3b810275a94 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/solvers/rhoPimpleFoam +++ b/etc/caseDicts/createZeroDirectoryTemplates/solvers/rhoPimpleFoam @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/createZeroDirectoryTemplates/solvers/simpleFoam b/etc/caseDicts/createZeroDirectoryTemplates/solvers/simpleFoam index 2c27fa7602e..dcfba2a69bd 100644 --- a/etc/caseDicts/createZeroDirectoryTemplates/solvers/simpleFoam +++ b/etc/caseDicts/createZeroDirectoryTemplates/solvers/simpleFoam @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/foamyHexMeshDict b/etc/caseDicts/foamyHexMeshDict index be28fbaba59..4c38a427a1d 100644 --- a/etc/caseDicts/foamyHexMeshDict +++ b/etc/caseDicts/foamyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/general/coordinateSystem/cartesianXY b/etc/caseDicts/general/coordinateSystem/cartesianXY index 65120309761..7e9f8f35fca 100644 --- a/etc/caseDicts/general/coordinateSystem/cartesianXY +++ b/etc/caseDicts/general/coordinateSystem/cartesianXY @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/general/coordinateSystem/cartesianXZ b/etc/caseDicts/general/coordinateSystem/cartesianXZ index 92dc7557d76..0d685e273b1 100644 --- a/etc/caseDicts/general/coordinateSystem/cartesianXZ +++ b/etc/caseDicts/general/coordinateSystem/cartesianXZ @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/general/coordinateSystem/cartesianYZ b/etc/caseDicts/general/coordinateSystem/cartesianYZ index b91bfac877c..bcc2972cb81 100644 --- a/etc/caseDicts/general/coordinateSystem/cartesianYZ +++ b/etc/caseDicts/general/coordinateSystem/cartesianYZ @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/general/coordinateSystem/cylindrical b/etc/caseDicts/general/coordinateSystem/cylindrical index 287bfdce97c..a565c561f1f 100644 --- a/etc/caseDicts/general/coordinateSystem/cylindrical +++ b/etc/caseDicts/general/coordinateSystem/cylindrical @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/general/fvOptions/porosity/porousZone b/etc/caseDicts/general/fvOptions/porosity/porousZone index b8530d7ceef..a48c566f894 100644 --- a/etc/caseDicts/general/fvOptions/porosity/porousZone +++ b/etc/caseDicts/general/fvOptions/porosity/porousZone @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/general/fvSolution/relaxationFactors/steadyState b/etc/caseDicts/general/fvSolution/relaxationFactors/steadyState index a5bf11d22df..3b816ae29ea 100644 --- a/etc/caseDicts/general/fvSolution/relaxationFactors/steadyState +++ b/etc/caseDicts/general/fvSolution/relaxationFactors/steadyState @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/general/fvSolution/relaxationFactors/transient b/etc/caseDicts/general/fvSolution/relaxationFactors/transient index 9ef75a1d504..286157418d7 100644 --- a/etc/caseDicts/general/fvSolution/relaxationFactors/transient +++ b/etc/caseDicts/general/fvSolution/relaxationFactors/transient @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/insitu/adios/adiosWrite.cfg b/etc/caseDicts/insitu/adios/adiosWrite.cfg index a1360478b21..373d5f15b9c 100644 --- a/etc/caseDicts/insitu/adios/adiosWrite.cfg +++ b/etc/caseDicts/insitu/adios/adiosWrite.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/insitu/catalyst/catalyst.cfg b/etc/caseDicts/insitu/catalyst/catalyst.cfg index 755c31af6c7..9f53f0d58de 100644 --- a/etc/caseDicts/insitu/catalyst/catalyst.cfg +++ b/etc/caseDicts/insitu/catalyst/catalyst.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/mesh/generation/meshQualityDict.cfg b/etc/caseDicts/mesh/generation/meshQualityDict.cfg index 0fd36bc594b..162d5913afd 100644 --- a/etc/caseDicts/mesh/generation/meshQualityDict.cfg +++ b/etc/caseDicts/mesh/generation/meshQualityDict.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/mesh/generation/snappyHexMeshDict.cfg b/etc/caseDicts/mesh/generation/snappyHexMeshDict.cfg index 3f1f5507860..0acb8d59f1e 100644 --- a/etc/caseDicts/mesh/generation/snappyHexMeshDict.cfg +++ b/etc/caseDicts/mesh/generation/snappyHexMeshDict.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/mesh/manipulation/refineRegion/refineMeshDict b/etc/caseDicts/mesh/manipulation/refineRegion/refineMeshDict index 8d4512ce7ab..19ecfffae78 100644 --- a/etc/caseDicts/mesh/manipulation/refineRegion/refineMeshDict +++ b/etc/caseDicts/mesh/manipulation/refineRegion/refineMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/mesh/manipulation/refineRegion/topoSetDict b/etc/caseDicts/mesh/manipulation/refineRegion/topoSetDict index ca3275c238b..91d8736c74d 100644 --- a/etc/caseDicts/mesh/manipulation/refineRegion/topoSetDict +++ b/etc/caseDicts/mesh/manipulation/refineRegion/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/meshQualityDict b/etc/caseDicts/meshQualityDict index 6c9ab8d3d31..7c46956cfa1 100644 --- a/etc/caseDicts/meshQualityDict +++ b/etc/caseDicts/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/fields/AMIWeights b/etc/caseDicts/postProcessing/fields/AMIWeights index eaceb07dbf0..30ac99ed4d2 100644 --- a/etc/caseDicts/postProcessing/fields/AMIWeights +++ b/etc/caseDicts/postProcessing/fields/AMIWeights @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/CourantNo b/etc/caseDicts/postProcessing/fields/CourantNo index aebe397c5db..d6a4ed9ed89 100644 --- a/etc/caseDicts/postProcessing/fields/CourantNo +++ b/etc/caseDicts/postProcessing/fields/CourantNo @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/LambVector b/etc/caseDicts/postProcessing/fields/LambVector index 29904e4043d..51821d4b4fe 100644 --- a/etc/caseDicts/postProcessing/fields/LambVector +++ b/etc/caseDicts/postProcessing/fields/LambVector @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/Lambda2 b/etc/caseDicts/postProcessing/fields/Lambda2 index 50fff6c462a..1624e2bbe91 100644 --- a/etc/caseDicts/postProcessing/fields/Lambda2 +++ b/etc/caseDicts/postProcessing/fields/Lambda2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/MachNo b/etc/caseDicts/postProcessing/fields/MachNo index 7e433bf8e0f..0401989af51 100644 --- a/etc/caseDicts/postProcessing/fields/MachNo +++ b/etc/caseDicts/postProcessing/fields/MachNo @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/ObukhovLength b/etc/caseDicts/postProcessing/fields/ObukhovLength index f7050f4cb37..722407d1633 100644 --- a/etc/caseDicts/postProcessing/fields/ObukhovLength +++ b/etc/caseDicts/postProcessing/fields/ObukhovLength @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/PecletNo b/etc/caseDicts/postProcessing/fields/PecletNo index 563517030db..c5a1e998377 100644 --- a/etc/caseDicts/postProcessing/fields/PecletNo +++ b/etc/caseDicts/postProcessing/fields/PecletNo @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/Q b/etc/caseDicts/postProcessing/fields/Q index 3d3bb36b76d..a8df80569c9 100644 --- a/etc/caseDicts/postProcessing/fields/Q +++ b/etc/caseDicts/postProcessing/fields/Q @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/R b/etc/caseDicts/postProcessing/fields/R index 4e47a08100b..eaa3d73764d 100644 --- a/etc/caseDicts/postProcessing/fields/R +++ b/etc/caseDicts/postProcessing/fields/R @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/XiReactionRate b/etc/caseDicts/postProcessing/fields/XiReactionRate index 0bb2f7fb489..e6f268117aa 100644 --- a/etc/caseDicts/postProcessing/fields/XiReactionRate +++ b/etc/caseDicts/postProcessing/fields/XiReactionRate @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/add b/etc/caseDicts/postProcessing/fields/add index 3c29d5a369e..4ef45123fca 100644 --- a/etc/caseDicts/postProcessing/fields/add +++ b/etc/caseDicts/postProcessing/fields/add @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/components b/etc/caseDicts/postProcessing/fields/components index bf3208359f9..a76b3a1d71a 100644 --- a/etc/caseDicts/postProcessing/fields/components +++ b/etc/caseDicts/postProcessing/fields/components @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/ddt b/etc/caseDicts/postProcessing/fields/ddt index 17e6695b79b..a106cd003d3 100644 --- a/etc/caseDicts/postProcessing/fields/ddt +++ b/etc/caseDicts/postProcessing/fields/ddt @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/div b/etc/caseDicts/postProcessing/fields/div index 35486dc42d9..d066818fd18 100644 --- a/etc/caseDicts/postProcessing/fields/div +++ b/etc/caseDicts/postProcessing/fields/div @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/energySpectrum b/etc/caseDicts/postProcessing/fields/energySpectrum index bbc39589ea7..b59ef9fd89a 100644 --- a/etc/caseDicts/postProcessing/fields/energySpectrum +++ b/etc/caseDicts/postProcessing/fields/energySpectrum @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/enstrophy b/etc/caseDicts/postProcessing/fields/enstrophy index 03233da26b5..4e4c58c8388 100644 --- a/etc/caseDicts/postProcessing/fields/enstrophy +++ b/etc/caseDicts/postProcessing/fields/enstrophy @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/fieldMinMax b/etc/caseDicts/postProcessing/fields/fieldMinMax index 8c986794cc7..27379b805ad 100644 --- a/etc/caseDicts/postProcessing/fields/fieldMinMax +++ b/etc/caseDicts/postProcessing/fields/fieldMinMax @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/flowType b/etc/caseDicts/postProcessing/fields/flowType index dd03aba530e..f079fe95757 100644 --- a/etc/caseDicts/postProcessing/fields/flowType +++ b/etc/caseDicts/postProcessing/fields/flowType @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/grad b/etc/caseDicts/postProcessing/fields/grad index 544e80547ce..32835603e95 100644 --- a/etc/caseDicts/postProcessing/fields/grad +++ b/etc/caseDicts/postProcessing/fields/grad @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/heatTransferCoeff b/etc/caseDicts/postProcessing/fields/heatTransferCoeff index 551bec5e276..30043561893 100644 --- a/etc/caseDicts/postProcessing/fields/heatTransferCoeff +++ b/etc/caseDicts/postProcessing/fields/heatTransferCoeff @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/log b/etc/caseDicts/postProcessing/fields/log index 79188e7f65d..0f2b080f577 100644 --- a/etc/caseDicts/postProcessing/fields/log +++ b/etc/caseDicts/postProcessing/fields/log @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/mag b/etc/caseDicts/postProcessing/fields/mag index a9cb3567fc6..c07b8dc7053 100644 --- a/etc/caseDicts/postProcessing/fields/mag +++ b/etc/caseDicts/postProcessing/fields/mag @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/magSqr b/etc/caseDicts/postProcessing/fields/magSqr index b768ef04d8a..fc6d3f19969 100644 --- a/etc/caseDicts/postProcessing/fields/magSqr +++ b/etc/caseDicts/postProcessing/fields/magSqr @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/processorField b/etc/caseDicts/postProcessing/fields/processorField index aa8409df573..e9660c809ef 100644 --- a/etc/caseDicts/postProcessing/fields/processorField +++ b/etc/caseDicts/postProcessing/fields/processorField @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/randomise b/etc/caseDicts/postProcessing/fields/randomise index a6a9d794f72..bd79bab1abc 100644 --- a/etc/caseDicts/postProcessing/fields/randomise +++ b/etc/caseDicts/postProcessing/fields/randomise @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/randomise.cfg b/etc/caseDicts/postProcessing/fields/randomise.cfg index eeba7f78859..20d98fc7aa0 100644 --- a/etc/caseDicts/postProcessing/fields/randomise.cfg +++ b/etc/caseDicts/postProcessing/fields/randomise.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/fields/streamFunction b/etc/caseDicts/postProcessing/fields/streamFunction index b9bcec34f49..5c485023f23 100644 --- a/etc/caseDicts/postProcessing/fields/streamFunction +++ b/etc/caseDicts/postProcessing/fields/streamFunction @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/subtract b/etc/caseDicts/postProcessing/fields/subtract index 9f52752336e..277a517feed 100644 --- a/etc/caseDicts/postProcessing/fields/subtract +++ b/etc/caseDicts/postProcessing/fields/subtract @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/turbulenceFields b/etc/caseDicts/postProcessing/fields/turbulenceFields index 1fa37a370d9..1b45cf9c0c0 100644 --- a/etc/caseDicts/postProcessing/fields/turbulenceFields +++ b/etc/caseDicts/postProcessing/fields/turbulenceFields @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/vorticity b/etc/caseDicts/postProcessing/fields/vorticity index fcb386bf9c1..524391161ce 100644 --- a/etc/caseDicts/postProcessing/fields/vorticity +++ b/etc/caseDicts/postProcessing/fields/vorticity @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/wallHeatFlux b/etc/caseDicts/postProcessing/fields/wallHeatFlux index 654ade9e886..3d4297a3c1e 100644 --- a/etc/caseDicts/postProcessing/fields/wallHeatFlux +++ b/etc/caseDicts/postProcessing/fields/wallHeatFlux @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/wallShearStress b/etc/caseDicts/postProcessing/fields/wallShearStress index b19f7bb5c43..836ee405270 100644 --- a/etc/caseDicts/postProcessing/fields/wallShearStress +++ b/etc/caseDicts/postProcessing/fields/wallShearStress @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/writeCellCentres b/etc/caseDicts/postProcessing/fields/writeCellCentres index e054c2fe06f..26e97d45b22 100644 --- a/etc/caseDicts/postProcessing/fields/writeCellCentres +++ b/etc/caseDicts/postProcessing/fields/writeCellCentres @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/writeCellVolumes b/etc/caseDicts/postProcessing/fields/writeCellVolumes index 17ee22540ca..b7b91251032 100644 --- a/etc/caseDicts/postProcessing/fields/writeCellVolumes +++ b/etc/caseDicts/postProcessing/fields/writeCellVolumes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/writeObjects b/etc/caseDicts/postProcessing/fields/writeObjects index 97d4e5df6ac..19754c5987d 100644 --- a/etc/caseDicts/postProcessing/fields/writeObjects +++ b/etc/caseDicts/postProcessing/fields/writeObjects @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/fields/yPlus b/etc/caseDicts/postProcessing/fields/yPlus index f3d79bdba5f..518eeb638ce 100644 --- a/etc/caseDicts/postProcessing/fields/yPlus +++ b/etc/caseDicts/postProcessing/fields/yPlus @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/flowRate/flowRateFaceZone b/etc/caseDicts/postProcessing/flowRate/flowRateFaceZone index 10c5ec15d4e..47c19a00739 100644 --- a/etc/caseDicts/postProcessing/flowRate/flowRateFaceZone +++ b/etc/caseDicts/postProcessing/flowRate/flowRateFaceZone @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/flowRate/flowRateFaceZone.cfg b/etc/caseDicts/postProcessing/flowRate/flowRateFaceZone.cfg index 489d0f5e343..540f34ded45 100644 --- a/etc/caseDicts/postProcessing/flowRate/flowRateFaceZone.cfg +++ b/etc/caseDicts/postProcessing/flowRate/flowRateFaceZone.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/flowRate/flowRatePatch b/etc/caseDicts/postProcessing/flowRate/flowRatePatch index 6f1a2c12ac4..7d94e858599 100644 --- a/etc/caseDicts/postProcessing/flowRate/flowRatePatch +++ b/etc/caseDicts/postProcessing/flowRate/flowRatePatch @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg b/etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg index 92dca6633a6..9637fd2ef24 100644 --- a/etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg +++ b/etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface b/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface index 5be46dd2576..295cbdbea08 100644 --- a/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface +++ b/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg b/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg index fe33118ab07..e19f710b01c 100644 --- a/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg +++ b/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/forces/forceCoeffs.cfg b/etc/caseDicts/postProcessing/forces/forceCoeffs.cfg index b4f6536fea8..09af6e9bc33 100644 --- a/etc/caseDicts/postProcessing/forces/forceCoeffs.cfg +++ b/etc/caseDicts/postProcessing/forces/forceCoeffs.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible b/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible index 640bb716194..e9324bd1073 100644 --- a/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible +++ b/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible b/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible index 1bb2c783505..35193797264 100644 --- a/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible +++ b/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible.cfg b/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible.cfg index cf2a2edba46..0aada5416b9 100644 --- a/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible.cfg +++ b/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/forces/forces.cfg b/etc/caseDicts/postProcessing/forces/forces.cfg index aa9aa825ee3..7375f2c7c81 100644 --- a/etc/caseDicts/postProcessing/forces/forces.cfg +++ b/etc/caseDicts/postProcessing/forces/forces.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/forces/forcesCompressible b/etc/caseDicts/postProcessing/forces/forcesCompressible index 8833658de37..7d8148cc507 100644 --- a/etc/caseDicts/postProcessing/forces/forcesCompressible +++ b/etc/caseDicts/postProcessing/forces/forcesCompressible @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/forces/forcesIncompressible b/etc/caseDicts/postProcessing/forces/forcesIncompressible index ea64a742416..90fd8605c68 100644 --- a/etc/caseDicts/postProcessing/forces/forcesIncompressible +++ b/etc/caseDicts/postProcessing/forces/forcesIncompressible @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/forces/forcesIncompressible.cfg b/etc/caseDicts/postProcessing/forces/forcesIncompressible.cfg index 0d424e77c2c..0cb30b1b0d1 100644 --- a/etc/caseDicts/postProcessing/forces/forcesIncompressible.cfg +++ b/etc/caseDicts/postProcessing/forces/forcesIncompressible.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/graphs/graph.cfg b/etc/caseDicts/postProcessing/graphs/graph.cfg index 24f8c7bbf23..34d22ba40cc 100644 --- a/etc/caseDicts/postProcessing/graphs/graph.cfg +++ b/etc/caseDicts/postProcessing/graphs/graph.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/graphs/sampleDict.cfg b/etc/caseDicts/postProcessing/graphs/sampleDict.cfg index c2d7cb506fa..a4e9669f6c9 100644 --- a/etc/caseDicts/postProcessing/graphs/sampleDict.cfg +++ b/etc/caseDicts/postProcessing/graphs/sampleDict.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/graphs/singleGraph b/etc/caseDicts/postProcessing/graphs/singleGraph index e800c151a2b..67a2be2f8c6 100644 --- a/etc/caseDicts/postProcessing/graphs/singleGraph +++ b/etc/caseDicts/postProcessing/graphs/singleGraph @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/lagrangian/dsmcFields b/etc/caseDicts/postProcessing/lagrangian/dsmcFields index 5d310f196d9..2e8f61c1f54 100644 --- a/etc/caseDicts/postProcessing/lagrangian/dsmcFields +++ b/etc/caseDicts/postProcessing/lagrangian/dsmcFields @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/minMax/cellMax b/etc/caseDicts/postProcessing/minMax/cellMax index 29a38b5db62..39f307414f3 100644 --- a/etc/caseDicts/postProcessing/minMax/cellMax +++ b/etc/caseDicts/postProcessing/minMax/cellMax @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/minMax/cellMin b/etc/caseDicts/postProcessing/minMax/cellMin index 9c4f13a4ae7..01b17cacf60 100644 --- a/etc/caseDicts/postProcessing/minMax/cellMin +++ b/etc/caseDicts/postProcessing/minMax/cellMin @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/minMax/cellMin.cfg b/etc/caseDicts/postProcessing/minMax/cellMin.cfg index 8a2a1e0d601..c6fdb1e10c0 100644 --- a/etc/caseDicts/postProcessing/minMax/cellMin.cfg +++ b/etc/caseDicts/postProcessing/minMax/cellMin.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg b/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg index e9d78705048..6b1743bced4 100644 --- a/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg +++ b/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/minMax/faceMax b/etc/caseDicts/postProcessing/minMax/faceMax index fcf36447a45..5500eaa96b5 100644 --- a/etc/caseDicts/postProcessing/minMax/faceMax +++ b/etc/caseDicts/postProcessing/minMax/faceMax @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/minMax/faceMin b/etc/caseDicts/postProcessing/minMax/faceMin index 8070aceccec..5db3b953279 100644 --- a/etc/caseDicts/postProcessing/minMax/faceMin +++ b/etc/caseDicts/postProcessing/minMax/faceMin @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/minMax/faceMin.cfg b/etc/caseDicts/postProcessing/minMax/faceMin.cfg index fc9e23d93ed..9e755bdc49e 100644 --- a/etc/caseDicts/postProcessing/minMax/faceMin.cfg +++ b/etc/caseDicts/postProcessing/minMax/faceMin.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/minMax/faceMinMax.cfg b/etc/caseDicts/postProcessing/minMax/faceMinMax.cfg index 270d39af959..407b3f0526a 100644 --- a/etc/caseDicts/postProcessing/minMax/faceMinMax.cfg +++ b/etc/caseDicts/postProcessing/minMax/faceMinMax.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg b/etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg index c3e726ce19f..711ba37fb8d 100644 --- a/etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg +++ b/etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/minMax/minMaxComponents b/etc/caseDicts/postProcessing/minMax/minMaxComponents index 5dcf7b5d709..31a60a7f9d5 100644 --- a/etc/caseDicts/postProcessing/minMax/minMaxComponents +++ b/etc/caseDicts/postProcessing/minMax/minMaxComponents @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg b/etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg index 7adba74f88b..e1f5d4df52d 100644 --- a/etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg +++ b/etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/minMax/minMaxMagnitude b/etc/caseDicts/postProcessing/minMax/minMaxMagnitude index 8b3b762db2a..3006661bc9f 100644 --- a/etc/caseDicts/postProcessing/minMax/minMaxMagnitude +++ b/etc/caseDicts/postProcessing/minMax/minMaxMagnitude @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/numerical/solverInfo b/etc/caseDicts/postProcessing/numerical/solverInfo index 632cdc17687..50540a6fea6 100644 --- a/etc/caseDicts/postProcessing/numerical/solverInfo +++ b/etc/caseDicts/postProcessing/numerical/solverInfo @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/numerical/solverInfo.cfg b/etc/caseDicts/postProcessing/numerical/solverInfo.cfg index a3355f6d302..45b1ed1e291 100644 --- a/etc/caseDicts/postProcessing/numerical/solverInfo.cfg +++ b/etc/caseDicts/postProcessing/numerical/solverInfo.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/pressure/pressure.cfg b/etc/caseDicts/postProcessing/pressure/pressure.cfg index 4e7be8206b3..5f0f7b2b053 100644 --- a/etc/caseDicts/postProcessing/pressure/pressure.cfg +++ b/etc/caseDicts/postProcessing/pressure/pressure.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg b/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg index 46f997c881c..90411fff586 100644 --- a/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg +++ b/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch b/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch index 4d9c7de3e31..78a394618b1 100644 --- a/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch +++ b/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg b/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg index 5a222473f4b..a9a9be3f4cf 100644 --- a/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg +++ b/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface b/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface index a29f0cf6787..69eb52c5eb9 100644 --- a/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface +++ b/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg b/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg index 631482ae27c..489417f1459 100644 --- a/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg +++ b/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/pressure/staticPressure b/etc/caseDicts/postProcessing/pressure/staticPressure index 887ab19f67b..2cf3412d1ef 100644 --- a/etc/caseDicts/postProcessing/pressure/staticPressure +++ b/etc/caseDicts/postProcessing/pressure/staticPressure @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/pressure/staticPressure.cfg b/etc/caseDicts/postProcessing/pressure/staticPressure.cfg index cae82890a2b..c32381a3310 100644 --- a/etc/caseDicts/postProcessing/pressure/staticPressure.cfg +++ b/etc/caseDicts/postProcessing/pressure/staticPressure.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/pressure/totalPressureCompressible b/etc/caseDicts/postProcessing/pressure/totalPressureCompressible index c26476d94c8..a9d594aa340 100644 --- a/etc/caseDicts/postProcessing/pressure/totalPressureCompressible +++ b/etc/caseDicts/postProcessing/pressure/totalPressureCompressible @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/pressure/totalPressureCompressible.cfg b/etc/caseDicts/postProcessing/pressure/totalPressureCompressible.cfg index 54134c511c3..4c830dfc931 100644 --- a/etc/caseDicts/postProcessing/pressure/totalPressureCompressible.cfg +++ b/etc/caseDicts/postProcessing/pressure/totalPressureCompressible.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible b/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible index 04025e9da29..6e74873f6c2 100644 --- a/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible +++ b/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg b/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg index e708a613456..7460e480059 100644 --- a/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg +++ b/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/probes/boundaryCloud b/etc/caseDicts/postProcessing/probes/boundaryCloud index a1e6d2b5621..cb7cf124063 100644 --- a/etc/caseDicts/postProcessing/probes/boundaryCloud +++ b/etc/caseDicts/postProcessing/probes/boundaryCloud @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/probes/boundaryCloud.cfg b/etc/caseDicts/postProcessing/probes/boundaryCloud.cfg index 83d4d802e97..0e054d12106 100644 --- a/etc/caseDicts/postProcessing/probes/boundaryCloud.cfg +++ b/etc/caseDicts/postProcessing/probes/boundaryCloud.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/probes/cloud.cfg b/etc/caseDicts/postProcessing/probes/cloud.cfg index 7c0995aa765..eac66edea1e 100644 --- a/etc/caseDicts/postProcessing/probes/cloud.cfg +++ b/etc/caseDicts/postProcessing/probes/cloud.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/probes/internalCloud b/etc/caseDicts/postProcessing/probes/internalCloud index ca76c56c321..bb353f4b7c6 100644 --- a/etc/caseDicts/postProcessing/probes/internalCloud +++ b/etc/caseDicts/postProcessing/probes/internalCloud @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/probes/internalCloud.cfg b/etc/caseDicts/postProcessing/probes/internalCloud.cfg index f7bb879707a..1b20a8add41 100644 --- a/etc/caseDicts/postProcessing/probes/internalCloud.cfg +++ b/etc/caseDicts/postProcessing/probes/internalCloud.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/probes/probes b/etc/caseDicts/postProcessing/probes/probes index 3d4e1595604..18f277233de 100644 --- a/etc/caseDicts/postProcessing/probes/probes +++ b/etc/caseDicts/postProcessing/probes/probes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/probes/probes.cfg b/etc/caseDicts/postProcessing/probes/probes.cfg index f268d977299..302fb4fd36b 100644 --- a/etc/caseDicts/postProcessing/probes/probes.cfg +++ b/etc/caseDicts/postProcessing/probes/probes.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport b/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport index 950c9d0306f..bf2b1cb3663 100644 --- a/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport +++ b/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport.cfg b/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport.cfg index ba935a40f8f..0c3ab885b82 100644 --- a/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport.cfg +++ b/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg b/etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg index 37479fa1360..8c9f952fd79 100644 --- a/etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg +++ b/etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg b/etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg index 1c9f262203b..8f5d161b1c7 100644 --- a/etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg +++ b/etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage b/etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage index 12171ee1e34..4efce230ba9 100644 --- a/etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage +++ b/etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate b/etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate index 938d3825b2d..2a6815f6e7c 100644 --- a/etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate +++ b/etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/surfaceRegion.cfg b/etc/caseDicts/postProcessing/surfaceFieldValue/surfaceRegion.cfg index 4c823612d41..b47cf520554 100644 --- a/etc/caseDicts/postProcessing/surfaceFieldValue/surfaceRegion.cfg +++ b/etc/caseDicts/postProcessing/surfaceFieldValue/surfaceRegion.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/triSurfaceRegion.cfg b/etc/caseDicts/postProcessing/surfaceFieldValue/triSurfaceRegion.cfg index 135a6b90fef..bfaa3d305c2 100644 --- a/etc/caseDicts/postProcessing/surfaceFieldValue/triSurfaceRegion.cfg +++ b/etc/caseDicts/postProcessing/surfaceFieldValue/triSurfaceRegion.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg b/etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg index bea4e534dd8..48e8d6564ad 100644 --- a/etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg +++ b/etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/visualization/streamlines b/etc/caseDicts/postProcessing/visualization/streamlines index 56f9635b1b7..88db7428b82 100644 --- a/etc/caseDicts/postProcessing/visualization/streamlines +++ b/etc/caseDicts/postProcessing/visualization/streamlines @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/visualization/streamlines.cfg b/etc/caseDicts/postProcessing/visualization/streamlines.cfg index 9261096f36f..d82adbddcfb 100644 --- a/etc/caseDicts/postProcessing/visualization/streamlines.cfg +++ b/etc/caseDicts/postProcessing/visualization/streamlines.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/postProcessing/visualization/surfaces b/etc/caseDicts/postProcessing/visualization/surfaces index 50a5ac37db4..168bbd17b13 100644 --- a/etc/caseDicts/postProcessing/visualization/surfaces +++ b/etc/caseDicts/postProcessing/visualization/surfaces @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/postProcessing/visualization/surfaces.cfg b/etc/caseDicts/postProcessing/visualization/surfaces.cfg index b38b0de4ce0..4df007e631a 100644 --- a/etc/caseDicts/postProcessing/visualization/surfaces.cfg +++ b/etc/caseDicts/postProcessing/visualization/surfaces.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/profiling/parallel.cfg b/etc/caseDicts/profiling/parallel.cfg index e4d5479d596..eac135d29f7 100644 --- a/etc/caseDicts/profiling/parallel.cfg +++ b/etc/caseDicts/profiling/parallel.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Version: v2312 + \\ / O peration | Version: v2406 \\ / A nd | Website: www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- diff --git a/etc/caseDicts/setConstraintTypes b/etc/caseDicts/setConstraintTypes index c2dc0311934..25586b42279 100644 --- a/etc/caseDicts/setConstraintTypes +++ b/etc/caseDicts/setConstraintTypes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/solvers/scalarTransport/s b/etc/caseDicts/solvers/scalarTransport/s index dfc39ce0e26..d5a54a1e0ef 100644 --- a/etc/caseDicts/solvers/scalarTransport/s +++ b/etc/caseDicts/solvers/scalarTransport/s @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/solvers/scalarTransport/scalarTransportDict b/etc/caseDicts/solvers/scalarTransport/scalarTransportDict index 3dd77e8fb68..648a80372da 100644 --- a/etc/caseDicts/solvers/scalarTransport/scalarTransportDict +++ b/etc/caseDicts/solvers/scalarTransport/scalarTransportDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/solvers/scalarTransport/scalarTransportDict.cfg b/etc/caseDicts/solvers/scalarTransport/scalarTransportDict.cfg index 23cd0576952..9b8e7c656dd 100644 --- a/etc/caseDicts/solvers/scalarTransport/scalarTransportDict.cfg +++ b/etc/caseDicts/solvers/scalarTransport/scalarTransportDict.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/caseDicts/surface/surfaceFeatureExtractDict.cfg b/etc/caseDicts/surface/surfaceFeatureExtractDict.cfg index ab7339ca6a9..e851fd9dc05 100644 --- a/etc/caseDicts/surface/surfaceFeatureExtractDict.cfg +++ b/etc/caseDicts/surface/surfaceFeatureExtractDict.cfg @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/cellModels b/etc/cellModels index 7d9a0d84228..83475a72992 100644 --- a/etc/cellModels +++ b/etc/cellModels @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/colourTables b/etc/colourTables index 2eb5dea8fd1..291ecd5d48c 100644 --- a/etc/colourTables +++ b/etc/colourTables @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/0/U b/etc/templates/axisymmetricJet/0/U index 4b3def5d9bb..899b561d753 100644 --- a/etc/templates/axisymmetricJet/0/U +++ b/etc/templates/axisymmetricJet/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/0/epsilon b/etc/templates/axisymmetricJet/0/epsilon index 3b38cbd6d42..b07a43df0aa 100644 --- a/etc/templates/axisymmetricJet/0/epsilon +++ b/etc/templates/axisymmetricJet/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/0/k b/etc/templates/axisymmetricJet/0/k index 2348a246fe1..660354d0ad5 100644 --- a/etc/templates/axisymmetricJet/0/k +++ b/etc/templates/axisymmetricJet/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/0/nut b/etc/templates/axisymmetricJet/0/nut index 4743f4dad9f..741f6cfd801 100644 --- a/etc/templates/axisymmetricJet/0/nut +++ b/etc/templates/axisymmetricJet/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/0/omega b/etc/templates/axisymmetricJet/0/omega index 20afc6a84b2..c6b678971cd 100644 --- a/etc/templates/axisymmetricJet/0/omega +++ b/etc/templates/axisymmetricJet/0/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/0/p b/etc/templates/axisymmetricJet/0/p index ee4ba758c08..e7f8a2fedad 100644 --- a/etc/templates/axisymmetricJet/0/p +++ b/etc/templates/axisymmetricJet/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/constant/transportProperties b/etc/templates/axisymmetricJet/constant/transportProperties index c1bb40d3d31..023ee0408d0 100644 --- a/etc/templates/axisymmetricJet/constant/transportProperties +++ b/etc/templates/axisymmetricJet/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/constant/turbulenceProperties b/etc/templates/axisymmetricJet/constant/turbulenceProperties index a0a1101a043..8a72f932407 100644 --- a/etc/templates/axisymmetricJet/constant/turbulenceProperties +++ b/etc/templates/axisymmetricJet/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/system/blockMeshDict b/etc/templates/axisymmetricJet/system/blockMeshDict index 8df2329ff05..90a2ea0b4c0 100644 --- a/etc/templates/axisymmetricJet/system/blockMeshDict +++ b/etc/templates/axisymmetricJet/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/system/controlDict b/etc/templates/axisymmetricJet/system/controlDict index 22fe11b14bb..70e7f897bf9 100644 --- a/etc/templates/axisymmetricJet/system/controlDict +++ b/etc/templates/axisymmetricJet/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/system/extrudeMeshDict b/etc/templates/axisymmetricJet/system/extrudeMeshDict index 6af6488b6d5..b7438699eab 100644 --- a/etc/templates/axisymmetricJet/system/extrudeMeshDict +++ b/etc/templates/axisymmetricJet/system/extrudeMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/system/fvSchemes b/etc/templates/axisymmetricJet/system/fvSchemes index 6eb429b4f9b..15fac9930e9 100644 --- a/etc/templates/axisymmetricJet/system/fvSchemes +++ b/etc/templates/axisymmetricJet/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/system/fvSolution b/etc/templates/axisymmetricJet/system/fvSolution index 093bf9b200c..1e474e3173c 100644 --- a/etc/templates/axisymmetricJet/system/fvSolution +++ b/etc/templates/axisymmetricJet/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/axisymmetricJet/system/graph b/etc/templates/axisymmetricJet/system/graph index a90e72a47bc..0591aa60f6c 100644 --- a/etc/templates/axisymmetricJet/system/graph +++ b/etc/templates/axisymmetricJet/system/graph @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/T b/etc/templates/closedVolume/0/T index ac85c5c8684..003fcd230de 100644 --- a/etc/templates/closedVolume/0/T +++ b/etc/templates/closedVolume/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/U b/etc/templates/closedVolume/0/U index 90ecf8ee2c4..5d141856694 100644 --- a/etc/templates/closedVolume/0/U +++ b/etc/templates/closedVolume/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/alphat b/etc/templates/closedVolume/0/alphat index 5a86bb8a18f..fa876338054 100644 --- a/etc/templates/closedVolume/0/alphat +++ b/etc/templates/closedVolume/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/epsilon b/etc/templates/closedVolume/0/epsilon index 10e91f2dcc9..ec5d777c618 100644 --- a/etc/templates/closedVolume/0/epsilon +++ b/etc/templates/closedVolume/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/k b/etc/templates/closedVolume/0/k index bd9d0b4a52d..6b5b39e6a71 100644 --- a/etc/templates/closedVolume/0/k +++ b/etc/templates/closedVolume/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/nut b/etc/templates/closedVolume/0/nut index 7f7aab4ab0d..8abef15ce9c 100644 --- a/etc/templates/closedVolume/0/nut +++ b/etc/templates/closedVolume/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/omega b/etc/templates/closedVolume/0/omega index 9944babc185..13562655984 100644 --- a/etc/templates/closedVolume/0/omega +++ b/etc/templates/closedVolume/0/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/p b/etc/templates/closedVolume/0/p index d4f2ae74825..be96f373f9f 100644 --- a/etc/templates/closedVolume/0/p +++ b/etc/templates/closedVolume/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/0/p_rgh b/etc/templates/closedVolume/0/p_rgh index ae3b3edbc69..46ccb38533d 100644 --- a/etc/templates/closedVolume/0/p_rgh +++ b/etc/templates/closedVolume/0/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/constant/g b/etc/templates/closedVolume/constant/g index 881915bac2f..32870956d50 100644 --- a/etc/templates/closedVolume/constant/g +++ b/etc/templates/closedVolume/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/constant/transportProperties b/etc/templates/closedVolume/constant/transportProperties index 63d807aec3f..0e2ceb9b7c1 100644 --- a/etc/templates/closedVolume/constant/transportProperties +++ b/etc/templates/closedVolume/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/constant/turbulenceProperties b/etc/templates/closedVolume/constant/turbulenceProperties index 566542abe97..24b75a09139 100644 --- a/etc/templates/closedVolume/constant/turbulenceProperties +++ b/etc/templates/closedVolume/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/system/blockMeshDict b/etc/templates/closedVolume/system/blockMeshDict index cde8e7a6645..6923f6cb740 100644 --- a/etc/templates/closedVolume/system/blockMeshDict +++ b/etc/templates/closedVolume/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/system/controlDict b/etc/templates/closedVolume/system/controlDict index bf558602933..a371767d7cf 100644 --- a/etc/templates/closedVolume/system/controlDict +++ b/etc/templates/closedVolume/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/system/fvSchemes b/etc/templates/closedVolume/system/fvSchemes index 3ae0188bebf..5b2f00b55ad 100644 --- a/etc/templates/closedVolume/system/fvSchemes +++ b/etc/templates/closedVolume/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/system/fvSolution b/etc/templates/closedVolume/system/fvSolution index bd582b1c465..00a55fc2995 100644 --- a/etc/templates/closedVolume/system/fvSolution +++ b/etc/templates/closedVolume/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/system/meshQualityDict b/etc/templates/closedVolume/system/meshQualityDict index 74a6a418e97..0f376ab4b5c 100644 --- a/etc/templates/closedVolume/system/meshQualityDict +++ b/etc/templates/closedVolume/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/system/snappyHexMeshDict b/etc/templates/closedVolume/system/snappyHexMeshDict index 8e02c131618..937d0a2491d 100644 --- a/etc/templates/closedVolume/system/snappyHexMeshDict +++ b/etc/templates/closedVolume/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolume/system/surfaceFeatureExtractDict b/etc/templates/closedVolume/system/surfaceFeatureExtractDict index 2d9dd1f9f05..f5f5e9010bd 100644 --- a/etc/templates/closedVolume/system/surfaceFeatureExtractDict +++ b/etc/templates/closedVolume/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/0/U b/etc/templates/closedVolumeRotating/0/U index b7bd93ddaef..35607e96b1d 100644 --- a/etc/templates/closedVolumeRotating/0/U +++ b/etc/templates/closedVolumeRotating/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/0/k b/etc/templates/closedVolumeRotating/0/k index 650bf84bf21..97207294e4d 100644 --- a/etc/templates/closedVolumeRotating/0/k +++ b/etc/templates/closedVolumeRotating/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/0/nut b/etc/templates/closedVolumeRotating/0/nut index 7f7aab4ab0d..8abef15ce9c 100644 --- a/etc/templates/closedVolumeRotating/0/nut +++ b/etc/templates/closedVolumeRotating/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/0/omega b/etc/templates/closedVolumeRotating/0/omega index daf68a2c251..aa0751868ea 100644 --- a/etc/templates/closedVolumeRotating/0/omega +++ b/etc/templates/closedVolumeRotating/0/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/0/p b/etc/templates/closedVolumeRotating/0/p index d4f2ae74825..be96f373f9f 100644 --- a/etc/templates/closedVolumeRotating/0/p +++ b/etc/templates/closedVolumeRotating/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/constant/MRFProperties b/etc/templates/closedVolumeRotating/constant/MRFProperties index 1a17c3fc635..edb26e2ce82 100644 --- a/etc/templates/closedVolumeRotating/constant/MRFProperties +++ b/etc/templates/closedVolumeRotating/constant/MRFProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/constant/dynamicMeshDict b/etc/templates/closedVolumeRotating/constant/dynamicMeshDict index ca6a75424e1..d48265ab409 100644 --- a/etc/templates/closedVolumeRotating/constant/dynamicMeshDict +++ b/etc/templates/closedVolumeRotating/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/constant/rotatingZoneProperties b/etc/templates/closedVolumeRotating/constant/rotatingZoneProperties index f5d63ca98af..37fe7049e55 100644 --- a/etc/templates/closedVolumeRotating/constant/rotatingZoneProperties +++ b/etc/templates/closedVolumeRotating/constant/rotatingZoneProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/constant/transportProperties b/etc/templates/closedVolumeRotating/constant/transportProperties index c1bb40d3d31..023ee0408d0 100644 --- a/etc/templates/closedVolumeRotating/constant/transportProperties +++ b/etc/templates/closedVolumeRotating/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/constant/turbulenceProperties b/etc/templates/closedVolumeRotating/constant/turbulenceProperties index a0a1101a043..8a72f932407 100644 --- a/etc/templates/closedVolumeRotating/constant/turbulenceProperties +++ b/etc/templates/closedVolumeRotating/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/blockMeshDict b/etc/templates/closedVolumeRotating/system/blockMeshDict index 0e0c30ecb57..2a826b9d27a 100644 --- a/etc/templates/closedVolumeRotating/system/blockMeshDict +++ b/etc/templates/closedVolumeRotating/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/blockMeshDict-box b/etc/templates/closedVolumeRotating/system/blockMeshDict-box index cde8e7a6645..6923f6cb740 100644 --- a/etc/templates/closedVolumeRotating/system/blockMeshDict-box +++ b/etc/templates/closedVolumeRotating/system/blockMeshDict-box @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/controlDict b/etc/templates/closedVolumeRotating/system/controlDict index 1d0afadfc29..8b9dc3810be 100644 --- a/etc/templates/closedVolumeRotating/system/controlDict +++ b/etc/templates/closedVolumeRotating/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/createBafflesDict b/etc/templates/closedVolumeRotating/system/createBafflesDict index 6c9d2d6ef2e..b10db3f3f6e 100644 --- a/etc/templates/closedVolumeRotating/system/createBafflesDict +++ b/etc/templates/closedVolumeRotating/system/createBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/fvSchemes b/etc/templates/closedVolumeRotating/system/fvSchemes index 48d2cc46d39..f81d5c1a4c7 100644 --- a/etc/templates/closedVolumeRotating/system/fvSchemes +++ b/etc/templates/closedVolumeRotating/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/fvSolution b/etc/templates/closedVolumeRotating/system/fvSolution index 093bf9b200c..1e474e3173c 100644 --- a/etc/templates/closedVolumeRotating/system/fvSolution +++ b/etc/templates/closedVolumeRotating/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/meshQualityDict b/etc/templates/closedVolumeRotating/system/meshQualityDict index 74a6a418e97..0f376ab4b5c 100644 --- a/etc/templates/closedVolumeRotating/system/meshQualityDict +++ b/etc/templates/closedVolumeRotating/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/snappyHexMeshDict b/etc/templates/closedVolumeRotating/system/snappyHexMeshDict index 2f55d620260..2a8e7f191cb 100644 --- a/etc/templates/closedVolumeRotating/system/snappyHexMeshDict +++ b/etc/templates/closedVolumeRotating/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/closedVolumeRotating/system/surfaceFeatureExtractDict b/etc/templates/closedVolumeRotating/system/surfaceFeatureExtractDict index 48e8fa6ffd5..60697349a16 100644 --- a/etc/templates/closedVolumeRotating/system/surfaceFeatureExtractDict +++ b/etc/templates/closedVolumeRotating/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/0/T b/etc/templates/compressibleInflowOutflow/0/T index ed1bb73440f..20fabb9a8fd 100644 --- a/etc/templates/compressibleInflowOutflow/0/T +++ b/etc/templates/compressibleInflowOutflow/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/0/U b/etc/templates/compressibleInflowOutflow/0/U index 78e8d885378..12a69655493 100644 --- a/etc/templates/compressibleInflowOutflow/0/U +++ b/etc/templates/compressibleInflowOutflow/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/0/alphat b/etc/templates/compressibleInflowOutflow/0/alphat index 553769ecb73..752f34c3e1e 100644 --- a/etc/templates/compressibleInflowOutflow/0/alphat +++ b/etc/templates/compressibleInflowOutflow/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/0/epsilon b/etc/templates/compressibleInflowOutflow/0/epsilon index c5f63fec7d3..c175dcd7774 100644 --- a/etc/templates/compressibleInflowOutflow/0/epsilon +++ b/etc/templates/compressibleInflowOutflow/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/0/k b/etc/templates/compressibleInflowOutflow/0/k index d7b5be53f38..daee8c90884 100644 --- a/etc/templates/compressibleInflowOutflow/0/k +++ b/etc/templates/compressibleInflowOutflow/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/0/nut b/etc/templates/compressibleInflowOutflow/0/nut index c879b9e647a..ac5a2fadd82 100644 --- a/etc/templates/compressibleInflowOutflow/0/nut +++ b/etc/templates/compressibleInflowOutflow/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/0/omega b/etc/templates/compressibleInflowOutflow/0/omega index a6deb19b72d..7c5138b6f79 100644 --- a/etc/templates/compressibleInflowOutflow/0/omega +++ b/etc/templates/compressibleInflowOutflow/0/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/0/p b/etc/templates/compressibleInflowOutflow/0/p index 4ac0bd3704e..ef035ea8156 100644 --- a/etc/templates/compressibleInflowOutflow/0/p +++ b/etc/templates/compressibleInflowOutflow/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/constant/thermophysicalProperties b/etc/templates/compressibleInflowOutflow/constant/thermophysicalProperties index dc2fb9599fc..6920b2f0812 100644 --- a/etc/templates/compressibleInflowOutflow/constant/thermophysicalProperties +++ b/etc/templates/compressibleInflowOutflow/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/constant/turbulenceProperties b/etc/templates/compressibleInflowOutflow/constant/turbulenceProperties index 566542abe97..24b75a09139 100644 --- a/etc/templates/compressibleInflowOutflow/constant/turbulenceProperties +++ b/etc/templates/compressibleInflowOutflow/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/system/blockMeshDict b/etc/templates/compressibleInflowOutflow/system/blockMeshDict index 3f4c69cc966..b295eb8c9fe 100644 --- a/etc/templates/compressibleInflowOutflow/system/blockMeshDict +++ b/etc/templates/compressibleInflowOutflow/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/system/controlDict b/etc/templates/compressibleInflowOutflow/system/controlDict index ed30dd7406a..fa327d6e5ca 100644 --- a/etc/templates/compressibleInflowOutflow/system/controlDict +++ b/etc/templates/compressibleInflowOutflow/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/system/fvSchemes b/etc/templates/compressibleInflowOutflow/system/fvSchemes index a52c2997970..90ad9e5233c 100644 --- a/etc/templates/compressibleInflowOutflow/system/fvSchemes +++ b/etc/templates/compressibleInflowOutflow/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/system/fvSolution b/etc/templates/compressibleInflowOutflow/system/fvSolution index dea533b1872..08b9241ee8d 100644 --- a/etc/templates/compressibleInflowOutflow/system/fvSolution +++ b/etc/templates/compressibleInflowOutflow/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/system/meshQualityDict b/etc/templates/compressibleInflowOutflow/system/meshQualityDict index 74a6a418e97..0f376ab4b5c 100644 --- a/etc/templates/compressibleInflowOutflow/system/meshQualityDict +++ b/etc/templates/compressibleInflowOutflow/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/system/snappyHexMeshDict b/etc/templates/compressibleInflowOutflow/system/snappyHexMeshDict index 461995b8af4..c1b33258928 100644 --- a/etc/templates/compressibleInflowOutflow/system/snappyHexMeshDict +++ b/etc/templates/compressibleInflowOutflow/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/compressibleInflowOutflow/system/surfaceFeatureExtractDict b/etc/templates/compressibleInflowOutflow/system/surfaceFeatureExtractDict index 2d9dd1f9f05..f5f5e9010bd 100644 --- a/etc/templates/compressibleInflowOutflow/system/surfaceFeatureExtractDict +++ b/etc/templates/compressibleInflowOutflow/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/0/U b/etc/templates/inflowOutflow/0/U index 78e8d885378..12a69655493 100644 --- a/etc/templates/inflowOutflow/0/U +++ b/etc/templates/inflowOutflow/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/0/k b/etc/templates/inflowOutflow/0/k index d7b5be53f38..daee8c90884 100644 --- a/etc/templates/inflowOutflow/0/k +++ b/etc/templates/inflowOutflow/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/0/nut b/etc/templates/inflowOutflow/0/nut index a0cfa7cdf2e..5a60c99a86f 100644 --- a/etc/templates/inflowOutflow/0/nut +++ b/etc/templates/inflowOutflow/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/0/omega b/etc/templates/inflowOutflow/0/omega index a6deb19b72d..7c5138b6f79 100644 --- a/etc/templates/inflowOutflow/0/omega +++ b/etc/templates/inflowOutflow/0/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/0/p b/etc/templates/inflowOutflow/0/p index a85427de26a..8667da8d37c 100644 --- a/etc/templates/inflowOutflow/0/p +++ b/etc/templates/inflowOutflow/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/constant/transportProperties b/etc/templates/inflowOutflow/constant/transportProperties index c1bb40d3d31..023ee0408d0 100644 --- a/etc/templates/inflowOutflow/constant/transportProperties +++ b/etc/templates/inflowOutflow/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/constant/turbulenceProperties b/etc/templates/inflowOutflow/constant/turbulenceProperties index a0a1101a043..8a72f932407 100644 --- a/etc/templates/inflowOutflow/constant/turbulenceProperties +++ b/etc/templates/inflowOutflow/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/system/blockMeshDict b/etc/templates/inflowOutflow/system/blockMeshDict index 3f4c69cc966..b295eb8c9fe 100644 --- a/etc/templates/inflowOutflow/system/blockMeshDict +++ b/etc/templates/inflowOutflow/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/system/controlDict b/etc/templates/inflowOutflow/system/controlDict index 1d0afadfc29..8b9dc3810be 100644 --- a/etc/templates/inflowOutflow/system/controlDict +++ b/etc/templates/inflowOutflow/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/system/fvSchemes b/etc/templates/inflowOutflow/system/fvSchemes index 48d2cc46d39..f81d5c1a4c7 100644 --- a/etc/templates/inflowOutflow/system/fvSchemes +++ b/etc/templates/inflowOutflow/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/system/fvSolution b/etc/templates/inflowOutflow/system/fvSolution index 093bf9b200c..1e474e3173c 100644 --- a/etc/templates/inflowOutflow/system/fvSolution +++ b/etc/templates/inflowOutflow/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/system/meshQualityDict b/etc/templates/inflowOutflow/system/meshQualityDict index 74a6a418e97..0f376ab4b5c 100644 --- a/etc/templates/inflowOutflow/system/meshQualityDict +++ b/etc/templates/inflowOutflow/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/system/snappyHexMeshDict b/etc/templates/inflowOutflow/system/snappyHexMeshDict index 461995b8af4..c1b33258928 100644 --- a/etc/templates/inflowOutflow/system/snappyHexMeshDict +++ b/etc/templates/inflowOutflow/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflow/system/surfaceFeatureExtractDict b/etc/templates/inflowOutflow/system/surfaceFeatureExtractDict index 2d9dd1f9f05..f5f5e9010bd 100644 --- a/etc/templates/inflowOutflow/system/surfaceFeatureExtractDict +++ b/etc/templates/inflowOutflow/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/0/U b/etc/templates/inflowOutflowRotating/0/U index dfc4db09038..2930257a8c5 100644 --- a/etc/templates/inflowOutflowRotating/0/U +++ b/etc/templates/inflowOutflowRotating/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/0/k b/etc/templates/inflowOutflowRotating/0/k index d7b5be53f38..daee8c90884 100644 --- a/etc/templates/inflowOutflowRotating/0/k +++ b/etc/templates/inflowOutflowRotating/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/0/nut b/etc/templates/inflowOutflowRotating/0/nut index a0cfa7cdf2e..5a60c99a86f 100644 --- a/etc/templates/inflowOutflowRotating/0/nut +++ b/etc/templates/inflowOutflowRotating/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/0/omega b/etc/templates/inflowOutflowRotating/0/omega index a6deb19b72d..7c5138b6f79 100644 --- a/etc/templates/inflowOutflowRotating/0/omega +++ b/etc/templates/inflowOutflowRotating/0/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/0/p b/etc/templates/inflowOutflowRotating/0/p index a85427de26a..8667da8d37c 100644 --- a/etc/templates/inflowOutflowRotating/0/p +++ b/etc/templates/inflowOutflowRotating/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/constant/MRFProperties b/etc/templates/inflowOutflowRotating/constant/MRFProperties index 1a17c3fc635..edb26e2ce82 100644 --- a/etc/templates/inflowOutflowRotating/constant/MRFProperties +++ b/etc/templates/inflowOutflowRotating/constant/MRFProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/constant/dynamicMeshDict b/etc/templates/inflowOutflowRotating/constant/dynamicMeshDict index ca6a75424e1..d48265ab409 100644 --- a/etc/templates/inflowOutflowRotating/constant/dynamicMeshDict +++ b/etc/templates/inflowOutflowRotating/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/constant/rotatingZoneProperties b/etc/templates/inflowOutflowRotating/constant/rotatingZoneProperties index f5d63ca98af..37fe7049e55 100644 --- a/etc/templates/inflowOutflowRotating/constant/rotatingZoneProperties +++ b/etc/templates/inflowOutflowRotating/constant/rotatingZoneProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/constant/transportProperties b/etc/templates/inflowOutflowRotating/constant/transportProperties index c1bb40d3d31..023ee0408d0 100644 --- a/etc/templates/inflowOutflowRotating/constant/transportProperties +++ b/etc/templates/inflowOutflowRotating/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/constant/turbulenceProperties b/etc/templates/inflowOutflowRotating/constant/turbulenceProperties index a0a1101a043..8a72f932407 100644 --- a/etc/templates/inflowOutflowRotating/constant/turbulenceProperties +++ b/etc/templates/inflowOutflowRotating/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/blockMeshDict b/etc/templates/inflowOutflowRotating/system/blockMeshDict index 6e3fe210c45..aeafa684436 100644 --- a/etc/templates/inflowOutflowRotating/system/blockMeshDict +++ b/etc/templates/inflowOutflowRotating/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/blockMeshDict-box b/etc/templates/inflowOutflowRotating/system/blockMeshDict-box index 3f4c69cc966..b295eb8c9fe 100644 --- a/etc/templates/inflowOutflowRotating/system/blockMeshDict-box +++ b/etc/templates/inflowOutflowRotating/system/blockMeshDict-box @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/controlDict b/etc/templates/inflowOutflowRotating/system/controlDict index 1d0afadfc29..8b9dc3810be 100644 --- a/etc/templates/inflowOutflowRotating/system/controlDict +++ b/etc/templates/inflowOutflowRotating/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/createBafflesDict b/etc/templates/inflowOutflowRotating/system/createBafflesDict index 6c9d2d6ef2e..b10db3f3f6e 100644 --- a/etc/templates/inflowOutflowRotating/system/createBafflesDict +++ b/etc/templates/inflowOutflowRotating/system/createBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/fvSchemes b/etc/templates/inflowOutflowRotating/system/fvSchemes index 48d2cc46d39..f81d5c1a4c7 100644 --- a/etc/templates/inflowOutflowRotating/system/fvSchemes +++ b/etc/templates/inflowOutflowRotating/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/fvSolution b/etc/templates/inflowOutflowRotating/system/fvSolution index 093bf9b200c..1e474e3173c 100644 --- a/etc/templates/inflowOutflowRotating/system/fvSolution +++ b/etc/templates/inflowOutflowRotating/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/meshQualityDict b/etc/templates/inflowOutflowRotating/system/meshQualityDict index 74a6a418e97..0f376ab4b5c 100644 --- a/etc/templates/inflowOutflowRotating/system/meshQualityDict +++ b/etc/templates/inflowOutflowRotating/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/snappyHexMeshDict b/etc/templates/inflowOutflowRotating/system/snappyHexMeshDict index b234fadc347..1b0a9e0e248 100644 --- a/etc/templates/inflowOutflowRotating/system/snappyHexMeshDict +++ b/etc/templates/inflowOutflowRotating/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/etc/templates/inflowOutflowRotating/system/surfaceFeatureExtractDict b/etc/templates/inflowOutflowRotating/system/surfaceFeatureExtractDict index 48e8fa6ffd5..60697349a16 100644 --- a/etc/templates/inflowOutflowRotating/system/surfaceFeatureExtractDict +++ b/etc/templates/inflowOutflowRotating/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/conversion/ccm/remapping b/src/conversion/ccm/remapping index 498f53bd926..32caa078c07 100644 --- a/src/conversion/ccm/remapping +++ b/src/conversion/ccm/remapping @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/conversion/common/tables/remappingDict b/src/conversion/common/tables/remappingDict index 30757af3dde..a7b162cb3c7 100644 --- a/src/conversion/common/tables/remappingDict +++ b/src/conversion/common/tables/remappingDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/dynamicFvMesh/dynamicRefineBalancedFvMesh/balanceParDict b/src/dynamicFvMesh/dynamicRefineBalancedFvMesh/balanceParDict index e4153c40732..90ed8c5652b 100644 --- a/src/dynamicFvMesh/dynamicRefineBalancedFvMesh/balanceParDict +++ b/src/dynamicFvMesh/dynamicRefineBalancedFvMesh/balanceParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/dynamicFvMesh/dynamicRefineBalancedFvMesh/dynamicMeshDict b/src/dynamicFvMesh/dynamicRefineBalancedFvMesh/dynamicMeshDict index ef4979f53eb..b21b392bd70 100644 --- a/src/dynamicFvMesh/dynamicRefineBalancedFvMesh/dynamicMeshDict +++ b/src/dynamicFvMesh/dynamicRefineBalancedFvMesh/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict index 1a6d04b9879..e37a6e509bc 100644 --- a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict +++ b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/finiteVolume/cfdTools/general/solutionControl/loopControl/fvSolution b/src/finiteVolume/cfdTools/general/solutionControl/loopControl/fvSolution index d35c734e687..fb7bffffe36 100644 --- a/src/finiteVolume/cfdTools/general/solutionControl/loopControl/fvSolution +++ b/src/finiteVolume/cfdTools/general/solutionControl/loopControl/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/lumpedPointMotion/lumpedPointMovementDict b/src/lumpedPointMotion/lumpedPointMovementDict index 72f0d571090..3f176c4526f 100644 --- a/src/lumpedPointMotion/lumpedPointMovementDict +++ b/src/lumpedPointMotion/lumpedPointMovementDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/sampling/probes/probesDict b/src/sampling/probes/probesDict index 101be42cb58..1c6a9d36bf1 100644 --- a/src/sampling/probes/probesDict +++ b/src/sampling/probes/probesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/0.orig/U b/tutorials/DNS/dnsFoam/boxTurb16/0.orig/U index 30a4bf3a574..5b54dbfd102 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/0.orig/U +++ b/tutorials/DNS/dnsFoam/boxTurb16/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/0.orig/p b/tutorials/DNS/dnsFoam/boxTurb16/0.orig/p index 3ed98b42b77..d56ab864759 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/0.orig/p +++ b/tutorials/DNS/dnsFoam/boxTurb16/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict b/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict index 67041307f87..7e2370375b1 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict +++ b/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties b/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties index 4cee8a192be..38f30a72617 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties +++ b/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties b/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties index a096ff4c606..d134448a568 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties +++ b/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/system/blockMeshDict b/tutorials/DNS/dnsFoam/boxTurb16/system/blockMeshDict index 5d8c730c9c9..9611e7c6fd1 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/system/blockMeshDict +++ b/tutorials/DNS/dnsFoam/boxTurb16/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict b/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict index 4a61b27c224..38fac604dbc 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict +++ b/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes index 629d8a97b15..799e3532243 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes +++ b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution index 2e226d8f742..4b132a83e7f 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution +++ b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/cavity_parProfiling/0/U b/tutorials/IO/cavity_parProfiling/0/U index f525dbc89f2..e9ce88a9838 100644 --- a/tutorials/IO/cavity_parProfiling/0/U +++ b/tutorials/IO/cavity_parProfiling/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/cavity_parProfiling/0/p b/tutorials/IO/cavity_parProfiling/0/p index b2996b1aea8..1160434c014 100644 --- a/tutorials/IO/cavity_parProfiling/0/p +++ b/tutorials/IO/cavity_parProfiling/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/cavity_parProfiling/constant/transportProperties b/tutorials/IO/cavity_parProfiling/constant/transportProperties index a3caf605201..80ab6e271d3 100644 --- a/tutorials/IO/cavity_parProfiling/constant/transportProperties +++ b/tutorials/IO/cavity_parProfiling/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/cavity_parProfiling/system/blockMeshDict b/tutorials/IO/cavity_parProfiling/system/blockMeshDict index fa83c046b1c..346dc02de83 100644 --- a/tutorials/IO/cavity_parProfiling/system/blockMeshDict +++ b/tutorials/IO/cavity_parProfiling/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/cavity_parProfiling/system/controlDict b/tutorials/IO/cavity_parProfiling/system/controlDict index d11716929cf..b2ceb91fe78 100644 --- a/tutorials/IO/cavity_parProfiling/system/controlDict +++ b/tutorials/IO/cavity_parProfiling/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/cavity_parProfiling/system/decomposeParDict b/tutorials/IO/cavity_parProfiling/system/decomposeParDict index 6c8ad61231d..9a68dbc9e09 100644 --- a/tutorials/IO/cavity_parProfiling/system/decomposeParDict +++ b/tutorials/IO/cavity_parProfiling/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/cavity_parProfiling/system/fvSchemes b/tutorials/IO/cavity_parProfiling/system/fvSchemes index 2a4d2c9557f..51808e9ee6d 100644 --- a/tutorials/IO/cavity_parProfiling/system/fvSchemes +++ b/tutorials/IO/cavity_parProfiling/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/cavity_parProfiling/system/fvSolution.template b/tutorials/IO/cavity_parProfiling/system/fvSolution.template index a67b88e20e6..d88c83a55d7 100644 --- a/tutorials/IO/cavity_parProfiling/system/fvSolution.template +++ b/tutorials/IO/cavity_parProfiling/system/fvSolution.template @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-ending1.dict b/tutorials/IO/dictionary/fatal-ending1.dict index 5451c1f5548..bbcc5b5ce74 100644 --- a/tutorials/IO/dictionary/fatal-ending1.dict +++ b/tutorials/IO/dictionary/fatal-ending1.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-ending2.dict b/tutorials/IO/dictionary/fatal-ending2.dict index 03cf22150c9..dac692ae8a7 100644 --- a/tutorials/IO/dictionary/fatal-ending2.dict +++ b/tutorials/IO/dictionary/fatal-ending2.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-ending3.dict b/tutorials/IO/dictionary/fatal-ending3.dict index f999118ca5f..8b4e3283a0d 100644 --- a/tutorials/IO/dictionary/fatal-ending3.dict +++ b/tutorials/IO/dictionary/fatal-ending3.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-ending4.dict b/tutorials/IO/dictionary/fatal-ending4.dict index aabb585b2e3..eae5338feba 100644 --- a/tutorials/IO/dictionary/fatal-ending4.dict +++ b/tutorials/IO/dictionary/fatal-ending4.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-premature-ending1.dict b/tutorials/IO/dictionary/fatal-premature-ending1.dict index 5af9e9acf52..fbefccc049b 100644 --- a/tutorials/IO/dictionary/fatal-premature-ending1.dict +++ b/tutorials/IO/dictionary/fatal-premature-ending1.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-premature-ending2.dict b/tutorials/IO/dictionary/fatal-premature-ending2.dict index 7133eff3c30..29edd7c1555 100644 --- a/tutorials/IO/dictionary/fatal-premature-ending2.dict +++ b/tutorials/IO/dictionary/fatal-premature-ending2.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-primitive-ending1.dict b/tutorials/IO/dictionary/fatal-primitive-ending1.dict index 5f7b292f050..b123671e032 100644 --- a/tutorials/IO/dictionary/fatal-primitive-ending1.dict +++ b/tutorials/IO/dictionary/fatal-primitive-ending1.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-primitive-ending2.dict b/tutorials/IO/dictionary/fatal-primitive-ending2.dict index c0e5b74ca18..7bcf34e6ad9 100644 --- a/tutorials/IO/dictionary/fatal-primitive-ending2.dict +++ b/tutorials/IO/dictionary/fatal-primitive-ending2.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/fatal-primitive-ending3.dict b/tutorials/IO/dictionary/fatal-primitive-ending3.dict index a41300ca879..e44cb3fb58d 100644 --- a/tutorials/IO/dictionary/fatal-primitive-ending3.dict +++ b/tutorials/IO/dictionary/fatal-primitive-ending3.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/good-empty2.dict b/tutorials/IO/dictionary/good-empty2.dict index 7beac3de23e..6bff5a38113 100644 --- a/tutorials/IO/dictionary/good-empty2.dict +++ b/tutorials/IO/dictionary/good-empty2.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/good-ending1.dict b/tutorials/IO/dictionary/good-ending1.dict index 93ff694d111..c5c41ccc990 100644 --- a/tutorials/IO/dictionary/good-ending1.dict +++ b/tutorials/IO/dictionary/good-ending1.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/good-if1.dict b/tutorials/IO/dictionary/good-if1.dict index 8a87d9e1b95..3d84fcbdeb5 100644 --- a/tutorials/IO/dictionary/good-if1.dict +++ b/tutorials/IO/dictionary/good-if1.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/good-if2.dict b/tutorials/IO/dictionary/good-if2.dict index 5436afa38e0..e2302fc46e4 100644 --- a/tutorials/IO/dictionary/good-if2.dict +++ b/tutorials/IO/dictionary/good-if2.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/good-if3.dict b/tutorials/IO/dictionary/good-if3.dict index 62fcdf50c18..390aafb3fdc 100644 --- a/tutorials/IO/dictionary/good-if3.dict +++ b/tutorials/IO/dictionary/good-if3.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/good-primitive-ending1.dict b/tutorials/IO/dictionary/good-primitive-ending1.dict index 0c495e0db0f..a4b04ebfa09 100644 --- a/tutorials/IO/dictionary/good-primitive-ending1.dict +++ b/tutorials/IO/dictionary/good-primitive-ending1.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/good-word-expand.dict b/tutorials/IO/dictionary/good-word-expand.dict index 64b5cf2e8f7..974fbd9ed5e 100644 --- a/tutorials/IO/dictionary/good-word-expand.dict +++ b/tutorials/IO/dictionary/good-word-expand.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/dictionary/missed-ending3.dict b/tutorials/IO/dictionary/missed-ending3.dict index 5dcabfdeb43..e6608105042 100644 --- a/tutorials/IO/dictionary/missed-ending3.dict +++ b/tutorials/IO/dictionary/missed-ending3.dict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/0.orig/U b/tutorials/IO/fileHandler/0.orig/U index 84460e838fe..fd0d516e3b3 100644 --- a/tutorials/IO/fileHandler/0.orig/U +++ b/tutorials/IO/fileHandler/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/constant/g b/tutorials/IO/fileHandler/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/IO/fileHandler/constant/g +++ b/tutorials/IO/fileHandler/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/constant/kinematicCloudPositions b/tutorials/IO/fileHandler/constant/kinematicCloudPositions index 9a8ab579be2..918bfa6dc15 100644 --- a/tutorials/IO/fileHandler/constant/kinematicCloudPositions +++ b/tutorials/IO/fileHandler/constant/kinematicCloudPositions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/constant/kinematicCloudProperties b/tutorials/IO/fileHandler/constant/kinematicCloudProperties index 31d0804df4b..91fc6654b9e 100644 --- a/tutorials/IO/fileHandler/constant/kinematicCloudProperties +++ b/tutorials/IO/fileHandler/constant/kinematicCloudProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/constant/transportProperties b/tutorials/IO/fileHandler/constant/transportProperties index edf29087369..eb26b6d0f4a 100644 --- a/tutorials/IO/fileHandler/constant/transportProperties +++ b/tutorials/IO/fileHandler/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/constant/turbulenceProperties b/tutorials/IO/fileHandler/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/IO/fileHandler/constant/turbulenceProperties +++ b/tutorials/IO/fileHandler/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/system/blockMeshDict b/tutorials/IO/fileHandler/system/blockMeshDict index 4c34570cce1..ca6fe397e5c 100644 --- a/tutorials/IO/fileHandler/system/blockMeshDict +++ b/tutorials/IO/fileHandler/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/system/controlDict b/tutorials/IO/fileHandler/system/controlDict index c6fbc454905..4cafe3f06e6 100644 --- a/tutorials/IO/fileHandler/system/controlDict +++ b/tutorials/IO/fileHandler/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/system/decomposeParDict b/tutorials/IO/fileHandler/system/decomposeParDict index ce967705b8b..82f934f6452 100644 --- a/tutorials/IO/fileHandler/system/decomposeParDict +++ b/tutorials/IO/fileHandler/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/system/fvSchemes b/tutorials/IO/fileHandler/system/fvSchemes index 9124d3caed7..51423a94bfa 100644 --- a/tutorials/IO/fileHandler/system/fvSchemes +++ b/tutorials/IO/fileHandler/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler/system/fvSolution b/tutorials/IO/fileHandler/system/fvSolution index 68bb8662321..c89b4c70181 100644 --- a/tutorials/IO/fileHandler/system/fvSolution +++ b/tutorials/IO/fileHandler/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/0/U b/tutorials/IO/fileHandler_dynamicCode/0/U index f525dbc89f2..e9ce88a9838 100644 --- a/tutorials/IO/fileHandler_dynamicCode/0/U +++ b/tutorials/IO/fileHandler_dynamicCode/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/0/p b/tutorials/IO/fileHandler_dynamicCode/0/p index b2996b1aea8..1160434c014 100644 --- a/tutorials/IO/fileHandler_dynamicCode/0/p +++ b/tutorials/IO/fileHandler_dynamicCode/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/constant/transportProperties b/tutorials/IO/fileHandler_dynamicCode/constant/transportProperties index a3caf605201..80ab6e271d3 100644 --- a/tutorials/IO/fileHandler_dynamicCode/constant/transportProperties +++ b/tutorials/IO/fileHandler_dynamicCode/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/blockMeshDict b/tutorials/IO/fileHandler_dynamicCode/system/blockMeshDict index c2da56f4741..ea546147f9a 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/blockMeshDict +++ b/tutorials/IO/fileHandler_dynamicCode/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/controlDict b/tutorials/IO/fileHandler_dynamicCode/system/controlDict index 4e3afc109a4..499cbbb85f1 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/controlDict +++ b/tutorials/IO/fileHandler_dynamicCode/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/decomposeParDict b/tutorials/IO/fileHandler_dynamicCode/system/decomposeParDict index deb7d98a7fe..a6a6703b63a 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/decomposeParDict +++ b/tutorials/IO/fileHandler_dynamicCode/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/fvSchemes b/tutorials/IO/fileHandler_dynamicCode/system/fvSchemes index 2a4d2c9557f..51808e9ee6d 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/fvSchemes +++ b/tutorials/IO/fileHandler_dynamicCode/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/fvSolution b/tutorials/IO/fileHandler_dynamicCode/system/fvSolution index ddbf2bf3f91..b1df8765cbc 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/fvSolution +++ b/tutorials/IO/fileHandler_dynamicCode/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/fvSolution.0 b/tutorials/IO/fileHandler_dynamicCode/system/fvSolution.0 index 059a9f375ca..92417b46fdf 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/fvSolution.0 +++ b/tutorials/IO/fileHandler_dynamicCode/system/fvSolution.0 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/fvSolution.5 b/tutorials/IO/fileHandler_dynamicCode/system/fvSolution.5 index ddbf2bf3f91..b1df8765cbc 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/fvSolution.5 +++ b/tutorials/IO/fileHandler_dynamicCode/system/fvSolution.5 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/solverControls b/tutorials/IO/fileHandler_dynamicCode/system/solverControls index cd39033a9aa..abae2224602 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/solverControls +++ b/tutorials/IO/fileHandler_dynamicCode/system/solverControls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/solverControls.0 b/tutorials/IO/fileHandler_dynamicCode/system/solverControls.0 index 418c6b27d69..4b1b570f3f6 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/solverControls.0 +++ b/tutorials/IO/fileHandler_dynamicCode/system/solverControls.0 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/fileHandler_dynamicCode/system/solverControls.5 b/tutorials/IO/fileHandler_dynamicCode/system/solverControls.5 index cd39033a9aa..abae2224602 100644 --- a/tutorials/IO/fileHandler_dynamicCode/system/solverControls.5 +++ b/tutorials/IO/fileHandler_dynamicCode/system/solverControls.5 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/0.orig/U b/tutorials/IO/systemCall/0.orig/U index 187232313d6..75f7136e70d 100644 --- a/tutorials/IO/systemCall/0.orig/U +++ b/tutorials/IO/systemCall/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/0.orig/include/fixedInlet b/tutorials/IO/systemCall/0.orig/include/fixedInlet index 4c91f75fc28..125fbb7bc20 100644 --- a/tutorials/IO/systemCall/0.orig/include/fixedInlet +++ b/tutorials/IO/systemCall/0.orig/include/fixedInlet @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/0.orig/include/frontBackUpperPatches b/tutorials/IO/systemCall/0.orig/include/frontBackUpperPatches index 19b3e2353d7..f17a37762cf 100644 --- a/tutorials/IO/systemCall/0.orig/include/frontBackUpperPatches +++ b/tutorials/IO/systemCall/0.orig/include/frontBackUpperPatches @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/0.orig/include/initialConditions b/tutorials/IO/systemCall/0.orig/include/initialConditions index 1688de8bbe9..6b897d6d9d5 100644 --- a/tutorials/IO/systemCall/0.orig/include/initialConditions +++ b/tutorials/IO/systemCall/0.orig/include/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/0.orig/k b/tutorials/IO/systemCall/0.orig/k index 214d6603dc9..9406e6c421c 100644 --- a/tutorials/IO/systemCall/0.orig/k +++ b/tutorials/IO/systemCall/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/0.orig/nut b/tutorials/IO/systemCall/0.orig/nut index e9516bd5fde..2d475ca9ce4 100644 --- a/tutorials/IO/systemCall/0.orig/nut +++ b/tutorials/IO/systemCall/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/0.orig/omega b/tutorials/IO/systemCall/0.orig/omega index 135a6bd2c49..071b2f5497f 100644 --- a/tutorials/IO/systemCall/0.orig/omega +++ b/tutorials/IO/systemCall/0.orig/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/0.orig/p b/tutorials/IO/systemCall/0.orig/p index fdf95910750..29d63c931ab 100644 --- a/tutorials/IO/systemCall/0.orig/p +++ b/tutorials/IO/systemCall/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/constant/transportProperties b/tutorials/IO/systemCall/constant/transportProperties index 2f49eea5a90..1eba7d1d954 100644 --- a/tutorials/IO/systemCall/constant/transportProperties +++ b/tutorials/IO/systemCall/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/constant/turbulenceProperties b/tutorials/IO/systemCall/constant/turbulenceProperties index e5d396e2b4e..c1d5ac10f3f 100644 --- a/tutorials/IO/systemCall/constant/turbulenceProperties +++ b/tutorials/IO/systemCall/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/system/blockMeshDict b/tutorials/IO/systemCall/system/blockMeshDict index f9ac7e9ec95..f4917ff1e29 100644 --- a/tutorials/IO/systemCall/system/blockMeshDict +++ b/tutorials/IO/systemCall/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/system/controlDict b/tutorials/IO/systemCall/system/controlDict index 317bddbb825..bd966938b89 100644 --- a/tutorials/IO/systemCall/system/controlDict +++ b/tutorials/IO/systemCall/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/system/decomposeParDict b/tutorials/IO/systemCall/system/decomposeParDict index dbee1d4f982..3a884d08c8a 100644 --- a/tutorials/IO/systemCall/system/decomposeParDict +++ b/tutorials/IO/systemCall/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/system/fvSchemes b/tutorials/IO/systemCall/system/fvSchemes index 00ddba31419..d7d6dead9b9 100644 --- a/tutorials/IO/systemCall/system/fvSchemes +++ b/tutorials/IO/systemCall/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/IO/systemCall/system/fvSolution b/tutorials/IO/systemCall/system/fvSolution index 7b4f83588ca..09395f67667 100644 --- a/tutorials/IO/systemCall/system/fvSolution +++ b/tutorials/IO/systemCall/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/T b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/T index 8ba06dc9589..608400e4bfb 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/T +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/U b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/U index cf2c049a844..6d23a972a19 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/U +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/epsilon b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/epsilon index 97c129a27f7..2d921a6d340 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/epsilon +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/include/emptyPatches b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/include/emptyPatches index 919dc2bf7d0..2fe70d8a550 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/include/emptyPatches +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/include/emptyPatches @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/k b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/k index 9dbb2c984dc..ea103ad4e36 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/k +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p index 5641d760c02..e936d9661cf 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p_rgh b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p_rgh index b1db9bb7148..c6d8c726cae 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p_rgh +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/g b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/g index 73165d17b42..7f6eb4aeb7c 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/g +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/leftSolid/radiationProperties b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/leftSolid/radiationProperties index 87414923dfc..8321a595246 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/leftSolid/radiationProperties +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/leftSolid/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/leftSolid/thermophysicalProperties b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/leftSolid/thermophysicalProperties index 4fb310aa830..8e114f43c93 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/leftSolid/thermophysicalProperties +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/leftSolid/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------* \ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/regionProperties b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/regionProperties index 6e6ee761b18..245014e9edf 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/regionProperties +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/radiationProperties b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/radiationProperties index 470fe1d13be..fc5e2c245c9 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/radiationProperties +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/thermophysicalProperties b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/thermophysicalProperties +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/turbulenceProperties b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/turbulenceProperties index 0e4214acde2..f0c14e0b36b 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/turbulenceProperties +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/constant/rightFluid/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/blockMeshDict b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/blockMeshDict index 69bb3fd336e..ed94b220c2c 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/blockMeshDict +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/controlDict b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/controlDict index 644042b67b7..8faffd62223 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/controlDict +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSchemes b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSchemes +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSolution b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSolution index 856925603d5..e374fc98357 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSolution +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/changeDictionaryDict b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/changeDictionaryDict index 01f883bc87e..eb84a73d68a 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/changeDictionaryDict +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/fvSchemes b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/fvSchemes index 10cba96afaa..eeb1bc9315b 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/fvSchemes +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/fvSolution b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/fvSolution index 742c0432e68..843175e80e1 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/fvSolution +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/leftSolid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/changeDictionaryDict b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/changeDictionaryDict index f02a8577bcd..749db35b1f9 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/changeDictionaryDict +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/createBafflesDict b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/createBafflesDict index c1a5bf8f953..5e1cdc353d4 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/createBafflesDict +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/createBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/fvSchemes b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/fvSchemes index 4b5103e9f8f..d201c3c6120 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/fvSchemes +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/fvSolution b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/fvSolution index f9414c96913..5cc5be43613 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/fvSolution +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/rightFluid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict index 8c39d7696db..0e28f37ffe4 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict.f1 b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict.f1 index c5096488a77..9250c1727d4 100644 --- a/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict.f1 +++ b/tutorials/basic/chtMultiRegionFoam/2DImplicitCyclic/system/topoSetDict.f1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/flange/0.orig/T b/tutorials/basic/laplacianFoam/flange/0.orig/T index fb313f3f97e..21f0eb5cf10 100644 --- a/tutorials/basic/laplacianFoam/flange/0.orig/T +++ b/tutorials/basic/laplacianFoam/flange/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/flange/constant/transportProperties b/tutorials/basic/laplacianFoam/flange/constant/transportProperties index 1c216f86034..c82288a7ffb 100644 --- a/tutorials/basic/laplacianFoam/flange/constant/transportProperties +++ b/tutorials/basic/laplacianFoam/flange/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/flange/system/controlDict b/tutorials/basic/laplacianFoam/flange/system/controlDict index 897d4016bee..78eb46e0100 100644 --- a/tutorials/basic/laplacianFoam/flange/system/controlDict +++ b/tutorials/basic/laplacianFoam/flange/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/flange/system/decomposeParDict b/tutorials/basic/laplacianFoam/flange/system/decomposeParDict index 6c262b34d7c..a1a1da626bd 100644 --- a/tutorials/basic/laplacianFoam/flange/system/decomposeParDict +++ b/tutorials/basic/laplacianFoam/flange/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/flange/system/fvSchemes b/tutorials/basic/laplacianFoam/flange/system/fvSchemes index d3a15ae4de8..523e7bc40c9 100644 --- a/tutorials/basic/laplacianFoam/flange/system/fvSchemes +++ b/tutorials/basic/laplacianFoam/flange/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/flange/system/fvSolution b/tutorials/basic/laplacianFoam/flange/system/fvSolution index caf20ad3767..cab386402ed 100644 --- a/tutorials/basic/laplacianFoam/flange/system/fvSolution +++ b/tutorials/basic/laplacianFoam/flange/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/0/T b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/0/T index d10f8c3da41..501d84da3d6 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/0/T +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/constant/transportProperties b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/constant/transportProperties index 5d74f54db07..39f9579daa9 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/constant/transportProperties +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/blockMeshDict b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/blockMeshDict index 64cbb04640e..54a75419c97 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/controlDict b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/controlDict index cbe479735b4..534c6b00a2e 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/controlDict +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict index fa584aa1e05..7f764347c44 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict.random b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict.random index 84e695a03f4..4d844ed6fd3 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict.random +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/decomposeParDict.random @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/fvSchemes b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/fvSchemes index 6ca6eae217e..cc30cf8904e 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/fvSchemes +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/fvSolution b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/fvSolution index 3c0d0a65303..fe38bf5d707 100644 --- a/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/fvSolution +++ b/tutorials/basic/laplacianFoam/implicitAMI-nonblocking/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/common/constant/transportProperties b/tutorials/basic/laplacianFoam/multiWorld1/common/constant/transportProperties index 1c216f86034..c82288a7ffb 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/common/constant/transportProperties +++ b/tutorials/basic/laplacianFoam/multiWorld1/common/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/common/system/controlDict b/tutorials/basic/laplacianFoam/multiWorld1/common/system/controlDict index ecdeb9e451d..43c842abee0 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/common/system/controlDict +++ b/tutorials/basic/laplacianFoam/multiWorld1/common/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/common/system/decomposeParDict b/tutorials/basic/laplacianFoam/multiWorld1/common/system/decomposeParDict index 1349afd2e14..2d2fbcaa1ef 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/common/system/decomposeParDict +++ b/tutorials/basic/laplacianFoam/multiWorld1/common/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/common/system/fvSchemes b/tutorials/basic/laplacianFoam/multiWorld1/common/system/fvSchemes index b0c1565bff7..ef48d4d80c6 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/common/system/fvSchemes +++ b/tutorials/basic/laplacianFoam/multiWorld1/common/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/common/system/fvSolution b/tutorials/basic/laplacianFoam/multiWorld1/common/system/fvSolution index caf20ad3767..cab386402ed 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/common/system/fvSolution +++ b/tutorials/basic/laplacianFoam/multiWorld1/common/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/left/0.orig/T b/tutorials/basic/laplacianFoam/multiWorld1/left/0.orig/T index 9d4ac838e27..e97b6eb235a 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/left/0.orig/T +++ b/tutorials/basic/laplacianFoam/multiWorld1/left/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/left/system/blockMeshDict b/tutorials/basic/laplacianFoam/multiWorld1/left/system/blockMeshDict index dc691f3be6a..ee6e329476f 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/left/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/multiWorld1/left/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/right/0.orig/T b/tutorials/basic/laplacianFoam/multiWorld1/right/0.orig/T index 61f1a8369b0..f0a576eea94 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/right/0.orig/T +++ b/tutorials/basic/laplacianFoam/multiWorld1/right/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld1/right/system/blockMeshDict b/tutorials/basic/laplacianFoam/multiWorld1/right/system/blockMeshDict index 3dadc920d47..f7f2e070ee2 100644 --- a/tutorials/basic/laplacianFoam/multiWorld1/right/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/multiWorld1/right/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/common/constant/transportProperties b/tutorials/basic/laplacianFoam/multiWorld2/common/constant/transportProperties index 5d74f54db07..39f9579daa9 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/common/constant/transportProperties +++ b/tutorials/basic/laplacianFoam/multiWorld2/common/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/common/system/controlDict b/tutorials/basic/laplacianFoam/multiWorld2/common/system/controlDict index aba05411b8b..1683a40a03c 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/common/system/controlDict +++ b/tutorials/basic/laplacianFoam/multiWorld2/common/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/common/system/decomposeParDict b/tutorials/basic/laplacianFoam/multiWorld2/common/system/decomposeParDict index b36149ebef7..981ace6f297 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/common/system/decomposeParDict +++ b/tutorials/basic/laplacianFoam/multiWorld2/common/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/common/system/fvSchemes b/tutorials/basic/laplacianFoam/multiWorld2/common/system/fvSchemes index 6ca6eae217e..cc30cf8904e 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/common/system/fvSchemes +++ b/tutorials/basic/laplacianFoam/multiWorld2/common/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/common/system/fvSolution b/tutorials/basic/laplacianFoam/multiWorld2/common/system/fvSolution index 5f412115526..a69474bba9c 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/common/system/fvSolution +++ b/tutorials/basic/laplacianFoam/multiWorld2/common/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/slab1/0.orig/T b/tutorials/basic/laplacianFoam/multiWorld2/slab1/0.orig/T index bdb2ae362ed..66dfbcc9172 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/slab1/0.orig/T +++ b/tutorials/basic/laplacianFoam/multiWorld2/slab1/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/slab1/system/blockMeshDict b/tutorials/basic/laplacianFoam/multiWorld2/slab1/system/blockMeshDict index 1bd97f85b96..a0bdeff4569 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/slab1/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/multiWorld2/slab1/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/slab2/0.orig/T b/tutorials/basic/laplacianFoam/multiWorld2/slab2/0.orig/T index e1b14ef3321..9c10f7cf4ba 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/slab2/0.orig/T +++ b/tutorials/basic/laplacianFoam/multiWorld2/slab2/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/slab2/system/blockMeshDict b/tutorials/basic/laplacianFoam/multiWorld2/slab2/system/blockMeshDict index ee4ff0fcc81..5153abf0479 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/slab2/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/multiWorld2/slab2/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/slab3/0.orig/T b/tutorials/basic/laplacianFoam/multiWorld2/slab3/0.orig/T index 2d18153b7e9..7538ed8c078 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/slab3/0.orig/T +++ b/tutorials/basic/laplacianFoam/multiWorld2/slab3/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/slab3/system/blockMeshDict b/tutorials/basic/laplacianFoam/multiWorld2/slab3/system/blockMeshDict index c68e40b56ce..e062cd309ea 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/slab3/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/multiWorld2/slab3/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/slab4/0.orig/T b/tutorials/basic/laplacianFoam/multiWorld2/slab4/0.orig/T index 61208032dcf..c74cd3e7a47 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/slab4/0.orig/T +++ b/tutorials/basic/laplacianFoam/multiWorld2/slab4/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/slab4/system/blockMeshDict b/tutorials/basic/laplacianFoam/multiWorld2/slab4/system/blockMeshDict index 77b0f0f90fb..d90cfc986ec 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/slab4/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/multiWorld2/slab4/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/top/0.orig/T b/tutorials/basic/laplacianFoam/multiWorld2/top/0.orig/T index 03ff2d3dcf2..17ff58b2ad3 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/top/0.orig/T +++ b/tutorials/basic/laplacianFoam/multiWorld2/top/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/top/system/blockMeshDict b/tutorials/basic/laplacianFoam/multiWorld2/top/system/blockMeshDict index 4391583250a..16429d79d8d 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/top/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/multiWorld2/top/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/top/system/createPatchDict b/tutorials/basic/laplacianFoam/multiWorld2/top/system/createPatchDict index ad3e6f57178..acb1f39d229 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/top/system/createPatchDict +++ b/tutorials/basic/laplacianFoam/multiWorld2/top/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/multiWorld2/top/system/topoSetDict.patches b/tutorials/basic/laplacianFoam/multiWorld2/top/system/topoSetDict.patches index e8aa9a67399..b05a8d139bc 100644 --- a/tutorials/basic/laplacianFoam/multiWorld2/top/system/topoSetDict.patches +++ b/tutorials/basic/laplacianFoam/multiWorld2/top/system/topoSetDict.patches @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/0/T b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/0/T index 059152e1241..455b693ab36 100644 --- a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/0/T +++ b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/constant/transportProperties b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/constant/transportProperties index 5d74f54db07..39f9579daa9 100644 --- a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/constant/transportProperties +++ b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/blockMeshDict b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/blockMeshDict index 35999c5dafb..593d0fbd116 100644 --- a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/blockMeshDict +++ b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/controlDict b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/controlDict index 7f8e39e5bec..4afcc874bb7 100644 --- a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/controlDict +++ b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/decomposeParDict b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/decomposeParDict index fc6e964aed2..5d06afcaa5b 100644 --- a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/decomposeParDict +++ b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/fvSchemes b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/fvSchemes index 6ca6eae217e..cc30cf8904e 100644 --- a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/fvSchemes +++ b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/fvSolution b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/fvSolution index 5f412115526..a69474bba9c 100644 --- a/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/fvSolution +++ b/tutorials/basic/laplacianFoam/twoBlocks-processorAgglom/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/T b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/T index 6c8b4f1bc6c..9ba6b0a17ef 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/T +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/cellDisplacement b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/cellDisplacement index 90363e675e5..95e62bac6b9 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/cellDisplacement +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/cellDisplacement @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/pointDisplacement b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/pointDisplacement index 52cf782da3b..65ec7d346eb 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/pointDisplacement +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/pointDisplacement @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/zoneID b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/zoneID index e1dcb667022..e6a563b8866 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/zoneID +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/zoneID @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/constant/dynamicMeshDict b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/constant/dynamicMeshDict index ce1537bfea0..3df3c047053 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/constant/dynamicMeshDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/constant/transportProperties b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/constant/transportProperties index 75816436a30..f2791d85abf 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/constant/transportProperties +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/blockMeshDict b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/blockMeshDict index c4ad38cb35a..2137c0d54d4 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/blockMeshDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/controlDict b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/controlDict index 5f160e7b001..9f7984229d9 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/controlDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/decomposeParDict b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/decomposeParDict index d8b64837bf4..b130e886b19 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/decomposeParDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/fvSchemes b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/fvSchemes index fa8a04d3593..dd34241c8de 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/fvSchemes +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/fvSolution b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/fvSolution index ea8202358e8..759c7a68018 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/fvSolution +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/setFieldsDict b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/setFieldsDict index b16106caeff..99bee0020b6 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/setFieldsDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/topoSetDict b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/topoSetDict index 51446137af1..adaa18551bd 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/topoSetDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransfer/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/T b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/T index ad9d66ed4c3..cf3a13e8114 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/T +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/cellDisplacement b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/cellDisplacement index 90363e675e5..95e62bac6b9 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/cellDisplacement +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/cellDisplacement @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/pointDisplacement b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/pointDisplacement index 52cf782da3b..65ec7d346eb 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/pointDisplacement +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/pointDisplacement @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/zoneID b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/zoneID index e1dcb667022..e6a563b8866 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/zoneID +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/0.orig/zoneID @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/constant/dynamicMeshDict b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/constant/dynamicMeshDict index 6d871df8272..0c2ab487725 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/constant/dynamicMeshDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/constant/transportProperties b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/constant/transportProperties index 1ac7b919f34..610f7ad959f 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/constant/transportProperties +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/blockMeshDict b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/blockMeshDict index 64cab9ea082..04bb8fe9cd8 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/blockMeshDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/controlDict b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/controlDict index c16d3dfa4aa..75e50dab8c5 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/controlDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/fvSchemes b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/fvSchemes index 676030b06f0..a8f0b6b34c4 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/fvSchemes +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/fvSolution b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/fvSolution index 32a5d996ae6..7fc8a4fa643 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/fvSolution +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/setFieldsDict b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/setFieldsDict index 2324d0e1804..671444e0f11 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/setFieldsDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/topoSetDict b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/topoSetDict index a890f2c8bc5..33657fe3721 100644 --- a/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/topoSetDict +++ b/tutorials/basic/overLaplacianDyMFoam/heatTransferFluxConservation1D/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/U b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/U index adfd7d8bdf1..081cc87a38f 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/U +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/include/initialConditions b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/include/initialConditions index 2ef25cd9dc4..572741499ea 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/include/initialConditions +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/include/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/p b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/p index 728cbd1c99f..6c976ed19aa 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/p +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/pointDisplacement b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/pointDisplacement index 2a2197c7488..06f4d41d981 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/pointDisplacement +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/pointDisplacement @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/zoneID b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/zoneID index 998dba0c5ef..e9a37ab0275 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/zoneID +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/0.orig/zoneID @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/constant/dynamicMeshDict b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/constant/dynamicMeshDict index ce1537bfea0..3df3c047053 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/constant/dynamicMeshDict +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/blockMeshDict b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/blockMeshDict index f869bdf1d45..5d02a59a4b4 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/blockMeshDict +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/controlDict b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/controlDict index 0572a972ec0..37fb91c22bf 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/controlDict +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/fvSchemes b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/fvSchemes index d36e657ac99..80864b88d33 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/fvSchemes +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/fvSolution b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/fvSolution index 00ea0e72a77..198415da0c4 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/fvSolution +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/setFieldsDict b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/setFieldsDict index b16106caeff..99bee0020b6 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/setFieldsDict +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/topoSetDict b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/topoSetDict index 566cfb2eb97..e2685206340 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/topoSetDict +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderAndBackground/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/controlDict b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/controlDict index 208caf7b73e..797c9b8151f 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/controlDict +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/createPatchDict b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/createPatchDict index 37d8e5e2cac..774c19a3963 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/createPatchDict +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/extrudeMeshDict b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/extrudeMeshDict index cb6c9e99bcf..0fe6dc40eac 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/extrudeMeshDict +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/extrudeMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/fvSchemes b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/fvSchemes +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/fvSolution b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/fvSolution index 9f14182f06a..2f5abd0344d 100644 --- a/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/fvSolution +++ b/tutorials/basic/overPotentialFoam/cylinder/cylinderMesh/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/cylinder/0.orig/U b/tutorials/basic/potentialFoam/cylinder/0.orig/U index 75de5d83a24..20862d0a19c 100644 --- a/tutorials/basic/potentialFoam/cylinder/0.orig/U +++ b/tutorials/basic/potentialFoam/cylinder/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/cylinder/0.orig/p b/tutorials/basic/potentialFoam/cylinder/0.orig/p index c75ef8a8d86..e2209c53b89 100644 --- a/tutorials/basic/potentialFoam/cylinder/0.orig/p +++ b/tutorials/basic/potentialFoam/cylinder/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/cylinder/system/blockMeshDict b/tutorials/basic/potentialFoam/cylinder/system/blockMeshDict index 2bffe5b631c..f2e2831eb40 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/blockMeshDict +++ b/tutorials/basic/potentialFoam/cylinder/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/cylinder/system/controlDict b/tutorials/basic/potentialFoam/cylinder/system/controlDict index a518ca623ee..6cf6567dbe1 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/controlDict +++ b/tutorials/basic/potentialFoam/cylinder/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/cylinder/system/decomposeParDict b/tutorials/basic/potentialFoam/cylinder/system/decomposeParDict index bc4a47e3046..e69ee975cf4 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/decomposeParDict +++ b/tutorials/basic/potentialFoam/cylinder/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/cylinder/system/fvSchemes b/tutorials/basic/potentialFoam/cylinder/system/fvSchemes index 0090104d821..1296151c248 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/fvSchemes +++ b/tutorials/basic/potentialFoam/cylinder/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/cylinder/system/fvSolution b/tutorials/basic/potentialFoam/cylinder/system/fvSolution index 7d49cb06323..23d15a9809b 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/fvSolution +++ b/tutorials/basic/potentialFoam/cylinder/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/pitzDaily/0.orig/U b/tutorials/basic/potentialFoam/pitzDaily/0.orig/U index 7b92c532cbf..1b79fa72751 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/0.orig/U +++ b/tutorials/basic/potentialFoam/pitzDaily/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/pitzDaily/0.orig/p b/tutorials/basic/potentialFoam/pitzDaily/0.orig/p index da1f59277ff..eca7aa93a8f 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/0.orig/p +++ b/tutorials/basic/potentialFoam/pitzDaily/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/blockMeshDict b/tutorials/basic/potentialFoam/pitzDaily/system/blockMeshDict index 8f26d3a8f3f..7709136f71b 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/system/blockMeshDict +++ b/tutorials/basic/potentialFoam/pitzDaily/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/controlDict b/tutorials/basic/potentialFoam/pitzDaily/system/controlDict index 433b18a3335..15928a0f7b6 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/system/controlDict +++ b/tutorials/basic/potentialFoam/pitzDaily/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes b/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes index 7788b495abc..0ab22bc1b80 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes +++ b/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution b/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution index f1c14ebb2ab..88dd992835e 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution +++ b/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/0/T b/tutorials/basic/scalarTransportFoam/pitzDaily/0/T index 8e83e4b65b1..84f93f697da 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/0/T +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/0/U b/tutorials/basic/scalarTransportFoam/pitzDaily/0/U index 42188c2d67b..5af3d2df4f9 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/0/U +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties index f530df23f74..14ceeeb30f0 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/blockMeshDict b/tutorials/basic/scalarTransportFoam/pitzDaily/system/blockMeshDict index 8f26d3a8f3f..7709136f71b 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/blockMeshDict +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/changeDictionaryDict b/tutorials/basic/scalarTransportFoam/pitzDaily/system/changeDictionaryDict index 869cb37d2d3..fa3c21c472f 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/changeDictionaryDict +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict b/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict index 3bab4de23ff..7cd4944c859 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes index f3a636050c4..d840c8f410b 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution index b258c9b1b6d..d2757910145 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/0/U b/tutorials/basic/simpleFoam/implicitAMI/0/U index a4289a9ec96..7a237278cdb 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/0/U +++ b/tutorials/basic/simpleFoam/implicitAMI/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/0/p b/tutorials/basic/simpleFoam/implicitAMI/0/p index e7eedfa5d34..c08d2dfd569 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/0/p +++ b/tutorials/basic/simpleFoam/implicitAMI/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/constant/transportProperties b/tutorials/basic/simpleFoam/implicitAMI/constant/transportProperties index 2d427b998b8..924eb5940ca 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/constant/transportProperties +++ b/tutorials/basic/simpleFoam/implicitAMI/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/constant/turbulenceProperties b/tutorials/basic/simpleFoam/implicitAMI/constant/turbulenceProperties index b144be26871..963249f2fca 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/constant/turbulenceProperties +++ b/tutorials/basic/simpleFoam/implicitAMI/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/system/blockMeshDict b/tutorials/basic/simpleFoam/implicitAMI/system/blockMeshDict index d129d609867..85d430c6d3a 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/system/blockMeshDict +++ b/tutorials/basic/simpleFoam/implicitAMI/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/system/controlDict b/tutorials/basic/simpleFoam/implicitAMI/system/controlDict index 063198a8c45..7a0228eac2f 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/system/controlDict +++ b/tutorials/basic/simpleFoam/implicitAMI/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/system/decomposeParDict b/tutorials/basic/simpleFoam/implicitAMI/system/decomposeParDict index fec6e354290..f011d82c2a9 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/system/decomposeParDict +++ b/tutorials/basic/simpleFoam/implicitAMI/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/system/fvSchemes b/tutorials/basic/simpleFoam/implicitAMI/system/fvSchemes index 0118f511d72..5f00bea1177 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/system/fvSchemes +++ b/tutorials/basic/simpleFoam/implicitAMI/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/basic/simpleFoam/implicitAMI/system/fvSolution b/tutorials/basic/simpleFoam/implicitAMI/system/fvSolution index 5e3623c8bfb..75ab7a267d0 100644 --- a/tutorials/basic/simpleFoam/implicitAMI/system/fvSolution +++ b/tutorials/basic/simpleFoam/implicitAMI/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/PDRProperties b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/PDRProperties index 0516d8a0d0f..0497a6ff621 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/PDRProperties +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/PDRProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/combustionProperties b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/combustionProperties index 2cf2e9d5e75..c5efa4214d3 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/combustionProperties +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/dynamicMeshDict b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/dynamicMeshDict index 58eaef309c3..d3ed6c8d01f 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/dynamicMeshDict +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/g b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/g index 1d8ddca689e..f1ac736cb34 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/g +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties index 7c5448fc868..4ce4270940c 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/turbulenceProperties b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/turbulenceProperties index ea891791c7a..255878cd74a 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/turbulenceProperties +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/PDRMeshDict b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/PDRMeshDict index a19bd04e6b8..e643ec019a4 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/PDRMeshDict +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/PDRMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/blockMeshDict b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/blockMeshDict index 6e6a3a0f17f..98fca85635e 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/blockMeshDict +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/changeDictionaryDict b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/changeDictionaryDict index 897d7c9b918..84c5092eba1 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/changeDictionaryDict +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/controlDict b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/controlDict index 8fe6a60f218..5a2a70d0fec 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/controlDict +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/decomposeParDict b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/decomposeParDict index 3a2a8157541..fa332cb29ea 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/decomposeParDict +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSchemes b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSchemes index d3a5bf428f5..efc5c0081f6 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSchemes +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSolution b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSolution index d9eb24f5ae0..7614d4f1335 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSolution +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/topoSetDict b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/topoSetDict index ce94322e2d0..1966755c0f4 100644 --- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/topoSetDict +++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRep b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRep index b52afe5e1e7..285490f640a 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRep +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRep @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRxp b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRxp index ca445ffa33b..5fc38aaace9 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRxp +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRxp @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/RPers b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/RPers index 051dd5f22a1..eb331933cce 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/RPers +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/RPers @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Su b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Su index 4adc85a228c..cd24f1d7297 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Su +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Su @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/T b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/T index d2d660def61..1069a3837f6 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/T +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Tu b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Tu index 503e610accd..97c907d86ac 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Tu +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Tu @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/U b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/U index cc991a64dc1..b1d15c15998 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/U +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xi b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xi index 547026eb09a..576f26f619c 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xi +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xi @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xp b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xp index 26554a58e7f..34466945f1a 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xp +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xp @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/b b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/b index 82cd30c1a20..91337279384 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/b +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/b @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/epsilon b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/epsilon index 7a5aca83359..38c68863739 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/epsilon +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/ft b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/ft index 73624eac2af..06c8df8552b 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/ft +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/ft @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/k b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/k index 6ebf87f40d0..1e02334b2d2 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/k +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/nut b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/nut index 8ac201c2924..9d3bb5d6dc6 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/nut +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/p b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/p index 5fe9a06e50a..59db7e38d52 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/p +++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/PDRProperties b/tutorials/combustion/PDRFoam/pipeLattice/constant/PDRProperties index 5f3bbd34ecc..0c22ed04ef6 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/constant/PDRProperties +++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/PDRProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/combustionProperties b/tutorials/combustion/PDRFoam/pipeLattice/constant/combustionProperties index 2085e598a1f..f337a5607d3 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/constant/combustionProperties +++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/g b/tutorials/combustion/PDRFoam/pipeLattice/constant/g index 0e5693e69f2..928d2b1e466 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/constant/g +++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/thermophysicalProperties b/tutorials/combustion/PDRFoam/pipeLattice/constant/thermophysicalProperties index f120ed7f764..11f08045fda 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/constant/thermophysicalProperties +++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/turbulenceProperties b/tutorials/combustion/PDRFoam/pipeLattice/constant/turbulenceProperties index 8be366d4faa..4b618bee5cf 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/constant/turbulenceProperties +++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/geometry/obstaclesDict b/tutorials/combustion/PDRFoam/pipeLattice/geometry/obstaclesDict index c3b9f3b1160..098fd0d58c4 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/geometry/obstaclesDict +++ b/tutorials/combustion/PDRFoam/pipeLattice/geometry/obstaclesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/geometry/pipeLattice b/tutorials/combustion/PDRFoam/pipeLattice/geometry/pipeLattice index 2ae22e9c49f..ec5826c7546 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/geometry/pipeLattice +++ b/tutorials/combustion/PDRFoam/pipeLattice/geometry/pipeLattice @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/PDRblockMeshDict b/tutorials/combustion/PDRFoam/pipeLattice/system/PDRblockMeshDict index 5e9fce50b61..f5b40bc7aef 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/system/PDRblockMeshDict +++ b/tutorials/combustion/PDRFoam/pipeLattice/system/PDRblockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/PDRsetFieldsDict b/tutorials/combustion/PDRFoam/pipeLattice/system/PDRsetFieldsDict index acff99fb7bd..448aca6b633 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/system/PDRsetFieldsDict +++ b/tutorials/combustion/PDRFoam/pipeLattice/system/PDRsetFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/controlDict b/tutorials/combustion/PDRFoam/pipeLattice/system/controlDict index ab78f367fb8..e6b76df3443 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/system/controlDict +++ b/tutorials/combustion/PDRFoam/pipeLattice/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemes b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemes index c199f381080..e0c02bfca54 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemes +++ b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolution b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolution index a12a013bbcb..e07dcb5103a 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolution +++ b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/probes b/tutorials/combustion/PDRFoam/pipeLattice/system/probes index 237d361c0dd..d2b51d67873 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/system/probes +++ b/tutorials/combustion/PDRFoam/pipeLattice/system/probes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/setFieldsDict b/tutorials/combustion/PDRFoam/pipeLattice/system/setFieldsDict index be49a62a252..569914844d4 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/system/setFieldsDict +++ b/tutorials/combustion/PDRFoam/pipeLattice/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/topoSetDict b/tutorials/combustion/PDRFoam/pipeLattice/system/topoSetDict index d7fe28191ce..8c9558def6c 100644 --- a/tutorials/combustion/PDRFoam/pipeLattice/system/topoSetDict +++ b/tutorials/combustion/PDRFoam/pipeLattice/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Su b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Su index 2ab2dba3109..e7ae69530fb 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Su +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Su @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/T b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/T index cc55c69d33a..5a084b5401e 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/T +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Tu b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Tu index 68e2627efc9..0d9a1dda53e 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Tu +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Tu @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/U b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/U index 6db2f93b06e..d338ecd1f38 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/U +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Xi b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Xi index 1ab8d6f91fd..f00a0b9f1ea 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Xi +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/Xi @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/alphat b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/alphat index 6d27483491f..a6ababb4ccf 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/alphat +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/b b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/b index 3baf85cba6b..bd176a12642 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/b +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/b @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/ft b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/ft index 58afc874486..398804226a1 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/ft +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/ft @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/k b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/k index 7fd531829cf..ab2ef13189a 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/k +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/nut b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/nut index 3ada8efc406..1afbc967f3f 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/nut +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/p b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/p index 4079bce3799..4f437b54424 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/p +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/pPotential b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/pPotential index a1e2f0dfa86..ab805fe28a3 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/pPotential +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/0.orig/pPotential @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/combustionProperties b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/combustionProperties index cc0d6919035..2fa7fffe731 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/combustionProperties +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/dynamicMeshDict b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/dynamicMeshDict index 8fd7ff10416..3e3aaf4eeff 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/dynamicMeshDict +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/g b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/g index 0e5693e69f2..928d2b1e466 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/g +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/thermophysicalProperties b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/thermophysicalProperties index a6cd2b746ac..e812ac97705 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/thermophysicalProperties +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/turbulenceProperties b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/turbulenceProperties index df7a832be36..dd7bb103f5f 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/turbulenceProperties +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/FOXiReactionRate b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/FOXiReactionRate index 1b9ae858afb..c2dfeda31aa 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/FOXiReactionRate +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/FOXiReactionRate @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/blockMeshDict b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/blockMeshDict index 41770e54f5f..750ab314fde 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/blockMeshDict +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/controlDict b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/controlDict index 65dd7377b87..57c59550ed3 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/controlDict +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/createPatchDict.ami b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/createPatchDict.ami index b2958c17bcf..1127c38ce63 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/createPatchDict.ami +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/createPatchDict.ami @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/createPatchDict.cyclic b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/createPatchDict.cyclic index 3d0b4579ec1..7ee55cbd392 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/createPatchDict.cyclic +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/createPatchDict.cyclic @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/decomposeParDict b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/decomposeParDict index 3835f996a6b..ac1918925fc 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/decomposeParDict +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSchemes b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSchemes index 39c94d0c2e2..be5783c3129 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSchemes +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSolution b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSolution index 25c616b8a45..7a5c43bdfdb 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSolution +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/meshQualityDict b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/meshQualityDict index aad44057291..c2eac80361e 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/meshQualityDict +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/snappyHexMeshDict b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/snappyHexMeshDict index d7272c44441..a19fcfc2d3f 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/snappyHexMeshDict +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Su b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Su index 557a9f0c987..597c467a88e 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Su +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Su @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/T b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/T index 3905a5aa9b5..d9fd7bec153 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/T +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/T @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Tu b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Tu index 12ad6035d96..483302ce537 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Tu +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Tu @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/U b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/U index d882f5fdcff..bdfe9487adb 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/U +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/U @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Xi b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Xi index 0ef2bbe7aa2..4507d541b42 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Xi +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/Xi @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/alphat b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/alphat index 0bc39f31038..0dafa0c92e5 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/alphat +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/b b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/b index 42a59b0e1f8..2dea632d215 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/b +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/b @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/epsilon b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/epsilon index 2920875fec4..b7b81519255 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/epsilon +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/ft b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/ft index 0c881f12594..71c254f6a95 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/ft +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/ft @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/k b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/k index 55cbcda1f54..29fc78c009b 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/k +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/nut b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/nut index 7df36166c21..920a9e53362 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/nut +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/p b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/p index f1c0505418b..cef520f6c8a 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/p +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/p @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/pointDisplacementy b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/pointDisplacementy index 00f8cfc556d..23fd0e54cd9 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/pointDisplacementy +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/0.orig/pointDisplacementy @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/combustionProperties b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/combustionProperties index 1a48406fe67..d1a36fb365b 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/combustionProperties +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/dynamicMeshDict b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/dynamicMeshDict index 761b5724ad5..f849005c680 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/dynamicMeshDict +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/g b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/g index 0e5693e69f2..928d2b1e466 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/g +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/thermophysicalProperties b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/thermophysicalProperties index 75ecc992b7f..50db76c3caa 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/thermophysicalProperties +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/turbulenceProperties b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/turbulenceProperties +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/blockMeshDict b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/blockMeshDict index de695642087..73b59ec801b 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/blockMeshDict +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/controlDict b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/controlDict index ccdae149a6f..f5ab1ec2bd8 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/controlDict +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes index a9c86196017..8a17595032d 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSolution b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSolution index d8cfd2877eb..2b4a378296b 100644 --- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSolution +++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/Su b/tutorials/combustion/XiEngineFoam/kivaTest/-180/Su index bbd9d7841ae..b2cd35a9f6e 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/Su +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/Su @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/T b/tutorials/combustion/XiEngineFoam/kivaTest/-180/T index 256c26eff91..c23e15059a0 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/T +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/Tu b/tutorials/combustion/XiEngineFoam/kivaTest/-180/Tu index 695995f6f65..034046e124e 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/Tu +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/Tu @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/U b/tutorials/combustion/XiEngineFoam/kivaTest/-180/U index 9d243c9a3ad..9e58fe6b116 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/U +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/Xi b/tutorials/combustion/XiEngineFoam/kivaTest/-180/Xi index 43d22ca6e6b..f07fd0d8758 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/Xi +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/Xi @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/alphat b/tutorials/combustion/XiEngineFoam/kivaTest/-180/alphat index 9bd1bb48a99..b52c3609da8 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/alphat +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/b b/tutorials/combustion/XiEngineFoam/kivaTest/-180/b index ba6ca494457..0f8d9c02637 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/b +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/b @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/epsilon b/tutorials/combustion/XiEngineFoam/kivaTest/-180/epsilon index 9489867f2c6..ada7f2bafae 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/epsilon +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/ft b/tutorials/combustion/XiEngineFoam/kivaTest/-180/ft index 93f68113644..c962f9a9d9e 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/ft +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/ft @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/fu b/tutorials/combustion/XiEngineFoam/kivaTest/-180/fu index 889013b4663..eb3777b5bd7 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/fu +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/fu @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/k b/tutorials/combustion/XiEngineFoam/kivaTest/-180/k index d1cc3b1c165..3a3e9a5277f 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/k +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/nut b/tutorials/combustion/XiEngineFoam/kivaTest/-180/nut index 741dd5b0cd0..1ab59b8403e 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/nut +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/-180/p b/tutorials/combustion/XiEngineFoam/kivaTest/-180/p index 88c866f4b73..55dc5bae72a 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/-180/p +++ b/tutorials/combustion/XiEngineFoam/kivaTest/-180/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/constant/combustionProperties b/tutorials/combustion/XiEngineFoam/kivaTest/constant/combustionProperties index 9ebd599bccc..8df21d63dde 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/constant/combustionProperties +++ b/tutorials/combustion/XiEngineFoam/kivaTest/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/constant/engineGeometry b/tutorials/combustion/XiEngineFoam/kivaTest/constant/engineGeometry index fca7a8ed30b..4021d2221e7 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/constant/engineGeometry +++ b/tutorials/combustion/XiEngineFoam/kivaTest/constant/engineGeometry @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/constant/thermophysicalProperties b/tutorials/combustion/XiEngineFoam/kivaTest/constant/thermophysicalProperties index 2f6ee3416f4..7d7e6f54f0b 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/constant/thermophysicalProperties +++ b/tutorials/combustion/XiEngineFoam/kivaTest/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/constant/turbulenceProperties b/tutorials/combustion/XiEngineFoam/kivaTest/constant/turbulenceProperties index f31b75b805c..1e35b3f2513 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/constant/turbulenceProperties +++ b/tutorials/combustion/XiEngineFoam/kivaTest/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/system/controlDict b/tutorials/combustion/XiEngineFoam/kivaTest/system/controlDict index 9a4f0c56608..395385d1ae1 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/system/controlDict +++ b/tutorials/combustion/XiEngineFoam/kivaTest/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/system/decomposeParDict b/tutorials/combustion/XiEngineFoam/kivaTest/system/decomposeParDict index aa91ec3736e..1807d1e1943 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/system/decomposeParDict +++ b/tutorials/combustion/XiEngineFoam/kivaTest/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/system/fvSchemes b/tutorials/combustion/XiEngineFoam/kivaTest/system/fvSchemes index e638cd89b7f..37a83c13ed5 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/system/fvSchemes +++ b/tutorials/combustion/XiEngineFoam/kivaTest/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiEngineFoam/kivaTest/system/fvSolution b/tutorials/combustion/XiEngineFoam/kivaTest/system/fvSolution index ef8dffaeca3..6533f9d931a 100644 --- a/tutorials/combustion/XiEngineFoam/kivaTest/system/fvSolution +++ b/tutorials/combustion/XiEngineFoam/kivaTest/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Su b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Su index 4d8f5dc5887..85a74528d99 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Su +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Su @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/T b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/T index 2c541c296d8..2b6d2a6a567 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/T +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Tu b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Tu index 29b9f8091bc..13e38e548b5 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Tu +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Tu @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/U b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/U index ae4135b5591..6bb50f87ee2 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/U +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Xi b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Xi index 00484b76b0a..0cf21fab44f 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Xi +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Xi @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/alphat b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/alphat index b2bdfa8db20..53eb9446642 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/alphat +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/b b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/b index 945bebf1de1..f9e2f182ed0 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/b +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/b @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/epsilon b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/epsilon index 84dc6d85f7b..c3631957eac 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/epsilon +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/ft b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/ft index dcaacba0188..4e6963d815e 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/ft +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/ft @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/fu b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/fu index 307030fa20c..dede7089407 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/fu +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/fu @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/k b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/k index 8004edd2536..7f4c0389518 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/k +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/nut b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/nut index e21fcfa33cd..04ce9f28116 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/nut +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/p b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/p index 8f241b05bdd..16a1e178fa2 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/p +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/combustionProperties b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/combustionProperties index 9c7fad36b6f..0c101003b49 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/combustionProperties +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties index b5b0fcaf754..3b88b59c39f 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen index bce6fb9ff19..b1367f388d0 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/turbulenceProperties b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/turbulenceProperties index 5a3b29249f2..43f16675b4a 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/turbulenceProperties +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/blockMeshDict b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/blockMeshDict index 828d79e37e2..83b3080ed1c 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/blockMeshDict +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/controlDict b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/controlDict index 3942fe5fbce..833cf3d1f06 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/controlDict +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSchemes b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSchemes index 88349870570..a8bd5621b67 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSchemes +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSolution b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSolution index b2b77e9efd8..e85229a7975 100644 --- a/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSolution +++ b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/gri/chemkin/transportProperties b/tutorials/combustion/chemFoam/gri/chemkin/transportProperties index 14133f43d14..0c87da4eb99 100644 --- a/tutorials/combustion/chemFoam/gri/chemkin/transportProperties +++ b/tutorials/combustion/chemFoam/gri/chemkin/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/gri/constant/chemistryProperties b/tutorials/combustion/chemFoam/gri/constant/chemistryProperties index d0285b4d041..9e3689a670f 100644 --- a/tutorials/combustion/chemFoam/gri/constant/chemistryProperties +++ b/tutorials/combustion/chemFoam/gri/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/gri/constant/initialConditions b/tutorials/combustion/chemFoam/gri/constant/initialConditions index 834c7d483a9..9e7c79b92b4 100644 --- a/tutorials/combustion/chemFoam/gri/constant/initialConditions +++ b/tutorials/combustion/chemFoam/gri/constant/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties index 285525263a6..c5a2b5ae07f 100644 --- a/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties +++ b/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/gri/system/controlDict b/tutorials/combustion/chemFoam/gri/system/controlDict index 32a2fc60dd1..719bfc46ebf 100644 --- a/tutorials/combustion/chemFoam/gri/system/controlDict +++ b/tutorials/combustion/chemFoam/gri/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/gri/system/fvSchemes b/tutorials/combustion/chemFoam/gri/system/fvSchemes index 653bb2a2956..f7510980e94 100644 --- a/tutorials/combustion/chemFoam/gri/system/fvSchemes +++ b/tutorials/combustion/chemFoam/gri/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/gri/system/fvSolution b/tutorials/combustion/chemFoam/gri/system/fvSolution index db4be99d68c..315c1dd0cfa 100644 --- a/tutorials/combustion/chemFoam/gri/system/fvSolution +++ b/tutorials/combustion/chemFoam/gri/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/h2/chemkin/transportProperties b/tutorials/combustion/chemFoam/h2/chemkin/transportProperties index 14133f43d14..0c87da4eb99 100644 --- a/tutorials/combustion/chemFoam/h2/chemkin/transportProperties +++ b/tutorials/combustion/chemFoam/h2/chemkin/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/h2/constant/chemistryProperties b/tutorials/combustion/chemFoam/h2/constant/chemistryProperties index d0285b4d041..9e3689a670f 100644 --- a/tutorials/combustion/chemFoam/h2/constant/chemistryProperties +++ b/tutorials/combustion/chemFoam/h2/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/h2/constant/initialConditions b/tutorials/combustion/chemFoam/h2/constant/initialConditions index f919f419804..de5482f16d5 100644 --- a/tutorials/combustion/chemFoam/h2/constant/initialConditions +++ b/tutorials/combustion/chemFoam/h2/constant/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties index 835c4a26678..bfce150f7fd 100644 --- a/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties +++ b/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/h2/system/controlDict b/tutorials/combustion/chemFoam/h2/system/controlDict index 0d1cf5a11ad..b4d027e42f1 100644 --- a/tutorials/combustion/chemFoam/h2/system/controlDict +++ b/tutorials/combustion/chemFoam/h2/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/h2/system/fvSchemes b/tutorials/combustion/chemFoam/h2/system/fvSchemes index 5b9751852b4..18082f4ced1 100644 --- a/tutorials/combustion/chemFoam/h2/system/fvSchemes +++ b/tutorials/combustion/chemFoam/h2/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/h2/system/fvSolution b/tutorials/combustion/chemFoam/h2/system/fvSolution index db4be99d68c..315c1dd0cfa 100644 --- a/tutorials/combustion/chemFoam/h2/system/fvSolution +++ b/tutorials/combustion/chemFoam/h2/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18/chemkin/transportProperties b/tutorials/combustion/chemFoam/ic8h18/chemkin/transportProperties index 14133f43d14..0c87da4eb99 100644 --- a/tutorials/combustion/chemFoam/ic8h18/chemkin/transportProperties +++ b/tutorials/combustion/chemFoam/ic8h18/chemkin/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18/constant/chemistryProperties b/tutorials/combustion/chemFoam/ic8h18/constant/chemistryProperties index d0285b4d041..9e3689a670f 100644 --- a/tutorials/combustion/chemFoam/ic8h18/constant/chemistryProperties +++ b/tutorials/combustion/chemFoam/ic8h18/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18/constant/initialConditions b/tutorials/combustion/chemFoam/ic8h18/constant/initialConditions index 743c9f96dc8..32c0362a630 100644 --- a/tutorials/combustion/chemFoam/ic8h18/constant/initialConditions +++ b/tutorials/combustion/chemFoam/ic8h18/constant/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties index 835c4a26678..bfce150f7fd 100644 --- a/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties +++ b/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18/system/controlDict b/tutorials/combustion/chemFoam/ic8h18/system/controlDict index ef624cd7b56..24d1e116710 100644 --- a/tutorials/combustion/chemFoam/ic8h18/system/controlDict +++ b/tutorials/combustion/chemFoam/ic8h18/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18/system/fvSchemes b/tutorials/combustion/chemFoam/ic8h18/system/fvSchemes index 653bb2a2956..f7510980e94 100644 --- a/tutorials/combustion/chemFoam/ic8h18/system/fvSchemes +++ b/tutorials/combustion/chemFoam/ic8h18/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18/system/fvSolution b/tutorials/combustion/chemFoam/ic8h18/system/fvSolution index db4be99d68c..315c1dd0cfa 100644 --- a/tutorials/combustion/chemFoam/ic8h18/system/fvSolution +++ b/tutorials/combustion/chemFoam/ic8h18/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties b/tutorials/combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties index b166f37c278..29d3d050b7b 100644 --- a/tutorials/combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties +++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/chemistryProperties b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/chemistryProperties index 776bed6ccfd..4fc1ec38e5a 100644 --- a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/chemistryProperties +++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/initialConditions b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/initialConditions index 743c9f96dc8..32c0362a630 100644 --- a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/initialConditions +++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/thermophysicalProperties index 835c4a26678..bfce150f7fd 100644 --- a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/thermophysicalProperties +++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict index ef624cd7b56..24d1e116710 100644 --- a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict +++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSchemes b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSchemes index 653bb2a2956..f7510980e94 100644 --- a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSchemes +++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution index db4be99d68c..315c1dd0cfa 100644 --- a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution +++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/nc7h16/chemkin/transportProperties b/tutorials/combustion/chemFoam/nc7h16/chemkin/transportProperties index 14133f43d14..0c87da4eb99 100644 --- a/tutorials/combustion/chemFoam/nc7h16/chemkin/transportProperties +++ b/tutorials/combustion/chemFoam/nc7h16/chemkin/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/nc7h16/constant/chemistryProperties b/tutorials/combustion/chemFoam/nc7h16/constant/chemistryProperties index 5b4f205ffda..b005a105f0a 100644 --- a/tutorials/combustion/chemFoam/nc7h16/constant/chemistryProperties +++ b/tutorials/combustion/chemFoam/nc7h16/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/nc7h16/constant/initialConditions b/tutorials/combustion/chemFoam/nc7h16/constant/initialConditions index cf792704a71..1c688651481 100644 --- a/tutorials/combustion/chemFoam/nc7h16/constant/initialConditions +++ b/tutorials/combustion/chemFoam/nc7h16/constant/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties index 835c4a26678..bfce150f7fd 100644 --- a/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties +++ b/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/nc7h16/system/controlDict b/tutorials/combustion/chemFoam/nc7h16/system/controlDict index a0d39662e12..1078317c48a 100644 --- a/tutorials/combustion/chemFoam/nc7h16/system/controlDict +++ b/tutorials/combustion/chemFoam/nc7h16/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/nc7h16/system/fvSchemes b/tutorials/combustion/chemFoam/nc7h16/system/fvSchemes index 99bc94991be..7ccfabbff8c 100644 --- a/tutorials/combustion/chemFoam/nc7h16/system/fvSchemes +++ b/tutorials/combustion/chemFoam/nc7h16/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/chemFoam/nc7h16/system/fvSolution b/tutorials/combustion/chemFoam/nc7h16/system/fvSolution index db4be99d68c..315c1dd0cfa 100644 --- a/tutorials/combustion/chemFoam/nc7h16/system/fvSolution +++ b/tutorials/combustion/chemFoam/nc7h16/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/T b/tutorials/combustion/coldEngineFoam/freePiston/0/T index 8bfdf3ec375..c17827d1a19 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/T +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/U b/tutorials/combustion/coldEngineFoam/freePiston/0/U index d2919eec033..5d1f7643160 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/U +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM:.Uhe Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/air b/tutorials/combustion/coldEngineFoam/freePiston/0/air index 617fa94e18e..87b0c3f2a6b 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/air +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/air @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/alphat b/tutorials/combustion/coldEngineFoam/freePiston/0/alphat index 3ee329d6b55..e6e21d2240a 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/alphat +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/epsilon b/tutorials/combustion/coldEngineFoam/freePiston/0/epsilon index 01084c61b13..d1aa741f074 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/epsilon +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/include/boundaryConditions b/tutorials/combustion/coldEngineFoam/freePiston/0/include/boundaryConditions index 4e60a877197..80b2929b6f1 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/include/boundaryConditions +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/include/boundaryConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/include/caseSettings b/tutorials/combustion/coldEngineFoam/freePiston/0/include/caseSettings index 3ec7016a0a4..92176eacc80 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/include/caseSettings +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/include/caseSettings @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/k b/tutorials/combustion/coldEngineFoam/freePiston/0/k index 86849b4e7de..b19a5d92859 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/k +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM:.khe Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/nut b/tutorials/combustion/coldEngineFoam/freePiston/0/nut index 7ab0b431383..c3bbebadea5 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/nut +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/0/p b/tutorials/combustion/coldEngineFoam/freePiston/0/p index 398f6d980ed..a56101e0e66 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/0/p +++ b/tutorials/combustion/coldEngineFoam/freePiston/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM:.phe Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/constant/engineGeometry b/tutorials/combustion/coldEngineFoam/freePiston/constant/engineGeometry index e1dbe452d26..ae09a7da970 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/constant/engineGeometry +++ b/tutorials/combustion/coldEngineFoam/freePiston/constant/engineGeometry @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/constant/g b/tutorials/combustion/coldEngineFoam/freePiston/constant/g index 4ff87621666..e9dfc3f353d 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/constant/g +++ b/tutorials/combustion/coldEngineFoam/freePiston/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/constant/thermophysicalProperties b/tutorials/combustion/coldEngineFoam/freePiston/constant/thermophysicalProperties index 6ef8dd7e587..9c83e140ce6 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/constant/thermophysicalProperties +++ b/tutorials/combustion/coldEngineFoam/freePiston/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/constant/turbulenceProperties b/tutorials/combustion/coldEngineFoam/freePiston/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/constant/turbulenceProperties +++ b/tutorials/combustion/coldEngineFoam/freePiston/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/system/blockMeshDict b/tutorials/combustion/coldEngineFoam/freePiston/system/blockMeshDict index 2da4716209b..dea25111eb1 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/system/blockMeshDict +++ b/tutorials/combustion/coldEngineFoam/freePiston/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/system/controlDict b/tutorials/combustion/coldEngineFoam/freePiston/system/controlDict index b2aea3e452e..21a77645866 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/system/controlDict +++ b/tutorials/combustion/coldEngineFoam/freePiston/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/system/fvSchemes b/tutorials/combustion/coldEngineFoam/freePiston/system/fvSchemes index dde370a1a40..53cbbd1a599 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/system/fvSchemes +++ b/tutorials/combustion/coldEngineFoam/freePiston/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/coldEngineFoam/freePiston/system/fvSolution b/tutorials/combustion/coldEngineFoam/freePiston/system/fvSolution index 86356be7419..842addaf8f7 100644 --- a/tutorials/combustion/coldEngineFoam/freePiston/system/fvSolution +++ b/tutorials/combustion/coldEngineFoam/freePiston/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/C7H16 b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/C7H16 index 171465a85f1..4005250b5a3 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/C7H16 +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/C7H16 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/IDefault b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/IDefault index 6051cd61c85..44fb4ca6703 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/IDefault +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/N2 b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/N2 index 402eb92f368..312fa34a1fc 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/N2 +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/O2 b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/O2 index 3d7db379118..773b3256d1a 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/O2 +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/T b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/T index a610a782ab5..32187cba704 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/T +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/U b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/U index f923cadf899..0caefd8e8c3 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/U +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/Ydefault b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/Ydefault index 986bfe3284e..53966e72649 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/Ydefault +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/alphat b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/alphat index ad38a264c9d..7d2426818d5 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/alphat +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/k b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/k index ccfa8427a6d..1ee6e38119a 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/k +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/nut b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/nut index dbf56f44986..145750c006c 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/nut +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p index ccd29da2e39..59a8c2eb6eb 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p_rgh b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p_rgh index 865c7507570..f5225fe7366 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p_rgh +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/panelRegion/T b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/panelRegion/T index 375ae21e7d7..4a92f8b02d4 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/panelRegion/T +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/panelRegion/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/panelRegion/p b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/panelRegion/p index 5a41ed90e04..fe7a0b42042 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/panelRegion/p +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/0.orig/panelRegion/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/additionalControls b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/additionalControls index 3a493fae603..dbdb42de686 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/additionalControls +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/additionalControls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/boundaryRadiationProperties index 5b4f1ad4ff2..0fa81bfb1e9 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/boundaryRadiationProperties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/combustionProperties index 9d9f4c4f3a7..1c54d43dadb 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/combustionProperties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/g b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/g +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/hRef b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/hRef index 1245e8e70f1..597845f9c65 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/hRef +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/hRef @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/panelRegion/radiationProperties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/panelRegion/radiationProperties index 559cc7d23c2..5514858e765 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/panelRegion/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/panelRegion/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/panelRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/panelRegion/thermophysicalProperties index 18c0b67cf43..0931c1dcf9a 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/panelRegion/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/panelRegion/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/pyrolysisZones index 5d129c0bc95..1759eccdee0 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/pyrolysisZones +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/pyrolysisZones @@ -1,7 +1,7 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/radiationProperties index aca9a2b5ff5..f41c5566f36 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/reactingCloud1Properties index 97c15e75983..5a2b88cd943 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/reactingCloud1Properties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/reactingCloud1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/surfaceFilmProperties index 3d58f907920..71786456657 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/surfaceFilmProperties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/surfaceFilmProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/thermo.compressibleGas index 3901453708b..51ffe9f721f 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/thermo.compressibleGas +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/thermophysicalProperties index 627d937368a..033f61565f4 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/turbulenceProperties index b5080b0a360..92238af3b8a 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/constant/turbulenceProperties +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/blockMeshDict.m4 b/tutorials/combustion/fireFoam/LES/compartmentFire/system/blockMeshDict.m4 index 22c98c8d2f3..92e56b211be 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/blockMeshDict.m4 +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/blockMeshDict.m4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/controlDict b/tutorials/combustion/fireFoam/LES/compartmentFire/system/controlDict index 119a2a0df0e..c59beb1fde7 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/controlDict +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/createPatchDict b/tutorials/combustion/fireFoam/LES/compartmentFire/system/createPatchDict index ac640df952f..7cb98a92cb5 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/createPatchDict +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/decomposeParDict b/tutorials/combustion/fireFoam/LES/compartmentFire/system/decomposeParDict index ebfc0543670..3220b6607ae 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/decomposeParDict +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/extrudeToRegionMeshDict b/tutorials/combustion/fireFoam/LES/compartmentFire/system/extrudeToRegionMeshDict index c4c4d171e91..7e6376d7610 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/extrudeToRegionMeshDict +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/extrudeToRegionMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/fvSchemes b/tutorials/combustion/fireFoam/LES/compartmentFire/system/fvSchemes index 3a77367fa8b..22b37bfd57a 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/fvSolution b/tutorials/combustion/fireFoam/LES/compartmentFire/system/fvSolution index 574c7e4c433..5eeb88a06e0 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/fvSolution +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/decomposeParDict b/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/decomposeParDict index 7f78d99ff4a..b3bab9434e3 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/decomposeParDict +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/fvSchemes b/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/fvSchemes index 9720dc60739..ff67a169564 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/fvSolution b/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/fvSolution index 0bf0071f3dc..8f9401f3b78 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/fvSolution +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/panelRegion/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/snappyHexMeshDict b/tutorials/combustion/fireFoam/LES/compartmentFire/system/snappyHexMeshDict index ce03dd9cf3f..adda5a55818 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/snappyHexMeshDict +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/topoSetDict b/tutorials/combustion/fireFoam/LES/compartmentFire/system/topoSetDict index 09b9f0c64ae..84a800c096b 100644 --- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/topoSetDict +++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/C3H8 b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/C3H8 index 046eafa1bf0..5c0552c64f2 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/C3H8 +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/C3H8 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/IDefault b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/IDefault index 81d9e54344c..69b9a351f7e 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/IDefault +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/N2 b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/N2 index 5bb7c69a5d6..4dd833f6f5f 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/N2 +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/O2 b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/O2 index dc4cf270e12..9c03f0cf4b7 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/O2 +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/T b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/T index 23bb939329d..f57a6f8553e 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/T +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/U b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/U index 860af17ed75..1a817edd7e8 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/U +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/Ydefault b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/Ydefault index 3073595e2de..ec3c8d56bc2 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/Ydefault +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/alphat b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/alphat index 3f526d45735..82133805a1f 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/alphat +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Tf b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Tf index ec8149339d2..bd669aa2d2c 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Tf +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Tf @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Uf b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Uf index d6f97f2c3e8..ec54d0c751e 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Uf +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/Uf @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/deltaf b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/deltaf index 9aad864703a..f3c5af1235d 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/deltaf +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/filmRegion/deltaf @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/k b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/k index bdd9bc5dbb0..c7e540d8263 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/k +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/nut b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/nut index dfd313eab3a..27fedbbbc54 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/nut +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p index dd1a6997832..4352a1c0346 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p_rgh b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p_rgh index 656a42743ec..0c075fb65c4 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p_rgh +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/ph_rgh b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/ph_rgh index c58e03187cd..7e14ceda9ad 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/ph_rgh +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/ph_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/T b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/T index d12b95e99d2..79ebf68d9bc 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/T +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/Y0Default b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/Y0Default index 3a2227f504c..2efac21b80c 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/Y0Default +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/Y0Default @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/char b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/char index 5c3ec784896..b0785062260 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/char +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/char @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/p b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/p index 5001355c5d2..59a73a3ee81 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/p +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/qr b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/qr index ae85b445635..0f19c8ed8fa 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/qr +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/qr @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/wood b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/wood index 2a1c1e2f000..4780e8d2634 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/wood +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0.orig/pyrolysisRegion/wood @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/additionalControls b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/additionalControls index 3a493fae603..dbdb42de686 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/additionalControls +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/additionalControls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/boundaryRadiationProperties index c6a3edbc4df..d118bbad469 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/boundaryRadiationProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/combustionProperties index d3d007ceb11..ea2831aead4 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/combustionProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/g b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/g index 1d8ddca689e..f1ac736cb34 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/g +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pRef b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pRef index 0bf0c3817dd..3878db14779 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pRef +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pRef @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties index f827c575db3..b6eb84ac2d0 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties index b97dd5e6aa6..8b9bced8ffd 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid index d568212fd0d..77ba19d0327 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties index e84d1a96b1c..53929b4898c 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones index 5384e1378f7..ab531e76763 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/radiationProperties index 8d6f91d8c02..8f1c46e4dfb 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions index 9ebc730fac4..f518fcb81c1 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties index 97c15e75983..5a2b88cd943 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties index e11bd455f3e..e86781d12a7 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas index 22282a880b5..a451246db8b 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties index a86fd9557c0..5caa989bfd8 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties index 4bcdc5244f0..77561c59caa 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/blockMeshDict index 0439fd97adb..a0c5b823b52 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/blockMeshDict +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/blockMeshDict @@ -1,7 +1,7 @@ /*-----------------------------*-C++-*---------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/controlDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/controlDict index 22d728d76db..02cb270c835 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/controlDict +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/createPatchDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/createPatchDict index 33570509b46..7b4f4121f40 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/createPatchDict +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm index 6667aab6e4b..6f264d07d79 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr index d23ad4722d5..abf151cb6e5 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict index 2ac04d046e0..82cbf8fdcec 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict index 72dedd77a4c..c2c775d8b64 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes index 09b632d24b8..a1ed43564cc 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution index cdc6f86ea1b..ad1f2a654bc 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict index 7f8bc118db6..b99567d5ea2 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSchemes b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSchemes index b7ef0a8c708..382087353b6 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSolution b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSolution index e403bcc7fe9..7d1fa4be7a7 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSolution +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes index 0b70058b927..6349a1775d7 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution index c696070d898..cc0411d19bf 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/topoSetDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/topoSetDict index 680ba43a193..2a15fc69984 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/topoSetDict +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/C3H8 b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/C3H8 index fb048016e6a..c69a22e4c44 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/C3H8 +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/C3H8 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/G b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/G index 9bed163cbb6..5ca50962ba0 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/G +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/IDefault b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/IDefault index 2fd2256a76e..2e70b39c878 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/IDefault +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/N2 b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/N2 index 30753b7490b..02141bae8e3 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/N2 +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/O2 b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/O2 index dd1533a58c4..9c53a809386 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/O2 +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/T b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/T index fe66045eac4..db903a98584 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/T +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/U b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/U index c3d46c0c4fc..cc4e6e97cfa 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/U +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/Ydefault b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/Ydefault index 891356ce041..e6643874565 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/Ydefault +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/alphat b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/alphat index a84e69960bd..3ef33eef29a 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/alphat +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/k b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/k index 236937579d1..82717fd63c6 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/k +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/nut b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/nut index 7fe8fba70a5..da7a68536bf 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/nut +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p index b146c6e79b7..62c4c34c680 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p_rgh b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p_rgh index 13b2b0d32ea..d3ed300fe07 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p_rgh +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/T b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/T index b6cb47139ea..f9f1bf45b03 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/T +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/Y0Default b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/Y0Default index 690e5ed5b0a..7b3cce94567 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/Y0Default +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/Y0Default @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/char b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/char index 5ac74ef6549..a3e29bb934c 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/char +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/char @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/p b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/p index 5001355c5d2..59a73a3ee81 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/p +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/qr b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/qr index 472096b5657..a1cc4adabbc 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/qr +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/qr @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/wood b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/wood index 76759124057..4526768b5c1 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/wood +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/panelRegion/wood @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/ph_rgh b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/ph_rgh index 0b2dff24770..e28bc7207a6 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/ph_rgh +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0.orig/ph_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/additionalControls b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/additionalControls index 3a493fae603..dbdb42de686 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/additionalControls +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/additionalControls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/boundaryRadiationProperties index c628b21872f..823b6f95735 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/boundaryRadiationProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/combustionProperties index fa44a5a81ee..c9ebc7d486d 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/combustionProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/g b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/g index c85835cc985..a3614d25152 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/g +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/hRef b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/hRef index ea5eb675958..28b686b286e 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/hRef +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/hRef @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pRef b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pRef index 0bf0c3817dd..3878db14779 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pRef +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pRef @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/chemistryProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/chemistryProperties index 24827e57a3d..d7e247ab05f 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/chemistryProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/radiationProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/radiationProperties index 58ce7eb6e1b..b5ebd4e4ffe 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermo.solid b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermo.solid index d568212fd0d..77ba19d0327 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermo.solid +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermo.solid @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties index 306f986f92b..cbdb59f1c89 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pyrolysisZones index 7f036069b77..a12023f40a0 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pyrolysisZones +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pyrolysisZones @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/radiationProperties index 1ba210d8d11..4b77c087c97 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/reactingCloud1Properties index 97c15e75983..5a2b88cd943 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/reactingCloud1Properties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/reactingCloud1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/surfaceFilmProperties index 3d58f907920..71786456657 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/surfaceFilmProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/surfaceFilmProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermo.compressibleGas index 8c3dfc2b7d6..e15d7fa75b4 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermo.compressibleGas +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermophysicalProperties index 9429a5130d9..5fbc441bf93 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/turbulenceProperties index 4bcdc5244f0..77561c59caa 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/turbulenceProperties +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/blockMeshDict index 4e3ce130fd3..ba20251cabf 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/blockMeshDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/cRefine.topoSetDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/cRefine.topoSetDict index 63040d19afd..72be0b70d8a 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/cRefine.topoSetDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/cRefine.topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/controlDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/controlDict index ecd06ff589b..828c94ff387 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/controlDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/createPatchDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/createPatchDict index d295b41013d..8b6bc8b62d7 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/createPatchDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/decomposeParDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/decomposeParDict index e0de3682dd3..e3c75c6ef8d 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/decomposeParDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/extrudeToRegionMeshDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/extrudeToRegionMeshDict index 62049d15b14..7b041aa254d 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/extrudeToRegionMeshDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/extrudeToRegionMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/f.topoSetDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/f.topoSetDict index 439a5727ae3..ff6842a1bed 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/f.topoSetDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/f.topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fBurner.topoSetDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fBurner.topoSetDict index 2e6e14f3ed9..ed6533724a8 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fBurner.topoSetDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fBurner.topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSchemes b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSchemes index 2e92420f7f4..568bf3f78e7 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSolution b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSolution index c84e193fa77..a4c72652e75 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSolution +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/decomposeParDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/decomposeParDict index ffe6c9e13af..d691193b1b4 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/decomposeParDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSchemes b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSchemes index bff72554206..80b8754a9c3 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSolution b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSolution index 199e2034ed4..04327a3556d 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSolution +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/refineMeshDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/refineMeshDict index 47e911f5cc3..2b2310aadb9 100644 --- a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/refineMeshDict +++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/refineMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/CH4 b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/CH4 index cd3123ef39b..43404fd9228 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/CH4 +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/G b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/G index 0e5b875b7df..ceb8b682f9f 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/G +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/N2 b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/N2 index e47cb3a2f02..ec4385c1586 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/N2 +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/O2 b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/O2 index c81e3a40d82..9c8a979f23d 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/O2 +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/T b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/T index 29e5861ccf9..aef77648fdf 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/T +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/U b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/U index c0539947187..f1035b27e7a 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/U +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/Ydefault b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/Ydefault index 70be2711d9d..4b348999578 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/Ydefault +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/alphat b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/alphat index d6cd3679a6f..a48d76be5dd 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/alphat +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/k b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/k index 882be14f1f3..9963d25765a 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/k +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/nut b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/nut index 0e28e79f01e..b0f5432dccc 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/nut +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p index 1db3b3882a1..f96a8e271e3 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p_rgh b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p_rgh index f89a5d8a757..bb7e6464f62 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p_rgh +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/PMMA b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/PMMA index 31a2d24ce32..8db155e7f3a 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/PMMA +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/PMMA @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/T b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/T index ed59cc7acc6..5067636fed2 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/T +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/Y0Default b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/Y0Default index 7bea52ed0ab..0ea327bb507 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/Y0Default +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/Y0Default @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/p b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/p index 5a41ed90e04..fe7a0b42042 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/p +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/qr b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/qr index 3c14acbe719..f0732ff3e10 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/qr +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/0.orig/panelRegion/qr @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/additionalControls b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/additionalControls index fce0b529206..14323d9e81b 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/additionalControls +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/additionalControls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/boundaryRadiationProperties index fbf955adf8a..153935b3050 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/boundaryRadiationProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/combustionProperties index 8aef4dfb258..5fdc16d9427 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/combustionProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/g b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/g index fdb4d1cacf7..447e539058e 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/g +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/chemistryProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/chemistryProperties index 11a8facee49..27c11443601 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/chemistryProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/radiationProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/radiationProperties index fdf081b7110..83f9c48fdac 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/thermo.solid b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/thermo.solid index ecc6b45b9df..615561584b4 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/thermo.solid +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/thermo.solid @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/thermophysicalProperties index e980bb19d6b..345a31f0d0f 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/panelRegion/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/pyrolysisZones index 127c14b4971..54099254bbc 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/pyrolysisZones +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/pyrolysisZones @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/radiationProperties index e98870b9d4a..b6c6c6551e4 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/reactingCloud1Positions b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/reactingCloud1Positions index 6b468745f54..41bce44bd5d 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/reactingCloud1Positions +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/reactingCloud1Positions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/reactingCloud1Properties index bd8b7b5d0d3..958dc01fd3b 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/reactingCloud1Properties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/reactingCloud1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/surfaceFilmProperties index d12da8a0795..f81271bc23d 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/surfaceFilmProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/surfaceFilmProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/thermo.compressibleGas index 523bb4c7822..4d10dc27df6 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/thermo.compressibleGas +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/thermophysicalProperties index 2e390a62098..83a22097d2e 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/turbulenceProperties index 4bcdc5244f0..77561c59caa 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/turbulenceProperties +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/blockMeshDict index d056cba259d..3ca1de7131b 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/blockMeshDict +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/controlDict b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/controlDict index 41fb9f9c455..bd19455d4e3 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/controlDict +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/extrudeToRegionMeshDict b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/extrudeToRegionMeshDict index 60bc6388cf6..027751851cf 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/extrudeToRegionMeshDict +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/extrudeToRegionMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/fvSchemes b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/fvSchemes index 5e4ea5f5318..79b8210ce9f 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/fvSolution b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/fvSolution index d1552998c97..5ab2aee048b 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/fvSolution +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/panelRegion/fvSchemes b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/panelRegion/fvSchemes index 27d66560484..8e86df32932 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/panelRegion/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/panelRegion/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/panelRegion/fvSolution b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/panelRegion/fvSolution index 67edfe3037b..a2404ac372f 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/panelRegion/fvSolution +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/panelRegion/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/topoSetDict b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/topoSetDict index 74373e5e451..352ccf6c3d5 100644 --- a/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/topoSetDict +++ b/tutorials/combustion/fireFoam/LES/simplePMMApanel/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/CH4 b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/CH4 index 545b3aa5c8a..af355051db3 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/CH4 +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/FSDomega b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/FSDomega index d66d03389be..1c482f5be67 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/FSDomega +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/FSDomega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/G b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/G index 2d10ee57e03..345c161c458 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/G +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/IDefault b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/IDefault index d07c643e1b7..33d4d2babfa 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/IDefault +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/N2 b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/N2 index d7d81a299a7..7e4489eb32a 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/N2 +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/O2 b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/O2 index 74d4e506e86..cebf0a7aaaf 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/O2 +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/T b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/T index dc91b083983..51710b86a8c 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/T +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/U b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/U index 97cc802b27a..8509e67386f 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/U +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/Ydefault b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/Ydefault index 61522efd1fa..6c2d0805261 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/Ydefault +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/alphat b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/alphat index 29c3a7da826..e86633b88c4 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/alphat +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/k b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/k index 93ca288bf43..ee65d6cab05 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/k +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/nut b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/nut index 8df532d74b8..ebbb93a9594 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/nut +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p index 14f5a9cd833..8c67c84ffe6 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p_rgh b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p_rgh index 73c2de8b7fd..980ecebaeca 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p_rgh +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/ph_rgh b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/ph_rgh index b7772b445f5..8b01847f5cb 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/ph_rgh +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/ph_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/soot b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/soot index 35ce7bf2c41..c8d8618f865 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/soot +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0.orig/soot @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/additionalControls b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/additionalControls index 3a493fae603..dbdb42de686 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/additionalControls +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/additionalControls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/boundaryRadiationProperties index bd66937e672..a17d403b304 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/boundaryRadiationProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/chemistryProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/chemistryProperties index 5284f13d9db..324585e4aa0 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/chemistryProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/combustionProperties index 05a13302ddb..e6308814cd3 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/combustionProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/g b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/g index 3af0679fb0b..0c553593266 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/g +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/hRef b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/hRef index 1245e8e70f1..597845f9c65 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/hRef +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/hRef @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pRef b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pRef index 0bf0c3817dd..3878db14779 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pRef +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pRef @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pyrolysisZones index f9ca2592b94..464aaf70509 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pyrolysisZones +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pyrolysisZones @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/radiationProperties index 4014e060cae..c2372b0ff49 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/reactingCloud1Properties index 97c15e75983..5a2b88cd943 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/reactingCloud1Properties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/reactingCloud1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/surfaceFilmProperties index 3d58f907920..71786456657 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/surfaceFilmProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/surfaceFilmProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermo.compressibleGas index dfe4b6ca0ed..54f6decfa88 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermo.compressibleGas +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties index e91a95bfee1..b094fd1c8f3 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties.twoSteps b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties.twoSteps index 2e2ab85a004..7cbd2af1cdd 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties.twoSteps +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties.twoSteps @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/turbulenceProperties index 0a14063bb42..81d74323e14 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/turbulenceProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/blockMeshDict index 3bf16e37b3d..fe74a76bd9e 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/blockMeshDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/controlDict b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/controlDict index 5bc9900ce3a..bfef111e5f2 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/controlDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/createPatchDict b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/createPatchDict index 94ccb82756c..e8d3d1557a1 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/createPatchDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSchemes b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSchemes index 9b34579cce2..5f5321c978b 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSolution b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSolution index d130d30e02e..d29c540ce03 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSolution +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/topoSetDict b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/topoSetDict index c9c368591a0..39477d70f1e 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/topoSetDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/CH4 b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/CH4 index 5a729cfe940..d45f133cc83 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/CH4 +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/G b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/G index 0acf9709606..09c78656e37 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/G +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/IDefault b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/IDefault index 70f3d521dfe..188cc3423df 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/IDefault +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/N2 b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/N2 index 16e6291ad7a..b9eb8ef706a 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/N2 +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/O2 b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/O2 index 88ad3b9597d..fa38155c056 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/O2 +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/T b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/T index 1627684b71e..094b1ac8854 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/T +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/U b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/U index 42faa990ba8..2b26714d3a6 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/U +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/Ydefault b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/Ydefault index 15e7fd2e324..903c29d036a 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/Ydefault +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/alphat b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/alphat index 4ff3c7c72a3..fb9171403bb 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/alphat +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/k b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/k index ae324dcce8c..bd7c6046783 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/k +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/nut b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/nut index b5a43071e6e..ea0f0a02090 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/nut +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p index 25eab1a6975..538ad1d92e1 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p_rgh b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p_rgh index 7bbf7179708..16567ef6c3e 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p_rgh +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/ph_rgh b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/ph_rgh index 4cc775b63aa..fca3bb72db3 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/ph_rgh +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0.orig/ph_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/additionalControls b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/additionalControls index 3a493fae603..dbdb42de686 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/additionalControls +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/additionalControls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/boundaryRadiationProperties index b88c39c68d2..451bcf36ac5 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/boundaryRadiationProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/chemistryProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/chemistryProperties index 36961b168fc..dd7e1f63552 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/chemistryProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/combustionProperties index a7288e719ad..bcfd472c17b 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/combustionProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/g b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/g index 3af0679fb0b..0c553593266 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/g +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/hRef b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/hRef index 1245e8e70f1..597845f9c65 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/hRef +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/hRef @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pRef b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pRef index 0bf0c3817dd..3878db14779 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pRef +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pRef @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pyrolysisZones index f9ca2592b94..464aaf70509 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pyrolysisZones +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pyrolysisZones @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/radiationProperties index f245cd79d87..f932b20a1d3 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/radiationProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/reactingCloud1Properties index 97c15e75983..5a2b88cd943 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/reactingCloud1Properties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/reactingCloud1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/surfaceFilmProperties index 6e91792da93..d61fde3336a 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/surfaceFilmProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/surfaceFilmProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermo.compressibleGas index aed9d9712e5..6137f5521f4 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermo.compressibleGas +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermophysicalProperties index e91a95bfee1..b094fd1c8f3 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/turbulenceProperties index 8b775590ae6..dac198af015 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/turbulenceProperties +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/blockMeshDict index 9d419c95dc9..71c596365e8 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/blockMeshDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/controlDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/controlDict index 804e7e36013..8b54c371b3e 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/controlDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/createPatchDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/createPatchDict index 94ccb82756c..e8d3d1557a1 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/createPatchDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/decomposeParDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/decomposeParDict index 46917a82b96..b4d7c8e993e 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/decomposeParDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSchemes b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSchemes index 9e05b4d316c..037e85119ad 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSchemes +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSolution b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSolution index 04bc1d69736..12ed8df041a 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSolution +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/topoSetDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/topoSetDict index 4064cdd91b1..511885b498a 100644 --- a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/topoSetDict +++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/CH4 b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/CH4 index 38b8ff43a95..883de0d7a9a 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/CH4 +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/G b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/G index 272899421f6..2a8cd8cdb92 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/G +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------* \ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2 b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2 index 48012f46d74..5c3cb3a5606 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2 +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2O b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2O index b620d9f5ad5..9be3ee56666 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2O +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/N2 b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/N2 index bd0b479532a..ed32dea1670 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/N2 +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/O2 b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/O2 index e973e86cbf1..faaf37d1269 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/O2 +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/T b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/T index fdeaff4832d..ead85eedac8 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/T +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/U b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/U index c916a0e2b6f..f49b3114dd0 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/U +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/Ydefault b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/Ydefault index 3d1d37f0fa8..e0c646153cb 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/Ydefault +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/alphat b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/alphat index 06a231f90a0..c3f0f27a24c 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/alphat +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/epsilon b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/epsilon index eb8f30c6165..827644fbbba 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/epsilon +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/k b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/k index ae71501c7ef..22fe0c3b2d5 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/k +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/nut b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/nut index ce41fc6473b..110deb0d094 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/nut +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/p b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/p index a3a2f3a8011..e19673228d4 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/p +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/chemkin/transportProperties b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/chemkin/transportProperties index 378f3b82600..78aaf3d72c9 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/chemkin/transportProperties +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/chemkin/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/chemistryProperties b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/chemistryProperties index 3c3938d319e..e082941e3ed 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/combustionProperties b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/combustionProperties index 497c4f899e2..091a37441e3 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/g b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/g +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/thermophysicalProperties index c532179e12f..85b9a72ba9f 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/turbulenceProperties index 1b575a871c2..a9ffdd8c4a5 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/blockMeshDict b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/blockMeshDict index c0ca4e6a249..a71ca32bbf5 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/controlDict b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/controlDict index 2bcb38ece9a..46dd4c89374 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/controlDict +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/decomposeParDict b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/decomposeParDict index 81c4f9cb486..0ef47a6e7a8 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/decomposeParDict +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSchemes b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSchemes index 7f91c640cf2..849fdf0ce35 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSolution b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSolution index 500ea0fb1bb..bdcab9994dd 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSolution +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/setFieldsDict b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/setFieldsDict index ed443a33d1a..67ad9124a1f 100644 --- a/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/setFieldsDict +++ b/tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CH4 b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CH4 index 4fbfecd345f..6b8ecc94c9e 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CH4 +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO index 17e272e5f60..35e2e0006f9 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO2 b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO2 index 2f8c76fca3e..bbb94e9fa30 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO2 +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/CO2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/G b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/G index 2ad5f556c5d..ead1490067a 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/G +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------* \ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H index 5a5acae0968..17f4216c4b8 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2 b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2 index f45fc9de348..13d3389f630 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2 +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2O b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2O index c5fe7d8cbc5..d19ba065df8 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2O +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/N2 b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/N2 index 0808a392081..59af19aa80c 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/N2 +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O index f588b0b95c3..43737339441 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O2 b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O2 index 8b542f6bb3a..2ad7c38b10b 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O2 +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/OH b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/OH index 67e49d2ed9f..5f8418b8a86 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/OH +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/OH @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/T b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/T index 5944884657d..6b7963b5551 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/T +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/U b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/U index a67a1edc5d5..6d95f6d41df 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/U +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/Ydefault b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/Ydefault index c26aed377e7..00fcd11b755 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/Ydefault +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/alphat b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/alphat index a5d30732f13..51e0232b3fb 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/alphat +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/epsilon b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/epsilon index fc7a591f557..a89dfa6f115 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/epsilon +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/k b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/k index 64ff0679402..82fbfe18362 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/k +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/nut b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/nut index 567e38b76f9..25520f5bd90 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/nut +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/p b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/p index 07f760b7ab7..a0f29b0fe0b 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/p +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/chemkin/transportProperties b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/chemkin/transportProperties index 378f3b82600..78aaf3d72c9 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/chemkin/transportProperties +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/chemkin/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/boundaryRadiationProperties b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/boundaryRadiationProperties index 9378e1e866f..86ed83cd975 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/boundaryRadiationProperties +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/chemistryProperties b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/chemistryProperties index 2dc21432103..ed2992cbfc1 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/combustionProperties b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/combustionProperties index 497c4f899e2..091a37441e3 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/fvOptions b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/fvOptions index 63d86a080f9..5e4a26d14b0 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/fvOptions +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/g b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/g +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/radiationProperties b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/radiationProperties index 128d418883f..29397f9e822 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/radiationProperties +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/thermophysicalProperties index c532179e12f..85b9a72ba9f 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/blockMeshDict b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/blockMeshDict index d6f4634727b..c620d65cbfc 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/controlDict b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/controlDict index c88a32dc40e..e9650d0aba1 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/controlDict +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSchemes b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSchemes index 7f91c640cf2..849fdf0ce35 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSolution b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSolution index 393ecd46d67..4dd838b3395 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSolution +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict index f757d8be6d7..41afb9b4eb5 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/sampleDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/setFieldsDict b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/setFieldsDict index 49ea39e96f5..3a8b3ec3971 100644 --- a/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/setFieldsDict +++ b/tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/CH4 b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/CH4 index d4c74607abd..df67eda50e9 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/CH4 +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2 b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2 index 6ccf074dc73..783b1d1a0d1 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2 +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2O b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2O index b7d7ffb618c..78e39b5f7c2 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2O +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/N2 b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/N2 index f3c2b440e41..6c0ff574eb4 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/N2 +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/O2 b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/O2 index 5eccd18843d..3d03a4be36d 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/O2 +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/T b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/T index 6216994e4d1..ac7f95cbd0b 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/T +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/U b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/U index c9f84b73c34..00a627f361d 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/U +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/Ydefault b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/Ydefault index 086abd0a45b..c97473d8a38 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/Ydefault +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/alphat b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/alphat index cbc6ff9bf1f..0aa2c4961e4 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/alphat +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/epsilon b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/epsilon index b0a30954560..e6c5ae52a2d 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/epsilon +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/k b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/k index 04db7ec15b6..ac7769a4545 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/k +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/nut b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/nut index a70c087e8ad..bf5e99dbda8 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/nut +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/p b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/p index ca9ef8cf4ee..495aadf3652 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/p +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/chemistryProperties b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/chemistryProperties index e0816603a9f..d6f679054f2 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/combustionProperties b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/combustionProperties index 13348c332f6..71479bc22e7 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/g b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/g +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/thermophysicalProperties index 859a656b478..d6bac740e04 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/turbulenceProperties index 1b575a871c2..a9ffdd8c4a5 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/blockMeshDict b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/blockMeshDict index 4624ebec791..ac56018ea15 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/controlDict b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/controlDict index e6a9cba1d20..61b7ae28551 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/controlDict +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/decomposeParDict b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/decomposeParDict index 2c0f61483ed..cda353f3659 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/decomposeParDict +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/fvSchemes b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/fvSchemes index 904ec49f9a0..dc1f734d8b3 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/fvSolution b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/fvSolution index c50c5482747..d752c61c080 100644 --- a/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/fvSolution +++ b/tutorials/combustion/reactingFoam/RAS/chokedNozzle/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/CH4 b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/CH4 index 00e0f739ef8..314ab43b496 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/CH4 +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/N2 b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/N2 index 4b14980d1f8..c58ced7b401 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/N2 +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/O2 b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/O2 index 0a9a853b866..a0115baed10 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/O2 +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/T b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/T index aee90735df8..6bbee3fdeda 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/T +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/U b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/U index 9ad6268dd62..d53af1f72df 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/U +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/Ydefault b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/Ydefault index ffcab5e5c89..3cdd6ab9d65 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/Ydefault +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/alphat b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/alphat index 81841c893e9..a68317429cb 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/alphat +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/epsilon b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/epsilon index 9622317c5b6..062123ed6b4 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/epsilon +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/include b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/include index 49723a86e47..8364b8bee8f 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/include +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/include @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/k b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/k index 96db2746fe7..2c428c0740d 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/k +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/nut b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/nut index 55a92ceb61d..63e2b408cb4 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/nut +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/p b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/p index ed14df255a3..aa2ee434382 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/p +++ b/tutorials/combustion/reactingFoam/RAS/membrane/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/constant/chemistryProperties b/tutorials/combustion/reactingFoam/RAS/membrane/constant/chemistryProperties index 356e3329de0..41301d605ad 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/RAS/membrane/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/constant/combustionProperties b/tutorials/combustion/reactingFoam/RAS/membrane/constant/combustionProperties index c894b19f073..1ceda32812c 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/RAS/membrane/constant/combustionProperties @@ -1,7 +1,7 @@ /*-----------------m---------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/constant/reactions b/tutorials/combustion/reactingFoam/RAS/membrane/constant/reactions index 12d240e864d..6c1c5584300 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/constant/reactions +++ b/tutorials/combustion/reactingFoam/RAS/membrane/constant/reactions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/RAS/membrane/constant/thermo.compressibleGas index c7cee992880..035c536c413 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/constant/thermo.compressibleGas +++ b/tutorials/combustion/reactingFoam/RAS/membrane/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/RAS/membrane/constant/thermophysicalProperties index 584b247885c..ab116f183dd 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/RAS/membrane/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/RAS/membrane/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/RAS/membrane/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/system/blockMeshDict b/tutorials/combustion/reactingFoam/RAS/membrane/system/blockMeshDict index 1ed17bbeba2..e9e749aa97c 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/RAS/membrane/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/system/controlDict b/tutorials/combustion/reactingFoam/RAS/membrane/system/controlDict index eff1b62c3db..5af13e96283 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/system/controlDict +++ b/tutorials/combustion/reactingFoam/RAS/membrane/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/system/createBafflesDict b/tutorials/combustion/reactingFoam/RAS/membrane/system/createBafflesDict index a79a68c5451..77068fb0dad 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/system/createBafflesDict +++ b/tutorials/combustion/reactingFoam/RAS/membrane/system/createBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/system/fvSchemes b/tutorials/combustion/reactingFoam/RAS/membrane/system/fvSchemes index 4a7b2c3bbcc..66830f33b9e 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/RAS/membrane/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/system/fvSolution b/tutorials/combustion/reactingFoam/RAS/membrane/system/fvSolution index 8925f5d9bda..5df0d6de58d 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/system/fvSolution +++ b/tutorials/combustion/reactingFoam/RAS/membrane/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/system/meshQualityDict b/tutorials/combustion/reactingFoam/RAS/membrane/system/meshQualityDict index e7bf28da712..09783711f9a 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/system/meshQualityDict +++ b/tutorials/combustion/reactingFoam/RAS/membrane/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/system/setFieldsDict b/tutorials/combustion/reactingFoam/RAS/membrane/system/setFieldsDict index a944a3f1c96..e635e3bc161 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/system/setFieldsDict +++ b/tutorials/combustion/reactingFoam/RAS/membrane/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/RAS/membrane/system/snappyHexMeshDict b/tutorials/combustion/reactingFoam/RAS/membrane/system/snappyHexMeshDict index b3e84c572fd..3d269a1bda0 100644 --- a/tutorials/combustion/reactingFoam/RAS/membrane/system/snappyHexMeshDict +++ b/tutorials/combustion/reactingFoam/RAS/membrane/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4 index dbaf23179b8..ab2f2edad0d 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2 index 1aa69249712..08853e67b7d 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O index d4a1d452bfa..6dc845dda31 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2 index a954b364182..fc44bf83838 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2 index a6924116acb..30c0ae61258 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/T b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/T index 9eccd92cfca..6d76d9dd2c6 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/T +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/U b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/U index e2acd18a6de..17a0beea50a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/U +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/Ydefault b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/Ydefault index 94b1baeb78b..455052b61f1 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/Ydefault +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat index a89a687cbdc..052bda749a0 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/p b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/p index fc0405b28a3..cf8f7ad13be 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/p +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/chemistryProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/chemistryProperties index eae35fb52e9..4870cd78853 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/combustionProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/combustionProperties index 69733354647..6f2c82f98d7 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermo.compressibleGas index 22be24520f3..16edd584e3a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermo.compressibleGas +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermophysicalProperties index 2ababf8275c..f421f085e68 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/FOBilgerMixtureFraction b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/FOBilgerMixtureFraction index f338cb52b16..79715a59bbd 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/FOBilgerMixtureFraction +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/FOBilgerMixtureFraction @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/blockMeshDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/blockMeshDict index 56ec020de82..6989af448b4 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/controlDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/controlDict index 37e69029c21..be8e12b6d38 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/controlDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes index 4a7b2c3bbcc..66830f33b9e 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSolution b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSolution index 95207555c17..af6c64e34ed 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSolution +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CH4 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CH4 index 51ed6a81660..fe2009e6e37 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CH4 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CO2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CO2 index 7ec66b0815a..18dd44fe701 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CO2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/CO2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/H2O b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/H2O index d4a1d452bfa..6dc845dda31 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/H2O +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/N2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/N2 index a66c5df7c7f..380399fc10c 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/N2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/O2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/O2 index 21dae58a0f2..d3f6dcd5099 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/O2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/T b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/T index 499e289a775..c5e07dc1f82 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/T +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/U b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/U index e2acd18a6de..17a0beea50a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/U +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/Ydefault b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/Ydefault index 1242dfaed59..9cd84f0619b 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/Ydefault +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/alphat b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/alphat index be207fe56f1..0065fc2538e 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/alphat +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/p b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/p index 9575dafaa48..b7b1d5633e1 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/p +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/chemistryProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/chemistryProperties index 1426d3696f1..2a53e35418d 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/combustionProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/combustionProperties index 1edbb0a3e1e..e06e9293242 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/thermo.compressibleGas index c7cee992880..035c536c413 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/thermo.compressibleGas +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/thermophysicalProperties index 584b247885c..ab116f183dd 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/blockMeshDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/blockMeshDict index 56ec020de82..6989af448b4 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/controlDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/controlDict index a95d2db7fa0..d0555d039c0 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/controlDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSchemes b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSchemes index 79c0d064dd2..ba81fec0e78 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSolution b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSolution index 710d52e5d2b..ad874a1a07f 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSolution +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CH4 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CH4 index 51ed6a81660..fe2009e6e37 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CH4 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CO2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CO2 index 7ec66b0815a..18dd44fe701 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CO2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/CO2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/H2O b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/H2O index d4a1d452bfa..6dc845dda31 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/H2O +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/N2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/N2 index 680e8d6ae0d..812b62e8447 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/N2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/O2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/O2 index 21dae58a0f2..d3f6dcd5099 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/O2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/T b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/T index 499e289a775..c5e07dc1f82 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/T +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/U b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/U index e2acd18a6de..17a0beea50a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/U +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/Ydefault b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/Ydefault index 1242dfaed59..9cd84f0619b 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/Ydefault +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/alphat b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/alphat index be207fe56f1..0065fc2538e 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/alphat +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/p b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/p index 9575dafaa48..b7b1d5633e1 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/p +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/chemistryProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/chemistryProperties index 7eeaf736c20..1b2b63edced 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/combustionProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/combustionProperties index 1edbb0a3e1e..e06e9293242 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermo.compressibleGas index 22be24520f3..16edd584e3a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermo.compressibleGas +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermophysicalProperties index c532179e12f..85b9a72ba9f 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/blockMeshDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/blockMeshDict index 56ec020de82..6989af448b4 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/controlDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/controlDict index a95d2db7fa0..d0555d039c0 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/controlDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/decomposeParDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/decomposeParDict index c69effe6032..a63bb992de1 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/decomposeParDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSchemes b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSchemes index 79c0d064dd2..ba81fec0e78 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSolution b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSolution index 10bf8bc46a0..10ccc6f8b7d 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSolution +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2DLTS_GRI_TDAC/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4 index 51ed6a81660..fe2009e6e37 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2 index 7ec66b0815a..18dd44fe701 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O index d4a1d452bfa..6dc845dda31 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2 index a66c5df7c7f..380399fc10c 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2 index 21dae58a0f2..d3f6dcd5099 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T index 499e289a775..c5e07dc1f82 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U index e2acd18a6de..17a0beea50a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault index 1242dfaed59..9cd84f0619b 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat index be207fe56f1..0065fc2538e 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p index 9575dafaa48..b7b1d5633e1 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/chemistryProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/chemistryProperties index a4419191859..1720cf9c73e 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/combustionProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/combustionProperties index 1edbb0a3e1e..e06e9293242 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermo.compressibleGas index 22be24520f3..16edd584e3a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermo.compressibleGas +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermophysicalProperties index c532179e12f..85b9a72ba9f 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/blockMeshDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/blockMeshDict index 56ec020de82..6989af448b4 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/controlDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/controlDict index 5f749e75030..cdbc7737e1c 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/controlDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/decomposeParDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/decomposeParDict index c69effe6032..a63bb992de1 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/decomposeParDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSchemes b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSchemes index 18b869c1760..f7c53efbc69 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSolution b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSolution index 31b8c84ddc6..27dea6f10c3 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSolution +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4 index 51ed6a81660..fe2009e6e37 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2 index 7ec66b0815a..18dd44fe701 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O index d4a1d452bfa..6dc845dda31 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2 index 680e8d6ae0d..812b62e8447 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2 index 21dae58a0f2..d3f6dcd5099 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2 +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T index 499e289a775..c5e07dc1f82 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U index e2acd18a6de..17a0beea50a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault index 1242dfaed59..9cd84f0619b 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat index be207fe56f1..0065fc2538e 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p index 9575dafaa48..b7b1d5633e1 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties index 7f6ae70a622..09ff6480ec6 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/combustionProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/combustionProperties index 1edbb0a3e1e..e06e9293242 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/combustionProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas index 22be24520f3..16edd584e3a 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties index c532179e12f..85b9a72ba9f 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/turbulenceProperties +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict index 56ec020de82..6989af448b4 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict index 5f749e75030..cdbc7737e1c 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict index c69effe6032..a63bb992de1 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes index 18b869c1760..f7c53efbc69 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution index 31b8c84ddc6..27dea6f10c3 100644 --- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution +++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/CH4 b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/CH4 index 6956122ff9d..8bbd4654fee 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/CH4 +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/N2 b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/N2 index 16e6291ad7a..b9eb8ef706a 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/N2 +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/O2 b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/O2 index 88ad3b9597d..fa38155c056 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/O2 +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/T b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/T index 13f8a978fe8..c22c961f820 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/T +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/U b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/U index a8f1cf9c2d9..d0d418d6aff 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/U +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/Ydefault b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/Ydefault index 15e7fd2e324..903c29d036a 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/Ydefault +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/alphat b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/alphat index 4ff3c7c72a3..fb9171403bb 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/alphat +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/k b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/k index ae324dcce8c..bd7c6046783 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/k +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/nut b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/nut index b5a43071e6e..ea0f0a02090 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/nut +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p index cb0a4654b7c..ea4f3dee895 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p_rgh b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p_rgh index 7bbf7179708..16567ef6c3e 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p_rgh +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/chemistryProperties b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/chemistryProperties index 36961b168fc..dd7e1f63552 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/chemistryProperties +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/combustionProperties b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/combustionProperties index fcaa56ec381..9055444de49 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/combustionProperties +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/fvOptions b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/fvOptions index d48bd21b54f..56a16e59d2b 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/fvOptions +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/g b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/g index 3af0679fb0b..0c553593266 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/g +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/surfaceFilmProperties b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/surfaceFilmProperties index 6e91792da93..d61fde3336a 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/surfaceFilmProperties +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/surfaceFilmProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/thermo.compressibleGas b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/thermo.compressibleGas index aed9d9712e5..6137f5521f4 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/thermo.compressibleGas +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/thermophysicalProperties b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/thermophysicalProperties index 7743cc64179..196c00e4dd5 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/thermophysicalProperties +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/turbulenceProperties b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/turbulenceProperties index 820fb0ce9f9..587dc3ffe13 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/turbulenceProperties +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/blockMeshDict b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/blockMeshDict index c099b41c58e..a5e43bf9e0b 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/blockMeshDict +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/controlDict b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/controlDict index be75d4908c5..7cb3ecea794 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/controlDict +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/createPatchDict b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/createPatchDict index 5456b80d73b..ae088185049 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/createPatchDict +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/decomposeParDict b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/decomposeParDict index 46917a82b96..b4d7c8e993e 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/decomposeParDict +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/fvSchemes b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/fvSchemes index 9e05b4d316c..037e85119ad 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/fvSchemes +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/fvSolution b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/fvSolution index 22772f48f53..98606fccfab 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/fvSolution +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/topoSetDict b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/topoSetDict index 4064cdd91b1..511885b498a 100644 --- a/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/topoSetDict +++ b/tutorials/combustion/rhoReactingFoam/groundAbsorption/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/h_vibrationShell b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/h_vibrationShell index 9ce9786b00b..0a6bd7411d0 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/h_vibrationShell +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/h_vibrationShell @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ps_vibrationShell b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ps_vibrationShell index ec07be0c2e6..e2cfb1464a2 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ps_vibrationShell +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ps_vibrationShell @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ws_vibrationShell b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ws_vibrationShell index 68c69a9f01f..6a852f30c6f 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ws_vibrationShell +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/finite-area/ws_vibrationShell @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/pa b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/pa index 365d51330de..4145a7b263b 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/pa +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/0.orig/pa @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/constant/transportProperties b/tutorials/compressible/acousticFoam/obliqueAirJet/main/constant/transportProperties index 414ff7d59ed..7bbfd279013 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/constant/transportProperties +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/blockMeshDict b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/blockMeshDict index 48c087fd301..f7d7db8bf53 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/blockMeshDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/controlDict b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/controlDict index c0d1a16deb1..036146cf822 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/controlDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/decomposeParDict b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/decomposeParDict index 3d2bef81ef5..66c6290dfb6 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/decomposeParDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faOptions b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faOptions index f85562b1385..04a4e92ea81 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faOptions +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/faOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faMeshDefinition b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faMeshDefinition index 4124888f65c..9e21c63f567 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faMeshDefinition +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faMeshDefinition @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSchemes b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSchemes index d5408b8e99e..fe6f1037fd4 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSchemes +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSolution b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSolution index 6b455139b37..de0a3874a35 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSolution +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/finite-area/faSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/fvSchemes b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/fvSchemes index 4bfc6ab1fa4..8e92878c159 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/fvSchemes +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/fvSolution b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/fvSolution index 14bc6f23f97..0662a4a895a 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/fvSolution +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/snappyHexMeshDict b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/snappyHexMeshDict index 16992f09216..8b707cd5440 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/snappyHexMeshDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/main/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/T b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/T index c4a8d78911b..3cf253bdcd2 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/T +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/U b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/U index 5e00385d80b..40aaffed313 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/U +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/alphat b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/alphat index 0973afe3b90..11ab05c8bbb 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/alphat +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/nuTilda b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/nuTilda index f14683dc518..fd3f132d72e 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/nuTilda +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/nuTilda @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/nut b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/nut index 77ca4db6989..13af899623f 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/nut +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/p b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/p index 6abf462156f..84299d7cc56 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/p +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/constant/thermophysicalProperties b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/constant/thermophysicalProperties index 1d556d6fbb6..bddc1826a4d 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/constant/thermophysicalProperties +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/constant/turbulenceProperties b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/constant/turbulenceProperties index 1bc650e5984..d20ad387873 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/constant/turbulenceProperties +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/blockMeshDict b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/blockMeshDict index a27b54c013d..eb1293a7f7f 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/blockMeshDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/changeDictionaryDict b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/changeDictionaryDict index 67c449d34e0..9cdc45feae4 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/changeDictionaryDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/controlDict b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/controlDict index 82cd2dbca82..4dd5219dc7a 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/controlDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/createPatchDict b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/createPatchDict index cafc36e7fd8..68738f8bf92 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/createPatchDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/decomposeParDict b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/decomposeParDict index 3d2bef81ef5..66c6290dfb6 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/decomposeParDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/extrudeMeshDict b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/extrudeMeshDict index c31c8f18bbe..183610d0708 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/extrudeMeshDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/extrudeMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/fvSchemes b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/fvSchemes index e4d236a5032..6fd70181a16 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/fvSchemes +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/fvSolution b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/fvSolution index 06e5de937a2..739b2ee3f77 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/fvSolution +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/topoSetDict b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/topoSetDict index e8bee0d3f84..70200fc57e1 100644 --- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/topoSetDict +++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/T b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/T index d43c7cef451..4786ff70ad1 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/T +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/U b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/U index f2c0aec9988..122189939b9 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/U +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/alphat b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/alphat index e709eb97ac8..973124ef2f5 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/alphat +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/epsilon b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/epsilon index ce063fd1bbd..cbd8dc4bc35 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/epsilon +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/k b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/k index f9065d09cca..8679000be34 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/k +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/nut b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/nut index 95f9c1a49e8..ed77416b8d3 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/nut +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/p b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/p index fb7e988aa7b..523662b5fca 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/p +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/zoneID b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/zoneID index ae5f06b0316..46da66820b1 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/zoneID +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/0.orig/zoneID @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/dynamicMeshDict b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/dynamicMeshDict index b9400eb7b44..74977fd5122 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/dynamicMeshDict +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/thermophysicalProperties b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/thermophysicalProperties index e0f6f5fcb7b..eab888cd9dc 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/thermophysicalProperties +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/turbulenceProperties b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/turbulenceProperties index 9536cb233cf..e9c5d381003 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/turbulenceProperties +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/blockMeshDict b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/blockMeshDict index 2a33bc7d765..7ce475a57a9 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/blockMeshDict +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/controlDict b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/controlDict index 85976f67fd0..d9ba61a492f 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/controlDict +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSchemes b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSchemes index d5b3b10cee0..ec70282d3ee 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSchemes +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSolution b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSolution index af77fce1473..c4bd1fcf005 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSolution +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/setFieldsDict b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/setFieldsDict index bad61d205f1..81f42d77270 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/setFieldsDict +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/topoSetDict b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/topoSetDict index 335d1da210b..ff934bc92d6 100644 --- a/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/topoSetDict +++ b/tutorials/compressible/overRhoPimpleDyMFoam/twoSimpleRotors/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/T b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/T index 73985d0d498..74ea82d8b60 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/T +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/U b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/U index 6a3567459b9..dbf6a12c5c2 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/U +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/alphat b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/alphat index 95102713aed..917637cc3ba 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/alphat +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/epsilon b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/epsilon index a47980414fc..db64350b91b 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/epsilon +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/include/initialConditions b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/include/initialConditions index ac27ef8d864..a5cda3e5202 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/include/initialConditions +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/include/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/k b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/k index 4bec3e4ce00..2c0d7c0c08a 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/k +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/nut b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/nut index efe28bf6129..5286b817b16 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/nut +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/p b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/p index 8a6a1ad1473..cb0b2888081 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/p +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/pointDisplacement b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/pointDisplacement index 2a2197c7488..06f4d41d981 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/pointDisplacement +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/pointDisplacement @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/zoneID b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/zoneID index 35d345fdfa6..56165102e64 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/zoneID +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/0.orig/zoneID @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/dynamicMeshDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/dynamicMeshDict index c2ef7f98eae..92d80b3ad54 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/dynamicMeshDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/thermophysicalProperties b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/thermophysicalProperties index 198085b87f7..b0cda5f1ed9 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/thermophysicalProperties +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/transportProperties b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/transportProperties index 1df4e00fbd7..21ae7f9f711 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/transportProperties +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/turbulenceProperties b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/turbulenceProperties +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/blockMeshDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/blockMeshDict index 9f09209e7e1..363e4063b46 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/blockMeshDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/controlDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/controlDict index ea0648fcc87..675e9dd5577 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/controlDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/decomposeParDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/decomposeParDict index c69effe6032..a63bb992de1 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/decomposeParDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/fvSchemes b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/fvSchemes index acd244c1c39..bfaad8fbbbd 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/fvSchemes +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/fvSolution b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/fvSolution index da5e26cb49f..a85a99c6f48 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/fvSolution +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/setFieldsDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/setFieldsDict index b16106caeff..99bee0020b6 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/setFieldsDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/topoSetDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/topoSetDict index 566cfb2eb97..e2685206340 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/topoSetDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderAndBackground/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/controlDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/controlDict index 208caf7b73e..797c9b8151f 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/controlDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/createPatchDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/createPatchDict index 37d8e5e2cac..774c19a3963 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/createPatchDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/extrudeMeshDict b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/extrudeMeshDict index 561da1f2ab6..1e1b1f860b5 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/extrudeMeshDict +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/extrudeMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSchemes b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSchemes +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSolution b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSolution index 9f14182f06a..2f5abd0344d 100644 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSolution +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/cylinderMesh/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties index 5eca937f335..efb5db75cbf 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/turbulenceProperties +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/blockMeshDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/blockMeshDict index 53fd4339a99..12ba9db5cc2 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/blockMeshDict +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict index 23ba3a7e852..ed491e9a445 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict index 795028831b5..8ac30eb3a90 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes index d9f9f76158d..16e41488f29 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution index 9d380b3977b..ebc5fd9d4b3 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties index 10872254696..5160f01f3be 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/turbulenceProperties +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/blockMeshDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/blockMeshDict index 62f122dd45f..4bd9ac2b965 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/blockMeshDict +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/collapseDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/collapseDict index 323658f0d42..8d86ef7a705 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/collapseDict +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/collapseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict index c5d01272fbe..a189f25c559 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes index 70ad1438d61..725ad3a9dea 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution index 979f8db8663..8306591eff3 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sample b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sample index 4e99d6f86f5..e57ba18549d 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sample +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sample @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/0/T b/tutorials/compressible/rhoCentralFoam/forwardStep/0/T index cb0f07b2070..77c3bcd8bff 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/0/T +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/0/U b/tutorials/compressible/rhoCentralFoam/forwardStep/0/U index d55325526b8..b6cfcc1f9cc 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/0/U +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/0/p b/tutorials/compressible/rhoCentralFoam/forwardStep/0/p index 2bb32e53148..d1cfbc8ea9c 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/0/p +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties index 982a7082543..a7569f12395 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/turbulenceProperties +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/system/blockMeshDict b/tutorials/compressible/rhoCentralFoam/forwardStep/system/blockMeshDict index 69be936f6ab..8c0835f8fc8 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/system/blockMeshDict +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict b/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict index aea3f959831..a34dad34f70 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes index d9f9f76158d..16e41488f29 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution index 2a7f17a53eb..b61de99ec2c 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/0/T b/tutorials/compressible/rhoCentralFoam/movingCone/0/T index 2da9bcf9088..b8636136f07 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/0/T +++ b/tutorials/compressible/rhoCentralFoam/movingCone/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/0/U b/tutorials/compressible/rhoCentralFoam/movingCone/0/U index 6924029c5f1..4b5baa6359a 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/0/U +++ b/tutorials/compressible/rhoCentralFoam/movingCone/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/0/p b/tutorials/compressible/rhoCentralFoam/movingCone/0/p index 25cbe041057..ea66f004885 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/0/p +++ b/tutorials/compressible/rhoCentralFoam/movingCone/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/0/pointMotionUx b/tutorials/compressible/rhoCentralFoam/movingCone/0/pointMotionUx index e554a94df2d..cd9e76ad507 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/0/pointMotionUx +++ b/tutorials/compressible/rhoCentralFoam/movingCone/0/pointMotionUx @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/constant/dynamicMeshDict b/tutorials/compressible/rhoCentralFoam/movingCone/constant/dynamicMeshDict index 5812b7a7538..a31c84ecfb1 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/constant/dynamicMeshDict +++ b/tutorials/compressible/rhoCentralFoam/movingCone/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/movingCone/constant/thermophysicalProperties index f8df11a0b07..3f036e87cac 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/movingCone/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/movingCone/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/constant/turbulenceProperties +++ b/tutorials/compressible/rhoCentralFoam/movingCone/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/system/blockMeshDict b/tutorials/compressible/rhoCentralFoam/movingCone/system/blockMeshDict index b2019e2de58..c381a7e0b6b 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/system/blockMeshDict +++ b/tutorials/compressible/rhoCentralFoam/movingCone/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/system/controlDict b/tutorials/compressible/rhoCentralFoam/movingCone/system/controlDict index 26ae47684c4..8b1c741548b 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/movingCone/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/system/cuttingPlane b/tutorials/compressible/rhoCentralFoam/movingCone/system/cuttingPlane index c930d7e6165..282fbb8a1b7 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/system/cuttingPlane +++ b/tutorials/compressible/rhoCentralFoam/movingCone/system/cuttingPlane @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/movingCone/system/fvSchemes index 9454245a0a4..e7297d011b6 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/movingCone/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/movingCone/system/fvSolution b/tutorials/compressible/rhoCentralFoam/movingCone/system/fvSolution index 91803b1753c..a4e4eed5e2a 100644 --- a/tutorials/compressible/rhoCentralFoam/movingCone/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/movingCone/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/0/T b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/T index 5a990562926..4af5c24cf86 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/0/T +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/0/U b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/U index 12215d5df51..8d00d1ec7d0 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/0/U +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/0/p b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/p index caaed231505..a00340d650b 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/0/p +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties index e9805ef77bc..9740f68fbd3 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/turbulenceProperties +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/blockMeshDict b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/blockMeshDict index 78bd73d30dc..14cb51b3c39 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/blockMeshDict +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict index d08944e7051..a5f01560cd1 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes index d9f9f76158d..16e41488f29 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution index 2a7f17a53eb..b61de99ec2c 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/T b/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/T index 930117e67e0..8cd06ff6c4d 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/T +++ b/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/U b/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/U index 5cec79ca951..dd9b5ef845a 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/U +++ b/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/p b/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/p index b6711a18b2d..c10233d5118 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/p +++ b/tutorials/compressible/rhoCentralFoam/shockTube/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties index 5ffa902c7c1..de911535062 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/shockTube/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/constant/turbulenceProperties +++ b/tutorials/compressible/rhoCentralFoam/shockTube/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/blockMeshDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/blockMeshDict index d6927c04ee9..88157bba21d 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/blockMeshDict +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict index 1a476c1b945..278005bb71d 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes index d9f9f76158d..16e41488f29 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution index 2a7f17a53eb..b61de99ec2c 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict index 0596746f1a5..11d5bd692e2 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/T b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/T index d166414456b..db68cef39b8 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/T +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/U b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/U index 8aa984ffd34..d09713d85fd 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/U +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/p b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/p index 2bb32e53148..d1cfbc8ea9c 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/p +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties index e9805ef77bc..9740f68fbd3 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/blockMeshDict b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/blockMeshDict index 0c0d054bce5..b79308d29c6 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/blockMeshDict +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict index 90c73425945..d1e1ce15829 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes index d9f9f76158d..16e41488f29 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution index 2a7f17a53eb..b61de99ec2c 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/T b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/T index 0fb4dfab3c8..84b39db7422 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/T +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/U b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/U index 616e9ef8f98..7b20deeb28a 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/U +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/p b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/p index d3bd8e6123b..b5dcca76a54 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/p +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/constant/thermophysicalProperties index f6dc46d99a2..5e917335757 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/blockMeshDict b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/blockMeshDict index b98bb41db1a..9740ccbf43d 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/controlDict b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/controlDict index 98b4faab1e6..dd3e7befea2 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/controlDict +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/decomposeParDict b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/decomposeParDict index 90053f3d99c..f583aa28f0c 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/decomposeParDict +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSchemes b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSchemes index 75061cb3d9c..960955e6bd3 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSolution b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSolution index 39674f7c0d7..02a17784a73 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSolution +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/preProcess b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/preProcess index 66c5a39740d..619a25734ee 100644 --- a/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/preProcess +++ b/tutorials/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D/system/preProcess @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/T b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/T index b19a518a4e7..166f40fd62c 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/T +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/U b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/U index a777f7858a8..47792eac7e1 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/U +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/alphat b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/alphat index b356a84f331..871dc090f6f 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/alphat +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/k b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/k index 8930c6422b0..d41c0a568c9 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/k +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nuTilda b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nuTilda index 3f718252466..2ca2bfe2a85 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nuTilda +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nuTilda @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nut b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nut index acd4c92b24e..50a514341ec 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nut +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/p b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/p index baa4703f45f..cae8c305923 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/p +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/thermophysicalProperties index 3f680583f10..955221cf9e3 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/turbulenceProperties index a104484e831..452fba7d6f0 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict index 8f26d3a8f3f..7709136f71b 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/controlDict b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/controlDict index 17e7fccc82f..af62b3fde44 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSchemes index 5cb5eb6fd7e..85605d52c5a 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSolution index a5d9b0a64ab..b0ec8ec096c 100644 --- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/T b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/T index ef651170fea..1f7672dbb6d 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/U b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/U index 39046c2a7a6..69a5d8eccc0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/alphat index ce36fb20634..4b208bbb638 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/epsilon index ed8d35e6d64..70dc1ea0b8b 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/k b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/k index a3499d6ec41..675a49ed093 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nuTilda b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nuTilda index 10621122470..76fde313eaf 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nuTilda +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nuTilda @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nut b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nut index 75c50da24cb..9e5e8ec3620 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/p b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/p index c13e2ee56bb..4f21102a054 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/fvOptions index 3a98af22689..9c57837f4ab 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/thermophysicalProperties index 89084b6f163..9a672cd29f0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/blockMeshDict index 100edad7985..c5efd775e56 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/controlDict index bfde7705bbb..dec0103c334 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/fvSchemes index 41f5e9e3660..3b33aed7422 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/fvSolution index 20e6ddf677a..11837b86a86 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunction/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/T b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/T index ef651170fea..1f7672dbb6d 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/U b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/U index 2f027551e51..90a7e86447c 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/alphat index ce36fb20634..4b208bbb638 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/epsilon index ed8d35e6d64..70dc1ea0b8b 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/k b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/k index a3499d6ec41..675a49ed093 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nuTilda b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nuTilda index 10621122470..76fde313eaf 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nuTilda +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nuTilda @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nut b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nut index 75c50da24cb..9e5e8ec3620 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/p b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/p index a443d0a3eab..7575ac576f5 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/fvOptions index 3a98af22689..9c57837f4ab 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/thermophysicalProperties index 89084b6f163..9a672cd29f0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/blockMeshDict index 100edad7985..c5efd775e56 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/controlDict index bfde7705bbb..dec0103c334 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/decomposeParDict b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/decomposeParDict index 2f3218fc28a..a5576233b12 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/decomposeParDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/fvSchemes index 41f5e9e3660..3b33aed7422 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/fvSolution index 20e6ddf677a..11837b86a86 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/setExprBoundaryFieldsDict b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/setExprBoundaryFieldsDict index e6230b83994..df9c8abb51e 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/setExprBoundaryFieldsDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/setExprBoundaryFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/setExprFieldsDict b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/setExprFieldsDict index 0a65330e5e3..5c6ac3b35aa 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/setExprFieldsDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/TJunctionAverage/system/setExprFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/T b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/T index bd32abbebe0..13f39b0847f 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/U b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/U index 3c8e6d2fbc8..7868a7e6ea9 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/alphat index 2650a13e7d2..07c529c26f2 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/k b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/k index 5bdf939dd89..df22298eed2 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/nut b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/nut index d72c90dee43..a0e012939c3 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/omega b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/omega index 7352507a331..8871d67a9b1 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/omega +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/p b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/p index 9d9e805575b..c4a472e15e0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/thermophysicalProperties index 5d1296136d6..d8cc0b01b30 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/turbulenceProperties index 71aa7f83af9..5deb9662253 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/blockMeshDict index 21c1c9cede5..078d2293133 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/controlDict index fe9872bb597..4c0e5f31af3 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/extrudeMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/extrudeMeshDict index 33bc3f24318..54529a553d0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/extrudeMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/extrudeMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvOptions index cfa0b295b4f..dd1898b1604 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSchemes index 410c78c5b61..dac03266604 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSolution index d216303cacb..d81a08a3e5d 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/T b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/T index 44e7cc49669..d7ad2480f87 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/U b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/U index 1fe0a723b03..9f3cd801e4f 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/alphat index 86ee8106970..4473f5ae9aa 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/epsilon index ec43bec7074..2a95ea4c2da 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/k b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/k index 1ec6edf7ee6..02bf5e1bad0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/nut b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/nut index 5403c4aaeda..98bf395e220 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/p b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/p index a47eace2f17..ad76339a6f4 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/fvOptions index 534ce4724a1..8687a2c6c2f 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/thermophysicalProperties index 5ca4a156af5..6b25435d256 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/blockMeshDict index ecb9ff77061..11d1a78c51b 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/controlDict index 35977e2c24e..e5ff499f4b3 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/decomposeParDict.example b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/decomposeParDict.example index e4ec8a03314..49a900b2275 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/decomposeParDict.example +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/decomposeParDict.example @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSchemes index dbfe8f13f9a..f9f6136aa6d 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSolution index 1afb1109d53..33b2608b7aa 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/T b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/T index 3ebf98501bd..8fb585fe16b 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/U b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/U index dce427b3e74..77079cf62fb 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/alphat index a1b102eb2e1..e37036e72c6 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/epsilon index ec43bec7074..2a95ea4c2da 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/k b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/k index 1ec6edf7ee6..02bf5e1bad0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/nut b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/nut index 5403c4aaeda..98bf395e220 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/p b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/p index a47eace2f17..ad76339a6f4 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/fvOptions index eea4106a2dc..1878763ef5e 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/thermophysicalProperties index 89084b6f163..9a672cd29f0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/blockMeshDict index a45354d22e6..69f87013b7c 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/controlDict index d17b782f7b7..784af30852b 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSchemes index 88ae66f639b..d81861b81f3 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSolution index 5159faf2956..ca39c6838c1 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/T b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/T index 9d7fbf3d2b6..49277f096cc 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/U b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/U index 1d863e1ef3f..018256552b4 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/alphat index 2c44cd390fc..7a181f3f4c7 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/epsilon index 35974903033..a01802225bd 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/k b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/k index 5597e164ff3..40df0ed2ae8 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/nut b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/nut index 4f1bfe3671b..368342851dd 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/p b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/p index 9b27643a3d6..7933507ad4d 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/boundaryConditions b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/boundaryConditions index 09b141394b6..64ed32ffb68 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/boundaryConditions +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/boundaryConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/caseSettings b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/caseSettings index 563b439d26a..885083a28e3 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/caseSettings +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/caseSettings @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/dynamicMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/dynamicMeshDict index d433b0ac4b7..711788116cd 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/dynamicMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/thermophysicalProperties index 89084b6f163..9a672cd29f0 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/transportProperties b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/transportProperties index d77437631d7..9be5005298b 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/transportProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/blockMeshDict index 5e08c31675c..b3c05ee978b 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/controlDict index 4fd7dba1237..66189ece9c7 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/createBafflesDict b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/createBafflesDict index 82433d57506..edfc9627e28 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/createBafflesDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/createBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/fvSchemes index c56bfe3252b..061222b6cbd 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/fvSolution index 5e8331fa6cd..f7668a4f32c 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/snappyHexMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/snappyHexMeshDict index d87127b0e77..94228cc740e 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/snappyHexMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/surfaceFeatureExtractDict b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/surfaceFeatureExtractDict index ce8dafc84e3..72701bbc2f1 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/surfaceFeatureExtractDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/surfaceFeatureExtractDictDefaults b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/surfaceFeatureExtractDictDefaults index 35a8eee0d4a..90fd9c99230 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/surfaceFeatureExtractDictDefaults +++ b/tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/system/surfaceFeatureExtractDictDefaults @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/T b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/T index 4567f6b2a86..a5dc2ecbd13 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/U b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/U index 0c7f28fab77..45de4e35832 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/alphat index ad5229acaf5..bbdb5ad8f37 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/epsilon index ef42c81fbbb..db1036a59c1 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/k b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/k index 3447fac019c..f70d28e65d6 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/nut b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/nut index d5bbaef5b80..dd6d0f43722 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/omega b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/omega index b702eb03a45..ec6638e5704 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/omega +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/p b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/p index 140251c26b7..d1942b91c31 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/thermophysicalProperties index 183d9aa8481..ce18b4879c5 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/turbulenceProperties index 71aa7f83af9..5deb9662253 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/blockMeshDict index 4b291c3ca38..89ef70458c4 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/controlDict index 57d7f53fcc8..2638d7db061 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSchemes index 30a8c10669b..f3ff0ceb117 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSolution index 5413d8d62a7..5969088c107 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/T b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/T index fb16eafee03..ca28eb05b75 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/U b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/U index 9be31c9367a..dc2d0e0d071 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/alphat index 57e77f55abc..28515c2b160 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/epsilon index 89e8b29a800..dff18502546 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/k b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/k index 7e5c3739229..51e876d2aab 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/nut b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/nut index 1187135e29c..88176304830 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/p b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/p index 4f2daa0f4f9..d4b0e3957c1 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/constant/thermophysicalProperties index c83dc3d7daf..12beb91744a 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/controls b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/controls index 71def8c812c..1beeab8f619 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/controls +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/controls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/blockMeshDict index 7fcaf37a71b..4bf30e87736 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/changeDictionaryDict b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/changeDictionaryDict index 0cd22e21cc4..3b8f2afd18e 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/changeDictionaryDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/controlDict index 69fc73aefc9..f5cd64c25ec 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/decomposeParDict b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/decomposeParDict index f499db91a32..52375e088da 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/decomposeParDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/externalCoupled b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/externalCoupled index 943c08b2a02..cb3fad063f6 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/externalCoupled +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/externalCoupled @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/fvSchemes index 0a37a998bd8..5600ea79dbc 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/fvSolution index f23bd9c002e..4bc341f543a 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/T b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/T index cc615846cec..d20d0220940 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/U b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/U index 278e4ac0a84..b243e1d5aa5 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/alphat index 0009399f7c8..b959c1c4d39 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/epsilon index ea7dc898f02..0468e30594e 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/k b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/k index 50bc234b3b3..c2bb0caaa8e 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/nut b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/nut index a115d4f0ade..4c5fff8628e 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/p b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/p index 63e8aa7c99b..cd5e46ec68a 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/tracer0 b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/tracer0 index a6ae17c3d72..8f2962bd7f9 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/tracer0 +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0.orig/tracer0 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/MRFProperties b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/MRFProperties index 223446cc308..2c0cdf788aa 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/MRFProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/MRFProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/fvOptions index 400b54163b9..d3d0112a8de 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/thermophysicalProperties index 0aa0d38846d..39cbde9f693 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/transportProperties b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/transportProperties index 4908cd4b363..5818777c874 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/transportProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/blockMeshDict.m4 b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/blockMeshDict.m4 index 2575c409f36..5fdc92e9041 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/blockMeshDict.m4 +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/blockMeshDict.m4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/controlDict index e922d442c11..6b022bb0335 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes index d830113c76a..824a34fb06c 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSolution index 9c9918e54de..c674a38f4ba 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/T b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/T index 4fd7f973c14..35b2ac40256 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/U b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/U index 0011764b241..c9561576bcd 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/alphat index 57e77f55abc..28515c2b160 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/alphat +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/epsilon index 89e8b29a800..dff18502546 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/k b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/k index 7e5c3739229..51e876d2aab 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/k +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/nut b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/nut index 1187135e29c..88176304830 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/nut +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/p b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/p index 4f2daa0f4f9..d4b0e3957c1 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/thermophysicalProperties index c83dc3d7daf..12beb91744a 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict index 7af1a31091c..5d4730017db 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/controlDict index 51b6962dc6a..bd4d52c0f74 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/decomposeParDict b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/decomposeParDict index f499db91a32..52375e088da 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/decomposeParDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/fvSchemes index 7521bcbc125..82c047367e5 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/fvSolution index f23bd9c002e..4bc341f543a 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/topoSetDict b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/topoSetDict index ee65ac0392f..f31adaa73b6 100644 --- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/topoSetDict +++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/T b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/T index b3a8144b97a..cc5efbdb703 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/U b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/U index d31a1f79d68..d97b8c576df 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/p b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/p index ef98caf0865..f86bc385bcf 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/thermophysicalProperties index 3f680583f10..955221cf9e3 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/blockMeshDict index 6e7dfaa6993..b4de4036cb7 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/controlDict b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/controlDict index a2d34ad4af2..12f32427b38 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/decomposeParDict b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/decomposeParDict index 5ca8d91a27a..cf6d208f01a 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/decomposeParDict +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes index 0a59a88f4c7..25e11f983bf 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution index a5d9b0a64ab..b0ec8ec096c 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/T b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/T index b07267557b3..6b4280314d7 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/T +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/U b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/U index 63ddab96cd2..97c074532f8 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/U +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/p b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/p index e334bf6c2f3..3a0706c978b 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/p +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/thermophysicalProperties index 89084b6f163..9a672cd29f0 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/blockMeshDict index 6f0996c24e6..eff0994b7a1 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/blockMeshDict +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/controlDict b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/controlDict index c02207f3972..d7540c02e88 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvOptions b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvOptions index 7619d242c22..9659fa19acb 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvSchemes index 03e5aa11d35..9095e4dcaed 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvSolution index 08e9d387d78..2a83fcb6b96 100644 --- a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/T b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/T index 5290cd6ea11..66e7db4b473 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/T +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/U b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/U index 948213b0fd5..569ed0ef1c3 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/U +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/alphat b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/alphat index 8b106ff824f..ae81d2a87de 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/alphat +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/epsilon b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/epsilon index d376e1598ba..33fc0749224 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/epsilon +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/k b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/k index bb7a6530985..6ff7325c8fb 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/k +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/nut b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/nut index 7e983684a51..50fc6cc8393 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/nut +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/p b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/p index a47eace2f17..ad76339a6f4 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/p +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/blockMeshDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/blockMeshDict index a45354d22e6..69f87013b7c 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/blockMeshDict +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/fvOptions b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/fvOptions index 16ed7d3f36b..91152157012 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/fvOptions +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/porosityProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/porosityProperties index 07193333a73..9c425b6d224 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/porosityProperties +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/porosityProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/thermophysicalProperties index aa010cb5484..fead8126cb8 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/turbulenceProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/turbulenceProperties +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/common/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/controlDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/controlDict index 21576dcd71a..00357a6bb60 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/controlDict +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/fvSchemes index 0fc29289e7c..3f9dbf5f542 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/fvSchemes +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/fvSolution index beeb1f03177..510cc2fe1d7 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/fvSolution +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/explicit/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/controlDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/controlDict index 281c6a2a0b5..bfafd65bf4b 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/controlDict +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fluxSummary b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fluxSummary index 28161bb0831..98d059ab409 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fluxSummary +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fluxSummary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fvSchemes index 0fc29289e7c..3f9dbf5f542 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fvSchemes +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fvSolution index d45d459dda9..27429ff81df 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fvSolution +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/sampling b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/sampling index 625e7744452..441a69a538c 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/sampling +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuct/implicit/system/sampling @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/T b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/T index bd32abbebe0..13f39b0847f 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/T +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/U b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/U index 26d568ca085..0f295be1f61 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/U +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------* \ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/alphat b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/alphat index 2650a13e7d2..07c529c26f2 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/alphat +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/k b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/k index 5bdf939dd89..df22298eed2 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/k +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/nut b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/nut index ab359b92aba..4bceae1f1cd 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/nut +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/omega b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/omega index 7352507a331..8871d67a9b1 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/omega +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/p b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/p index 977ad674cfa..ffa8a3d2e40 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/p +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/thermophysicalProperties b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/thermophysicalProperties index 5d1296136d6..d8cc0b01b30 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/turbulenceProperties b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/turbulenceProperties index 71aa7f83af9..5deb9662253 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/turbulenceProperties +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/blockMeshDict b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/blockMeshDict index b32f7a188b8..bc888b4285f 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/blockMeshDict +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/controlDict b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/controlDict index c42dac2a04c..d4a6fff8303 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/controlDict +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/decomposeParDict b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/decomposeParDict index bfd0aca906e..4325a4d4884 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/decomposeParDict +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/extrudeMeshDict b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/extrudeMeshDict index 33bc3f24318..54529a553d0 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/extrudeMeshDict +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/extrudeMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvOptions b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvOptions index cfa0b295b4f..dd1898b1604 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvOptions +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvSchemes b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvSchemes index 2f42aacb475..11a71f4a268 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvSchemes +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvSolution b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvSolution index 991b91df1f2..0cb77ef9966 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvSolution +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/topoSetDict b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/topoSetDict index d0729325f01..ef3a7a75966 100644 --- a/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/topoSetDict +++ b/tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/T b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/T index 3ebf98501bd..8fb585fe16b 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/T +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/U b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/U index 0eb9b7330b5..0d0af2ea16f 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/U +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/alphat b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/alphat index a1b102eb2e1..e37036e72c6 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/alphat +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/epsilon b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/epsilon index ec43bec7074..2a95ea4c2da 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/epsilon +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/k b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/k index 1ec6edf7ee6..02bf5e1bad0 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/k +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/nut b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/nut index 5403c4aaeda..98bf395e220 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/nut +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/p b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/p index a47eace2f17..ad76339a6f4 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/p +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions index c7c4efb428d..3079092014b 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties index aa010cb5484..fead8126cb8 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/turbulenceProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/turbulenceProperties +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/blockMeshDict b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/blockMeshDict index ecb9ff77061..11d1a78c51b 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/blockMeshDict +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict index 010b19f6d40..9952201c2b0 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes index 0fc29289e7c..3f9dbf5f542 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSolution b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSolution index 22f7e78bb0e..e5fd7457a25 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSolution +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/T b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/T index bb58dbdfc03..fdf9a5e1a8d 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/T +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/U b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/U index 6dccb05b2d7..4dbcfb71cbc 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/U +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/alphat b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/alphat index 6edb40dfd67..1eed31f7507 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/alphat +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/epsilon b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/epsilon index 449a7ed954f..32ed071b871 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/epsilon +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/k b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/k index 29fff10bd58..2309dee254f 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/k +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/nut b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/nut index 7038b6eebd6..61e5c96ab53 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/nut +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/p b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/p index c64a1a31ad0..b70475d288c 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/p +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/tracer0 b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/tracer0 index df2e1719c92..4a01287dcf6 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/tracer0 +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/0.orig/tracer0 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/constant/thermophysicalProperties b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/constant/thermophysicalProperties index 96e3f865e43..c703d1b343a 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/constant/turbulenceProperties b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/constant/turbulenceProperties +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/blockMeshDict b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/blockMeshDict index 81f926950a9..06bcf6a0bb4 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/blockMeshDict +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/controlDict b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/controlDict index 81e2abbbfc0..443b17cca5e 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/controlDict +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/decomposeParDict b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/decomposeParDict index 4159d5b5646..665c1af6ca6 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/decomposeParDict +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/fvSchemes b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/fvSchemes index cbeef65b4fb..131d9c0f45a 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/fvSchemes +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/fvSolution b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/fvSolution index cd8e037cf1d..2478ae2f84b 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/fvSolution +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/meshQualityDict b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/meshQualityDict index aad44057291..c2eac80361e 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/meshQualityDict +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/snappyHexMeshDict b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/snappyHexMeshDict index f36876160ca..d17b0e56ff6 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/snappyHexMeshDict +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/surfaceFeatureExtractDict b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/surfaceFeatureExtractDict index 6affc5316be..fe0501bea24 100644 --- a/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/surfaceFeatureExtractDict +++ b/tutorials/compressible/rhoSimpleFoam/gasMixing/injectorPipe/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/T b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/T index 18f971f067c..8317bbade39 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/T +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/U b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/U index db1fceb5dd3..7f0cfb11834 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/U +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/alphat b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/alphat index 57e77f55abc..28515c2b160 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/alphat +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/epsilon b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/epsilon index 034e14f0405..43e5fefbc08 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/epsilon +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/k b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/k index f8602a74548..369b33c0425 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/k +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/nut b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/nut index 1187135e29c..88176304830 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/nut +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/p b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/p index 4112f6118a8..1f27e25a6e5 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/p +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/constant/thermophysicalProperties b/tutorials/compressible/rhoSimpleFoam/squareBend/constant/thermophysicalProperties index 024da3fb852..73d02dee4c2 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/constant/turbulenceProperties b/tutorials/compressible/rhoSimpleFoam/squareBend/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/constant/turbulenceProperties +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/system/blockMeshDict b/tutorials/compressible/rhoSimpleFoam/squareBend/system/blockMeshDict index 226175cbf8e..b9ce8c5d181 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/system/blockMeshDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/system/controlDict b/tutorials/compressible/rhoSimpleFoam/squareBend/system/controlDict index d88d8bf51ec..e7af1dd6e6a 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/system/controlDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/system/decomposeParDict b/tutorials/compressible/rhoSimpleFoam/squareBend/system/decomposeParDict index f499db91a32..52375e088da 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/system/decomposeParDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/system/fvSchemes b/tutorials/compressible/rhoSimpleFoam/squareBend/system/fvSchemes index 0a3eb49d216..93d100ada0f 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/system/fvSchemes +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/system/fvSolution b/tutorials/compressible/rhoSimpleFoam/squareBend/system/fvSolution index 3388b47d959..74239c300e2 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/system/fvSolution +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/system/sampling b/tutorials/compressible/rhoSimpleFoam/squareBend/system/sampling index 478a9b221a5..5f5648c0f1d 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBend/system/sampling +++ b/tutorials/compressible/rhoSimpleFoam/squareBend/system/sampling @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/T b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/T index 58093b33307..0a5cea9c5c8 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/T +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/U b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/U index fb2759a73bb..a1a9a1261f9 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/U +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/alphat b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/alphat index 57e77f55abc..28515c2b160 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/alphat +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/epsilon b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/epsilon index 89e8b29a800..dff18502546 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/epsilon +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/k b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/k index 7e5c3739229..51e876d2aab 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/k +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/nut b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/nut index 1187135e29c..88176304830 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/nut +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/p b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/p index 4f2daa0f4f9..d4b0e3957c1 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/p +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/thermophysicalProperties b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/thermophysicalProperties index c83dc3d7daf..12beb91744a 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/turbulenceProperties b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/turbulenceProperties +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/blockMeshDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/blockMeshDict index 7af1a31091c..5d4730017db 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/blockMeshDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/controlDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/controlDict index f07f6651024..e8d52bed78b 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/controlDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/decomposeParDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/decomposeParDict index f499db91a32..52375e088da 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/decomposeParDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/fvSchemes b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/fvSchemes index 38d917d876f..88b1c18d591 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/fvSchemes +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/fvSolution b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/fvSolution index 69654f1a006..f24bc509a50 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/fvSolution +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/topoSetDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/topoSetDict index ee65ac0392f..f31adaa73b6 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/topoSetDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/T b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/T index 4fd7f973c14..35b2ac40256 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/T +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/U b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/U index 168798edbe3..59da8409c5f 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/U +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/alphat b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/alphat index 57e77f55abc..28515c2b160 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/alphat +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/epsilon b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/epsilon index 89e8b29a800..dff18502546 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/epsilon +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/k b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/k index 7e5c3739229..51e876d2aab 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/k +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/nut b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/nut index 1187135e29c..88176304830 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/nut +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/p b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/p index 4f2daa0f4f9..d4b0e3957c1 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/p +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/constant/thermophysicalProperties b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/constant/thermophysicalProperties index c83dc3d7daf..12beb91744a 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/constant/turbulenceProperties b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/constant/turbulenceProperties index d15a00026fb..f7c4b04328d 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/constant/turbulenceProperties +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/blockMeshDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/blockMeshDict index 0ffcdb08fdc..de82bf1434c 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/blockMeshDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/controlDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/controlDict index 17aa71dc4ff..ef19023e709 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/controlDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/decomposeParDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/decomposeParDict index f499db91a32..52375e088da 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/decomposeParDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSchemes b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSchemes index b88dda4980b..a58b751f9c2 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSchemes +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSolution b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSolution index 69654f1a006..f24bc509a50 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSolution +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/topoSetDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/topoSetDict index ee65ac0392f..f31adaa73b6 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/topoSetDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiqNoNewtonian/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/0/T b/tutorials/compressible/sonicDyMFoam/movingCone/0/T index 2da9bcf9088..b8636136f07 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/0/T +++ b/tutorials/compressible/sonicDyMFoam/movingCone/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/0/U b/tutorials/compressible/sonicDyMFoam/movingCone/0/U index 6924029c5f1..4b5baa6359a 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/0/U +++ b/tutorials/compressible/sonicDyMFoam/movingCone/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/0/p b/tutorials/compressible/sonicDyMFoam/movingCone/0/p index 25cbe041057..ea66f004885 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/0/p +++ b/tutorials/compressible/sonicDyMFoam/movingCone/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/0/pointMotionUx b/tutorials/compressible/sonicDyMFoam/movingCone/0/pointMotionUx index e554a94df2d..cd9e76ad507 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/0/pointMotionUx +++ b/tutorials/compressible/sonicDyMFoam/movingCone/0/pointMotionUx @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/constant/dynamicMeshDict b/tutorials/compressible/sonicDyMFoam/movingCone/constant/dynamicMeshDict index 5812b7a7538..a31c84ecfb1 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/constant/dynamicMeshDict +++ b/tutorials/compressible/sonicDyMFoam/movingCone/constant/dynamicMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/constant/thermophysicalProperties b/tutorials/compressible/sonicDyMFoam/movingCone/constant/thermophysicalProperties index f8df11a0b07..3f036e87cac 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/constant/thermophysicalProperties +++ b/tutorials/compressible/sonicDyMFoam/movingCone/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/constant/turbulenceProperties b/tutorials/compressible/sonicDyMFoam/movingCone/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/constant/turbulenceProperties +++ b/tutorials/compressible/sonicDyMFoam/movingCone/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/system/blockMeshDict b/tutorials/compressible/sonicDyMFoam/movingCone/system/blockMeshDict index b2019e2de58..c381a7e0b6b 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/system/blockMeshDict +++ b/tutorials/compressible/sonicDyMFoam/movingCone/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/system/controlDict b/tutorials/compressible/sonicDyMFoam/movingCone/system/controlDict index e19c38f9f9a..48b554bf24c 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/system/controlDict +++ b/tutorials/compressible/sonicDyMFoam/movingCone/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/system/fvSchemes b/tutorials/compressible/sonicDyMFoam/movingCone/system/fvSchemes index e2000315e12..1dcfda5cb3a 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/system/fvSchemes +++ b/tutorials/compressible/sonicDyMFoam/movingCone/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/system/fvSolution b/tutorials/compressible/sonicDyMFoam/movingCone/system/fvSolution index 96711c5b702..8708034c1d0 100644 --- a/tutorials/compressible/sonicDyMFoam/movingCone/system/fvSolution +++ b/tutorials/compressible/sonicDyMFoam/movingCone/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/T b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/T index a8dde89aa29..018a2112cd6 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/T +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/U b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/U index 2d3e9051215..dc946b41edd 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/U +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/alphat b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/alphat index 975ba6f7db6..08125cb3430 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/alphat +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/epsilon b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/epsilon index 49b6e7002ac..48d99834587 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/epsilon +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/include/initialConditions b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/include/initialConditions index 9e728461e20..eb196c35b3b 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/include/initialConditions +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/include/initialConditions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/k b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/k index 65788227bfb..8341eed2bbd 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/k +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/nut b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/nut index 34d887d0991..edba87e2cd8 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/nut +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/p b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/p index 469862ece8c..e3f7449bdf1 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/p +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/thermophysicalProperties index a4e997c5d6e..0d2dc589592 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/thermophysicalProperties +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/turbulenceProperties b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/turbulenceProperties index 5b71db98437..bcd74e3828f 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/turbulenceProperties +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/controlDict b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/controlDict index 668c8c35c73..e16a4662099 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/controlDict +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/decomposeParDict b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/decomposeParDict index 622a0d63886..f4e1588ea23 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/decomposeParDict +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSchemes b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSchemes index 0e6608574a8..f7fc8ecd768 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSchemes +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSolution b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSolution index 61fa9795e13..dd42d072106 100644 --- a/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSolution +++ b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/0/T b/tutorials/compressible/sonicFoam/RAS/prism/0/T index bf4304e3d7f..941ccc4fea9 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/0/T +++ b/tutorials/compressible/sonicFoam/RAS/prism/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/0/U b/tutorials/compressible/sonicFoam/RAS/prism/0/U index 011b9ddefef..75c0c8d060a 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/0/U +++ b/tutorials/compressible/sonicFoam/RAS/prism/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/0/alphat b/tutorials/compressible/sonicFoam/RAS/prism/0/alphat index 87965226b1e..53502b96682 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/0/alphat +++ b/tutorials/compressible/sonicFoam/RAS/prism/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/0/epsilon b/tutorials/compressible/sonicFoam/RAS/prism/0/epsilon index afb668d27e0..d212d8543e5 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/0/epsilon +++ b/tutorials/compressible/sonicFoam/RAS/prism/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/0/k b/tutorials/compressible/sonicFoam/RAS/prism/0/k index 0cb14e68b06..c3ab89e3804 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/0/k +++ b/tutorials/compressible/sonicFoam/RAS/prism/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/0/nut b/tutorials/compressible/sonicFoam/RAS/prism/0/nut index 05ae08d2761..681fd148790 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/0/nut +++ b/tutorials/compressible/sonicFoam/RAS/prism/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/0/p b/tutorials/compressible/sonicFoam/RAS/prism/0/p index 045191334fd..c2ff5c0e352 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/0/p +++ b/tutorials/compressible/sonicFoam/RAS/prism/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/RAS/prism/constant/thermophysicalProperties index a4e997c5d6e..0d2dc589592 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/constant/thermophysicalProperties +++ b/tutorials/compressible/sonicFoam/RAS/prism/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/constant/turbulenceProperties b/tutorials/compressible/sonicFoam/RAS/prism/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/constant/turbulenceProperties +++ b/tutorials/compressible/sonicFoam/RAS/prism/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/system/blockMeshDict b/tutorials/compressible/sonicFoam/RAS/prism/system/blockMeshDict index 458352653be..0fbf53f003a 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/system/blockMeshDict +++ b/tutorials/compressible/sonicFoam/RAS/prism/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/system/controlDict b/tutorials/compressible/sonicFoam/RAS/prism/system/controlDict index 52ac4bc8ec9..64e32e9bdd7 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/system/controlDict +++ b/tutorials/compressible/sonicFoam/RAS/prism/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/system/fvSchemes b/tutorials/compressible/sonicFoam/RAS/prism/system/fvSchemes index 944d5644135..e0b080add5f 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/system/fvSchemes +++ b/tutorials/compressible/sonicFoam/RAS/prism/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/RAS/prism/system/fvSolution b/tutorials/compressible/sonicFoam/RAS/prism/system/fvSolution index 29fb79e0f4b..6f6f399d183 100644 --- a/tutorials/compressible/sonicFoam/RAS/prism/system/fvSolution +++ b/tutorials/compressible/sonicFoam/RAS/prism/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/0/T b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/T index d166414456b..db68cef39b8 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/0/T +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/0/U b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/U index 74aa0be5c6e..b59b5bc3b7b 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/0/U +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/0/p b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/p index 10326d5a53a..cd5b6f64938 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/0/p +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties index 982a7082543..a7569f12395 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/turbulenceProperties b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/turbulenceProperties +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/blockMeshDict b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/blockMeshDict index e986a05a261..9e71b379524 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/blockMeshDict +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict index d04bc3f3ccb..e7626b8c22d 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes index 630164e5175..90d894ea0c6 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution index 8bd77582091..2ca9db8a49c 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/T b/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/T index 930117e67e0..8cd06ff6c4d 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/T +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/U b/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/U index 5cec79ca951..dd9b5ef845a 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/U +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/p b/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/p index b6711a18b2d..c10233d5118 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/p +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties index b38f4328b6c..8dcbc57f52f 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/turbulenceProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/turbulenceProperties +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/blockMeshDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/blockMeshDict index 5244ef74d14..9715bd90e04 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/blockMeshDict +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict index e5ecae28dd2..dad6b130b19 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes index 73622eea971..3528d4f7218 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution index ba927857b6b..2b879eb28c5 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/sample b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sample index cedf70999b1..9d5e7a9e33e 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/sample +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sample @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict index 0596746f1a5..11d5bd692e2 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/U b/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/U index 818478dbe03..d493e1c7708 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/U +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/p b/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/p index dd84923f8c0..e9f7fc161e1 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/p +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties index af691047fd8..2cfac82f56d 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties index b2a3544b63b..69cfe943a28 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/blockMeshDict b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/blockMeshDict index 1b968be5a82..9c61388b2aa 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/blockMeshDict +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict index 7fccb1cbab0..fdd5ea156c7 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes index 25b17f172e1..c82201c34de 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution index efabe31ddaf..0b4657ee0ca 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryT b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryT index 2f217ef8ce9..70e01df9378 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryT +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryT @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryU b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryU index 785c1c6b7b3..4edf0c9b43a 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryU +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/boundaryU @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/dsmcRhoN b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/dsmcRhoN index 1a54d776ac8..f466b598445 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/dsmcRhoN +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/dsmcRhoN @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/fD b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/fD index 28ff482d75a..0759c544e15 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/fD +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/fD @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/iDof b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/iDof index 0a45a4725c9..ef6445308cd 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/iDof +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/iDof @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/internalE b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/internalE index 786581d7a1c..92a33b16f60 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/internalE +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/internalE @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/linearKE b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/linearKE index 62c7f558bf1..7200b0fc48c 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/linearKE +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/linearKE @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/momentum b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/momentum index 5d7497fd306..2243a09b996 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/momentum +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/momentum @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/q b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/q index c16b03046bb..8bf8b877ff7 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/q +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/q @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoM b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoM index ac7ff3a7b2f..bb05f6cb594 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoM +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoM @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoN b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoN index 72381bd3604..f6e33c20c42 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoN +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/0.orig/rhoN @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/constant/dsmcProperties b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/constant/dsmcProperties index 9860d3e124a..d3c427962ac 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/constant/dsmcProperties +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/constant/dsmcProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/blockMeshDict b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/blockMeshDict index 367f99d62ac..9acf24266e5 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/blockMeshDict +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/controlDict b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/controlDict index 81e479f0ec3..3e330136487 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/controlDict +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/decomposeParDict b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/decomposeParDict index 3150c74d815..fd330a30f1e 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/decomposeParDict +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/dsmcInitialiseDict index a3e1cf22d4e..94b88e24ee2 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/dsmcInitialiseDict +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/dsmcInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSchemes b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSchemes index 68cd470a100..c6ea61106dd 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSchemes +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSolution b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSolution index 68bb8662321..c89b4c70181 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSolution +++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryT b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryT index 25432c528b4..b8bc4aa528a 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryT +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryT @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryU b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryU index ca3e062b022..214086f3744 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryU +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/boundaryU @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/dsmcRhoN b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/dsmcRhoN index f07140ff807..6189ab57991 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/dsmcRhoN +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/dsmcRhoN @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/fD b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/fD index c20d008add1..799d1bc1547 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/fD +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/fD @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/iDof b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/iDof index 4a03f282487..9dad1fcf815 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/iDof +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/iDof @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/internalE b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/internalE index 693d5cef8f5..1d51359fc35 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/internalE +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/internalE @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/linearKE b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/linearKE index 633b17e9d3c..b61a54995e0 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/linearKE +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/linearKE @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/momentum b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/momentum index 2194bda17c8..1375a62fe21 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/momentum +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/momentum @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/q b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/q index 12a431a1bea..0e0a44f32ae 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/q +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/q @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoM b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoM index 7608aec065c..3d32803233a 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoM +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoM @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoN b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoN index f8fda307697..7425108a3af 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoN +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/0.orig/rhoN @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/constant/dsmcProperties b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/constant/dsmcProperties index e745044af2b..0ff7fef9d14 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/constant/dsmcProperties +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/constant/dsmcProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/blockMeshDict b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/blockMeshDict index 50b715f051d..34b07ee54d1 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/blockMeshDict +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict index da437e086ce..c47418cf62e 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/decomposeParDict b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/decomposeParDict index 3150c74d815..fd330a30f1e 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/decomposeParDict +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/dsmcInitialiseDict index aa18120669b..2f0ad73749e 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/dsmcInitialiseDict +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/dsmcInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/fvSchemes b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/fvSchemes index 68cd470a100..c6ea61106dd 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/fvSchemes +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/fvSolution b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/fvSolution index 68bb8662321..c89b4c70181 100644 --- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/fvSolution +++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryT b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryT index 998992c88de..b125728ea66 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryT +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryT @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryU b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryU index 7de352a19d8..a220d06fd7a 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryU +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/boundaryU @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/dsmcRhoN b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/dsmcRhoN index f5fad981080..82f50b9610f 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/dsmcRhoN +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/dsmcRhoN @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/fD b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/fD index fb5fdf44f95..8d3671f5bb2 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/fD +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/fD @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/iDof b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/iDof index 4d0d1dfdf38..edd87e7f9f4 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/iDof +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/iDof @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/internalE b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/internalE index 9a16afad940..71c7e566eb1 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/internalE +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/internalE @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/linearKE b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/linearKE index b20d224cec9..f7e2fb6691b 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/linearKE +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/linearKE @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/momentum b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/momentum index f10e6feb393..238b9da7057 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/momentum +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/momentum @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/q b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/q index b400db0ddb1..3040f257c91 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/q +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/q @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoM b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoM index 991cf0c1afe..e69618e5cc2 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoM +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoM @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoN b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoN index 5133490c070..581ba185453 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoN +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0.orig/rhoN @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/constant/dsmcProperties b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/constant/dsmcProperties index 2bb4c8ab7ac..4ef54a1168c 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/constant/dsmcProperties +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/constant/dsmcProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/blockMeshDict b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/blockMeshDict index e38b0be7b50..b34e2fda53c 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/blockMeshDict +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/controlDict b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/controlDict index 1b9ac975349..7ffde222115 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/controlDict +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/decomposeParDict b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/decomposeParDict index 70834d1dae4..008c06e60c7 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/decomposeParDict +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/dsmcInitialiseDict index 453555fdaa6..af312b1dad0 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/dsmcInitialiseDict +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/dsmcInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/fvSchemes b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/fvSchemes index 68cd470a100..c6ea61106dd 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/fvSchemes +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/fvSolution b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/fvSolution index 68bb8662321..c89b4c70181 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/fvSolution +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryT b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryT index ab6aced5f96..48fa6650af3 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryT +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryT @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryU b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryU index e987c6bbdfe..72aceb1482c 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryU +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/boundaryU @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/dsmcRhoN b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/dsmcRhoN index 618d0f25081..996ba211bf5 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/dsmcRhoN +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/dsmcRhoN @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/fD b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/fD index 04242058efb..6f14e08b30b 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/fD +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/fD @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/iDof b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/iDof index 82f8f27755e..101e58d0ea2 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/iDof +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/iDof @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/internalE b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/internalE index 28f2c61abb2..91e21651eec 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/internalE +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/internalE @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/linearKE b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/linearKE index 9b561c10523..918d509572f 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/linearKE +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/linearKE @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/momentum b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/momentum index 6c9f262b42b..351cd35b3a4 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/momentum +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/momentum @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/q b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/q index 88d2a02878a..2a949d77257 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/q +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/q @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoM b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoM index fc21b7aa4da..2f654dcbc9a 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoM +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoM @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoN b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoN index 44894d8e793..812a92706f5 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoN +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/0.orig/rhoN @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/constant/dsmcProperties b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/constant/dsmcProperties index cab0835d8cc..305d4a79c9a 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/constant/dsmcProperties +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/constant/dsmcProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/blockMeshDict b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/blockMeshDict index d31a8bc1990..f88ab403101 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/blockMeshDict +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict index 0a947ba0910..ba502675ac6 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/decomposeParDict b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/decomposeParDict index 70834d1dae4..008c06e60c7 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/decomposeParDict +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/dsmcInitialiseDict index 4e9e46aae30..2f0ec27650b 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/dsmcInitialiseDict +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/dsmcInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSchemes b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSchemes index 68cd470a100..c6ea61106dd 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSchemes +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSolution b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSolution index 68bb8662321..c89b4c70181 100644 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSolution +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/0.orig/U b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/0.orig/U index 6ab4e59d46c..c24658b8e7a 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/0.orig/U +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/constant/moleculeProperties b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/constant/moleculeProperties index 3c610f6536b..668a6812604 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/constant/moleculeProperties +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/constant/moleculeProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/blockMeshDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/blockMeshDict index b75963f93b3..afc4e731808 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/blockMeshDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/controlDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/controlDict index 3eb1497a34d..f0a29f24110 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/controlDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/fvSchemes b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/fvSchemes index 68cd470a100..c6ea61106dd 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/fvSchemes +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/fvSolution b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/fvSolution index 68bb8662321..c89b4c70181 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/fvSolution +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdEquilibrationDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdEquilibrationDict index c2a00c7f929..d2e21f470fb 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdEquilibrationDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdEquilibrationDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdInitialiseDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdInitialiseDict index 8207058a301..f7e5f6c4fb0 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdInitialiseDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/potentialDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/potentialDict index 47beb3801ff..bb400b93e13 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/potentialDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/potentialDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | n| \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/0.orig/U b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/0.orig/U index 6ab4e59d46c..c24658b8e7a 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/0.orig/U +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/constant/moleculeProperties b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/constant/moleculeProperties index cc34a419f60..cd149c44b66 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/constant/moleculeProperties +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/constant/moleculeProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/blockMeshDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/blockMeshDict index da9b951880e..5546f44ca73 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/blockMeshDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/controlDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/controlDict index 5b6557c2518..1b949e26c66 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/controlDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/fvSchemes b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/fvSchemes index 68cd470a100..c6ea61106dd 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/fvSchemes +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/fvSolution b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/fvSolution index 68bb8662321..c89b4c70181 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/fvSolution +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/mdEquilibrationDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/mdEquilibrationDict index 15e196598dd..603a076d856 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/mdEquilibrationDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/mdEquilibrationDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/mdInitialiseDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/mdInitialiseDict index 7e3f336abb2..1e6d389bddd 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/mdInitialiseDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/mdInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/potentialDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/potentialDict index 8bb3354b9b6..176949a13ef 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/potentialDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeWater/system/potentialDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/0.orig/U b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/0.orig/U index d910eb3ef28..e95205a80e1 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/0.orig/U +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/constant/moleculeProperties b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/constant/moleculeProperties index d8b3579b145..cde01261e01 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/constant/moleculeProperties +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/constant/moleculeProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/blockMeshDict b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/blockMeshDict index 680686d1d2e..7191254e1dd 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/blockMeshDict +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/controlDict b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/controlDict index 82d4f193812..320c35050c7 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/controlDict +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/decomposeParDict b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/decomposeParDict index 561fcd45f50..19b90dd0888 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/decomposeParDict +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/fvSchemes b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/fvSchemes index 68cd470a100..c6ea61106dd 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/fvSchemes +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/fvSolution b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/fvSolution index 68bb8662321..c89b4c70181 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/fvSolution +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdEquilibrationDict b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdEquilibrationDict index 15e196598dd..603a076d856 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdEquilibrationDict +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdEquilibrationDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict index d7ea0b79665..70a3b2c0aac 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/potentialDict b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/potentialDict index 8bb3354b9b6..176949a13ef 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/potentialDict +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/potentialDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/phi b/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/phi index e8b8643aa95..0d09ec4822c 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/phi +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/phi @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/rho b/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/rho index a5e7f7df9c9..dfde9dcf329 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/rho +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/rho @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties b/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties index abd0a0c0112..ae7f7e6e810 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/blockMeshDict b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/blockMeshDict index e860d20de30..662589c4a18 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/blockMeshDict +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict index c35a253d7f6..5d6c90e7428 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes index 7c6c875f129..1e15b08c3eb 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution index caa1f23247a..d0e9daf0648 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/B b/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/B index a114cc48a87..1e3322f7041 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/B +++ b/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/B @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/U b/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/U index 090ee4c24b0..f883de6b877 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/U +++ b/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/p b/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/p index 3fa491e2e1c..bcd8d9ee2ec 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/p +++ b/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/pB b/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/pB index 735f5e69ef5..127e6b2321c 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/pB +++ b/tutorials/electromagnetics/mhdFoam/hartmann/0.orig/pB @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties b/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties index d48b0ebbee0..72036be7c70 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties +++ b/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/blockMeshDict b/tutorials/electromagnetics/mhdFoam/hartmann/system/blockMeshDict index 4c6aa8a9885..37027b0f665 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/blockMeshDict +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict b/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict index 1aacf12753d..af9db3c0d6b 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/decomposeParDict b/tutorials/electromagnetics/mhdFoam/hartmann/system/decomposeParDict index 544dbe81028..94029c5db3a 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/decomposeParDict +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes index 103175e1cc5..54f240e7348 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution index f43d8ab23b9..00b27f26211 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/sample b/tutorials/electromagnetics/mhdFoam/hartmann/system/sample index cb3025d14fe..5ff615d92cb 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/sample +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/sample @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/financial/financialFoam/europeanCall/0/V b/tutorials/financial/financialFoam/europeanCall/0/V index 685d9d50a5f..8e0c5bf1607 100644 --- a/tutorials/financial/financialFoam/europeanCall/0/V +++ b/tutorials/financial/financialFoam/europeanCall/0/V @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/financial/financialFoam/europeanCall/constant/financialProperties b/tutorials/financial/financialFoam/europeanCall/constant/financialProperties index 81f5e49e6a9..a34dbf68731 100644 --- a/tutorials/financial/financialFoam/europeanCall/constant/financialProperties +++ b/tutorials/financial/financialFoam/europeanCall/constant/financialProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/financial/financialFoam/europeanCall/system/blockMeshDict b/tutorials/financial/financialFoam/europeanCall/system/blockMeshDict index 4cfc9316db6..5995687af87 100644 --- a/tutorials/financial/financialFoam/europeanCall/system/blockMeshDict +++ b/tutorials/financial/financialFoam/europeanCall/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/financial/financialFoam/europeanCall/system/controlDict b/tutorials/financial/financialFoam/europeanCall/system/controlDict index 7ddde0e9784..ca8b8e2a92e 100644 --- a/tutorials/financial/financialFoam/europeanCall/system/controlDict +++ b/tutorials/financial/financialFoam/europeanCall/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/financial/financialFoam/europeanCall/system/fvSchemes b/tutorials/financial/financialFoam/europeanCall/system/fvSchemes index 8216a798ba7..8f185001abb 100644 --- a/tutorials/financial/financialFoam/europeanCall/system/fvSchemes +++ b/tutorials/financial/financialFoam/europeanCall/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/financial/financialFoam/europeanCall/system/fvSolution b/tutorials/financial/financialFoam/europeanCall/system/fvSolution index 4a2df044afe..04c7bfed430 100644 --- a/tutorials/financial/financialFoam/europeanCall/system/fvSolution +++ b/tutorials/financial/financialFoam/europeanCall/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/Us b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/Us index d7f48482835..098e0fca919 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/Us +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/Us @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/h b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/h index 48576e71ceb..60833022ef3 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/h +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/h @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/manningField b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/manningField index 55cef4d953f..98d1263d43a 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/manningField +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/0.orig/finite-area/manningField @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/constant/g b/tutorials/finiteArea/liquidFilmFoam/cylinder/constant/g index fde8eac0622..d817a70fa72 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/constant/g +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/constant/transportProperties b/tutorials/finiteArea/liquidFilmFoam/cylinder/constant/transportProperties index 66d715c4afe..f358f3e673b 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/constant/transportProperties +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict index cdabea0eaea..a0fcc0b529c 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/controlDict b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/controlDict index 2d99c6ff4b3..70074e2c4af 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/controlDict +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/decomposeParDict b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/decomposeParDict index bc4a47e3046..e69ee975cf4 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/decomposeParDict +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faMeshDefinition b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faMeshDefinition index 39d31dfbef7..7ff8456fa8f 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faMeshDefinition +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faMeshDefinition @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSchemes b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSchemes index 95e21e29f8b..7a9fd9a11bc 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSchemes +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSolution b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSolution index 7de263307ab..7c5251ba5e8 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSolution +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/finite-area/faSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSchemes b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSchemes index 68cd470a100..c6ea61106dd 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSchemes +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSolution b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSolution index 2ede5a9ce0b..2999073b91e 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSolution +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/setFieldsDict b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/setFieldsDict index a4487c0a562..450ef1ebfba 100644 --- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/setFieldsDict +++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/Cvf b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/Cvf index 025410c7e8d..9e3a2ba358b 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/Cvf +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/Cvf @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/U b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/U index 1a5759e4988..e6e971eefe9 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/U +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/finite-area/Cs b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/finite-area/Cs index 4a6799eed12..535f66973c9 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/finite-area/Cs +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/0.orig/finite-area/Cs @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/controlDict b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/controlDict index 973f45d4aec..ca9fd48c77e 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/controlDict +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/decomposeParDict b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/decomposeParDict index dcd535f37e0..931b9486dea 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/decomposeParDict +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faMeshDefinition b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faMeshDefinition index 50f201424ab..11cac70128d 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faMeshDefinition +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faMeshDefinition @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSchemes b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSchemes index a0eb8f33576..3a520e60134 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSchemes +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSolution b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSolution index bf8f5ef5531..32f6be3b2ad 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSolution +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/finite-area/faSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/fvSchemes b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/fvSchemes +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/fvSolution b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/fvSolution index 2ede5a9ce0b..2999073b91e 100644 --- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/fvSolution +++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Cs b/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Cs index 2803148c2dd..c00ec687608 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Cs +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Cs @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Us b/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Us index 0ca5f59e42b..5c17e2517c0 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Us +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/0.orig/finite-area/Us @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/constant/transportProperties b/tutorials/finiteArea/surfactantFoam/planeTransport/constant/transportProperties index fa6afe2bf38..8598004e96a 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/constant/transportProperties +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/blockMeshDict b/tutorials/finiteArea/surfactantFoam/planeTransport/system/blockMeshDict index a7b2e47624e..648b2d231d3 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/blockMeshDict +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/controlDict b/tutorials/finiteArea/surfactantFoam/planeTransport/system/controlDict index 2693ec9dfe3..188987b2af7 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/controlDict +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict b/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict index bc4a47e3046..e69ee975cf4 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict-procBoundary4 b/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict-procBoundary4 index 966a3afa8ef..3ea9c518a9e 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict-procBoundary4 +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict-procBoundary4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict-procBoundary8 b/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict-procBoundary8 index dda933e10c3..ce8ecaa3a7a 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict-procBoundary8 +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/decomposeParDict-procBoundary8 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faMeshDefinition b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faMeshDefinition index 79f6645b5a1..d3ca29a273b 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faMeshDefinition +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faMeshDefinition @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSchemes b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSchemes index d8a0dcbd4d4..e2e966ed1de 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSchemes +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSolution b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSolution index ffaea2af38e..8ca7e76e0d0 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSolution +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/finite-area/faSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/fvSchemes b/tutorials/finiteArea/surfactantFoam/planeTransport/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/fvSchemes +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/system/fvSolution b/tutorials/finiteArea/surfactantFoam/planeTransport/system/fvSolution index 2ede5a9ce0b..2999073b91e 100644 --- a/tutorials/finiteArea/surfactantFoam/planeTransport/system/fvSolution +++ b/tutorials/finiteArea/surfactantFoam/planeTransport/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/T b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/T index 698a7971f1f..d787f021fd4 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/T +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/U b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/U index 1e28fedd728..6512c99fbee 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/U +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/alphat b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/alphat index 012be038aa0..ce9a39d943a 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/alphat +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/epsilon b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/epsilon index e11e902fe68..a78de1967c4 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/epsilon +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/k b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/k index 5a7666008f9..73120c17cad 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/k +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/nut b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/nut index 9bf96bca83b..fedf579fa7d 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/nut +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p index 4d570a7c256..35e2ecaa82b 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p_rgh b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p_rgh index 52133296efc..972e069f900 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p_rgh +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/0/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/g b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/g +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/transportProperties b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/transportProperties index 37998e71b58..bc690c10da7 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/transportProperties +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/turbulenceProperties index ce62e974c9d..319be23a0b4 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/blockMeshDict b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/blockMeshDict index 7dbb572bc9f..b2a70bee3b6 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/controlDict b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/controlDict index 421266c5a91..db07dfe0710 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/controlDict +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/fvSchemes b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/fvSchemes index 9b07612cfd0..09313c3083c 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/fvSolution b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/fvSolution index c350c3c806b..a52fef4cdcc 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/fvSolution +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/BenardCells/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/T b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/T index bb9d4600adb..baaffd60602 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/T +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/U b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/U index 81d74ec4eb1..6a8969c6408 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/U +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/alphat b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/alphat index cbed0c14c1c..a2a0a3a513d 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/epsilon b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/epsilon index 09f3bd40587..95486e7d426 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/k b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/k index 63cb882c334..6f55263e31f 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/k +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/nut b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/nut index 6ec19f25282..0bd05b48a13 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/nut +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p index c8e88fb1f8c..b786ce5d602 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p_rgh b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p_rgh index 850ee86a244..48ea1951cb9 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/g b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/g +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/transportProperties b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/transportProperties index f6657b38076..96bbb22fc0c 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/transportProperties +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/blockMeshDict b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/blockMeshDict index 573b5451a4c..debf2d67d9b 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/controlDict index 6d73f78e9f9..c068b20b42b 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes index 2fc32cbd0e3..315d7d62b91 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSolution index 0dffe983b2f..07fdb1a8d78 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/setFieldsDict b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/setFieldsDict index 004d3a6b78a..1bad561329d 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/setFieldsDict +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/T b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/T index bb9d4600adb..baaffd60602 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/T +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/U b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/U index 81d74ec4eb1..6a8969c6408 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/U +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/alphat b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/alphat index cbed0c14c1c..a2a0a3a513d 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/epsilon b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/epsilon index 09f3bd40587..95486e7d426 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/k b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/k index 63cb882c334..6f55263e31f 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/k +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/nut b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/nut index 6ec19f25282..0bd05b48a13 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/nut +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p index c8e88fb1f8c..b786ce5d602 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p_rgh b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p_rgh index 850ee86a244..48ea1951cb9 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/g b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/g +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/transportProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/transportProperties index f6657b38076..96bbb22fc0c 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/transportProperties +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/blockMeshDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/blockMeshDict index 573b5451a4c..debf2d67d9b 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict index 5c492bb453e..24d85621205 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes index d68dbe8bcf5..88941855764 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution index ee2b85bd96a..d8a9a324a94 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/setFieldsDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/setFieldsDict index 004d3a6b78a..1bad561329d 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/setFieldsDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/T b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/T index f12fa17f3d6..07a7d7be291 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/T +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/U b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/U index 7e5fc2e88b6..b189992fd88 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/U +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/alphat b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/alphat index b4285f4919a..2ccd1188bab 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/epsilon b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/epsilon index 144698b667d..a48ceeee6df 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/k b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/k index b10827a7c1b..e0f0e8cd829 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/k +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/nut b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/nut index 9600906dad8..68d5c1ca7ea 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/nut +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p index bb96925eb6a..f98a2f3f38c 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p_rgh b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p_rgh index 2687e76b442..5198cb7967d 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/g b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/g +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/transportProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/transportProperties index f6657b38076..96bbb22fc0c 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/transportProperties +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/transportProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/blockMeshDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/blockMeshDict index 4fa997e2232..1529b92aaf5 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict index 9b7b39ad9af..790d44624ad 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/decomposeParDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/decomposeParDict index d9fdbcd5faa..38c549df477 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/decomposeParDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes index 902795c88e3..a61699aebac 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution index 4410f86a11b..f6d3c8bf07e 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/meshQualityDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/meshQualityDict index 39a580144be..7f34616212a 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/meshQualityDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict index aa79620caa1..0a2016e5900 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/T b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/T index 50acea1bb6e..ef1547a33a2 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/T +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/U b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/U index 81d74ec4eb1..6a8969c6408 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/U +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/alphat b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/alphat index 1a97dd14925..9ad47b8d55e 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/epsilon b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/epsilon index 09f3bd40587..95486e7d426 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/k b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/k index 63cb882c334..6f55263e31f 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/k +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/nut b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/nut index 6ec19f25282..0bd05b48a13 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/nut +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p index 889ee025a2f..63544cb09a6 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p_rgh b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p_rgh index 5c5a4d2ea14..4d220478008 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/g b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/g +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties index 6347e039519..80168543ddb 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/blockMeshDict b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/blockMeshDict index 573b5451a4c..debf2d67d9b 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/controlDict index bb3bfcdcdb1..2fba84de3b8 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes index c7dcdeba215..a905c23ec43 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSolution index 459eeea6911..8a1e0382a60 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/setFieldsDict b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/setFieldsDict index 004d3a6b78a..1bad561329d 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/setFieldsDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/setFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/IDefault b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/IDefault index 417f06c1a65..bf5daccc21c 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/IDefault +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/T b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/T index fc77cc0f060..6a4bac3ff84 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/T +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/U b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/U index 12a63bd623d..cf1c273c6f9 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/U +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/alphat b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/alphat index 3a16c75524d..1759e09cb72 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/alphat +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/epsilon b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/epsilon index 1cd4ed2bb33..1f89fdf45d3 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/epsilon +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/Ts_ceilingShell b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/Ts_ceilingShell index 08e6571b904..826c771c4c5 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/Ts_ceilingShell +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/Ts_ceilingShell @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/h_ceilingShell b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/h_ceilingShell index ae2ff042b70..4a23b9a00f4 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/h_ceilingShell +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/finite-area/h_ceilingShell @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/k b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/k index 6a1ef8e5abf..b5f91ec16cd 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/k +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/nut b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/nut index 5853a59b9ab..d353c8147a0 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/nut +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p index 5423755e0b3..6f25ce80ef6 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p_rgh b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p_rgh index b37d3ed382e..94894bb4b3f 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p_rgh +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/0/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/boundaryRadiationProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/boundaryRadiationProperties index 768da975307..fc3b3f8a0aa 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/boundaryRadiationProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/g b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/g +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/radiationProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/radiationProperties index 1d86a8d6ca3..31d4288fd3c 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/radiationProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/thermophysicalProperties index 8f7f58c5013..3bbc1cd43e0 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/turbulenceProperties index 2ac8cfce8f5..36bbbff19cb 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/blockMeshDict b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/blockMeshDict index e8468a5ec7f..e5b25e60ba0 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/controlDict b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/controlDict index b8d55350e01..4e9db01d583 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/controlDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/createPatchDict b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/createPatchDict index 812295e8151..a73803cc12d 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/createPatchDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/decomposeParDict b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/decomposeParDict index 02856b72221..58693af6f91 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/decomposeParDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faOptions b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faOptions index c96ba34bb49..a721c5a04fb 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faOptions +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/faOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faMeshDefinition b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faMeshDefinition index 143f16ee4e7..a85df0cad79 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faMeshDefinition +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faMeshDefinition @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSchemes b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSchemes index bb555c9b24d..8903be44f0c 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSchemes +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSolution b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSolution index 3a81b2507f6..d1da620bf92 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSolution +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/finite-area/faSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSchemes b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSchemes index 1e0496cdcb6..35a34b3abb4 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSolution b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSolution index a31be0a34e2..4140fcb23b8 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSolution +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/topoSetDict b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/topoSetDict index c7056c98252..be35a86da40 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/topoSetDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/IDefault b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/IDefault index d578c11dd8d..7cc85e6c9f5 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/IDefault +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/T b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/T index ce3abf26823..67eb8496d0f 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/T +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/U b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/U index 7e5159a4b4b..34326830947 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/U +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/p b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/p index 32039c22f34..7e63922a498 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/p +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/p_rgh b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/p_rgh index 9790fa122d7..29f98e525c6 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/boundaryRadiationProperties b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/boundaryRadiationProperties index c6278c8824a..6d4a8429e71 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/boundaryRadiationProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/g b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/g index 4ff87621666..e9dfc3f353d 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/g +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/radiationProperties b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/radiationProperties index 531e2275f04..07159e2c345 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/radiationProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/blockMeshDict b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/blockMeshDict index 9805bea6f40..3ed48971c80 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/controlDict b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/controlDict index e30bc3def58..fe053674f57 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/controlDict +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/fvSchemes b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/fvSchemes index 6c63e90f2c3..e54130f08b9 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/fvSolution b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/fvSolution index e0f05ca3a13..e6f8f920366 100644 --- a/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/fvSolution +++ b/tutorials/heatTransfer/buoyantPimpleFoam/thermocoupleTestCase/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/T b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/T index c9bd09baced..f99d3d78dea 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/U b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/U index 025fdbbc607..120bd284f67 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/U +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/alphat index b46000f57ab..2535dbd6133 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/epsilon index 9b50c8b5d04..40114657257 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/k b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/k index 7519c8b30ea..e77ea8c7f4b 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/k +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/nut b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/nut index d7e26ee622f..8d0fc09df06 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/nut +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/omega b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/omega index be205089ba0..314b864231b 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/omega +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p index 081541712b0..037fa1e5c7c 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p_rgh b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p_rgh index febfa9adf77..b26fb4481dd 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/g b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/g +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties index 7d66796b32c..0149b4cabc8 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/turbulenceProperties index 71aa7f83af9..5deb9662253 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/blockMeshDict index 17b63904eef..c4ed631fa10 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/controlDict index 0b0a0138660..94af2ec1583 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSchemes index 925254cf4be..9a5c18ffaf4 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSolution index 44c227035c6..0477b060f56 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/sample b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/sample index 0f5e91e13c0..8c50945f547 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/sample +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/sample @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/T b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/T index 33cdb0301ab..9b59658a623 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/U b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/U index 988454e24c7..1ff791902bc 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/U +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/alphat index 7135c644b9d..1abc016f198 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/Q b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/Q index 23aed2dce12..3c32515c712 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/Q +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/Q @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/T b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/T index 90c2210b737..88bdba57d34 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/p b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/p index 309ef215a4e..a85add60471 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/baffle3DRegion/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/epsilon index 14ce6d2a635..51d709d1994 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/1DBaffle/1DTemperatureMasterBafflePatches b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/1DBaffle/1DTemperatureMasterBafflePatches index 143b4bd00bd..95603f4556c 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/1DBaffle/1DTemperatureMasterBafflePatches +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/1DBaffle/1DTemperatureMasterBafflePatches @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/1DBaffle/1DbaffleSolidThermo b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/1DBaffle/1DbaffleSolidThermo index ae7fe0c25da..9d554239444 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/1DBaffle/1DbaffleSolidThermo +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/1DBaffle/1DbaffleSolidThermo @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DTemperatureMasterBafflePatches b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DTemperatureMasterBafflePatches index edd5defaca6..e893bbb7e95 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DTemperatureMasterBafflePatches +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DTemperatureMasterBafflePatches @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DbaffleSolidThermo b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DbaffleSolidThermo index 44fa57474cf..99d25f30f4d 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DbaffleSolidThermo +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DbaffleSolidThermo @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/extrudeModel b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/extrudeModel index 18f04add2f3..08adf3c925e 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/extrudeModel +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/extrudeModel @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/baffle3DSetup b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/baffle3DSetup index 8afee847f90..c5440caa64e 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/baffle3DSetup +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/baffle3DSetup @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/wallBafflePatches b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/wallBafflePatches index 3b07fd1b221..9a2ecc49f9d 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/wallBafflePatches +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/wallBafflePatches @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/k b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/k index fb38a76eae4..2281e3af299 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/k +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/nut b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/nut index 481d4b39952..b4dc9229d80 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/nut +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p index 8743588d840..c0a200cbccc 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p_rgh b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p_rgh index 5926de00329..b837ab8268b 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/g b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/g +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties index 7d66796b32c..0149b4cabc8 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/baffle3DRegion/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/baffle3DRegion/fvSchemes index 8bf357d7bde..a2e1efa40aa 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/baffle3DRegion/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/baffle3DRegion/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/baffle3DRegion/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/baffle3DRegion/fvSolution index 7f6e6b4dcf7..b676c7b824c 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/baffle3DRegion/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/baffle3DRegion/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/blockMeshDict index 30e16e07df5..20bb362d45b 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/controlDict index 7601da930d1..767f9c303fc 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/createBafflesDict b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/createBafflesDict index 265492f08dd..aa4d5db9166 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/createBafflesDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/createBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes index e1393024656..e341f221a5d 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSolution index 0ff2b5867d1..9525f77f2d7 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/DR b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/DR index 7a864e73997..41c1c04b3a7 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/DR +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/DR @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PMV b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PMV index fb8bd34fc0e..423a1a2366d 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PMV +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PMV @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PPD b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PPD index c74e2c2d565..7bfff79cb83 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PPD +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/PPD @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/T b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/T index 806e2cc479e..6ce2d8cd418 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/U b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/U index 756770c4c1a..5bbd2204148 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/U +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/alphat index 1ba5a196f35..25fcc5b2d90 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/epsilon index d2344c7a800..228e894f46f 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/k b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/k index 3e29c48b0ef..03f5d4460dd 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/k +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/nut b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/nut index 64011ae0f33..3329f386d50 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/nut +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p index 1f25978db60..dc2a255cea7 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p_rgh b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p_rgh index 924154a5d75..30de4dce99a 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/g b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/g +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/thermophysicalProperties index f88fd7353d9..c974d960542 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/turbulenceProperties index dbefbcb78d1..dd7fa863e0c 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOage b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOage index a4c39de59a8..8a4b785d054 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOage +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOage @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOcomfort b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOcomfort index 3b5783d1a3b..5491051badd 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOcomfort +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/FOcomfort @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/blockMeshDict index ac4136d5780..ccb20145fdb 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/controlDict index 9ef3abb989b..ee6719c3d18 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/createPatchDict b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/createPatchDict index 96e49e75648..89113cf41e7 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/createPatchDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/createPatchDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/decomposeParDict b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/decomposeParDict index 85cb0521c97..367539f0a9d 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/decomposeParDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvOptions b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvOptions index 859cb534319..45f267e71a4 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvOptions +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvSchemes index f41af805da6..8c8969392ba 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvSolution index 7b9e90eae7c..eb98225ecd0 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/topoSetDict b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/topoSetDict index 77b54d88be7..23791cbb25e 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/topoSetDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/comfortHotRoom/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/G b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/G index 8d983ab27f2..00413fba9e3 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/G +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/T b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/T index aeea512ef39..1b7931171a1 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/U b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/U index 404286ef8b6..1ab32f95f09 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/U +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/alphat index f0e92c4e2da..a55d1f3bab2 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/epsilon index 332712e556e..f79a13979c3 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/k b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/k index 50ec501b9e9..a5d28216a59 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/k +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/nut b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/nut index f525ea6fe54..1c4b67c9a73 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/nut +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p index c9feaea37ff..161dcac8e5f 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p_rgh b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p_rgh index c457a33f7b7..e1b22e153ed 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/boundaryRadiationProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/boundaryRadiationProperties index c82838fa389..3579ffb6c0b 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/boundaryRadiationProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/g b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/g +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/radiationProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/radiationProperties index 261b8086a8a..93da8b2fc22 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/radiationProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/thermophysicalProperties index 6347e039519..80168543ddb 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/blockMeshDict index f45b603a4f7..59c0ce496a1 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/controlDict index de4ab5a89d5..7a3e8612de7 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes index 8d7198e570c..994076c962a 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSolution index 54664dc3e7e..e75f0604ab3 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/G b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/G index d8c6a9d1de0..46a73f56f19 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/G +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/IDefault b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/IDefault index 70f3d521dfe..188cc3423df 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/IDefault +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/T b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/T index aeea512ef39..1b7931171a1 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/U b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/U index 404286ef8b6..1ab32f95f09 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/U +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/alphat index 2216b7d2e95..4601053d930 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/epsilon index 9f1f0be64c6..5cce90d9b7f 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/k b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/k index 50ec501b9e9..a5d28216a59 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/k +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/nut b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/nut index b2f1d109668..312f696d768 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/nut +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p index 849a09de158..3ddf34a912e 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p_rgh b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p_rgh index c457a33f7b7..e1b22e153ed 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/boundaryRadiationProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/boundaryRadiationProperties index c6278c8824a..6d4a8429e71 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/boundaryRadiationProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/g b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/g +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/radiationProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/radiationProperties index d422e85b8b4..370ec7b5637 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/radiationProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties index 6347e039519..80168543ddb 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/blockMeshDict index f45b603a4f7..59c0ce496a1 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/controlDict index d14921c00fc..c422d48e131 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes index f0191ecf5dc..30e06eddd18 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSolution index 1e00a0bc98b..d7668a62ab5 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/T b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/T index 930ab2ed51e..268ad74eb05 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/U b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/U index 98f6ecd35df..e4834143325 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/U +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/alphat index 18f116ed701..3b97a11d074 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/alphat +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/baffle3DRegion/T b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/baffle3DRegion/T index c473e5b021a..9d2a27f6689 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/baffle3DRegion/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/baffle3DRegion/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/baffle3DRegion/p b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/baffle3DRegion/p index 309ef215a4e..a85add60471 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/baffle3DRegion/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/baffle3DRegion/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/epsilon index 686b42a0ec8..b777933f3b4 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/epsilon +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/k b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/k index 39004045110..e65a6c29841 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/k +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/nut b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/nut index cc477313dab..980c5c6bdff 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/nut +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/p b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/p index 8743588d840..c0a200cbccc 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/p_rgh b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/p_rgh index eeba56e5688..73dd561d799 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/g b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/g +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/thermophysicalProperties index 7d66796b32c..0149b4cabc8 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/turbulenceProperties index 20a6f2aa436..f642985ec19 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/baffle3DRegion/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/baffle3DRegion/fvSchemes index 8bf357d7bde..a2e1efa40aa 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/baffle3DRegion/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/baffle3DRegion/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/baffle3DRegion/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/baffle3DRegion/fvSolution index 7f6e6b4dcf7..b676c7b824c 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/baffle3DRegion/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/baffle3DRegion/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/blockMeshDict index 2320bd22635..8a4f5c9b27f 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/changeDictionaryDict b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/changeDictionaryDict index 0e69ca253a1..ef443f35c1a 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/changeDictionaryDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/controlDict index afbae315d77..61f67d2b1b2 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/fvSchemes index 3521f3bf934..3b6da433bc7 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/fvSolution index 392d974dc91..41bb7ca1a86 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/T b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/T index 3e6eaa6d543..a1f35909744 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/T +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/U b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/U index 931437922ef..73ada7b27ba 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/U +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p index 75aa8a96a9f..6d05b377a27 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p_rgh b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p_rgh index 3eb26537800..f2a08146c9a 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p_rgh +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/boundaryRadiationProperties b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/boundaryRadiationProperties index b1b7923d2ef..63cca100ad2 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/boundaryRadiationProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/g b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/g index 2ce5fcdd58e..1cd0212aeb9 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/g +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/radiationProperties b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/radiationProperties index 421e6a3cbfc..e122730095b 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/radiationProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/thermophysicalProperties index cb543f07d31..ce1acb72fb6 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/turbulenceProperties index 703be8b2bf4..8ea6e358eda 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/constant/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/blockMeshDict index 39c85ccd936..2e38f93133b 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/blockMeshDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/controlDict index aea85106d9f..7c8ec7a1bf9 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/fvSchemes index 7f27cbe2efe..c6ba53e001d 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/fvSolution index 26b1e62d0fd..38c4bbc1948 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/meshQualityDict b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/meshQualityDict index e35092c9af2..c5e4f5ec15c 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/meshQualityDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/snappyHexMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/snappyHexMeshDict index acc1568f1c6..b610bbd88e9 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/snappyHexMeshDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/surfaceFeatureExtractDict b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/surfaceFeatureExtractDict index 72bbf2e5c05..d718a7b55d8 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/surfaceFeatureExtractDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/simpleCarSolarPanel/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/T b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/T index d03ac4b0bb0..cbd09bd7582 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/U b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/U index b0b75e8f328..b7bf73b1357 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/epsilon index cb34a5f312e..b4b21992c61 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/epsilon +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/k b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/k index f6c5c2210f8..063eb9085ad 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/p b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/p index 78f4522964f..9a430fd79f3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/p_rgh index 00e75111a1d..ec657884eac 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/thermophysicalProperties index c328fdad1ca..ea174f9a97d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/bottomWater/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/heater/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/heater/radiationProperties index 16761a9e3a8..439eaa9c891 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/heater/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/heater/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/heater/thermophysicalProperties index 046a37a7532..73481e9db3c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/heater/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/heater/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/regionProperties index a6ad8a69b9f..78f63d6aa3b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/topAir/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/topAir/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/constant/topAir/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/blockMeshDict index 579466f910a..c4f51efc628 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/changeDictionaryDict index b0d857f5c24..f87235d058e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/fvSchemes index b0ec2760824..858732b69fb 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/fvSolution index 9bc277ecfda..106ad4eabaf 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/bottomWater/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/controlDict index d9622c376c6..ba5cb60d95d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/decomposeParDict index 5ca8d91a27a..cf6d208f01a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/externalCoupled b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/externalCoupled index 16e32452a0c..b98dfc9782a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/externalCoupled +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/externalCoupled @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/fvSolution index 9f14182f06a..2f5abd0344d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/changeDictionaryDict index 967dd721bbe..47356d07e42 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/decomposeParDict index 5ca8d91a27a..cf6d208f01a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/fvSchemes index 347e5cc8c34..97b96c4d7c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/fvSolution index d00e7a71cad..735ce18dc6c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/heater/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/leftSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/leftSolid/changeDictionaryDict index c95eb05613b..cf38aec5275 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/leftSolid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/leftSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/rightSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/rightSolid/changeDictionaryDict index 138de259c1f..881aee1ef12 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/rightSolid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/rightSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/topAir/changeDictionaryDict index f0a124c7440..2f4923adc71 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/topAir/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/topAir/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/topoSetDict index 1a3fcf53762..60cf18fb35e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/G b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/G index 0ea39565e2e..a3df5aecb1c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/G +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/IDefault b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/IDefault index b6b6b6fea27..677ce7fe343 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/IDefault +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/T b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/T index 904eb96ac36..6e2e0771994 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/U b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/U index a4384c55a05..275bcd34d54 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/alphat b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/alphat index 8e680a05bb0..5d15f2166a4 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/alphat +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/epsilon index e01967b781c..00c1a5f09e3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/epsilon +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/k b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/k index 288fe59e073..fc92e001f0e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/nut b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/nut index dc8b851eee9..bddd276585f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/nut +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/p b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/p index def80142c9c..c79a74eacdd 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/p_rgh index 4711aaa5ee2..0d3aaeddc2e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/qr b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/qr index 2dc043d540c..c307493881e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/qr +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/air/qr @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/floor/T b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/floor/T index 96f03e8c703..6c97d9385b9 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/floor/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/floor/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/floor/p b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/floor/p index da05bb237dd..a0605cce098 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/floor/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/floor/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/solid/T b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/solid/T index cf2b0b5b52e..57cf84a976a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/solid/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/solid/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/solid/p b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/solid/p index 775b1de25b2..dd5fc571a9c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/solid/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0.orig/solid/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/boundaryRadiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/boundaryRadiationProperties index 38237729c5c..660ddaf859d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/boundaryRadiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/radiationProperties index a38e943d66a..181a5cde3ba 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/viewFactorsDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/viewFactorsDict index 61faad627c0..e81f2eb6904 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/viewFactorsDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/viewFactorsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/floor/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/floor/radiationProperties index 1081c997bcb..bfe4533c2d0 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/floor/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/floor/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/floor/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/floor/thermophysicalProperties index eac73eb6c93..604d11c91ab 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/floor/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/floor/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------* \ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/regionProperties index e3136e2f865..572291e6374 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/solid/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/solid/radiationProperties index 04ee1280934..aff0ee14c40 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/solid/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/solid/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/solid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/solid/thermophysicalProperties index 2d8d2f81d51..c7f79975ea7 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/solid/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/solid/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------* \ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/changeDictionaryDict index 462b57fc8b9..2534290bdd5 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/fvSchemes index 20f320803f2..3f246f8bbbe 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/fvSolution index 6d6cc9cb07c..f38050c058b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/blockMeshDict index 6959bddc615..f48586d2d67 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/controlDict index ecf6f31da38..b91917a6bd9 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/decomposeParDict index 5ca8d91a27a..cf6d208f01a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/extrudeToRegionMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/extrudeToRegionMeshDict index cf5e5b18e78..4e25fb33d43 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/extrudeToRegionMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/extrudeToRegionMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/changeDictionaryDict index 14b5de4d74d..20e144dcabe 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/fvSchemes index b3b4c5890c0..42871a9ddd6 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/fvSolution index 2cd2f86fe9f..85df1b20a16 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/fvSolution index 856925603d5..e374fc98357 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/changeDictionaryDict index 66a558db3fe..505f22123e3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/fvSchemes index 347e5cc8c34..97b96c4d7c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/fvSolution index 0b62a5e0d1f..cb92dfc842c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/topoSetDict index 69186122f7d..8e1380134ac 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/T b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/T index d03ac4b0bb0..cbd09bd7582 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/U b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/U index b0b75e8f328..b7bf73b1357 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/epsilon index cb34a5f312e..b4b21992c61 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/epsilon +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/k b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/k index f6c5c2210f8..063eb9085ad 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p index 78f4522964f..9a430fd79f3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p_rgh index 00e75111a1d..ec657884eac 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/thermophysicalProperties index c328fdad1ca..ea174f9a97d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/radiationProperties index 16761a9e3a8..439eaa9c891 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties index 046a37a7532..73481e9db3c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties index a6ad8a69b9f..78f63d6aa3b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/blockMeshDict index 579466f910a..c4f51efc628 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/changeDictionaryDict index b0d857f5c24..f87235d058e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSchemes index 4797dda84ce..b92f1e137eb 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSolution index 2449db444af..22f937a325d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict index 13eae10d398..e74dfae401a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/decomposeParDict index d841a028733..124f4c36c25 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/fvSolution index 9f14182f06a..2f5abd0344d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict index 967dd721bbe..47356d07e42 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes index 347e5cc8c34..97b96c4d7c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution index d00e7a71cad..735ce18dc6c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict index c95eb05613b..cf38aec5275 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution index d00e7a71cad..735ce18dc6c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict index 138de259c1f..881aee1ef12 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution index d00e7a71cad..735ce18dc6c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict index f0a124c7440..2f4923adc71 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution index 2449db444af..22f937a325d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topoSetDict index 1a3fcf53762..60cf18fb35e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/CH4 b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/CH4 index 64a1369fc68..3114f64df06 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/CH4 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/CH4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/N2 b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/N2 index dc8e7e09dc4..28b8c9a250e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/N2 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/N2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/O2 b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/O2 index 9c0284e1f81..80c29da5481 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/O2 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/O2 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/T b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/T index ec86f30f0fb..eb7031592b2 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/U b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/U index 132a0372833..e7d0e69ccee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/Ydefault b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/Ydefault index 35a43eda9d9..5a6f0e69646 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/Ydefault +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/Ydefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/alphat b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/alphat index 6cae2223be2..f2d8836de5f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/alphat +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/epsilon index 7a8e28320b5..b52f1ea7e62 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/epsilon +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/k b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/k index a0824914402..fab45e9b1b2 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/nut b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/nut index 37167be96d1..ad34dea2ee4 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/nut +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p index 20d9d18dfc4..7586cd6718b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p_rgh index 86482c521ea..b1ed444d0c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/gas/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/solid/T b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/solid/T index 3f6d19f8ac0..f86ccb8b392 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/solid/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/solid/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/solid/p b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/solid/p index 285f3b47286..4155f7b0c29 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/solid/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/0.orig/solid/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/chemistryProperties b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/chemistryProperties index c4e8f3da940..c393bbf84a7 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/chemistryProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/chemistryProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/combustionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/combustionProperties index 64c7add384f..6102a8f9284 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/combustionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/combustionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/fvOptions b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/fvOptions index 2fd3b2c071f..3ee0cfb0f8f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/fvOptions +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/reactions b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/reactions index 7346a0cfe4c..fce3885e82b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/reactions +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/reactions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/thermo.compressibleGas b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/thermo.compressibleGas index c7cee992880..035c536c413 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/thermo.compressibleGas +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/thermo.compressibleGas @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/thermophysicalProperties index a45e8bf70ec..e860673922d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/regionProperties index e488e34d309..970400bee46 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/thermophysicalProperties index 046a37a7532..73481e9db3c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/blockMeshDict index cf3862b4a6c..6196b7b878a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/controlDict index 72f3f33d03c..4510897e9f7 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/decomposeParDict index 489d54b3ad7..f66c0aea120 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/fvSolution index 9f14182f06a..2f5abd0344d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/fvSchemes index 53dc365fa50..e6ebb9589d5 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/fvSolution index 57e7381327f..e07d56629bf 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/topoSetDict index d8f9e894184..f14823f68b0 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/gas/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/solid/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/solid/fvSchemes index 1b6a7302912..ff51380468a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/solid/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/solid/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/solid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/solid/fvSolution index 992010aa49a..07ac5742e08 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/solid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/system/solid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/T b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/T index ee661e35bf3..54c8cc61925 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/U b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/U index bfc7f6f9555..82f15ba02b1 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/alphat b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/alphat index d07f04f9aca..017d37efb5c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/alphat +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/epsilon index 25ce4288ab4..dbf7e131986 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/epsilon +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/k b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/k index 9bcd96ef748..40197e46127 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p index 5d1ca440cc3..a94b2183a8a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p_rgh index 9d06f9f0442..fd201afc29c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/rho b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/rho index 2f57e8c8e94..e1d24b7bd96 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/rho +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0.orig/rho @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/g index b5f12a96e5c..901753ac343 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/radiationProperties index d9dd4221a96..0c288b87b5d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties index 9c39812d006..a5347d57ffc 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/regionProperties index 50f2f289180..889bb2cbeed 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/blockMeshDict index 579466f910a..c4f51efc628 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict index 97de974f8be..264d6ef1573 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSchemes index d8626a370e8..b690be09466 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSolution index 9e87f18af6a..4912bcd57fb 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/controlDict index c459b1ed09b..e2a5490c445 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict index 135858055f4..7107765d35f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict.6 b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict.6 index d52d9af839f..19133c8d8cb 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict.6 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict.6 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSolution index 9f14182f06a..2f5abd0344d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/changeDictionaryDict index e19a8f959bd..d2dd8ab93ad 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/fvSchemes index 347e5cc8c34..97b96c4d7c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/fvSolution index d00e7a71cad..735ce18dc6c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/heater/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/changeDictionaryDict index ba96716addd..638c83b3166 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/fvSolution index d00e7a71cad..735ce18dc6c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/meshQualityDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/meshQualityDict index 39a580144be..7f34616212a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/meshQualityDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/changeDictionaryDict index dd2577d6c72..186cc58c69a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/fvSolution index d00e7a71cad..735ce18dc6c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/snappyHexMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/snappyHexMeshDict index 59680c1095e..6fd4988e390 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/snappyHexMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/surfaceFeatureExtractDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/surfaceFeatureExtractDict index ca61d26b1d5..c1e20345986 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/surfaceFeatureExtractDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/changeDictionaryDict index 00147f007f5..3206ce0ab25 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/fvSolution index 9e87f18af6a..4912bcd57fb 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/T b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/T index d5b12ace883..d5f85ee8a5f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/U b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/U index 29071499a44..477dce25671 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/alphat b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/alphat index 8a92c370fa5..bd58df639ad 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/alphat +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/epsilon index a970107365d..9a305bd2718 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/epsilon +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/k b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/k index 195ee30e70c..0ce71939ff8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p index c023fbb9e2d..3d141749087 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p_rgh index 9e508f9e5a9..e2c8bb6402d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/rho b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/rho index 344d4d82e5d..0e3573c824a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/rho +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/0.orig/rho @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/turbulenceProperties index 0e4214acde2..f0c14e0b36b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/bottomAir/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/g index 881915bac2f..32870956d50 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/heater/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/heater/radiationProperties index 3da5b0e1d80..eb875982a4d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/heater/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/heater/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/heater/thermophysicalProperties index 208e50d47b8..faaf3021748 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/heater/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/heater/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/regionProperties index bb33d91711b..092e980f953 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/blockMeshDict index 58d494eeafc..dcb344ed908 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/changeDictionaryDict index cde9f56863a..805674f1247 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/fvSchemes index c5bec1d1799..ca41dacccb2 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/fvSolution index be13879708e..d5efdb37902 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/bottomAir/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/controlDict index 61b2e8a8411..433cb8f0671 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/decomposeParDict index e36962e95d1..d5b1c40a515 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/fvSolution index cb5872cc000..41c9e685f85 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/changeDictionaryDict index 428bed97bd6..39a9404a346 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/fvSchemes index 347e5cc8c34..97b96c4d7c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/fvSolution index f94a03f4ddb..677894d5db5 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/heater/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/leftSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/leftSolid/changeDictionaryDict index bd1729c54d0..b3254a5ece0 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/leftSolid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/leftSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/leftSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/leftSolid/fvSolution index f94a03f4ddb..677894d5db5 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/leftSolid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/leftSolid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/meshQualityDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/meshQualityDict index 39a580144be..7f34616212a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/meshQualityDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/meshQualityDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/rightSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/rightSolid/changeDictionaryDict index 28a453a4d03..eaef53b65d0 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/rightSolid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/rightSolid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/rightSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/rightSolid/fvSolution index f94a03f4ddb..677894d5db5 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/rightSolid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/rightSolid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/snappyHexMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/snappyHexMeshDict index 92a8ef8760d..9fb29f26369 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/snappyHexMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/snappyHexMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/surfaceFeatureExtractDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/surfaceFeatureExtractDict index ca61d26b1d5..c1e20345986 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/surfaceFeatureExtractDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/surfaceFeatureExtractDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topAir/changeDictionaryDict index 9a295de4a4f..62114167d34 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topAir/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topAir/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topAir/fvSolution index 33f765c6e76..51f5b0a86ea 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topAir/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topAir/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topoSetDict.f1 b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topoSetDict.f1 index c54c4072448..33330437d10 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topoSetDict.f1 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeaterImplicit/system/topoSetDict.f1 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/G b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/G index 0ea39565e2e..a3df5aecb1c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/G +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/G @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/IDefault b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/IDefault index d5cc1d5b7c4..997b1f2a4c7 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/IDefault +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/IDefault @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/T b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/T index 904eb96ac36..6e2e0771994 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/U b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/U index a4384c55a05..275bcd34d54 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/alphat b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/alphat index 8e680a05bb0..5d15f2166a4 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/alphat +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/epsilon index e01967b781c..00c1a5f09e3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/epsilon +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/k b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/k index 288fe59e073..fc92e001f0e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/nut b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/nut index dc8b851eee9..bddd276585f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/nut +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p index def80142c9c..c79a74eacdd 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p_rgh index 4711aaa5ee2..0d3aaeddc2e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/qr b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/qr index 2152be18cb4..8472fdad656 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/qr +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/air/qr @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/T b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/T index 96f03e8c703..6c97d9385b9 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/p b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/p index da05bb237dd..a0605cce098 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/floor/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/T b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/T index cf2b0b5b52e..57cf84a976a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/p b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/p index 775b1de25b2..dd5fc571a9c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/0.orig/solid/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/boundaryRadiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/boundaryRadiationProperties index 7231f55ea24..36884a3058e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/boundaryRadiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/boundaryRadiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/radiationProperties index 1497df87349..7b86800138c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/thermophysicalProperties index a13fe546bf2..6ebd5f8cba3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/turbulenceProperties index 70f5cf5ff24..ce528794d09 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/air/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/floor/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/floor/radiationProperties index 3896742426d..8cc0968b39b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/floor/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/floor/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/floor/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/floor/thermophysicalProperties index eac73eb6c93..604d11c91ab 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/floor/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/floor/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------* \ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/g index 2827cf7e657..a91ff9e2472 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/regionProperties index e3136e2f865..572291e6374 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/solid/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/solid/radiationProperties index 2ed7dce1989..3df0c9e1695 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/solid/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/solid/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/solid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/solid/thermophysicalProperties index 2d8d2f81d51..c7f79975ea7 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/solid/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/constant/solid/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------* \ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/changeDictionaryDict index ca0ae8b563c..0779b8599b0 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSchemes index 105fdc1e7d8..4a2f064e4d9 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSolution index 45ae7e9ea39..2b15011d8b6 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/topoSetDict index e2136f87864..076457f5df1 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/air/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/blockMeshDict index 6959bddc615..f48586d2d67 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/controlDict index 1fae8453a24..45d57715d86 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/decomposeParDict index 5ca8d91a27a..cf6d208f01a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/extrudeToRegionMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/extrudeToRegionMeshDict index cf5e5b18e78..4e25fb33d43 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/extrudeToRegionMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/extrudeToRegionMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/changeDictionaryDict index 14b5de4d74d..20e144dcabe 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/fvSchemes index b3b4c5890c0..42871a9ddd6 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/fvSolution index 2cd2f86fe9f..85df1b20a16 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/floor/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/fvSolution index 856925603d5..e374fc98357 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/changeDictionaryDict index 66a558db3fe..505f22123e3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/changeDictionaryDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/changeDictionaryDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/fvSchemes index 347e5cc8c34..97b96c4d7c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/fvSolution index 0b62a5e0d1f..cb92dfc842c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/solid/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/topoSetDict index cbcf90624a4..6938bdf62da 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/H2O b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/H2O index d53f67ccf98..698161d2f8d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/H2O +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/H2O @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T index cd52ea14c45..0fa567fe1b0 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/U b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/U index 522e28fe787..925ff1ca755 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/alphat b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/alphat index 85e5f9ec9a9..dd62da9b4bf 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/alphat +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/k b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/k index 4dc04310b23..142f6f84d57 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/nut b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/nut index 3149010ed85..66c0d0e1f8a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/nut +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/omega b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/omega index 897b5eb4994..e0f18082572 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/omega +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p index cffe742e460..a6abf8dde12 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p_rgh index 7b1f85d5e5e..8087c10aa0e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/T index 67ed0aff42a..bb694273647 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/p b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/p index f575c3a8c90..c55da50bb8a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/thermophysicalProperties index e66a626b50f..3a3330a9abb 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/turbulenceProperties index 71aa7f83af9..5deb9662253 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/cabin/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/g index bf260deff8b..b761ce1685b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/regionProperties index e76c0f269c3..0bb5b5ce317 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/windshield/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/windshield/radiationProperties index 6d323881eb0..7ebb935f7ee 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/windshield/radiationProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/windshield/radiationProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/windshield/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/windshield/thermophysicalProperties index a77b226549a..741547c77be 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/windshield/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/windshield/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/blockMeshDict index 823647ad923..ecd2c88eb47 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvOptions b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvOptions index 6c9609977c3..444d65d7006 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvOptions +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSchemes index 77acb4a9bde..2a96557a8a8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSolution index 21ec99fb50a..3bbe24387f7 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/topoSetDict index fc4ca9f48bc..fc34bcec528 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/topoSetDictRegister b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/topoSetDictRegister index cd9699b664d..111a02fc4ed 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/topoSetDictRegister +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/topoSetDictRegister @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/controlDict index 24de14eaa86..1e3689669d2 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/decomposeParDict index 5ca8d91a27a..cf6d208f01a 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSolution index 9f14182f06a..2f5abd0344d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls index 811530dc066..6ef3864fbef 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.0 b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.0 index 481d59e5e14..38d73b41f0c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.0 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.0 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.20 b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.20 index 4064dab8ee0..7144b2ae6db 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.20 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.20 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.5 b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.5 index 112641764d5..c3a89e27f67 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.5 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.5 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.60 b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.60 index 811530dc066..6ef3864fbef 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.60 +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/solverControls.60 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/topoSetDict index 316a80bda40..fecfcefa9cc 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSchemes index 347e5cc8c34..97b96c4d7c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSolution index 32161300347..7e53d13d7d2 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T index 3b02d1884f5..70c67b7e151 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/U b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/U index f5d6d641cfa..6cf0c558030 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/alphat b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/alphat index 72cea410b75..68a2245d827 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/alphat +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/k b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/k index 6faa19a4205..427cf83a68d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/nut b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/nut index ef1a0771a70..70479b40327 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/nut +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/omega b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/omega index 1a015dfb5d4..42fb37a4eca 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/omega +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p index 5a1c3a47c87..80db8d3c025 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p_rgh index 20bdeb31bc2..48a1164cece 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T index ca53439ef3f..0a9758506ca 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/U b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/U index 1c77173f30f..8092522cc67 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/alphat b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/alphat index 1e947c88cdd..b0683b6db29 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/alphat +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/k b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/k index ad47c78cf14..7ed921e0b7b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/k +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/nut b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/nut index 19e78d567ef..ed8566f58c3 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/nut +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/omega b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/omega index 10c0e1bd5fd..937b7ef68e9 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/omega +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/omega @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p index c3e0b22ff9c..eb40c226a8e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p_rgh index 8a4f71236b9..7caead7b3c8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T index 623661806a8..b0422032354 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/U b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/U index 0c33b6f0cd8..c932cf3d574 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/U +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p index 0cd9f410f93..0105f1f701c 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p_rgh b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p_rgh index f4decb77c29..a5854ae4bad 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/cabin/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/cabin/thermophysicalProperties index c3dad8597aa..e4772e0acb8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/cabin/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/cabin/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/cabin/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/cabin/turbulenceProperties index 71aa7f83af9..5deb9662253 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/cabin/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/cabin/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/exterior/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/exterior/thermophysicalProperties index c3dad8597aa..e4772e0acb8 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/exterior/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/exterior/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/exterior/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/exterior/turbulenceProperties index 71aa7f83af9..5deb9662253 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/exterior/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/exterior/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/g b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/g index bf260deff8b..b761ce1685b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/ice/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/ice/thermophysicalProperties index 9bde5d87944..d61d7891b30 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/ice/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/ice/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/ice/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/ice/turbulenceProperties index 18c7349c2b1..a6da1b76871 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/ice/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/ice/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/regionProperties index 87a1a56d381..8bdfa227667 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/blockMeshDict index 6f751ba407f..8024043864f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSchemes index 2b53de9a535..d4c4b54d82f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSolution index deeab8e51ca..16a1cd6261b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/cabin/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict index cf5c21b7a86..bcce39cde7f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/decomposeParDict index 94c2f69c76c..a2fa47c2edf 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/exterior/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/exterior/fvSchemes index 9e0a00b8425..84c8bdeaa9f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/exterior/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/exterior/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/exterior/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/exterior/fvSolution index d7a4da0a3d6..2554c1ab63f 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/exterior/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/exterior/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/fvSchemes index c76fc389826..8fcf587e233 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/fvSolution index ffa5495d02f..6233cb00087 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvOptions b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvOptions index 361f5c70f89..65296eb374b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvOptions +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvOptions @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvSchemes index 829022e560c..534aac8b779 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvSchemes +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvSchemes @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvSolution index a9c63ae6600..cd06b206d3e 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvSolution +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/ice/fvSolution @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/topoSetDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/topoSetDict index fc4ca9f48bc..fc34bcec528 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/topoSetDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/topoSetDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/T b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/T index d17e85edb81..03e4c8cbc0d 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/T +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/U b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/U index dfbb4022923..e27a2d34847 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/U +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/alphat b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/alphat index 7979fb0b34b..aa6ae05d11a 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/alphat +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/epsilon b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/epsilon index 3765e24c269..d94f2af733f 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/epsilon +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/k b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/k index c58ce2d7103..d58fd59f5e9 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/k +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/nut b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/nut index f3cf865d674..8f74fa1b551 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/nut +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p index 9d5f05eddc0..b6abd171437 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p_rgh b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p_rgh index 755e4af0cad..883a4a06566 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p_rgh +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/domain0/p_rgh @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/T b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/T index 7d9873f9c02..ffe7903e775 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/T +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/p b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/p index 0c2290f0bbb..04338109136 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/p +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_CPU/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/T b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/T index 4b71c82e147..fc5e8673921 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/T +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/T @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/p b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/p index a440b5a7af8..3767e1510c9 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/p +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/0.orig/v_fins/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/MRFProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/MRFProperties index 3e240bc9721..4e2383e0aa2 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/MRFProperties +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/MRFProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/thermophysicalProperties index 488c633e837..4bce275de74 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/turbulenceProperties index 87e9c84200e..999f53afd7b 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/turbulenceProperties +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/domain0/turbulenceProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/g b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/g index e9e130628f6..27eddbae04e 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/g +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/g @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/regionProperties index d6ddfdf54d6..7c8ba5e75c4 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/regionProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/v_CPU/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/v_CPU/thermophysicalProperties index e99a52668a8..2c23bf22eb1 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/v_CPU/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/v_CPU/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/v_fins/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/v_fins/thermophysicalProperties index e99a52668a8..2c23bf22eb1 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/v_fins/thermophysicalProperties +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/constant/v_fins/thermophysicalProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/blockMeshDict index 69a719fc5b0..357084edf95 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/blockMeshDict +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/controlDict b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/controlDict index 7e1849e7664..b9ec577398c 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/controlDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/createBafflesDict b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/createBafflesDict index 05a215b8b08..67e40c0e9d5 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/createBafflesDict +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/createBafflesDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2312 | +| \\ / O peration | Version: v2406 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/decomposeParDict index 7735bf5a3ce..e34fdc4e083 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/decomposeParDict +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/cpuCabinet/system/decomposeParDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O